diff options
author | David S. Miller <davem@davemloft.net> | 2010-04-07 02:53:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-07 02:53:30 -0400 |
commit | 4a35ecf8bf1c4b039503fa554100fe85c761de76 (patch) | |
tree | 9b75f5d5636004d9a9aa496924377379be09aa1f /arch | |
parent | b4d562e3c3553ac58c7120555c4e4aefbb090a2a (diff) | |
parent | fb9e2d887243499b8d28efcf80821c4f6a092395 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/bonding/bond_main.c
drivers/net/via-velocity.c
drivers/net/wireless/iwlwifi/iwl-agn.c
Diffstat (limited to 'arch')
243 files changed, 17611 insertions, 3034 deletions
diff --git a/arch/alpha/include/asm/core_marvel.h b/arch/alpha/include/asm/core_marvel.h index 30d55fe7aaf6..dad300fa14ce 100644 --- a/arch/alpha/include/asm/core_marvel.h +++ b/arch/alpha/include/asm/core_marvel.h | |||
@@ -12,7 +12,6 @@ | |||
12 | #define __ALPHA_MARVEL__H__ | 12 | #define __ALPHA_MARVEL__H__ |
13 | 13 | ||
14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
15 | #include <linux/pci.h> | ||
16 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
17 | 16 | ||
18 | #include <asm/compiler.h> | 17 | #include <asm/compiler.h> |
diff --git a/arch/alpha/include/asm/core_mcpcia.h b/arch/alpha/include/asm/core_mcpcia.h index acf55b483472..21ac53383b37 100644 --- a/arch/alpha/include/asm/core_mcpcia.h +++ b/arch/alpha/include/asm/core_mcpcia.h | |||
@@ -6,7 +6,6 @@ | |||
6 | #define MCPCIA_ONE_HAE_WINDOW 1 | 6 | #define MCPCIA_ONE_HAE_WINDOW 1 |
7 | 7 | ||
8 | #include <linux/types.h> | 8 | #include <linux/types.h> |
9 | #include <linux/pci.h> | ||
10 | #include <asm/compiler.h> | 9 | #include <asm/compiler.h> |
11 | 10 | ||
12 | /* | 11 | /* |
diff --git a/arch/alpha/include/asm/core_titan.h b/arch/alpha/include/asm/core_titan.h index a17f6f33b68e..8cf79d1219e1 100644 --- a/arch/alpha/include/asm/core_titan.h +++ b/arch/alpha/include/asm/core_titan.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define __ALPHA_TITAN__H__ | 2 | #define __ALPHA_TITAN__H__ |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/pci.h> | ||
6 | #include <asm/compiler.h> | 5 | #include <asm/compiler.h> |
7 | 6 | ||
8 | /* | 7 | /* |
diff --git a/arch/alpha/include/asm/core_tsunami.h b/arch/alpha/include/asm/core_tsunami.h index 58d4fe48742c..8e39ecf09419 100644 --- a/arch/alpha/include/asm/core_tsunami.h +++ b/arch/alpha/include/asm/core_tsunami.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define __ALPHA_TSUNAMI__H__ | 2 | #define __ALPHA_TSUNAMI__H__ |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/pci.h> | ||
6 | #include <asm/compiler.h> | 5 | #include <asm/compiler.h> |
7 | 6 | ||
8 | /* | 7 | /* |
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c index d64e1e497e76..4026502ab707 100644 --- a/arch/alpha/kernel/sys_dp264.c +++ b/arch/alpha/kernel/sys_dp264.c | |||
@@ -224,7 +224,7 @@ static void | |||
224 | dp264_device_interrupt(unsigned long vector) | 224 | dp264_device_interrupt(unsigned long vector) |
225 | { | 225 | { |
226 | #if 1 | 226 | #if 1 |
227 | printk("dp264_device_interrupt: NOT IMPLEMENTED YET!! \n"); | 227 | printk("dp264_device_interrupt: NOT IMPLEMENTED YET!!\n"); |
228 | #else | 228 | #else |
229 | unsigned long pld; | 229 | unsigned long pld; |
230 | unsigned int i; | 230 | unsigned int i; |
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 288053342c83..9008d0f20c53 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c | |||
@@ -171,7 +171,7 @@ titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) | |||
171 | static void | 171 | static void |
172 | titan_device_interrupt(unsigned long vector) | 172 | titan_device_interrupt(unsigned long vector) |
173 | { | 173 | { |
174 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!! \n"); | 174 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!!\n"); |
175 | } | 175 | } |
176 | 176 | ||
177 | static void | 177 | static void |
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index 6ee7655b7568..b14f015008ad 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/kallsyms.h> | 19 | #include <linux/kallsyms.h> |
20 | #include <linux/ratelimit.h> | ||
20 | 21 | ||
21 | #include <asm/gentrap.h> | 22 | #include <asm/gentrap.h> |
22 | #include <asm/uaccess.h> | 23 | #include <asm/uaccess.h> |
@@ -771,8 +772,7 @@ asmlinkage void | |||
771 | do_entUnaUser(void __user * va, unsigned long opcode, | 772 | do_entUnaUser(void __user * va, unsigned long opcode, |
772 | unsigned long reg, struct pt_regs *regs) | 773 | unsigned long reg, struct pt_regs *regs) |
773 | { | 774 | { |
774 | static int cnt = 0; | 775 | static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); |
775 | static unsigned long last_time; | ||
776 | 776 | ||
777 | unsigned long tmp1, tmp2, tmp3, tmp4; | 777 | unsigned long tmp1, tmp2, tmp3, tmp4; |
778 | unsigned long fake_reg, *reg_addr = &fake_reg; | 778 | unsigned long fake_reg, *reg_addr = &fake_reg; |
@@ -783,15 +783,11 @@ do_entUnaUser(void __user * va, unsigned long opcode, | |||
783 | with the unaliged access. */ | 783 | with the unaliged access. */ |
784 | 784 | ||
785 | if (!test_thread_flag (TIF_UAC_NOPRINT)) { | 785 | if (!test_thread_flag (TIF_UAC_NOPRINT)) { |
786 | if (cnt >= 5 && time_after(jiffies, last_time + 5 * HZ)) { | 786 | if (__ratelimit(&ratelimit)) { |
787 | cnt = 0; | ||
788 | } | ||
789 | if (++cnt < 5) { | ||
790 | printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", | 787 | printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", |
791 | current->comm, task_pid_nr(current), | 788 | current->comm, task_pid_nr(current), |
792 | regs->pc - 4, va, opcode, reg); | 789 | regs->pc - 4, va, opcode, reg); |
793 | } | 790 | } |
794 | last_time = jiffies; | ||
795 | } | 791 | } |
796 | if (test_thread_flag (TIF_UAC_SIGBUS)) | 792 | if (test_thread_flag (TIF_UAC_SIGBUS)) |
797 | goto give_sigbus; | 793 | goto give_sigbus; |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index cadfe2ee66a5..c5408bf1bf43 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -218,6 +218,10 @@ config MMU | |||
218 | Select if you want MMU-based virtualised addressing space | 218 | Select if you want MMU-based virtualised addressing space |
219 | support by paged memory management. If unsure, say 'Y'. | 219 | support by paged memory management. If unsure, say 'Y'. |
220 | 220 | ||
221 | # | ||
222 | # The "ARM system type" choice list is ordered alphabetically by option | ||
223 | # text. Please add new entries in the option alphabetic order. | ||
224 | # | ||
221 | choice | 225 | choice |
222 | prompt "ARM system type" | 226 | prompt "ARM system type" |
223 | default ARCH_VERSATILE | 227 | default ARCH_VERSATILE |
@@ -274,6 +278,18 @@ config ARCH_AT91 | |||
274 | This enables support for systems based on the Atmel AT91RM9200, | 278 | This enables support for systems based on the Atmel AT91RM9200, |
275 | AT91SAM9 and AT91CAP9 processors. | 279 | AT91SAM9 and AT91CAP9 processors. |
276 | 280 | ||
281 | config ARCH_BCMRING | ||
282 | bool "Broadcom BCMRING" | ||
283 | depends on MMU | ||
284 | select CPU_V6 | ||
285 | select ARM_AMBA | ||
286 | select COMMON_CLKDEV | ||
287 | select GENERIC_TIME | ||
288 | select GENERIC_CLOCKEVENTS | ||
289 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
290 | help | ||
291 | Support for Broadcom's BCMRing platform. | ||
292 | |||
277 | config ARCH_CLPS711X | 293 | config ARCH_CLPS711X |
278 | bool "Cirrus Logic CLPS711x/EP721x-based" | 294 | bool "Cirrus Logic CLPS711x/EP721x-based" |
279 | select CPU_ARM720T | 295 | select CPU_ARM720T |
@@ -359,20 +375,6 @@ config ARCH_H720X | |||
359 | help | 375 | help |
360 | This enables support for systems based on the Hynix HMS720x | 376 | This enables support for systems based on the Hynix HMS720x |
361 | 377 | ||
362 | config ARCH_NOMADIK | ||
363 | bool "STMicroelectronics Nomadik" | ||
364 | select ARM_AMBA | ||
365 | select ARM_VIC | ||
366 | select CPU_ARM926T | ||
367 | select HAVE_CLK | ||
368 | select COMMON_CLKDEV | ||
369 | select GENERIC_TIME | ||
370 | select GENERIC_CLOCKEVENTS | ||
371 | select GENERIC_GPIO | ||
372 | select ARCH_REQUIRE_GPIOLIB | ||
373 | help | ||
374 | Support for the Nomadik platform by ST-Ericsson | ||
375 | |||
376 | config ARCH_IOP13XX | 378 | config ARCH_IOP13XX |
377 | bool "IOP13xx-based" | 379 | bool "IOP13xx-based" |
378 | depends on MMU | 380 | depends on MMU |
@@ -747,6 +749,30 @@ config ARCH_U300 | |||
747 | help | 749 | help |
748 | Support for ST-Ericsson U300 series mobile platforms. | 750 | Support for ST-Ericsson U300 series mobile platforms. |
749 | 751 | ||
752 | config ARCH_U8500 | ||
753 | bool "ST-Ericsson U8500 Series" | ||
754 | select CPU_V7 | ||
755 | select ARM_AMBA | ||
756 | select GENERIC_TIME | ||
757 | select GENERIC_CLOCKEVENTS | ||
758 | select COMMON_CLKDEV | ||
759 | help | ||
760 | Support for ST-Ericsson's Ux500 architecture | ||
761 | |||
762 | config ARCH_NOMADIK | ||
763 | bool "STMicroelectronics Nomadik" | ||
764 | select ARM_AMBA | ||
765 | select ARM_VIC | ||
766 | select CPU_ARM926T | ||
767 | select HAVE_CLK | ||
768 | select COMMON_CLKDEV | ||
769 | select GENERIC_TIME | ||
770 | select GENERIC_CLOCKEVENTS | ||
771 | select GENERIC_GPIO | ||
772 | select ARCH_REQUIRE_GPIOLIB | ||
773 | help | ||
774 | Support for the Nomadik platform by ST-Ericsson | ||
775 | |||
750 | config ARCH_DAVINCI | 776 | config ARCH_DAVINCI |
751 | bool "TI DaVinci" | 777 | bool "TI DaVinci" |
752 | select CPU_ARM926T | 778 | select CPU_ARM926T |
@@ -775,30 +801,13 @@ config ARCH_OMAP | |||
775 | help | 801 | help |
776 | Support for TI's OMAP platform (OMAP1 and OMAP2). | 802 | Support for TI's OMAP platform (OMAP1 and OMAP2). |
777 | 803 | ||
778 | config ARCH_BCMRING | ||
779 | bool "Broadcom BCMRING" | ||
780 | depends on MMU | ||
781 | select CPU_V6 | ||
782 | select ARM_AMBA | ||
783 | select COMMON_CLKDEV | ||
784 | select GENERIC_TIME | ||
785 | select GENERIC_CLOCKEVENTS | ||
786 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
787 | help | ||
788 | Support for Broadcom's BCMRing platform. | ||
789 | |||
790 | config ARCH_U8500 | ||
791 | bool "ST-Ericsson U8500 Series" | ||
792 | select CPU_V7 | ||
793 | select ARM_AMBA | ||
794 | select GENERIC_TIME | ||
795 | select GENERIC_CLOCKEVENTS | ||
796 | select COMMON_CLKDEV | ||
797 | help | ||
798 | Support for ST-Ericsson's Ux500 architecture | ||
799 | |||
800 | endchoice | 804 | endchoice |
801 | 805 | ||
806 | # | ||
807 | # This is sorted alphabetically by mach-* pathname. However, plat-* | ||
808 | # Kconfigs may be included either alphabetically (according to the | ||
809 | # plat- suffix) or along side the corresponding mach-* source. | ||
810 | # | ||
802 | source "arch/arm/mach-aaec2000/Kconfig" | 811 | source "arch/arm/mach-aaec2000/Kconfig" |
803 | 812 | ||
804 | source "arch/arm/mach-at91/Kconfig" | 813 | source "arch/arm/mach-at91/Kconfig" |
diff --git a/arch/arm/boot/compressed/decompress.c b/arch/arm/boot/compressed/decompress.c index 0da382f33157..9c097073ce4c 100644 --- a/arch/arm/boot/compressed/decompress.c +++ b/arch/arm/boot/compressed/decompress.c | |||
@@ -11,6 +11,7 @@ extern unsigned long free_mem_end_ptr; | |||
11 | extern void error(char *); | 11 | extern void error(char *); |
12 | 12 | ||
13 | #define STATIC static | 13 | #define STATIC static |
14 | #define STATIC_RW_DATA /* non-static please */ | ||
14 | 15 | ||
15 | #define ARCH_HAS_DECOMP_WDOG | 16 | #define ARCH_HAS_DECOMP_WDOG |
16 | 17 | ||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 535a91daaa53..0f23009170a1 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
@@ -742,7 +742,7 @@ proc_types: | |||
742 | .word 0x000f0000 | 742 | .word 0x000f0000 |
743 | W(b) __armv4_mmu_cache_on | 743 | W(b) __armv4_mmu_cache_on |
744 | W(b) __armv4_mmu_cache_off | 744 | W(b) __armv4_mmu_cache_off |
745 | W(b) __armv4_mmu_cache_flush | 745 | W(b) __armv5tej_mmu_cache_flush |
746 | 746 | ||
747 | .word 0x0007b000 @ ARMv6 | 747 | .word 0x0007b000 @ ARMv6 |
748 | .word 0x000ff000 | 748 | .word 0x000ff000 |
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index d32bc71c1f78..d2b2ef41cd4f 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -33,6 +33,7 @@ unsigned int __machine_arch_type; | |||
33 | #else | 33 | #else |
34 | 34 | ||
35 | static void putstr(const char *ptr); | 35 | static void putstr(const char *ptr); |
36 | extern void error(char *x); | ||
36 | 37 | ||
37 | #include <mach/uncompress.h> | 38 | #include <mach/uncompress.h> |
38 | 39 | ||
diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig index 893cd267e075..032b49bad91f 100644 --- a/arch/arm/configs/cm_t35_defconfig +++ b/arch/arm/configs/cm_t35_defconfig | |||
@@ -358,7 +358,7 @@ CONFIG_PM_SLEEP=y | |||
358 | CONFIG_SUSPEND=y | 358 | CONFIG_SUSPEND=y |
359 | CONFIG_SUSPEND_FREEZER=y | 359 | CONFIG_SUSPEND_FREEZER=y |
360 | # CONFIG_APM_EMULATION is not set | 360 | # CONFIG_APM_EMULATION is not set |
361 | # CONFIG_PM_RUNTIME is not set | 361 | CONFIG_PM_RUNTIME=y |
362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
363 | CONFIG_NET=y | 363 | CONFIG_NET=y |
364 | 364 | ||
diff --git a/arch/arm/configs/n770_defconfig b/arch/arm/configs/n770_defconfig index 75cae18fbcb6..de0c28aa43e7 100644 --- a/arch/arm/configs/n770_defconfig +++ b/arch/arm/configs/n770_defconfig | |||
@@ -308,6 +308,7 @@ CONFIG_PM_SLEEP=y | |||
308 | CONFIG_SUSPEND_UP_POSSIBLE=y | 308 | CONFIG_SUSPEND_UP_POSSIBLE=y |
309 | CONFIG_SUSPEND=y | 309 | CONFIG_SUSPEND=y |
310 | # CONFIG_APM_EMULATION is not set | 310 | # CONFIG_APM_EMULATION is not set |
311 | CONFIG_PM_RUNTIME=y | ||
311 | 312 | ||
312 | # | 313 | # |
313 | # Networking | 314 | # Networking |
diff --git a/arch/arm/configs/n8x0_defconfig b/arch/arm/configs/n8x0_defconfig index e6f667c5e58a..216ad00948af 100644 --- a/arch/arm/configs/n8x0_defconfig +++ b/arch/arm/configs/n8x0_defconfig | |||
@@ -191,6 +191,7 @@ CONFIG_ARCH_OMAP=y | |||
191 | # | 191 | # |
192 | CONFIG_ARCH_OMAP_OTG=y | 192 | CONFIG_ARCH_OMAP_OTG=y |
193 | # CONFIG_ARCH_OMAP1 is not set | 193 | # CONFIG_ARCH_OMAP1 is not set |
194 | CONFIG_ARCH_OMAP2PLUS=y | ||
194 | CONFIG_ARCH_OMAP2=y | 195 | CONFIG_ARCH_OMAP2=y |
195 | # CONFIG_ARCH_OMAP3 is not set | 196 | # CONFIG_ARCH_OMAP3 is not set |
196 | # CONFIG_ARCH_OMAP4 is not set | 197 | # CONFIG_ARCH_OMAP4 is not set |
@@ -198,8 +199,6 @@ CONFIG_ARCH_OMAP2=y | |||
198 | # | 199 | # |
199 | # OMAP Feature Selections | 200 | # OMAP Feature Selections |
200 | # | 201 | # |
201 | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
202 | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
203 | CONFIG_OMAP_RESET_CLOCKS=y | 202 | CONFIG_OMAP_RESET_CLOCKS=y |
204 | # CONFIG_OMAP_MUX is not set | 203 | # CONFIG_OMAP_MUX is not set |
205 | # CONFIG_OMAP_MCBSP is not set | 204 | # CONFIG_OMAP_MCBSP is not set |
@@ -208,15 +207,13 @@ CONFIG_OMAP_MBOX_FWK=y | |||
208 | CONFIG_OMAP_32K_TIMER=y | 207 | CONFIG_OMAP_32K_TIMER=y |
209 | CONFIG_OMAP_32K_TIMER_HZ=128 | 208 | CONFIG_OMAP_32K_TIMER_HZ=128 |
210 | CONFIG_OMAP_DM_TIMER=y | 209 | CONFIG_OMAP_DM_TIMER=y |
211 | # CONFIG_OMAP_LL_DEBUG_UART1 is not set | 210 | # CONFIG_OMAP_PM_NONE is not set |
212 | # CONFIG_OMAP_LL_DEBUG_UART2 is not set | 211 | CONFIG_OMAP_PM_NOOP=y |
213 | CONFIG_OMAP_LL_DEBUG_UART3=y | ||
214 | # CONFIG_MACH_OMAP_GENERIC is not set | 212 | # CONFIG_MACH_OMAP_GENERIC is not set |
215 | 213 | ||
216 | # | 214 | # |
217 | # OMAP Core Type | 215 | # OMAP Core Type |
218 | # | 216 | # |
219 | CONFIG_ARCH_OMAP24XX=y | ||
220 | CONFIG_ARCH_OMAP2420=y | 217 | CONFIG_ARCH_OMAP2420=y |
221 | # CONFIG_ARCH_OMAP2430 is not set | 218 | # CONFIG_ARCH_OMAP2430 is not set |
222 | 219 | ||
@@ -227,6 +224,9 @@ CONFIG_MACH_OMAP2_TUSB6010=y | |||
227 | # CONFIG_MACH_OMAP_H4 is not set | 224 | # CONFIG_MACH_OMAP_H4 is not set |
228 | # CONFIG_MACH_OMAP_APOLLON is not set | 225 | # CONFIG_MACH_OMAP_APOLLON is not set |
229 | # CONFIG_MACH_OMAP_2430SDP is not set | 226 | # CONFIG_MACH_OMAP_2430SDP is not set |
227 | CONFIG_MACH_NOKIA_N800=y | ||
228 | CONFIG_MACH_NOKIA_N810=y | ||
229 | CONFIG_MACH_NOKIA_N810_WIMAX=y | ||
230 | CONFIG_MACH_NOKIA_N8X0=y | 230 | CONFIG_MACH_NOKIA_N8X0=y |
231 | 231 | ||
232 | # | 232 | # |
@@ -303,7 +303,7 @@ CONFIG_ALIGNMENT_TRAP=y | |||
303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 | 303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 |
304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 | 304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 |
305 | # CONFIG_ZBOOT_ROM is not set | 305 | # CONFIG_ZBOOT_ROM is not set |
306 | CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8" | 306 | CONFIG_CMDLINE="root=/dev/mmcblk0p2 console=ttyS2,115200n8 debug earlyprintk rootwait" |
307 | # CONFIG_XIP_KERNEL is not set | 307 | # CONFIG_XIP_KERNEL is not set |
308 | # CONFIG_KEXEC is not set | 308 | # CONFIG_KEXEC is not set |
309 | 309 | ||
@@ -337,7 +337,14 @@ CONFIG_HAVE_AOUT=y | |||
337 | # | 337 | # |
338 | # Power management options | 338 | # Power management options |
339 | # | 339 | # |
340 | # CONFIG_PM is not set | 340 | CONFIG_PM=y |
341 | # CONFIG_PM_DEBUG is not set | ||
342 | CONFIG_PM_SLEEP=y | ||
343 | CONFIG_SUSPEND=y | ||
344 | CONFIG_SUSPEND_FREEZER=y | ||
345 | # CONFIG_APM_EMULATION is not set | ||
346 | CONFIG_PM_RUNTIME=y | ||
347 | CONFIG_PM_OPS=y | ||
341 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 348 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
342 | CONFIG_NET=y | 349 | CONFIG_NET=y |
343 | 350 | ||
@@ -617,7 +624,55 @@ CONFIG_UNIX98_PTYS=y | |||
617 | # CONFIG_R3964 is not set | 624 | # CONFIG_R3964 is not set |
618 | # CONFIG_RAW_DRIVER is not set | 625 | # CONFIG_RAW_DRIVER is not set |
619 | # CONFIG_TCG_TPM is not set | 626 | # CONFIG_TCG_TPM is not set |
620 | # CONFIG_I2C is not set | 627 | CONFIG_I2C=y |
628 | CONFIG_I2C_BOARDINFO=y | ||
629 | # CONFIG_I2C_COMPAT is not set | ||
630 | # CONFIG_I2C_CHARDEV is not set | ||
631 | # CONFIG_I2C_HELPER_AUTO is not set | ||
632 | # CONFIG_I2C_SMBUS is not set | ||
633 | |||
634 | # | ||
635 | # I2C Algorithms | ||
636 | # | ||
637 | # CONFIG_I2C_ALGOBIT is not set | ||
638 | # CONFIG_I2C_ALGOPCF is not set | ||
639 | # CONFIG_I2C_ALGOPCA is not set | ||
640 | |||
641 | # | ||
642 | # I2C Hardware Bus support | ||
643 | # | ||
644 | |||
645 | # | ||
646 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
647 | # | ||
648 | # CONFIG_I2C_DESIGNWARE is not set | ||
649 | # CONFIG_I2C_GPIO is not set | ||
650 | # CONFIG_I2C_OCORES is not set | ||
651 | CONFIG_I2C_OMAP=y | ||
652 | # CONFIG_I2C_SIMTEC is not set | ||
653 | # CONFIG_I2C_XILINX is not set | ||
654 | |||
655 | # | ||
656 | # External I2C/SMBus adapter drivers | ||
657 | # | ||
658 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
659 | # CONFIG_I2C_TAOS_EVM is not set | ||
660 | # CONFIG_I2C_TINY_USB is not set | ||
661 | |||
662 | # | ||
663 | # Other I2C/SMBus bus drivers | ||
664 | # | ||
665 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
666 | # CONFIG_I2C_STUB is not set | ||
667 | |||
668 | # | ||
669 | # Miscellaneous I2C Chip support | ||
670 | # | ||
671 | # CONFIG_SENSORS_TSL2550 is not set | ||
672 | # CONFIG_I2C_DEBUG_CORE is not set | ||
673 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
674 | # CONFIG_I2C_DEBUG_BUS is not set | ||
675 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
621 | CONFIG_SPI=y | 676 | CONFIG_SPI=y |
622 | # CONFIG_SPI_DEBUG is not set | 677 | # CONFIG_SPI_DEBUG is not set |
623 | CONFIG_SPI_MASTER=y | 678 | CONFIG_SPI_MASTER=y |
@@ -673,15 +728,44 @@ CONFIG_SSB_POSSIBLE=y | |||
673 | # Multifunction device drivers | 728 | # Multifunction device drivers |
674 | # | 729 | # |
675 | # CONFIG_MFD_CORE is not set | 730 | # CONFIG_MFD_CORE is not set |
731 | # CONFIG_MFD_88PM860X is not set | ||
676 | # CONFIG_MFD_SM501 is not set | 732 | # CONFIG_MFD_SM501 is not set |
677 | # CONFIG_MFD_ASIC3 is not set | 733 | # CONFIG_MFD_ASIC3 is not set |
678 | # CONFIG_HTC_EGPIO is not set | 734 | # CONFIG_HTC_EGPIO is not set |
679 | # CONFIG_HTC_PASIC3 is not set | 735 | # CONFIG_HTC_PASIC3 is not set |
736 | # CONFIG_HTC_I2CPLD is not set | ||
737 | # CONFIG_TPS65010 is not set | ||
738 | CONFIG_MENELAUS=y | ||
739 | # CONFIG_TWL4030_CORE is not set | ||
680 | # CONFIG_MFD_TMIO is not set | 740 | # CONFIG_MFD_TMIO is not set |
681 | # CONFIG_MFD_T7L66XB is not set | 741 | # CONFIG_MFD_T7L66XB is not set |
682 | # CONFIG_MFD_TC6387XB is not set | 742 | # CONFIG_MFD_TC6387XB is not set |
683 | # CONFIG_MFD_TC6393XB is not set | 743 | # CONFIG_MFD_TC6393XB is not set |
744 | # CONFIG_PMIC_DA903X is not set | ||
745 | # CONFIG_PMIC_ADP5520 is not set | ||
746 | # CONFIG_MFD_MAX8925 is not set | ||
747 | # CONFIG_MFD_WM8400 is not set | ||
748 | # CONFIG_MFD_WM831X is not set | ||
749 | # CONFIG_MFD_WM8350_I2C is not set | ||
750 | # CONFIG_MFD_WM8994 is not set | ||
751 | # CONFIG_MFD_PCF50633 is not set | ||
752 | # CONFIG_MFD_MC13783 is not set | ||
753 | # CONFIG_AB3100_CORE is not set | ||
684 | # CONFIG_EZX_PCAP is not set | 754 | # CONFIG_EZX_PCAP is not set |
755 | # CONFIG_AB4500_CORE is not set | ||
756 | CONFIG_REGULATOR=y | ||
757 | # CONFIG_REGULATOR_DEBUG is not set | ||
758 | # CONFIG_REGULATOR_DUMMY is not set | ||
759 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
760 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
761 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
762 | # CONFIG_REGULATOR_BQ24022 is not set | ||
763 | # CONFIG_REGULATOR_MAX1586 is not set | ||
764 | # CONFIG_REGULATOR_MAX8649 is not set | ||
765 | # CONFIG_REGULATOR_MAX8660 is not set | ||
766 | # CONFIG_REGULATOR_LP3971 is not set | ||
767 | # CONFIG_REGULATOR_TPS65023 is not set | ||
768 | # CONFIG_REGULATOR_TPS6507X is not set | ||
685 | # CONFIG_MEDIA_SUPPORT is not set | 769 | # CONFIG_MEDIA_SUPPORT is not set |
686 | 770 | ||
687 | # | 771 | # |
@@ -718,7 +802,10 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | |||
718 | CONFIG_USB_DEVICEFS=y | 802 | CONFIG_USB_DEVICEFS=y |
719 | CONFIG_USB_DEVICE_CLASS=y | 803 | CONFIG_USB_DEVICE_CLASS=y |
720 | # CONFIG_USB_DYNAMIC_MINORS is not set | 804 | # CONFIG_USB_DYNAMIC_MINORS is not set |
721 | # CONFIG_USB_OTG is not set | 805 | CONFIG_USB_SUSPEND=y |
806 | CONFIG_USB_OTG=y | ||
807 | # CONFIG_USB_OTG_WHITELIST is not set | ||
808 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
722 | # CONFIG_USB_MON is not set | 809 | # CONFIG_USB_MON is not set |
723 | # CONFIG_USB_WUSB is not set | 810 | # CONFIG_USB_WUSB is not set |
724 | # CONFIG_USB_WUSB_CBAF is not set | 811 | # CONFIG_USB_WUSB_CBAF is not set |
@@ -737,9 +824,10 @@ CONFIG_USB_DEVICE_CLASS=y | |||
737 | CONFIG_USB_MUSB_HDRC=y | 824 | CONFIG_USB_MUSB_HDRC=y |
738 | CONFIG_USB_TUSB6010=y | 825 | CONFIG_USB_TUSB6010=y |
739 | # CONFIG_USB_MUSB_HOST is not set | 826 | # CONFIG_USB_MUSB_HOST is not set |
740 | CONFIG_USB_MUSB_PERIPHERAL=y | 827 | # CONFIG_USB_MUSB_PERIPHERAL is not set |
741 | # CONFIG_USB_MUSB_OTG is not set | 828 | CONFIG_USB_MUSB_OTG=y |
742 | CONFIG_USB_GADGET_MUSB_HDRC=y | 829 | CONFIG_USB_GADGET_MUSB_HDRC=y |
830 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
743 | # CONFIG_MUSB_PIO_ONLY is not set | 831 | # CONFIG_MUSB_PIO_ONLY is not set |
744 | # CONFIG_USB_INVENTRA_DMA is not set | 832 | # CONFIG_USB_INVENTRA_DMA is not set |
745 | # CONFIG_USB_TI_CPPI_DMA is not set | 833 | # CONFIG_USB_TI_CPPI_DMA is not set |
@@ -824,44 +912,77 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
824 | # CONFIG_USB_ZERO is not set | 912 | # CONFIG_USB_ZERO is not set |
825 | # CONFIG_USB_AUDIO is not set | 913 | # CONFIG_USB_AUDIO is not set |
826 | CONFIG_USB_ETH=y | 914 | CONFIG_USB_ETH=y |
827 | # CONFIG_USB_ETH_RNDIS is not set | 915 | CONFIG_USB_ETH_RNDIS=y |
916 | CONFIG_USB_ETH_EEM=y | ||
828 | # CONFIG_USB_GADGETFS is not set | 917 | # CONFIG_USB_GADGETFS is not set |
829 | # CONFIG_USB_FILE_STORAGE is not set | 918 | # CONFIG_USB_FILE_STORAGE is not set |
919 | # CONFIG_USB_MASS_STORAGE is not set | ||
830 | # CONFIG_USB_G_SERIAL is not set | 920 | # CONFIG_USB_G_SERIAL is not set |
831 | # CONFIG_USB_MIDI_GADGET is not set | 921 | # CONFIG_USB_MIDI_GADGET is not set |
832 | # CONFIG_USB_G_PRINTER is not set | 922 | # CONFIG_USB_G_PRINTER is not set |
833 | # CONFIG_USB_CDC_COMPOSITE is not set | 923 | # CONFIG_USB_CDC_COMPOSITE is not set |
924 | # CONFIG_USB_G_NOKIA is not set | ||
925 | # CONFIG_USB_G_MULTI is not set | ||
834 | 926 | ||
835 | # | 927 | # |
836 | # OTG and related infrastructure | 928 | # OTG and related infrastructure |
837 | # | 929 | # |
838 | CONFIG_USB_OTG_UTILS=y | 930 | CONFIG_USB_OTG_UTILS=y |
839 | # CONFIG_USB_GPIO_VBUS is not set | 931 | # CONFIG_USB_GPIO_VBUS is not set |
932 | # CONFIG_ISP1301_OMAP is not set | ||
933 | # CONFIG_USB_ULPI is not set | ||
840 | CONFIG_NOP_USB_XCEIV=y | 934 | CONFIG_NOP_USB_XCEIV=y |
841 | # CONFIG_MMC is not set | 935 | CONFIG_MMC=y |
936 | # CONFIG_MMC_DEBUG is not set | ||
937 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
938 | |||
939 | # | ||
940 | # MMC/SD/SDIO Card Drivers | ||
941 | # | ||
942 | CONFIG_MMC_BLOCK=y | ||
943 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
944 | # CONFIG_SDIO_UART is not set | ||
945 | # CONFIG_MMC_TEST is not set | ||
946 | |||
947 | # | ||
948 | # MMC/SD/SDIO Host Controller Drivers | ||
949 | # | ||
950 | # CONFIG_MMC_SDHCI is not set | ||
951 | CONFIG_MMC_OMAP=y | ||
952 | # CONFIG_MMC_SPI is not set | ||
842 | # CONFIG_MEMSTICK is not set | 953 | # CONFIG_MEMSTICK is not set |
843 | # CONFIG_ACCESSIBILITY is not set | ||
844 | # CONFIG_NEW_LEDS is not set | 954 | # CONFIG_NEW_LEDS is not set |
955 | # CONFIG_ACCESSIBILITY is not set | ||
845 | CONFIG_RTC_LIB=y | 956 | CONFIG_RTC_LIB=y |
846 | # CONFIG_RTC_CLASS is not set | 957 | # CONFIG_RTC_CLASS is not set |
847 | # CONFIG_DMADEVICES is not set | 958 | # CONFIG_DMADEVICES is not set |
848 | # CONFIG_AUXDISPLAY is not set | 959 | # CONFIG_AUXDISPLAY is not set |
849 | # CONFIG_REGULATOR is not set | ||
850 | # CONFIG_UIO is not set | 960 | # CONFIG_UIO is not set |
961 | |||
962 | # | ||
963 | # TI VLYNQ | ||
964 | # | ||
851 | # CONFIG_STAGING is not set | 965 | # CONFIG_STAGING is not set |
852 | 966 | ||
853 | # | 967 | # |
854 | # File systems | 968 | # File systems |
855 | # | 969 | # |
856 | # CONFIG_EXT2_FS is not set | 970 | # CONFIG_EXT2_FS is not set |
857 | # CONFIG_EXT3_FS is not set | 971 | CONFIG_EXT3_FS=y |
972 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
973 | CONFIG_EXT3_FS_XATTR=y | ||
974 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
975 | # CONFIG_EXT3_FS_SECURITY is not set | ||
858 | # CONFIG_EXT4_FS is not set | 976 | # CONFIG_EXT4_FS is not set |
977 | CONFIG_JBD=y | ||
978 | CONFIG_FS_MBCACHE=y | ||
859 | # CONFIG_REISERFS_FS is not set | 979 | # CONFIG_REISERFS_FS is not set |
860 | # CONFIG_JFS_FS is not set | 980 | # CONFIG_JFS_FS is not set |
861 | # CONFIG_FS_POSIX_ACL is not set | 981 | # CONFIG_FS_POSIX_ACL is not set |
862 | # CONFIG_XFS_FS is not set | 982 | # CONFIG_XFS_FS is not set |
863 | # CONFIG_OCFS2_FS is not set | 983 | # CONFIG_OCFS2_FS is not set |
864 | # CONFIG_BTRFS_FS is not set | 984 | # CONFIG_BTRFS_FS is not set |
985 | # CONFIG_NILFS2_FS is not set | ||
865 | CONFIG_FILE_LOCKING=y | 986 | CONFIG_FILE_LOCKING=y |
866 | CONFIG_FSNOTIFY=y | 987 | CONFIG_FSNOTIFY=y |
867 | CONFIG_DNOTIFY=y | 988 | CONFIG_DNOTIFY=y |
@@ -886,8 +1007,11 @@ CONFIG_INOTIFY_USER=y | |||
886 | # | 1007 | # |
887 | # DOS/FAT/NT Filesystems | 1008 | # DOS/FAT/NT Filesystems |
888 | # | 1009 | # |
1010 | CONFIG_FAT_FS=y | ||
889 | # CONFIG_MSDOS_FS is not set | 1011 | # CONFIG_MSDOS_FS is not set |
890 | # CONFIG_VFAT_FS is not set | 1012 | CONFIG_VFAT_FS=y |
1013 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1014 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
891 | # CONFIG_NTFS_FS is not set | 1015 | # CONFIG_NTFS_FS is not set |
892 | 1016 | ||
893 | # | 1017 | # |
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig index c7999f5b1c9a..5a9e95fa728b 100644 --- a/arch/arm/configs/omap3_beagle_defconfig +++ b/arch/arm/configs/omap3_beagle_defconfig | |||
@@ -324,6 +324,7 @@ CONFIG_PM_SLEEP=y | |||
324 | CONFIG_SUSPEND=y | 324 | CONFIG_SUSPEND=y |
325 | CONFIG_SUSPEND_FREEZER=y | 325 | CONFIG_SUSPEND_FREEZER=y |
326 | # CONFIG_APM_EMULATION is not set | 326 | # CONFIG_APM_EMULATION is not set |
327 | CONFIG_PM_RUNTIME=y | ||
327 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 328 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
328 | CONFIG_NET=y | 329 | CONFIG_NET=y |
329 | 330 | ||
diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig index 714835e5ebec..d6ad92177324 100644 --- a/arch/arm/configs/omap3_defconfig +++ b/arch/arm/configs/omap3_defconfig | |||
@@ -450,7 +450,7 @@ CONFIG_SUSPEND=y | |||
450 | # CONFIG_PM_TEST_SUSPEND is not set | 450 | # CONFIG_PM_TEST_SUSPEND is not set |
451 | CONFIG_SUSPEND_FREEZER=y | 451 | CONFIG_SUSPEND_FREEZER=y |
452 | # CONFIG_APM_EMULATION is not set | 452 | # CONFIG_APM_EMULATION is not set |
453 | # CONFIG_PM_RUNTIME is not set | 453 | CONFIG_PM_RUNTIME=y |
454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
455 | CONFIG_NET=y | 455 | CONFIG_NET=y |
456 | 456 | ||
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig index e2ad859fbec6..a6dd6d1af806 100644 --- a/arch/arm/configs/omap3_evm_defconfig +++ b/arch/arm/configs/omap3_evm_defconfig | |||
@@ -340,6 +340,7 @@ CONFIG_PM_SLEEP=y | |||
340 | CONFIG_SUSPEND=y | 340 | CONFIG_SUSPEND=y |
341 | CONFIG_SUSPEND_FREEZER=y | 341 | CONFIG_SUSPEND_FREEZER=y |
342 | # CONFIG_APM_EMULATION is not set | 342 | # CONFIG_APM_EMULATION is not set |
343 | CONFIG_PM_RUNTIME=y | ||
343 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 344 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
344 | CONFIG_NET=y | 345 | CONFIG_NET=y |
345 | 346 | ||
diff --git a/arch/arm/configs/omap3_touchbook_defconfig b/arch/arm/configs/omap3_touchbook_defconfig index 74fe6be9c5ec..968fbaa8f04d 100644 --- a/arch/arm/configs/omap3_touchbook_defconfig +++ b/arch/arm/configs/omap3_touchbook_defconfig | |||
@@ -368,7 +368,7 @@ CONFIG_SUSPEND=y | |||
368 | # CONFIG_PM_TEST_SUSPEND is not set | 368 | # CONFIG_PM_TEST_SUSPEND is not set |
369 | CONFIG_SUSPEND_FREEZER=y | 369 | CONFIG_SUSPEND_FREEZER=y |
370 | # CONFIG_APM_EMULATION is not set | 370 | # CONFIG_APM_EMULATION is not set |
371 | # CONFIG_PM_RUNTIME is not set | 371 | CONFIG_PM_RUNTIME=y |
372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
373 | CONFIG_NET=y | 373 | CONFIG_NET=y |
374 | 374 | ||
diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig index bb2917e5cb47..ddde429a7d9b 100644 --- a/arch/arm/configs/omap_3430sdp_defconfig +++ b/arch/arm/configs/omap_3430sdp_defconfig | |||
@@ -363,6 +363,7 @@ CONFIG_PM_SLEEP=y | |||
363 | CONFIG_SUSPEND=y | 363 | CONFIG_SUSPEND=y |
364 | CONFIG_SUSPEND_FREEZER=y | 364 | CONFIG_SUSPEND_FREEZER=y |
365 | # CONFIG_APM_EMULATION is not set | 365 | # CONFIG_APM_EMULATION is not set |
366 | CONFIG_PM_RUNTIME=y | ||
366 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 367 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
367 | CONFIG_NET=y | 368 | CONFIG_NET=y |
368 | 369 | ||
diff --git a/arch/arm/configs/omap_3630sdp_defconfig b/arch/arm/configs/omap_3630sdp_defconfig index d25c3d4424ca..609f348b1055 100644 --- a/arch/arm/configs/omap_3630sdp_defconfig +++ b/arch/arm/configs/omap_3630sdp_defconfig | |||
@@ -361,7 +361,7 @@ CONFIG_SUSPEND=y | |||
361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
367 | 367 | ||
diff --git a/arch/arm/configs/omap_h2_1610_defconfig b/arch/arm/configs/omap_h2_1610_defconfig index 523189586a4b..91ef2ed0f80a 100644 --- a/arch/arm/configs/omap_h2_1610_defconfig +++ b/arch/arm/configs/omap_h2_1610_defconfig | |||
@@ -331,6 +331,7 @@ CONFIG_PM_SLEEP=y | |||
331 | CONFIG_SUSPEND=y | 331 | CONFIG_SUSPEND=y |
332 | CONFIG_SUSPEND_FREEZER=y | 332 | CONFIG_SUSPEND_FREEZER=y |
333 | # CONFIG_APM_EMULATION is not set | 333 | # CONFIG_APM_EMULATION is not set |
334 | CONFIG_PM_RUNTIME=y | ||
334 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 335 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
335 | 336 | ||
336 | # | 337 | # |
diff --git a/arch/arm/configs/omap_zoom2_defconfig b/arch/arm/configs/omap_zoom2_defconfig index a82e81332a03..f5c6e11cf189 100644 --- a/arch/arm/configs/omap_zoom2_defconfig +++ b/arch/arm/configs/omap_zoom2_defconfig | |||
@@ -343,6 +343,7 @@ CONFIG_SUSPEND=y | |||
343 | # CONFIG_PM_TEST_SUSPEND is not set | 343 | # CONFIG_PM_TEST_SUSPEND is not set |
344 | CONFIG_SUSPEND_FREEZER=y | 344 | CONFIG_SUSPEND_FREEZER=y |
345 | # CONFIG_APM_EMULATION is not set | 345 | # CONFIG_APM_EMULATION is not set |
346 | CONFIG_PM_RUNTIME=y | ||
346 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 347 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
347 | CONFIG_NET=y | 348 | CONFIG_NET=y |
348 | 349 | ||
diff --git a/arch/arm/configs/omap_zoom3_defconfig b/arch/arm/configs/omap_zoom3_defconfig index ff8ac3dcc31d..ea9a5012d332 100644 --- a/arch/arm/configs/omap_zoom3_defconfig +++ b/arch/arm/configs/omap_zoom3_defconfig | |||
@@ -361,7 +361,7 @@ CONFIG_SUSPEND=y | |||
361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
367 | 367 | ||
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index 193bd334fbbf..45135ffadc57 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig | |||
@@ -322,6 +322,7 @@ CONFIG_PM_SLEEP=y | |||
322 | CONFIG_SUSPEND=y | 322 | CONFIG_SUSPEND=y |
323 | CONFIG_SUSPEND_FREEZER=y | 323 | CONFIG_SUSPEND_FREEZER=y |
324 | # CONFIG_APM_EMULATION is not set | 324 | # CONFIG_APM_EMULATION is not set |
325 | CONFIG_PM_RUNTIME=y | ||
325 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 326 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
326 | CONFIG_NET=y | 327 | CONFIG_NET=y |
327 | 328 | ||
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h index a399bb5730f1..bff056489cc1 100644 --- a/arch/arm/include/asm/elf.h +++ b/arch/arm/include/asm/elf.h | |||
@@ -98,6 +98,7 @@ extern int elf_check_arch(const struct elf32_hdr *); | |||
98 | extern int arm_elf_read_implies_exec(const struct elf32_hdr *, int); | 98 | extern int arm_elf_read_implies_exec(const struct elf32_hdr *, int); |
99 | #define elf_read_implies_exec(ex,stk) arm_elf_read_implies_exec(&(ex), stk) | 99 | #define elf_read_implies_exec(ex,stk) arm_elf_read_implies_exec(&(ex), stk) |
100 | 100 | ||
101 | struct task_struct; | ||
101 | int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs); | 102 | int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs); |
102 | #define ELF_CORE_COPY_TASK_REGS dump_task_regs | 103 | #define ELF_CORE_COPY_TASK_REGS dump_task_regs |
103 | 104 | ||
diff --git a/arch/arm/include/asm/pgtable-nommu.h b/arch/arm/include/asm/pgtable-nommu.h index 013cfcdc4839..ffc0e85775b4 100644 --- a/arch/arm/include/asm/pgtable-nommu.h +++ b/arch/arm/include/asm/pgtable-nommu.h | |||
@@ -67,6 +67,7 @@ static inline int pte_file(pte_t pte) { return 0; } | |||
67 | */ | 67 | */ |
68 | #define pgprot_noncached(prot) __pgprot(0) | 68 | #define pgprot_noncached(prot) __pgprot(0) |
69 | #define pgprot_writecombine(prot) __pgprot(0) | 69 | #define pgprot_writecombine(prot) __pgprot(0) |
70 | #define pgprot_dmacoherent(prot) __pgprot(0) | ||
70 | 71 | ||
71 | 72 | ||
72 | /* | 73 | /* |
diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S index 7e9ed1eea40a..d93f976fb389 100644 --- a/arch/arm/kernel/entry-header.S +++ b/arch/arm/kernel/entry-header.S | |||
@@ -102,6 +102,8 @@ | |||
102 | .else | 102 | .else |
103 | ldmdb sp, {r0 - lr}^ @ get calling r0 - lr | 103 | ldmdb sp, {r0 - lr}^ @ get calling r0 - lr |
104 | .endif | 104 | .endif |
105 | mov r0, r0 @ ARMv5T and earlier require a nop | ||
106 | @ after ldm {}^ | ||
105 | add sp, sp, #S_FRAME_SIZE - S_PC | 107 | add sp, sp, #S_FRAME_SIZE - S_PC |
106 | movs pc, lr @ return & move spsr_svc into cpsr | 108 | movs pc, lr @ return & move spsr_svc into cpsr |
107 | .endm | 109 | .endm |
diff --git a/arch/arm/kernel/kgdb.c b/arch/arm/kernel/kgdb.c index ba8ccfede964..a5b846b9895d 100644 --- a/arch/arm/kernel/kgdb.c +++ b/arch/arm/kernel/kgdb.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * Authors: George Davis <davis_g@mvista.com> | 9 | * Authors: George Davis <davis_g@mvista.com> |
10 | * Deepak Saxena <dsaxena@plexity.net> | 10 | * Deepak Saxena <dsaxena@plexity.net> |
11 | */ | 11 | */ |
12 | #include <linux/irq.h> | ||
12 | #include <linux/kgdb.h> | 13 | #include <linux/kgdb.h> |
13 | #include <asm/traps.h> | 14 | #include <asm/traps.h> |
14 | 15 | ||
@@ -158,6 +159,18 @@ static struct undef_hook kgdb_compiled_brkpt_hook = { | |||
158 | .fn = kgdb_compiled_brk_fn | 159 | .fn = kgdb_compiled_brk_fn |
159 | }; | 160 | }; |
160 | 161 | ||
162 | static void kgdb_call_nmi_hook(void *ignored) | ||
163 | { | ||
164 | kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs()); | ||
165 | } | ||
166 | |||
167 | void kgdb_roundup_cpus(unsigned long flags) | ||
168 | { | ||
169 | local_irq_enable(); | ||
170 | smp_call_function(kgdb_call_nmi_hook, NULL, 0); | ||
171 | local_irq_disable(); | ||
172 | } | ||
173 | |||
161 | /** | 174 | /** |
162 | * kgdb_arch_init - Perform any architecture specific initalization. | 175 | * kgdb_arch_init - Perform any architecture specific initalization. |
163 | * | 176 | * |
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c index 3875d99cc40f..9e70f2053f9a 100644 --- a/arch/arm/kernel/perf_event.c +++ b/arch/arm/kernel/perf_event.c | |||
@@ -332,7 +332,8 @@ armpmu_reserve_hardware(void) | |||
332 | 332 | ||
333 | for (i = 0; i < pmu_irqs->num_irqs; ++i) { | 333 | for (i = 0; i < pmu_irqs->num_irqs; ++i) { |
334 | err = request_irq(pmu_irqs->irqs[i], armpmu->handle_irq, | 334 | err = request_irq(pmu_irqs->irqs[i], armpmu->handle_irq, |
335 | IRQF_DISABLED, "armpmu", NULL); | 335 | IRQF_DISABLED | IRQF_NOBALANCING, |
336 | "armpmu", NULL); | ||
336 | if (err) { | 337 | if (err) { |
337 | pr_warning("unable to request IRQ%d for ARM " | 338 | pr_warning("unable to request IRQ%d for ARM " |
338 | "perf counters\n", pmu_irqs->irqs[i]); | 339 | "perf counters\n", pmu_irqs->irqs[i]); |
@@ -1624,7 +1625,7 @@ enum armv7_counters { | |||
1624 | /* | 1625 | /* |
1625 | * EVTSEL: Event selection reg | 1626 | * EVTSEL: Event selection reg |
1626 | */ | 1627 | */ |
1627 | #define ARMV7_EVTSEL_MASK 0x7f /* Mask for writable bits */ | 1628 | #define ARMV7_EVTSEL_MASK 0xff /* Mask for writable bits */ |
1628 | 1629 | ||
1629 | /* | 1630 | /* |
1630 | * SELECT: Counter selection reg | 1631 | * SELECT: Counter selection reg |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 57162af53dc9..577543f3857f 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -99,6 +99,7 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
99 | *pmd = __pmd((PHYS_OFFSET & PGDIR_MASK) | | 99 | *pmd = __pmd((PHYS_OFFSET & PGDIR_MASK) | |
100 | PMD_TYPE_SECT | PMD_SECT_AP_WRITE); | 100 | PMD_TYPE_SECT | PMD_SECT_AP_WRITE); |
101 | flush_pmd_entry(pmd); | 101 | flush_pmd_entry(pmd); |
102 | outer_clean_range(__pa(pmd), __pa(pmd + 1)); | ||
102 | 103 | ||
103 | /* | 104 | /* |
104 | * We need to tell the secondary core where to find | 105 | * We need to tell the secondary core where to find |
@@ -106,7 +107,8 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
106 | */ | 107 | */ |
107 | secondary_data.stack = task_stack_page(idle) + THREAD_START_SP; | 108 | secondary_data.stack = task_stack_page(idle) + THREAD_START_SP; |
108 | secondary_data.pgdir = virt_to_phys(pgd); | 109 | secondary_data.pgdir = virt_to_phys(pgd); |
109 | wmb(); | 110 | __cpuc_flush_dcache_area(&secondary_data, sizeof(secondary_data)); |
111 | outer_clean_range(__pa(&secondary_data), __pa(&secondary_data + 1)); | ||
110 | 112 | ||
111 | /* | 113 | /* |
112 | * Now bring the CPU into our world. | 114 | * Now bring the CPU into our world. |
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c index 29cf83177484..c11fd47aec5d 100644 --- a/arch/arm/mach-at91/board-sam9g20ek.c +++ b/arch/arm/mach-at91/board-sam9g20ek.c | |||
@@ -271,10 +271,12 @@ static void __init ek_add_device_buttons(void) {} | |||
271 | 271 | ||
272 | 272 | ||
273 | static struct i2c_board_info __initdata ek_i2c_devices[] = { | 273 | static struct i2c_board_info __initdata ek_i2c_devices[] = { |
274 | { | 274 | { |
275 | I2C_BOARD_INFO("24c512", 0x50), | 275 | I2C_BOARD_INFO("24c512", 0x50) |
276 | I2C_BOARD_INFO("wm8731", 0x1b), | 276 | }, |
277 | }, | 277 | { |
278 | I2C_BOARD_INFO("wm8731", 0x1b) | ||
279 | }, | ||
278 | }; | 280 | }; |
279 | 281 | ||
280 | 282 | ||
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 2069fb33baaa..4b9fc57770db 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -22,6 +22,9 @@ obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o | |||
22 | # SMP support ONLY available for OMAP4 | 22 | # SMP support ONLY available for OMAP4 |
23 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o | 23 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
24 | obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o | 24 | obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o |
25 | obj-$(CONFIG_ARCH_OMAP4) += omap44xx-smc.o | ||
26 | |||
27 | AFLAGS_omap44xx-smc.o :=-Wa,-march=armv7-a | ||
25 | 28 | ||
26 | # Functions loaded to SRAM | 29 | # Functions loaded to SRAM |
27 | obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o | 30 | obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index a101029ceb6f..5822bcf7b15f 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -648,7 +648,7 @@ static void enable_board_wakeup_source(void) | |||
648 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); | 648 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); |
649 | } | 649 | } |
650 | 650 | ||
651 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 651 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
652 | 652 | ||
653 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 653 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
654 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 654 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index 4386d2b4a785..a0a2a113465c 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c | |||
@@ -54,7 +54,7 @@ static void enable_board_wakeup_source(void) | |||
54 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); | 54 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); |
55 | } | 55 | } |
56 | 56 | ||
57 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 57 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
58 | 58 | ||
59 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 59 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
60 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 60 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 180ac112e527..b88f28c5814b 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -50,33 +50,9 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = { | |||
50 | }; | 50 | }; |
51 | 51 | ||
52 | #ifdef CONFIG_CACHE_L2X0 | 52 | #ifdef CONFIG_CACHE_L2X0 |
53 | noinline void omap_smc1(u32 fn, u32 arg) | ||
54 | { | ||
55 | register u32 r12 asm("r12") = fn; | ||
56 | register u32 r0 asm("r0") = arg; | ||
57 | |||
58 | /* This is common routine cache secure monitor API used to | ||
59 | * modify the PL310 secure registers. | ||
60 | * r0 contains the value to be modified and "r12" contains | ||
61 | * the monitor API number. It uses few CPU registers | ||
62 | * internally and hence they need be backed up including | ||
63 | * link register "lr". | ||
64 | * Explicitly save r11 and r12 the compiler generated code | ||
65 | * won't save it. | ||
66 | */ | ||
67 | asm volatile( | ||
68 | "stmfd r13!, {r11,r12}\n" | ||
69 | "dsb\n" | ||
70 | "smc\n" | ||
71 | "ldmfd r13!, {r11,r12}\n" | ||
72 | : "+r" (r0), "+r" (r12) | ||
73 | : | ||
74 | : "r4", "r5", "r10", "lr", "cc"); | ||
75 | } | ||
76 | EXPORT_SYMBOL(omap_smc1); | ||
77 | |||
78 | static int __init omap_l2_cache_init(void) | 53 | static int __init omap_l2_cache_init(void) |
79 | { | 54 | { |
55 | extern void omap_smc1(u32 fn, u32 arg); | ||
80 | void __iomem *l2cache_base; | 56 | void __iomem *l2cache_base; |
81 | 57 | ||
82 | /* To avoid code running on other OMAPs in | 58 | /* To avoid code running on other OMAPs in |
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 70c18614773c..6ae880585d54 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -273,7 +273,7 @@ static void __init am3517_evm_init_irq(void) | |||
273 | omap_gpio_init(); | 273 | omap_gpio_init(); |
274 | } | 274 | } |
275 | 275 | ||
276 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { | 276 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
277 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 277 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
278 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 278 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
279 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 279 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index afa77caaff4d..2de4f79f03a0 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -612,7 +612,7 @@ static struct omap2_hsmmc_info mmc[] = { | |||
612 | {} /* Terminator */ | 612 | {} /* Terminator */ |
613 | }; | 613 | }; |
614 | 614 | ||
615 | static struct ehci_hcd_omap_platform_data ehci_pdata = { | 615 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { |
616 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 616 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
617 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 617 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
618 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 618 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 371019054b49..5bfc13b3176c 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -636,7 +636,7 @@ static struct omap_musb_board_data musb_board_data = { | |||
636 | .power = 100, | 636 | .power = 100, |
637 | }; | 637 | }; |
638 | 638 | ||
639 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 639 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
640 | 640 | ||
641 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 641 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
642 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 642 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 9958987a3d0a..3c7789d45051 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/clk.h> | 16 | #include <linux/clk.h> |
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
19 | #include <linux/leds.h> | ||
20 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
21 | 20 | ||
22 | #include <linux/regulator/machine.h> | 21 | #include <linux/regulator/machine.h> |
@@ -39,8 +38,8 @@ | |||
39 | #define IGEP2_SMSC911X_CS 5 | 38 | #define IGEP2_SMSC911X_CS 5 |
40 | #define IGEP2_SMSC911X_GPIO 176 | 39 | #define IGEP2_SMSC911X_GPIO 176 |
41 | #define IGEP2_GPIO_USBH_NRESET 24 | 40 | #define IGEP2_GPIO_USBH_NRESET 24 |
42 | #define IGEP2_GPIO_LED0_RED 26 | 41 | #define IGEP2_GPIO_LED0_GREEN 26 |
43 | #define IGEP2_GPIO_LED0_GREEN 27 | 42 | #define IGEP2_GPIO_LED0_RED 27 |
44 | #define IGEP2_GPIO_LED1_RED 28 | 43 | #define IGEP2_GPIO_LED1_RED 28 |
45 | #define IGEP2_GPIO_DVI_PUP 170 | 44 | #define IGEP2_GPIO_DVI_PUP 170 |
46 | #define IGEP2_GPIO_WIFI_NPD 94 | 45 | #define IGEP2_GPIO_WIFI_NPD 94 |
@@ -355,34 +354,50 @@ static void __init igep2_display_init(void) | |||
355 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) | 354 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) |
356 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); | 355 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); |
357 | } | 356 | } |
358 | #ifdef CONFIG_LEDS_TRIGGERS | 357 | |
359 | static struct gpio_led gpio_leds[] = { | 358 | #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) |
359 | #include <linux/leds.h> | ||
360 | |||
361 | static struct gpio_led igep2_gpio_leds[] = { | ||
360 | { | 362 | { |
361 | .name = "GPIO_LED1_RED", | 363 | .name = "led0:red", |
364 | .gpio = IGEP2_GPIO_LED0_RED, | ||
365 | }, | ||
366 | { | ||
367 | .name = "led0:green", | ||
362 | .default_trigger = "heartbeat", | 368 | .default_trigger = "heartbeat", |
369 | .gpio = IGEP2_GPIO_LED0_GREEN, | ||
370 | }, | ||
371 | { | ||
372 | .name = "led1:red", | ||
363 | .gpio = IGEP2_GPIO_LED1_RED, | 373 | .gpio = IGEP2_GPIO_LED1_RED, |
364 | }, | 374 | }, |
365 | }; | 375 | }; |
366 | 376 | ||
367 | static struct gpio_led_platform_data gpio_leds_info = { | 377 | static struct gpio_led_platform_data igep2_led_pdata = { |
368 | .leds = gpio_leds, | 378 | .leds = igep2_gpio_leds, |
369 | .num_leds = ARRAY_SIZE(gpio_leds), | 379 | .num_leds = ARRAY_SIZE(igep2_gpio_leds), |
370 | }; | 380 | }; |
371 | 381 | ||
372 | static struct platform_device leds_gpio = { | 382 | static struct platform_device igep2_led_device = { |
373 | .name = "leds-gpio", | 383 | .name = "leds-gpio", |
374 | .id = -1, | 384 | .id = -1, |
375 | .dev = { | 385 | .dev = { |
376 | .platform_data = &gpio_leds_info, | 386 | .platform_data = &igep2_led_pdata, |
377 | }, | 387 | }, |
378 | }; | 388 | }; |
389 | |||
390 | static void __init igep2_init_led(void) | ||
391 | { | ||
392 | platform_device_register(&igep2_led_device); | ||
393 | } | ||
394 | |||
395 | #else | ||
396 | static inline void igep2_init_led(void) {} | ||
379 | #endif | 397 | #endif |
380 | 398 | ||
381 | static struct platform_device *igep2_devices[] __initdata = { | 399 | static struct platform_device *igep2_devices[] __initdata = { |
382 | &igep2_dss_device, | 400 | &igep2_dss_device, |
383 | #ifdef CONFIG_LEDS_TRIGGERS | ||
384 | &leds_gpio, | ||
385 | #endif | ||
386 | }; | 401 | }; |
387 | 402 | ||
388 | static void __init igep2_init_irq(void) | 403 | static void __init igep2_init_irq(void) |
@@ -442,7 +457,7 @@ static struct omap_musb_board_data musb_board_data = { | |||
442 | .power = 100, | 457 | .power = 100, |
443 | }; | 458 | }; |
444 | 459 | ||
445 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 460 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
446 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 461 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
447 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 462 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
448 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 463 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
@@ -471,31 +486,34 @@ static void __init igep2_init(void) | |||
471 | usb_ehci_init(&ehci_pdata); | 486 | usb_ehci_init(&ehci_pdata); |
472 | 487 | ||
473 | igep2_flash_init(); | 488 | igep2_flash_init(); |
489 | igep2_init_led(); | ||
474 | igep2_display_init(); | 490 | igep2_display_init(); |
475 | igep2_init_smsc911x(); | 491 | igep2_init_smsc911x(); |
476 | 492 | ||
477 | /* GPIO userspace leds */ | 493 | /* GPIO userspace leds */ |
478 | if ((gpio_request(IGEP2_GPIO_LED0_RED, "GPIO_LED0_RED") == 0) && | 494 | #if !defined(CONFIG_LEDS_GPIO) && !defined(CONFIG_LEDS_GPIO_MODULE) |
495 | if ((gpio_request(IGEP2_GPIO_LED0_RED, "led0:red") == 0) && | ||
479 | (gpio_direction_output(IGEP2_GPIO_LED0_RED, 1) == 0)) { | 496 | (gpio_direction_output(IGEP2_GPIO_LED0_RED, 1) == 0)) { |
480 | gpio_export(IGEP2_GPIO_LED0_RED, 0); | 497 | gpio_export(IGEP2_GPIO_LED0_RED, 0); |
481 | gpio_set_value(IGEP2_GPIO_LED0_RED, 0); | 498 | gpio_set_value(IGEP2_GPIO_LED0_RED, 0); |
482 | } else | 499 | } else |
483 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_RED\n"); | 500 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_RED\n"); |
484 | 501 | ||
485 | if ((gpio_request(IGEP2_GPIO_LED0_GREEN, "GPIO_LED0_GREEN") == 0) && | 502 | if ((gpio_request(IGEP2_GPIO_LED0_GREEN, "led0:green") == 0) && |
486 | (gpio_direction_output(IGEP2_GPIO_LED0_GREEN, 1) == 0)) { | 503 | (gpio_direction_output(IGEP2_GPIO_LED0_GREEN, 1) == 0)) { |
487 | gpio_export(IGEP2_GPIO_LED0_GREEN, 0); | 504 | gpio_export(IGEP2_GPIO_LED0_GREEN, 0); |
488 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); | 505 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); |
489 | } else | 506 | } else |
490 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); | 507 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); |
491 | #ifndef CONFIG_LEDS_TRIGGERS | 508 | |
492 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_LED1_RED") == 0) && | 509 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "led1:red") == 0) && |
493 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { | 510 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { |
494 | gpio_export(IGEP2_GPIO_LED1_RED, 0); | 511 | gpio_export(IGEP2_GPIO_LED1_RED, 0); |
495 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); | 512 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); |
496 | } else | 513 | } else |
497 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); | 514 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); |
498 | #endif | 515 | #endif |
516 | |||
499 | /* GPIO W-LAN + Bluetooth combo module */ | 517 | /* GPIO W-LAN + Bluetooth combo module */ |
500 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && | 518 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && |
501 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { | 519 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { |
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index 4cab0522d7ce..da9bcb898991 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c | |||
@@ -37,6 +37,103 @@ static int slot1_cover_open; | |||
37 | static int slot2_cover_open; | 37 | static int slot2_cover_open; |
38 | static struct device *mmc_device; | 38 | static struct device *mmc_device; |
39 | 39 | ||
40 | #define TUSB6010_ASYNC_CS 1 | ||
41 | #define TUSB6010_SYNC_CS 4 | ||
42 | #define TUSB6010_GPIO_INT 58 | ||
43 | #define TUSB6010_GPIO_ENABLE 0 | ||
44 | #define TUSB6010_DMACHAN 0x3f | ||
45 | |||
46 | #if defined(CONFIG_USB_TUSB6010) || \ | ||
47 | defined(CONFIG_USB_TUSB6010_MODULE) | ||
48 | /* | ||
49 | * Enable or disable power to TUSB6010. When enabling, turn on 3.3 V and | ||
50 | * 1.5 V voltage regulators of PM companion chip. Companion chip will then | ||
51 | * provide then PGOOD signal to TUSB6010 which will release it from reset. | ||
52 | */ | ||
53 | static int tusb_set_power(int state) | ||
54 | { | ||
55 | int i, retval = 0; | ||
56 | |||
57 | if (state) { | ||
58 | gpio_set_value(TUSB6010_GPIO_ENABLE, 1); | ||
59 | msleep(1); | ||
60 | |||
61 | /* Wait until TUSB6010 pulls INT pin down */ | ||
62 | i = 100; | ||
63 | while (i && gpio_get_value(TUSB6010_GPIO_INT)) { | ||
64 | msleep(1); | ||
65 | i--; | ||
66 | } | ||
67 | |||
68 | if (!i) { | ||
69 | printk(KERN_ERR "tusb: powerup failed\n"); | ||
70 | retval = -ENODEV; | ||
71 | } | ||
72 | } else { | ||
73 | gpio_set_value(TUSB6010_GPIO_ENABLE, 0); | ||
74 | msleep(10); | ||
75 | } | ||
76 | |||
77 | return retval; | ||
78 | } | ||
79 | |||
80 | static struct musb_hdrc_config musb_config = { | ||
81 | .multipoint = 1, | ||
82 | .dyn_fifo = 1, | ||
83 | .num_eps = 16, | ||
84 | .ram_bits = 12, | ||
85 | }; | ||
86 | |||
87 | static struct musb_hdrc_platform_data tusb_data = { | ||
88 | #if defined(CONFIG_USB_MUSB_OTG) | ||
89 | .mode = MUSB_OTG, | ||
90 | #elif defined(CONFIG_USB_MUSB_PERIPHERAL) | ||
91 | .mode = MUSB_PERIPHERAL, | ||
92 | #else /* defined(CONFIG_USB_MUSB_HOST) */ | ||
93 | .mode = MUSB_HOST, | ||
94 | #endif | ||
95 | .set_power = tusb_set_power, | ||
96 | .min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */ | ||
97 | .power = 100, /* Max 100 mA VBUS for host mode */ | ||
98 | .config = &musb_config, | ||
99 | }; | ||
100 | |||
101 | static void __init n8x0_usb_init(void) | ||
102 | { | ||
103 | int ret = 0; | ||
104 | static char announce[] __initdata = KERN_INFO "TUSB 6010\n"; | ||
105 | |||
106 | /* PM companion chip power control pin */ | ||
107 | ret = gpio_request(TUSB6010_GPIO_ENABLE, "TUSB6010 enable"); | ||
108 | if (ret != 0) { | ||
109 | printk(KERN_ERR "Could not get TUSB power GPIO%i\n", | ||
110 | TUSB6010_GPIO_ENABLE); | ||
111 | return; | ||
112 | } | ||
113 | gpio_direction_output(TUSB6010_GPIO_ENABLE, 0); | ||
114 | |||
115 | tusb_set_power(0); | ||
116 | |||
117 | ret = tusb6010_setup_interface(&tusb_data, TUSB6010_REFCLK_19, 2, | ||
118 | TUSB6010_ASYNC_CS, TUSB6010_SYNC_CS, | ||
119 | TUSB6010_GPIO_INT, TUSB6010_DMACHAN); | ||
120 | if (ret != 0) | ||
121 | goto err; | ||
122 | |||
123 | printk(announce); | ||
124 | |||
125 | return; | ||
126 | |||
127 | err: | ||
128 | gpio_free(TUSB6010_GPIO_ENABLE); | ||
129 | } | ||
130 | #else | ||
131 | |||
132 | static void __init n8x0_usb_init(void) {} | ||
133 | |||
134 | #endif /*CONFIG_USB_TUSB6010 */ | ||
135 | |||
136 | |||
40 | static struct omap2_mcspi_device_config p54spi_mcspi_config = { | 137 | static struct omap2_mcspi_device_config p54spi_mcspi_config = { |
41 | .turbo_mode = 0, | 138 | .turbo_mode = 0, |
42 | .single_channel = 1, | 139 | .single_channel = 1, |
@@ -562,6 +659,7 @@ static void __init n8x0_init_machine(void) | |||
562 | n8x0_menelaus_init(); | 659 | n8x0_menelaus_init(); |
563 | n8x0_onenand_init(); | 660 | n8x0_onenand_init(); |
564 | n8x0_mmc_init(); | 661 | n8x0_mmc_init(); |
662 | n8x0_usb_init(); | ||
565 | } | 663 | } |
566 | 664 | ||
567 | MACHINE_START(NOKIA_N800, "Nokia N800") | 665 | MACHINE_START(NOKIA_N800, "Nokia N800") |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6eb77e1f7c82..962d377970e9 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -410,7 +410,7 @@ static void __init omap3beagle_flash_init(void) | |||
410 | } | 410 | } |
411 | } | 411 | } |
412 | 412 | ||
413 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 413 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
414 | 414 | ||
415 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 415 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
416 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 416 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index d6bc88c426b5..017bb2f4f7d2 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -635,7 +635,7 @@ static struct platform_device *omap3_evm_devices[] __initdata = { | |||
635 | &omap3_evm_dss_device, | 635 | &omap3_evm_dss_device, |
636 | }; | 636 | }; |
637 | 637 | ||
638 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 638 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { |
639 | 639 | ||
640 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 640 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
641 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 641 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 4827f4658df3..395d049bf010 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -459,12 +459,20 @@ static struct i2c_board_info __initdata omap3pandora_i2c_boardinfo[] = { | |||
459 | }, | 459 | }, |
460 | }; | 460 | }; |
461 | 461 | ||
462 | static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { | ||
463 | { | ||
464 | I2C_BOARD_INFO("bq27500", 0x55), | ||
465 | .flags = I2C_CLIENT_WAKE, | ||
466 | }, | ||
467 | }; | ||
468 | |||
462 | static int __init omap3pandora_i2c_init(void) | 469 | static int __init omap3pandora_i2c_init(void) |
463 | { | 470 | { |
464 | omap_register_i2c_bus(1, 2600, omap3pandora_i2c_boardinfo, | 471 | omap_register_i2c_bus(1, 2600, omap3pandora_i2c_boardinfo, |
465 | ARRAY_SIZE(omap3pandora_i2c_boardinfo)); | 472 | ARRAY_SIZE(omap3pandora_i2c_boardinfo)); |
466 | /* i2c2 pins are not connected */ | 473 | /* i2c2 pins are not connected */ |
467 | omap_register_i2c_bus(3, 100, NULL, 0); | 474 | omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo, |
475 | ARRAY_SIZE(omap3pandora_i2c3_boardinfo)); | ||
468 | return 0; | 476 | return 0; |
469 | } | 477 | } |
470 | 478 | ||
@@ -537,7 +545,7 @@ static struct platform_device *omap3pandora_devices[] __initdata = { | |||
537 | &pandora_dss_device, | 545 | &pandora_dss_device, |
538 | }; | 546 | }; |
539 | 547 | ||
540 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 548 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
541 | 549 | ||
542 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 550 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
543 | .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 551 | .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 3943d0f8322c..2504d41f923e 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
@@ -493,7 +493,7 @@ static void __init omap3touchbook_flash_init(void) | |||
493 | } | 493 | } |
494 | } | 494 | } |
495 | 495 | ||
496 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 496 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
497 | 497 | ||
498 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 498 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
499 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 499 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
@@ -518,14 +518,14 @@ static void omap3_touchbook_poweroff(void) | |||
518 | gpio_direction_output(TB_KILL_POWER_GPIO, 0); | 518 | gpio_direction_output(TB_KILL_POWER_GPIO, 0); |
519 | } | 519 | } |
520 | 520 | ||
521 | static void __init early_touchbook_revision(char **p) | 521 | static int __init early_touchbook_revision(char *p) |
522 | { | 522 | { |
523 | if (!*p) | 523 | if (!p) |
524 | return; | 524 | return 0; |
525 | 525 | ||
526 | strict_strtoul(*p, 10, &touchbook_revision); | 526 | return strict_strtoul(p, 10, &touchbook_revision); |
527 | } | 527 | } |
528 | __early_param("tbr=", early_touchbook_revision); | 528 | early_param("tbr", early_touchbook_revision); |
529 | 529 | ||
530 | static struct omap_musb_board_data musb_board_data = { | 530 | static struct omap_musb_board_data musb_board_data = { |
531 | .interface_type = MUSB_INTERFACE_ULPI, | 531 | .interface_type = MUSB_INTERFACE_ULPI, |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 50872a42bec7..8848c7c5ce48 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -394,7 +394,7 @@ static struct platform_device *overo_devices[] __initdata = { | |||
394 | &overo_lcd_device, | 394 | &overo_lcd_device, |
395 | }; | 395 | }; |
396 | 396 | ||
397 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 397 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
398 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 398 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
399 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 399 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
400 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 400 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c index d3e3cd5170d1..cd3e40cf3ac1 100644 --- a/arch/arm/mach-omap2/board-zoom3.c +++ b/arch/arm/mach-omap2/board-zoom3.c | |||
@@ -52,7 +52,7 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
52 | #define board_mux NULL | 52 | #define board_mux NULL |
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 55 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
56 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 56 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
57 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 57 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
58 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 58 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c index f12af95ead45..d932b142d0b6 100644 --- a/arch/arm/mach-omap2/clock2420_data.c +++ b/arch/arm/mach-omap2/clock2420_data.c | |||
@@ -1841,6 +1841,7 @@ static struct omap_clk omap2420_clks[] = { | |||
1841 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), | 1841 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), |
1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), | 1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), |
1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), | 1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), |
1844 | CLK("musb_hdrc", "fck", &osc_ck, CK_242X), | ||
1844 | }; | 1845 | }; |
1845 | 1846 | ||
1846 | /* | 1847 | /* |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 402e8f0d0f21..87f676acf61d 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -237,7 +237,7 @@ static void __init _omap2_map_common_io(void) | |||
237 | } | 237 | } |
238 | 238 | ||
239 | #ifdef CONFIG_ARCH_OMAP2420 | 239 | #ifdef CONFIG_ARCH_OMAP2420 |
240 | void __init omap242x_map_common_io() | 240 | void __init omap242x_map_common_io(void) |
241 | { | 241 | { |
242 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 242 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
243 | iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc)); | 243 | iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc)); |
@@ -246,7 +246,7 @@ void __init omap242x_map_common_io() | |||
246 | #endif | 246 | #endif |
247 | 247 | ||
248 | #ifdef CONFIG_ARCH_OMAP2430 | 248 | #ifdef CONFIG_ARCH_OMAP2430 |
249 | void __init omap243x_map_common_io() | 249 | void __init omap243x_map_common_io(void) |
250 | { | 250 | { |
251 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 251 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
252 | iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc)); | 252 | iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc)); |
@@ -255,7 +255,7 @@ void __init omap243x_map_common_io() | |||
255 | #endif | 255 | #endif |
256 | 256 | ||
257 | #ifdef CONFIG_ARCH_OMAP3 | 257 | #ifdef CONFIG_ARCH_OMAP3 |
258 | void __init omap34xx_map_common_io() | 258 | void __init omap34xx_map_common_io(void) |
259 | { | 259 | { |
260 | iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc)); | 260 | iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc)); |
261 | _omap2_map_common_io(); | 261 | _omap2_map_common_io(); |
@@ -263,7 +263,7 @@ void __init omap34xx_map_common_io() | |||
263 | #endif | 263 | #endif |
264 | 264 | ||
265 | #ifdef CONFIG_ARCH_OMAP4 | 265 | #ifdef CONFIG_ARCH_OMAP4 |
266 | void __init omap44xx_map_common_io() | 266 | void __init omap44xx_map_common_io(void) |
267 | { | 267 | { |
268 | iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); | 268 | iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); |
269 | _omap2_map_common_io(); | 269 | _omap2_map_common_io(); |
@@ -309,7 +309,6 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
309 | { | 309 | { |
310 | pwrdm_init(powerdomains_omap); | 310 | pwrdm_init(powerdomains_omap); |
311 | clkdm_init(clockdomains_omap, clkdm_autodeps); | 311 | clkdm_init(clockdomains_omap, clkdm_autodeps); |
312 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ | ||
313 | if (cpu_is_omap242x()) | 312 | if (cpu_is_omap242x()) |
314 | omap2420_hwmod_init(); | 313 | omap2420_hwmod_init(); |
315 | else if (cpu_is_omap243x()) | 314 | else if (cpu_is_omap243x()) |
@@ -319,7 +318,6 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
319 | omap2_mux_init(); | 318 | omap2_mux_init(); |
320 | /* The OPP tables have to be registered before a clk init */ | 319 | /* The OPP tables have to be registered before a clk init */ |
321 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); | 320 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); |
322 | #endif | ||
323 | 321 | ||
324 | if (cpu_is_omap2420()) | 322 | if (cpu_is_omap2420()) |
325 | omap2420_clk_init(); | 323 | omap2420_clk_init(); |
@@ -333,11 +331,12 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
333 | pr_err("Could not init clock framework - unknown CPU\n"); | 331 | pr_err("Could not init clock framework - unknown CPU\n"); |
334 | 332 | ||
335 | omap_serial_early_init(); | 333 | omap_serial_early_init(); |
336 | #ifndef CONFIG_ARCH_OMAP4 | 334 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) /* FIXME: OMAP4 */ |
337 | omap_hwmod_late_init(); | 335 | omap_hwmod_late_init(); |
338 | omap_pm_if_init(); | 336 | omap_pm_if_init(); |
339 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); | 337 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { |
340 | _omap2_init_reprogram_sdrc(); | 338 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
341 | #endif | 339 | _omap2_init_reprogram_sdrc(); |
340 | } | ||
342 | gpmc_init(); | 341 | gpmc_init(); |
343 | } | 342 | } |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 52a981cb8fdd..318f3638653c 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -430,19 +430,19 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev) | |||
430 | if (unlikely(!res)) { | 430 | if (unlikely(!res)) { |
431 | dev_err(&pdev->dev, "invalid irq resource\n"); | 431 | dev_err(&pdev->dev, "invalid irq resource\n"); |
432 | ret = -ENODEV; | 432 | ret = -ENODEV; |
433 | goto err_iva1; | 433 | omap_mbox_unregister(&mbox_dsp_info); |
434 | goto err_dsp; | ||
434 | } | 435 | } |
435 | mbox_iva_info.irq = res->start; | 436 | mbox_iva_info.irq = res->start; |
436 | ret = omap_mbox_register(&pdev->dev, &mbox_iva_info); | 437 | ret = omap_mbox_register(&pdev->dev, &mbox_iva_info); |
437 | if (ret) | 438 | if (ret) { |
438 | goto err_iva1; | 439 | omap_mbox_unregister(&mbox_dsp_info); |
440 | goto err_dsp; | ||
441 | } | ||
439 | } | 442 | } |
440 | #endif | 443 | #endif |
441 | return 0; | 444 | return 0; |
442 | 445 | ||
443 | err_iva1: | ||
444 | omap_mbox_unregister(&mbox_dsp_info); | ||
445 | |||
446 | err_dsp: | 446 | err_dsp: |
447 | iounmap(mbox_base); | 447 | iounmap(mbox_base); |
448 | return ret; | 448 | return ret; |
diff --git a/arch/arm/mach-omap2/omap44xx-smc.S b/arch/arm/mach-omap2/omap44xx-smc.S new file mode 100644 index 000000000000..89bb2b141473 --- /dev/null +++ b/arch/arm/mach-omap2/omap44xx-smc.S | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * OMAP44xx secure APIs file. | ||
3 | * | ||
4 | * Copyright (C) 2010 Texas Instruments, Inc. | ||
5 | * Written by Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
6 | * | ||
7 | * | ||
8 | * This program is free software,you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <linux/linkage.h> | ||
14 | |||
15 | /* | ||
16 | * This is common routine to manage secure monitor API | ||
17 | * used to modify the PL310 secure registers. | ||
18 | * 'r0' contains the value to be modified and 'r12' contains | ||
19 | * the monitor API number. It uses few CPU registers | ||
20 | * internally and hence they need be backed up including | ||
21 | * link register "lr". | ||
22 | * Function signature : void omap_smc1(u32 fn, u32 arg) | ||
23 | */ | ||
24 | |||
25 | ENTRY(omap_smc1) | ||
26 | stmfd sp!, {r2-r12, lr} | ||
27 | mov r12, r0 | ||
28 | mov r0, r1 | ||
29 | dsb | ||
30 | smc | ||
31 | ldmfd sp!, {r2-r12, pc} | ||
32 | END(omap_smc1) | ||
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c index 81872aacb801..9537f6f2352d 100644 --- a/arch/arm/mach-omap2/prcm.c +++ b/arch/arm/mach-omap2/prcm.c | |||
@@ -133,7 +133,7 @@ u32 omap_prcm_get_reset_sources(void) | |||
133 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); | 133 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); |
134 | 134 | ||
135 | /* Resets clock rates and reboots the system. Only called from system.h */ | 135 | /* Resets clock rates and reboots the system. Only called from system.h */ |
136 | void omap_prcm_arch_reset(char mode) | 136 | void omap_prcm_arch_reset(char mode, const char *cmd) |
137 | { | 137 | { |
138 | s16 prcm_offs = 0; | 138 | s16 prcm_offs = 0; |
139 | 139 | ||
@@ -145,7 +145,7 @@ void omap_prcm_arch_reset(char mode) | |||
145 | u32 l; | 145 | u32 l; |
146 | 146 | ||
147 | prcm_offs = OMAP3430_GR_MOD; | 147 | prcm_offs = OMAP3430_GR_MOD; |
148 | l = ('B' << 24) | ('M' << 16) | mode; | 148 | l = ('B' << 24) | ('M' << 16) | (cmd ? (u8)*cmd : 0); |
149 | /* Reserve the first word in scratchpad for communicating | 149 | /* Reserve the first word in scratchpad for communicating |
150 | * with the boot ROM. A pointer to a data structure | 150 | * with the boot ROM. A pointer to a data structure |
151 | * describing the boot process can be stored there, | 151 | * describing the boot process can be stored there, |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index b79bc8926cc9..da77930480e9 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, int offset, int value) | |||
644 | } | 644 | } |
645 | void __init omap_serial_early_init(void) | 645 | void __init omap_serial_early_init(void) |
646 | { | 646 | { |
647 | int i; | 647 | int i, nr_ports; |
648 | char name[16]; | 648 | char name[16]; |
649 | 649 | ||
650 | if (!(cpu_is_omap3630() || cpu_is_omap4430())) | ||
651 | nr_ports = 3; | ||
652 | else | ||
653 | nr_ports = ARRAY_SIZE(omap_uart); | ||
654 | |||
650 | /* | 655 | /* |
651 | * Make sure the serial ports are muxed on at this point. | 656 | * Make sure the serial ports are muxed on at this point. |
652 | * You have to mux them off in device drivers later on | 657 | * You have to mux them off in device drivers later on |
653 | * if not needed. | 658 | * if not needed. |
654 | */ | 659 | */ |
655 | 660 | ||
656 | for (i = 0; i < ARRAY_SIZE(omap_uart); i++) { | 661 | for (i = 0; i < nr_ports; i++) { |
657 | struct omap_uart_state *uart = &omap_uart[i]; | 662 | struct omap_uart_state *uart = &omap_uart[i]; |
658 | struct platform_device *pdev = &uart->pdev; | 663 | struct platform_device *pdev = &uart->pdev; |
659 | struct device *dev = &pdev->dev; | 664 | struct device *dev = &pdev->dev; |
@@ -669,17 +674,17 @@ void __init omap_serial_early_init(void) | |||
669 | continue; | 674 | continue; |
670 | } | 675 | } |
671 | 676 | ||
672 | sprintf(name, "uart%d_ick", i+1); | 677 | sprintf(name, "uart%d_ick", i + 1); |
673 | uart->ick = clk_get(NULL, name); | 678 | uart->ick = clk_get(NULL, name); |
674 | if (IS_ERR(uart->ick)) { | 679 | if (IS_ERR(uart->ick)) { |
675 | printk(KERN_ERR "Could not get uart%d_ick\n", i+1); | 680 | printk(KERN_ERR "Could not get uart%d_ick\n", i + 1); |
676 | uart->ick = NULL; | 681 | uart->ick = NULL; |
677 | } | 682 | } |
678 | 683 | ||
679 | sprintf(name, "uart%d_fck", i+1); | 684 | sprintf(name, "uart%d_fck", i+1); |
680 | uart->fck = clk_get(NULL, name); | 685 | uart->fck = clk_get(NULL, name); |
681 | if (IS_ERR(uart->fck)) { | 686 | if (IS_ERR(uart->fck)) { |
682 | printk(KERN_ERR "Could not get uart%d_fck\n", i+1); | 687 | printk(KERN_ERR "Could not get uart%d_fck\n", i + 1); |
683 | uart->fck = NULL; | 688 | uart->fck = NULL; |
684 | } | 689 | } |
685 | 690 | ||
diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c index f1df873d59db..ee9f548d5d81 100644 --- a/arch/arm/mach-omap2/usb-ehci.c +++ b/arch/arm/mach-omap2/usb-ehci.c | |||
@@ -70,7 +70,7 @@ static struct platform_device ehci_device = { | |||
70 | /* | 70 | /* |
71 | * setup_ehci_io_mux - initialize IO pad mux for USBHOST | 71 | * setup_ehci_io_mux - initialize IO pad mux for USBHOST |
72 | */ | 72 | */ |
73 | static void setup_ehci_io_mux(enum ehci_hcd_omap_mode *port_mode) | 73 | static void setup_ehci_io_mux(const enum ehci_hcd_omap_mode *port_mode) |
74 | { | 74 | { |
75 | switch (port_mode[0]) { | 75 | switch (port_mode[0]) { |
76 | case EHCI_HCD_OMAP_MODE_PHY: | 76 | case EHCI_HCD_OMAP_MODE_PHY: |
@@ -213,7 +213,7 @@ static void setup_ehci_io_mux(enum ehci_hcd_omap_mode *port_mode) | |||
213 | return; | 213 | return; |
214 | } | 214 | } |
215 | 215 | ||
216 | void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | 216 | void __init usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata) |
217 | { | 217 | { |
218 | platform_device_add_data(&ehci_device, pdata, sizeof(*pdata)); | 218 | platform_device_add_data(&ehci_device, pdata, sizeof(*pdata)); |
219 | 219 | ||
@@ -229,7 +229,7 @@ void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | |||
229 | 229 | ||
230 | #else | 230 | #else |
231 | 231 | ||
232 | void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | 232 | void __init usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata) |
233 | 233 | ||
234 | { | 234 | { |
235 | } | 235 | } |
diff --git a/arch/arm/mach-rpc/include/mach/uncompress.h b/arch/arm/mach-rpc/include/mach/uncompress.h index d5862368c4f2..8c9e2c7161c6 100644 --- a/arch/arm/mach-rpc/include/mach/uncompress.h +++ b/arch/arm/mach-rpc/include/mach/uncompress.h | |||
@@ -109,8 +109,6 @@ static inline void flush(void) | |||
109 | { | 109 | { |
110 | } | 110 | } |
111 | 111 | ||
112 | static void error(char *x); | ||
113 | |||
114 | /* | 112 | /* |
115 | * Setup for decompression | 113 | * Setup for decompression |
116 | */ | 114 | */ |
diff --git a/arch/arm/plat-s3c24xx/s3c2440-cpufreq.c b/arch/arm/mach-s3c2440/s3c2440-cpufreq.c index 976002fb1b8f..976002fb1b8f 100644 --- a/arch/arm/plat-s3c24xx/s3c2440-cpufreq.c +++ b/arch/arm/mach-s3c2440/s3c2440-cpufreq.c | |||
diff --git a/arch/arm/mach-s3c64xx/include/mach/debug-macro.S b/arch/arm/mach-s3c64xx/include/mach/debug-macro.S index b18ac5266dfc..f9ab5d26052a 100644 --- a/arch/arm/mach-s3c64xx/include/mach/debug-macro.S +++ b/arch/arm/mach-s3c64xx/include/mach/debug-macro.S | |||
@@ -21,7 +21,7 @@ | |||
21 | * aligned and add in the offset when we load the value here. | 21 | * aligned and add in the offset when we load the value here. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | .macro addruart, rx | 24 | .macro addruart, rx, rtmp |
25 | mrc p15, 0, \rx, c1, c0 | 25 | mrc p15, 0, \rx, c1, c0 |
26 | tst \rx, #1 | 26 | tst \rx, #1 |
27 | ldreq \rx, = S3C_PA_UART | 27 | ldreq \rx, = S3C_PA_UART |
diff --git a/arch/arm/mach-s5p6440/include/mach/debug-macro.S b/arch/arm/mach-s5p6440/include/mach/debug-macro.S index 48cdb0da026c..1347d7f99079 100644 --- a/arch/arm/mach-s5p6440/include/mach/debug-macro.S +++ b/arch/arm/mach-s5p6440/include/mach/debug-macro.S | |||
@@ -19,7 +19,7 @@ | |||
19 | * aligned and add in the offset when we load the value here. | 19 | * aligned and add in the offset when we load the value here. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | .macro addruart, rx | 22 | .macro addruart, rx, rtmp |
23 | mrc p15, 0, \rx, c1, c0 | 23 | mrc p15, 0, \rx, c1, c0 |
24 | tst \rx, #1 | 24 | tst \rx, #1 |
25 | ldreq \rx, = S3C_PA_UART | 25 | ldreq \rx, = S3C_PA_UART |
diff --git a/arch/arm/mach-s5p6442/include/mach/debug-macro.S b/arch/arm/mach-s5p6442/include/mach/debug-macro.S index 1aae691e58ef..bb6536147ffb 100644 --- a/arch/arm/mach-s5p6442/include/mach/debug-macro.S +++ b/arch/arm/mach-s5p6442/include/mach/debug-macro.S | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <mach/map.h> | 15 | #include <mach/map.h> |
16 | #include <plat/regs-serial.h> | 16 | #include <plat/regs-serial.h> |
17 | 17 | ||
18 | .macro addruart, rx | 18 | .macro addruart, rx, rtmp |
19 | mrc p15, 0, \rx, c1, c0 | 19 | mrc p15, 0, \rx, c1, c0 |
20 | tst \rx, #1 | 20 | tst \rx, #1 |
21 | ldreq \rx, = S3C_PA_UART | 21 | ldreq \rx, = S3C_PA_UART |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index a0463d926447..1c2ec96ce261 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -206,10 +206,32 @@ static struct platform_device keysc_device = { | |||
206 | }, | 206 | }, |
207 | }; | 207 | }; |
208 | 208 | ||
209 | /* SDHI0 */ | ||
210 | static struct resource sdhi0_resources[] = { | ||
211 | [0] = { | ||
212 | .name = "SDHI0", | ||
213 | .start = 0xe6850000, | ||
214 | .end = 0xe68501ff, | ||
215 | .flags = IORESOURCE_MEM, | ||
216 | }, | ||
217 | [1] = { | ||
218 | .start = 96, | ||
219 | .flags = IORESOURCE_IRQ, | ||
220 | }, | ||
221 | }; | ||
222 | |||
223 | static struct platform_device sdhi0_device = { | ||
224 | .name = "sh_mobile_sdhi", | ||
225 | .num_resources = ARRAY_SIZE(sdhi0_resources), | ||
226 | .resource = sdhi0_resources, | ||
227 | .id = 0, | ||
228 | }; | ||
229 | |||
209 | static struct platform_device *ap4evb_devices[] __initdata = { | 230 | static struct platform_device *ap4evb_devices[] __initdata = { |
210 | &nor_flash_device, | 231 | &nor_flash_device, |
211 | &smc911x_device, | 232 | &smc911x_device, |
212 | &keysc_device, | 233 | &keysc_device, |
234 | &sdhi0_device, | ||
213 | }; | 235 | }; |
214 | 236 | ||
215 | static struct map_desc ap4evb_io_desc[] __initdata = { | 237 | static struct map_desc ap4evb_io_desc[] __initdata = { |
@@ -286,6 +308,16 @@ static void __init ap4evb_init(void) | |||
286 | gpio_request(GPIO_FN_KEYIN3_133, NULL); | 308 | gpio_request(GPIO_FN_KEYIN3_133, NULL); |
287 | gpio_request(GPIO_FN_KEYIN4, NULL); | 309 | gpio_request(GPIO_FN_KEYIN4, NULL); |
288 | 310 | ||
311 | /* SDHI0 */ | ||
312 | gpio_request(GPIO_FN_SDHICD0, NULL); | ||
313 | gpio_request(GPIO_FN_SDHIWP0, NULL); | ||
314 | gpio_request(GPIO_FN_SDHICMD0, NULL); | ||
315 | gpio_request(GPIO_FN_SDHICLK0, NULL); | ||
316 | gpio_request(GPIO_FN_SDHID0_3, NULL); | ||
317 | gpio_request(GPIO_FN_SDHID0_2, NULL); | ||
318 | gpio_request(GPIO_FN_SDHID0_1, NULL); | ||
319 | gpio_request(GPIO_FN_SDHID0_0, NULL); | ||
320 | |||
289 | sh7372_add_standard_devices(); | 321 | sh7372_add_standard_devices(); |
290 | 322 | ||
291 | platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices)); | 323 | platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices)); |
diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c index f36c9a94d326..9247503296c4 100644 --- a/arch/arm/mach-shmobile/board-g3evm.c +++ b/arch/arm/mach-shmobile/board-g3evm.c | |||
@@ -26,9 +26,12 @@ | |||
26 | #include <linux/mtd/mtd.h> | 26 | #include <linux/mtd/mtd.h> |
27 | #include <linux/mtd/partitions.h> | 27 | #include <linux/mtd/partitions.h> |
28 | #include <linux/mtd/physmap.h> | 28 | #include <linux/mtd/physmap.h> |
29 | #include <linux/mtd/sh_flctl.h> | ||
29 | #include <linux/usb/r8a66597.h> | 30 | #include <linux/usb/r8a66597.h> |
30 | #include <linux/io.h> | 31 | #include <linux/io.h> |
31 | #include <linux/gpio.h> | 32 | #include <linux/gpio.h> |
33 | #include <linux/input.h> | ||
34 | #include <linux/input/sh_keysc.h> | ||
32 | #include <mach/sh7367.h> | 35 | #include <mach/sh7367.h> |
33 | #include <mach/common.h> | 36 | #include <mach/common.h> |
34 | #include <asm/mach-types.h> | 37 | #include <asm/mach-types.h> |
@@ -127,9 +130,90 @@ static struct platform_device usb_host_device = { | |||
127 | .resource = usb_host_resources, | 130 | .resource = usb_host_resources, |
128 | }; | 131 | }; |
129 | 132 | ||
133 | /* KEYSC */ | ||
134 | static struct sh_keysc_info keysc_info = { | ||
135 | .mode = SH_KEYSC_MODE_5, | ||
136 | .scan_timing = 3, | ||
137 | .delay = 100, | ||
138 | .keycodes = { | ||
139 | KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, KEY_G, | ||
140 | KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, KEY_M, KEY_N, | ||
141 | KEY_O, KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T, KEY_U, | ||
142 | KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, KEY_HOME, KEY_SLEEP, | ||
143 | KEY_WAKEUP, KEY_COFFEE, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, | ||
144 | KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_STOP, KEY_COMPUTER, | ||
145 | }, | ||
146 | }; | ||
147 | |||
148 | static struct resource keysc_resources[] = { | ||
149 | [0] = { | ||
150 | .name = "KEYSC", | ||
151 | .start = 0xe61b0000, | ||
152 | .end = 0xe61b000f, | ||
153 | .flags = IORESOURCE_MEM, | ||
154 | }, | ||
155 | [1] = { | ||
156 | .start = 79, | ||
157 | .flags = IORESOURCE_IRQ, | ||
158 | }, | ||
159 | }; | ||
160 | |||
161 | static struct platform_device keysc_device = { | ||
162 | .name = "sh_keysc", | ||
163 | .num_resources = ARRAY_SIZE(keysc_resources), | ||
164 | .resource = keysc_resources, | ||
165 | .dev = { | ||
166 | .platform_data = &keysc_info, | ||
167 | }, | ||
168 | }; | ||
169 | |||
170 | static struct mtd_partition nand_partition_info[] = { | ||
171 | { | ||
172 | .name = "system", | ||
173 | .offset = 0, | ||
174 | .size = 64 * 1024 * 1024, | ||
175 | }, | ||
176 | { | ||
177 | .name = "userdata", | ||
178 | .offset = MTDPART_OFS_APPEND, | ||
179 | .size = 128 * 1024 * 1024, | ||
180 | }, | ||
181 | { | ||
182 | .name = "cache", | ||
183 | .offset = MTDPART_OFS_APPEND, | ||
184 | .size = 64 * 1024 * 1024, | ||
185 | }, | ||
186 | }; | ||
187 | |||
188 | static struct resource nand_flash_resources[] = { | ||
189 | [0] = { | ||
190 | .start = 0xe6a30000, | ||
191 | .end = 0xe6a3009b, | ||
192 | .flags = IORESOURCE_MEM, | ||
193 | } | ||
194 | }; | ||
195 | |||
196 | static struct sh_flctl_platform_data nand_flash_data = { | ||
197 | .parts = nand_partition_info, | ||
198 | .nr_parts = ARRAY_SIZE(nand_partition_info), | ||
199 | .flcmncr_val = QTSEL_E | FCKSEL_E | TYPESEL_SET | NANWF_E | ||
200 | | SHBUSSEL | SEL_16BIT, | ||
201 | }; | ||
202 | |||
203 | static struct platform_device nand_flash_device = { | ||
204 | .name = "sh_flctl", | ||
205 | .resource = nand_flash_resources, | ||
206 | .num_resources = ARRAY_SIZE(nand_flash_resources), | ||
207 | .dev = { | ||
208 | .platform_data = &nand_flash_data, | ||
209 | }, | ||
210 | }; | ||
211 | |||
130 | static struct platform_device *g3evm_devices[] __initdata = { | 212 | static struct platform_device *g3evm_devices[] __initdata = { |
131 | &nor_flash_device, | 213 | &nor_flash_device, |
132 | &usb_host_device, | 214 | &usb_host_device, |
215 | &keysc_device, | ||
216 | &nand_flash_device, | ||
133 | }; | 217 | }; |
134 | 218 | ||
135 | static struct map_desc g3evm_io_desc[] __initdata = { | 219 | static struct map_desc g3evm_io_desc[] __initdata = { |
@@ -196,6 +280,44 @@ static void __init g3evm_init(void) | |||
196 | __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ | 280 | __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ |
197 | __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ | 281 | __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ |
198 | 282 | ||
283 | /* KEYSC @ CN7 */ | ||
284 | gpio_request(GPIO_FN_PORT42_KEYOUT0, NULL); | ||
285 | gpio_request(GPIO_FN_PORT43_KEYOUT1, NULL); | ||
286 | gpio_request(GPIO_FN_PORT44_KEYOUT2, NULL); | ||
287 | gpio_request(GPIO_FN_PORT45_KEYOUT3, NULL); | ||
288 | gpio_request(GPIO_FN_PORT46_KEYOUT4, NULL); | ||
289 | gpio_request(GPIO_FN_PORT47_KEYOUT5, NULL); | ||
290 | gpio_request(GPIO_FN_PORT48_KEYIN0_PU, NULL); | ||
291 | gpio_request(GPIO_FN_PORT49_KEYIN1_PU, NULL); | ||
292 | gpio_request(GPIO_FN_PORT50_KEYIN2_PU, NULL); | ||
293 | gpio_request(GPIO_FN_PORT55_KEYIN3_PU, NULL); | ||
294 | gpio_request(GPIO_FN_PORT56_KEYIN4_PU, NULL); | ||
295 | gpio_request(GPIO_FN_PORT57_KEYIN5_PU, NULL); | ||
296 | gpio_request(GPIO_FN_PORT58_KEYIN6_PU, NULL); | ||
297 | |||
298 | /* FLCTL */ | ||
299 | gpio_request(GPIO_FN_FCE0, NULL); | ||
300 | gpio_request(GPIO_FN_D0_ED0_NAF0, NULL); | ||
301 | gpio_request(GPIO_FN_D1_ED1_NAF1, NULL); | ||
302 | gpio_request(GPIO_FN_D2_ED2_NAF2, NULL); | ||
303 | gpio_request(GPIO_FN_D3_ED3_NAF3, NULL); | ||
304 | gpio_request(GPIO_FN_D4_ED4_NAF4, NULL); | ||
305 | gpio_request(GPIO_FN_D5_ED5_NAF5, NULL); | ||
306 | gpio_request(GPIO_FN_D6_ED6_NAF6, NULL); | ||
307 | gpio_request(GPIO_FN_D7_ED7_NAF7, NULL); | ||
308 | gpio_request(GPIO_FN_D8_ED8_NAF8, NULL); | ||
309 | gpio_request(GPIO_FN_D9_ED9_NAF9, NULL); | ||
310 | gpio_request(GPIO_FN_D10_ED10_NAF10, NULL); | ||
311 | gpio_request(GPIO_FN_D11_ED11_NAF11, NULL); | ||
312 | gpio_request(GPIO_FN_D12_ED12_NAF12, NULL); | ||
313 | gpio_request(GPIO_FN_D13_ED13_NAF13, NULL); | ||
314 | gpio_request(GPIO_FN_D14_ED14_NAF14, NULL); | ||
315 | gpio_request(GPIO_FN_D15_ED15_NAF15, NULL); | ||
316 | gpio_request(GPIO_FN_WE0_XWR0_FWE, NULL); | ||
317 | gpio_request(GPIO_FN_FRB, NULL); | ||
318 | /* FOE, FCDE, FSC on dedicated pins */ | ||
319 | __raw_writel(__raw_readl(0xe6158048) & ~(1 << 15), 0xe6158048); | ||
320 | |||
199 | sh7367_add_standard_devices(); | 321 | sh7367_add_standard_devices(); |
200 | 322 | ||
201 | platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices)); | 323 | platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices)); |
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c index 5acd623f93e7..10673a90be52 100644 --- a/arch/arm/mach-shmobile/board-g4evm.c +++ b/arch/arm/mach-shmobile/board-g4evm.c | |||
@@ -28,6 +28,8 @@ | |||
28 | #include <linux/mtd/physmap.h> | 28 | #include <linux/mtd/physmap.h> |
29 | #include <linux/usb/r8a66597.h> | 29 | #include <linux/usb/r8a66597.h> |
30 | #include <linux/io.h> | 30 | #include <linux/io.h> |
31 | #include <linux/input.h> | ||
32 | #include <linux/input/sh_keysc.h> | ||
31 | #include <linux/gpio.h> | 33 | #include <linux/gpio.h> |
32 | #include <mach/sh7377.h> | 34 | #include <mach/sh7377.h> |
33 | #include <mach/common.h> | 35 | #include <mach/common.h> |
@@ -128,9 +130,49 @@ static struct platform_device usb_host_device = { | |||
128 | .resource = usb_host_resources, | 130 | .resource = usb_host_resources, |
129 | }; | 131 | }; |
130 | 132 | ||
133 | /* KEYSC */ | ||
134 | static struct sh_keysc_info keysc_info = { | ||
135 | .mode = SH_KEYSC_MODE_5, | ||
136 | .scan_timing = 3, | ||
137 | .delay = 100, | ||
138 | .keycodes = { | ||
139 | KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, | ||
140 | KEY_G, KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, | ||
141 | KEY_M, KEY_N, KEY_U, KEY_P, KEY_Q, KEY_R, | ||
142 | KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, KEY_X, | ||
143 | KEY_Y, KEY_Z, KEY_HOME, KEY_SLEEP, KEY_WAKEUP, KEY_COFFEE, | ||
144 | KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, | ||
145 | KEY_6, KEY_7, KEY_8, KEY_9, KEY_STOP, KEY_COMPUTER, | ||
146 | }, | ||
147 | }; | ||
148 | |||
149 | static struct resource keysc_resources[] = { | ||
150 | [0] = { | ||
151 | .name = "KEYSC", | ||
152 | .start = 0xe61b0000, | ||
153 | .end = 0xe61b000f, | ||
154 | .flags = IORESOURCE_MEM, | ||
155 | }, | ||
156 | [1] = { | ||
157 | .start = 79, | ||
158 | .flags = IORESOURCE_IRQ, | ||
159 | }, | ||
160 | }; | ||
161 | |||
162 | static struct platform_device keysc_device = { | ||
163 | .name = "sh_keysc", | ||
164 | .id = 0, /* keysc0 clock */ | ||
165 | .num_resources = ARRAY_SIZE(keysc_resources), | ||
166 | .resource = keysc_resources, | ||
167 | .dev = { | ||
168 | .platform_data = &keysc_info, | ||
169 | }, | ||
170 | }; | ||
171 | |||
131 | static struct platform_device *g4evm_devices[] __initdata = { | 172 | static struct platform_device *g4evm_devices[] __initdata = { |
132 | &nor_flash_device, | 173 | &nor_flash_device, |
133 | &usb_host_device, | 174 | &usb_host_device, |
175 | &keysc_device, | ||
134 | }; | 176 | }; |
135 | 177 | ||
136 | static struct map_desc g4evm_io_desc[] __initdata = { | 178 | static struct map_desc g4evm_io_desc[] __initdata = { |
@@ -196,6 +238,21 @@ static void __init g4evm_init(void) | |||
196 | __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ | 238 | __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ |
197 | __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ | 239 | __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ |
198 | 240 | ||
241 | /* KEYSC @ CN31 */ | ||
242 | gpio_request(GPIO_FN_PORT60_KEYOUT5, NULL); | ||
243 | gpio_request(GPIO_FN_PORT61_KEYOUT4, NULL); | ||
244 | gpio_request(GPIO_FN_PORT62_KEYOUT3, NULL); | ||
245 | gpio_request(GPIO_FN_PORT63_KEYOUT2, NULL); | ||
246 | gpio_request(GPIO_FN_PORT64_KEYOUT1, NULL); | ||
247 | gpio_request(GPIO_FN_PORT65_KEYOUT0, NULL); | ||
248 | gpio_request(GPIO_FN_PORT66_KEYIN0_PU, NULL); | ||
249 | gpio_request(GPIO_FN_PORT67_KEYIN1_PU, NULL); | ||
250 | gpio_request(GPIO_FN_PORT68_KEYIN2_PU, NULL); | ||
251 | gpio_request(GPIO_FN_PORT69_KEYIN3_PU, NULL); | ||
252 | gpio_request(GPIO_FN_PORT70_KEYIN4_PU, NULL); | ||
253 | gpio_request(GPIO_FN_PORT71_KEYIN5_PU, NULL); | ||
254 | gpio_request(GPIO_FN_PORT72_KEYIN6_PU, NULL); | ||
255 | |||
199 | sh7377_add_standard_devices(); | 256 | sh7377_add_standard_devices(); |
200 | 257 | ||
201 | platform_add_devices(g4evm_devices, ARRAY_SIZE(g4evm_devices)); | 258 | platform_add_devices(g4evm_devices, ARRAY_SIZE(g4evm_devices)); |
diff --git a/arch/arm/mach-shmobile/clock-sh7367.c b/arch/arm/mach-shmobile/clock-sh7367.c index 58bd54e1113a..bb940c6e4e6c 100644 --- a/arch/arm/mach-shmobile/clock-sh7367.c +++ b/arch/arm/mach-shmobile/clock-sh7367.c | |||
@@ -75,6 +75,11 @@ static struct clk usb0_clk = { | |||
75 | .name = "usb0", | 75 | .name = "usb0", |
76 | }; | 76 | }; |
77 | 77 | ||
78 | /* a static keysc0 clk for now - enough to get sh_keysc working */ | ||
79 | static struct clk keysc0_clk = { | ||
80 | .name = "keysc0", | ||
81 | }; | ||
82 | |||
78 | static struct clk_lookup lookups[] = { | 83 | static struct clk_lookup lookups[] = { |
79 | { | 84 | { |
80 | .clk = &peripheral_clk, | 85 | .clk = &peripheral_clk, |
@@ -82,6 +87,8 @@ static struct clk_lookup lookups[] = { | |||
82 | .clk = &r_clk, | 87 | .clk = &r_clk, |
83 | }, { | 88 | }, { |
84 | .clk = &usb0_clk, | 89 | .clk = &usb0_clk, |
90 | }, { | ||
91 | .clk = &keysc0_clk, | ||
85 | } | 92 | } |
86 | }; | 93 | }; |
87 | 94 | ||
diff --git a/arch/arm/mach-shmobile/intc-sh7367.c b/arch/arm/mach-shmobile/intc-sh7367.c index 6a547b47aabb..5ff70cadfc32 100644 --- a/arch/arm/mach-shmobile/intc-sh7367.c +++ b/arch/arm/mach-shmobile/intc-sh7367.c | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | enum { | 28 | enum { |
29 | UNUSED_INTCA = 0, | 29 | UNUSED_INTCA = 0, |
30 | ENABLED, | ||
31 | DISABLED, | ||
30 | 32 | ||
31 | /* interrupt sources INTCA */ | 33 | /* interrupt sources INTCA */ |
32 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, | 34 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, |
@@ -46,8 +48,8 @@ enum { | |||
46 | MSIOF2, MSIOF1, | 48 | MSIOF2, MSIOF1, |
47 | SCIFA4, SCIFA5, SCIFB, | 49 | SCIFA4, SCIFA5, SCIFB, |
48 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, | 50 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, |
49 | SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, | 51 | SDHI0, |
50 | SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, SDHI1_SDHI1I3, | 52 | SDHI1, |
51 | MSU_MSU, MSU_MSU2, | 53 | MSU_MSU, MSU_MSU2, |
52 | IREM, | 54 | IREM, |
53 | SIU, | 55 | SIU, |
@@ -59,7 +61,7 @@ enum { | |||
59 | TTI20, | 61 | TTI20, |
60 | MISTY, | 62 | MISTY, |
61 | DDM, | 63 | DDM, |
62 | SDHI2_SDHI2I0, SDHI2_SDHI2I1, SDHI2_SDHI2I2, SDHI2_SDHI2I3, | 64 | SDHI2, |
63 | RWDT0, RWDT1, | 65 | RWDT0, RWDT1, |
64 | DMAC_1_DEI0, DMAC_1_DEI1, DMAC_1_DEI2, DMAC_1_DEI3, | 66 | DMAC_1_DEI0, DMAC_1_DEI1, DMAC_1_DEI2, DMAC_1_DEI3, |
65 | DMAC_2_DEI4, DMAC_2_DEI5, DMAC_2_DADERR, | 67 | DMAC_2_DEI4, DMAC_2_DEI5, DMAC_2_DADERR, |
@@ -70,7 +72,7 @@ enum { | |||
70 | 72 | ||
71 | /* interrupt groups INTCA */ | 73 | /* interrupt groups INTCA */ |
72 | DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, | 74 | DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, |
73 | ETM11, ARM11, USBHS, FLCTL, IIC1, SDHI0, SDHI1, SDHI2, | 75 | ETM11, ARM11, USBHS, FLCTL, IIC1 |
74 | }; | 76 | }; |
75 | 77 | ||
76 | static struct intc_vect intca_vectors[] = { | 78 | static struct intc_vect intca_vectors[] = { |
@@ -105,10 +107,10 @@ static struct intc_vect intca_vectors[] = { | |||
105 | INTC_VECT(SCIFB, 0x0d60), | 107 | INTC_VECT(SCIFB, 0x0d60), |
106 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), | 108 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), |
107 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), | 109 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), |
108 | INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), | 110 | INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), |
109 | INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), | 111 | INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), |
110 | INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), | 112 | INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), |
111 | INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), INTC_VECT(SDHI1_SDHI1I3, 0x0ee0), | 113 | INTC_VECT(SDHI1, 0x0ec0), INTC_VECT(SDHI1, 0x0ee0), |
112 | INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), | 114 | INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), |
113 | INTC_VECT(IREM, 0x0f60), | 115 | INTC_VECT(IREM, 0x0f60), |
114 | INTC_VECT(SIU, 0x0fa0), | 116 | INTC_VECT(SIU, 0x0fa0), |
@@ -122,8 +124,8 @@ static struct intc_vect intca_vectors[] = { | |||
122 | INTC_VECT(TTI20, 0x1100), | 124 | INTC_VECT(TTI20, 0x1100), |
123 | INTC_VECT(MISTY, 0x1120), | 125 | INTC_VECT(MISTY, 0x1120), |
124 | INTC_VECT(DDM, 0x1140), | 126 | INTC_VECT(DDM, 0x1140), |
125 | INTC_VECT(SDHI2_SDHI2I0, 0x1200), INTC_VECT(SDHI2_SDHI2I1, 0x1220), | 127 | INTC_VECT(SDHI2, 0x1200), INTC_VECT(SDHI2, 0x1220), |
126 | INTC_VECT(SDHI2_SDHI2I2, 0x1240), INTC_VECT(SDHI2_SDHI2I3, 0x1260), | 128 | INTC_VECT(SDHI2, 0x1240), INTC_VECT(SDHI2, 0x1260), |
127 | INTC_VECT(RWDT0, 0x1280), INTC_VECT(RWDT1, 0x12a0), | 129 | INTC_VECT(RWDT0, 0x1280), INTC_VECT(RWDT1, 0x12a0), |
128 | INTC_VECT(DMAC_1_DEI0, 0x2000), INTC_VECT(DMAC_1_DEI1, 0x2020), | 130 | INTC_VECT(DMAC_1_DEI0, 0x2000), INTC_VECT(DMAC_1_DEI1, 0x2020), |
129 | INTC_VECT(DMAC_1_DEI2, 0x2040), INTC_VECT(DMAC_1_DEI3, 0x2060), | 131 | INTC_VECT(DMAC_1_DEI2, 0x2040), INTC_VECT(DMAC_1_DEI3, 0x2060), |
@@ -158,12 +160,6 @@ static struct intc_group intca_groups[] __initdata = { | |||
158 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, | 160 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, |
159 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), | 161 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), |
160 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), | 162 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), |
161 | INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, | ||
162 | SDHI0_SDHI0I2, SDHI0_SDHI0I3), | ||
163 | INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, | ||
164 | SDHI1_SDHI1I2, SDHI1_SDHI1I3), | ||
165 | INTC_GROUP(SDHI2, SDHI2_SDHI2I0, SDHI2_SDHI2I1, | ||
166 | SDHI2_SDHI2I2, SDHI2_SDHI2I3), | ||
167 | }; | 163 | }; |
168 | 164 | ||
169 | static struct intc_mask_reg intca_mask_registers[] = { | 165 | static struct intc_mask_reg intca_mask_registers[] = { |
@@ -193,10 +189,10 @@ static struct intc_mask_reg intca_mask_registers[] = { | |||
193 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, | 189 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, |
194 | 0, 0, MSIOF2, 0 } }, | 190 | 0, 0, MSIOF2, 0 } }, |
195 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ | 191 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ |
196 | { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, | 192 | { DISABLED, DISABLED, ENABLED, ENABLED, |
197 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, | 193 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, |
198 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ | 194 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ |
199 | { SDHI1_SDHI1I3, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, | 195 | { DISABLED, DISABLED, ENABLED, ENABLED, |
200 | TTI20, USBDMAC_USHDMI, SPU, SIU } }, | 196 | TTI20, USBDMAC_USHDMI, SPU, SIU } }, |
201 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ | 197 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ |
202 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, | 198 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, |
@@ -211,7 +207,7 @@ static struct intc_mask_reg intca_mask_registers[] = { | |||
211 | { 0, 0, TPU0, TPU1, | 207 | { 0, 0, TPU0, TPU1, |
212 | TPU2, TPU3, TPU4, 0 } }, | 208 | TPU2, TPU3, TPU4, 0 } }, |
213 | { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ | 209 | { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ |
214 | { SDHI2_SDHI2I3, SDHI2_SDHI2I2, SDHI2_SDHI2I1, SDHI2_SDHI2I0, | 210 | { DISABLED, DISABLED, ENABLED, ENABLED, |
215 | MISTY, CMT3, RWDT1, RWDT0 } }, | 211 | MISTY, CMT3, RWDT1, RWDT0 } }, |
216 | }; | 212 | }; |
217 | 213 | ||
@@ -258,10 +254,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { | |||
258 | { IRQ8A, IRQ9A, IRQ10A, IRQ11A, IRQ12A, IRQ13A, IRQ14A, IRQ15A } }, | 254 | { IRQ8A, IRQ9A, IRQ10A, IRQ11A, IRQ12A, IRQ13A, IRQ14A, IRQ15A } }, |
259 | }; | 255 | }; |
260 | 256 | ||
261 | static DECLARE_INTC_DESC_ACK(intca_desc, "sh7367-intca", | 257 | static struct intc_desc intca_desc __initdata = { |
262 | intca_vectors, intca_groups, | 258 | .name = "sh7367-intca", |
263 | intca_mask_registers, intca_prio_registers, | 259 | .force_enable = ENABLED, |
264 | intca_sense_registers, intca_ack_registers); | 260 | .force_disable = DISABLED, |
261 | .hw = INTC_HW_DESC(intca_vectors, intca_groups, | ||
262 | intca_mask_registers, intca_prio_registers, | ||
263 | intca_sense_registers, intca_ack_registers), | ||
264 | }; | ||
265 | 265 | ||
266 | void __init sh7367_init_irq(void) | 266 | void __init sh7367_init_irq(void) |
267 | { | 267 | { |
diff --git a/arch/arm/mach-shmobile/intc-sh7372.c b/arch/arm/mach-shmobile/intc-sh7372.c index c57a923f97a6..3ce9d9bd5899 100644 --- a/arch/arm/mach-shmobile/intc-sh7372.c +++ b/arch/arm/mach-shmobile/intc-sh7372.c | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | enum { | 28 | enum { |
29 | UNUSED_INTCA = 0, | 29 | UNUSED_INTCA = 0, |
30 | ENABLED, | ||
31 | DISABLED, | ||
30 | 32 | ||
31 | /* interrupt sources INTCA */ | 33 | /* interrupt sources INTCA */ |
32 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, | 34 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, |
@@ -47,14 +49,14 @@ enum { | |||
47 | MSIOF2, MSIOF1, | 49 | MSIOF2, MSIOF1, |
48 | SCIFA4, SCIFA5, SCIFB, | 50 | SCIFA4, SCIFA5, SCIFB, |
49 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, | 51 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, |
50 | SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, | 52 | SDHI0, |
51 | SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, | 53 | SDHI1, |
52 | IRREM, | 54 | IRREM, |
53 | IRDA, | 55 | IRDA, |
54 | TPU0, | 56 | TPU0, |
55 | TTI20, | 57 | TTI20, |
56 | DDM, | 58 | DDM, |
57 | SDHI2_SDHI2I0, SDHI2_SDHI2I1, SDHI2_SDHI2I2, SDHI2_SDHI2I3, | 59 | SDHI2, |
58 | RWDT0, | 60 | RWDT0, |
59 | DMAC1_1_DEI0, DMAC1_1_DEI1, DMAC1_1_DEI2, DMAC1_1_DEI3, | 61 | DMAC1_1_DEI0, DMAC1_1_DEI1, DMAC1_1_DEI2, DMAC1_1_DEI3, |
60 | DMAC1_2_DEI4, DMAC1_2_DEI5, DMAC1_2_DADERR, | 62 | DMAC1_2_DEI4, DMAC1_2_DEI5, DMAC1_2_DADERR, |
@@ -82,7 +84,7 @@ enum { | |||
82 | 84 | ||
83 | /* interrupt groups INTCA */ | 85 | /* interrupt groups INTCA */ |
84 | DMAC1_1, DMAC1_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, | 86 | DMAC1_1, DMAC1_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, |
85 | AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1, SDHI0, SDHI1, SDHI2 | 87 | AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1 |
86 | }; | 88 | }; |
87 | 89 | ||
88 | static struct intc_vect intca_vectors[] __initdata = { | 90 | static struct intc_vect intca_vectors[] __initdata = { |
@@ -123,17 +125,17 @@ static struct intc_vect intca_vectors[] __initdata = { | |||
123 | INTC_VECT(SCIFB, 0x0d60), | 125 | INTC_VECT(SCIFB, 0x0d60), |
124 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), | 126 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), |
125 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), | 127 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), |
126 | INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), | 128 | INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), |
127 | INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), | 129 | INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), |
128 | INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), | 130 | INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), |
129 | INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), | 131 | INTC_VECT(SDHI1, 0x0ec0), |
130 | INTC_VECT(IRREM, 0x0f60), | 132 | INTC_VECT(IRREM, 0x0f60), |
131 | INTC_VECT(IRDA, 0x0480), | 133 | INTC_VECT(IRDA, 0x0480), |
132 | INTC_VECT(TPU0, 0x04a0), | 134 | INTC_VECT(TPU0, 0x04a0), |
133 | INTC_VECT(TTI20, 0x1100), | 135 | INTC_VECT(TTI20, 0x1100), |
134 | INTC_VECT(DDM, 0x1140), | 136 | INTC_VECT(DDM, 0x1140), |
135 | INTC_VECT(SDHI2_SDHI2I0, 0x1200), INTC_VECT(SDHI2_SDHI2I1, 0x1220), | 137 | INTC_VECT(SDHI2, 0x1200), INTC_VECT(SDHI2, 0x1220), |
136 | INTC_VECT(SDHI2_SDHI2I2, 0x1240), INTC_VECT(SDHI2_SDHI2I3, 0x1260), | 138 | INTC_VECT(SDHI2, 0x1240), INTC_VECT(SDHI2, 0x1260), |
137 | INTC_VECT(RWDT0, 0x1280), | 139 | INTC_VECT(RWDT0, 0x1280), |
138 | INTC_VECT(DMAC1_1_DEI0, 0x2000), INTC_VECT(DMAC1_1_DEI1, 0x2020), | 140 | INTC_VECT(DMAC1_1_DEI0, 0x2000), INTC_VECT(DMAC1_1_DEI1, 0x2020), |
139 | INTC_VECT(DMAC1_1_DEI2, 0x2040), INTC_VECT(DMAC1_1_DEI3, 0x2060), | 141 | INTC_VECT(DMAC1_1_DEI2, 0x2040), INTC_VECT(DMAC1_1_DEI3, 0x2060), |
@@ -193,12 +195,6 @@ static struct intc_group intca_groups[] __initdata = { | |||
193 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, | 195 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, |
194 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), | 196 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), |
195 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), | 197 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), |
196 | INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, | ||
197 | SDHI0_SDHI0I2, SDHI0_SDHI0I3), | ||
198 | INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, | ||
199 | SDHI1_SDHI1I2), | ||
200 | INTC_GROUP(SDHI2, SDHI2_SDHI2I0, SDHI2_SDHI2I1, | ||
201 | SDHI2_SDHI2I2, SDHI2_SDHI2I3), | ||
202 | INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), | 198 | INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), |
203 | }; | 199 | }; |
204 | 200 | ||
@@ -234,10 +230,10 @@ static struct intc_mask_reg intca_mask_registers[] __initdata = { | |||
234 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, | 230 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, |
235 | 0, 0, MSIOF2, 0 } }, | 231 | 0, 0, MSIOF2, 0 } }, |
236 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ | 232 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ |
237 | { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, | 233 | { DISABLED, DISABLED, ENABLED, ENABLED, |
238 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, | 234 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, |
239 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ | 235 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ |
240 | { 0, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, | 236 | { 0, DISABLED, ENABLED, ENABLED, |
241 | TTI20, USBHSDMAC0_USHDMI, 0, 0 } }, | 237 | TTI20, USBHSDMAC0_USHDMI, 0, 0 } }, |
242 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ | 238 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ |
243 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, | 239 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, |
@@ -252,7 +248,7 @@ static struct intc_mask_reg intca_mask_registers[] __initdata = { | |||
252 | { 0, 0, TPU0, 0, | 248 | { 0, 0, TPU0, 0, |
253 | 0, 0, 0, 0 } }, | 249 | 0, 0, 0, 0 } }, |
254 | { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ | 250 | { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ |
255 | { SDHI2_SDHI2I3, SDHI2_SDHI2I2, SDHI2_SDHI2I1, SDHI2_SDHI2I0, | 251 | { DISABLED, DISABLED, ENABLED, ENABLED, |
256 | 0, CMT3, 0, RWDT0 } }, | 252 | 0, CMT3, 0, RWDT0 } }, |
257 | { 0xe6950080, 0xe69500c0, 8, /* IMR0A3 / IMCR0A3 */ | 253 | { 0xe6950080, 0xe69500c0, 8, /* IMR0A3 / IMCR0A3 */ |
258 | { SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM, 0, | 254 | { SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM, 0, |
@@ -358,10 +354,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { | |||
358 | { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, | 354 | { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, |
359 | }; | 355 | }; |
360 | 356 | ||
361 | static DECLARE_INTC_DESC_ACK(intca_desc, "sh7372-intca", | 357 | static struct intc_desc intca_desc __initdata = { |
362 | intca_vectors, intca_groups, | 358 | .name = "sh7372-intca", |
363 | intca_mask_registers, intca_prio_registers, | 359 | .force_enable = ENABLED, |
364 | intca_sense_registers, intca_ack_registers); | 360 | .force_disable = DISABLED, |
361 | .hw = INTC_HW_DESC(intca_vectors, intca_groups, | ||
362 | intca_mask_registers, intca_prio_registers, | ||
363 | intca_sense_registers, intca_ack_registers), | ||
364 | }; | ||
365 | 365 | ||
366 | void __init sh7372_init_irq(void) | 366 | void __init sh7372_init_irq(void) |
367 | { | 367 | { |
diff --git a/arch/arm/mach-shmobile/intc-sh7377.c b/arch/arm/mach-shmobile/intc-sh7377.c index 125021cfba5c..5c781e2d1897 100644 --- a/arch/arm/mach-shmobile/intc-sh7377.c +++ b/arch/arm/mach-shmobile/intc-sh7377.c | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | enum { | 28 | enum { |
29 | UNUSED_INTCA = 0, | 29 | UNUSED_INTCA = 0, |
30 | ENABLED, | ||
31 | DISABLED, | ||
30 | 32 | ||
31 | /* interrupt sources INTCA */ | 33 | /* interrupt sources INTCA */ |
32 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, | 34 | IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, |
@@ -49,8 +51,8 @@ enum { | |||
49 | MSIOF2, MSIOF1, | 51 | MSIOF2, MSIOF1, |
50 | SCIFA4, SCIFA5, SCIFB, | 52 | SCIFA4, SCIFA5, SCIFB, |
51 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, | 53 | FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, |
52 | SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, | 54 | SDHI0, |
53 | SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, SDHI1_SDHI1I3, | 55 | SDHI1, |
54 | MSU_MSU, MSU_MSU2, | 56 | MSU_MSU, MSU_MSU2, |
55 | IRREM, | 57 | IRREM, |
56 | MSUG, | 58 | MSUG, |
@@ -84,7 +86,7 @@ enum { | |||
84 | 86 | ||
85 | /* interrupt groups INTCA */ | 87 | /* interrupt groups INTCA */ |
86 | DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, | 88 | DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, |
87 | AP_ARM1, AP_ARM2, USBHS, SPU2, FLCTL, IIC1, SDHI0, SDHI1, | 89 | AP_ARM1, AP_ARM2, USBHS, SPU2, FLCTL, IIC1, |
88 | ICUSB, ICUDMC | 90 | ICUSB, ICUDMC |
89 | }; | 91 | }; |
90 | 92 | ||
@@ -128,10 +130,10 @@ static struct intc_vect intca_vectors[] = { | |||
128 | INTC_VECT(SCIFB, 0x0d60), | 130 | INTC_VECT(SCIFB, 0x0d60), |
129 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), | 131 | INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), |
130 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), | 132 | INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), |
131 | INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), | 133 | INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), |
132 | INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), | 134 | INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), |
133 | INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), | 135 | INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), |
134 | INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), INTC_VECT(SDHI1_SDHI1I3, 0x0ee0), | 136 | INTC_VECT(SDHI1, 0x0ec0), INTC_VECT(SDHI1, 0x0ee0), |
135 | INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), | 137 | INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), |
136 | INTC_VECT(IRREM, 0x0f60), | 138 | INTC_VECT(IRREM, 0x0f60), |
137 | INTC_VECT(MSUG, 0x0fa0), | 139 | INTC_VECT(MSUG, 0x0fa0), |
@@ -195,10 +197,6 @@ static struct intc_group intca_groups[] __initdata = { | |||
195 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, | 197 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, |
196 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), | 198 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), |
197 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), | 199 | INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), |
198 | INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, | ||
199 | SDHI0_SDHI0I2, SDHI0_SDHI0I3), | ||
200 | INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, | ||
201 | SDHI1_SDHI1I2, SDHI1_SDHI1I3), | ||
202 | INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), | 200 | INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), |
203 | INTC_GROUP(ICUSB, ICUSB_ICUSB0, ICUSB_ICUSB1), | 201 | INTC_GROUP(ICUSB, ICUSB_ICUSB0, ICUSB_ICUSB1), |
204 | INTC_GROUP(ICUDMC, ICUDMC_ICUDMC1, ICUDMC_ICUDMC2), | 202 | INTC_GROUP(ICUDMC, ICUDMC_ICUDMC1, ICUDMC_ICUDMC2), |
@@ -236,10 +234,10 @@ static struct intc_mask_reg intca_mask_registers[] = { | |||
236 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, | 234 | { SCIFB, SCIFA5, SCIFA4, MSIOF1, |
237 | 0, 0, MSIOF2, 0 } }, | 235 | 0, 0, MSIOF2, 0 } }, |
238 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ | 236 | { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ |
239 | { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, | 237 | { DISABLED, DISABLED, ENABLED, ENABLED, |
240 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, | 238 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, |
241 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ | 239 | { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ |
242 | { SDHI1_SDHI1I3, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, | 240 | { DISABLED, DISABLED, ENABLED, ENABLED, |
243 | TTI20, USBDMAC_USHDMI, 0, MSUG } }, | 241 | TTI20, USBDMAC_USHDMI, 0, MSUG } }, |
244 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ | 242 | { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ |
245 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, | 243 | { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, |
@@ -339,10 +337,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { | |||
339 | { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, | 337 | { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, |
340 | }; | 338 | }; |
341 | 339 | ||
342 | static DECLARE_INTC_DESC_ACK(intca_desc, "sh7377-intca", | 340 | static struct intc_desc intca_desc __initdata = { |
343 | intca_vectors, intca_groups, | 341 | .name = "sh7377-intca", |
344 | intca_mask_registers, intca_prio_registers, | 342 | .force_enable = ENABLED, |
345 | intca_sense_registers, intca_ack_registers); | 343 | .force_disable = DISABLED, |
344 | .hw = INTC_HW_DESC(intca_vectors, intca_groups, | ||
345 | intca_mask_registers, intca_prio_registers, | ||
346 | intca_sense_registers, intca_ack_registers), | ||
347 | }; | ||
346 | 348 | ||
347 | void __init sh7377_init_irq(void) | 349 | void __init sh7377_init_irq(void) |
348 | { | 350 | { |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 337199ed3479..76a347b3ce07 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -2140,18 +2140,18 @@ void omap2_gpio_resume_after_retention(void) | |||
2140 | if (gen) { | 2140 | if (gen) { |
2141 | u32 old0, old1; | 2141 | u32 old0, old1; |
2142 | 2142 | ||
2143 | if (cpu_is_omap24xx() || cpu_is_omap44xx()) { | 2143 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { |
2144 | old0 = __raw_readl(bank->base + | 2144 | old0 = __raw_readl(bank->base + |
2145 | OMAP24XX_GPIO_LEVELDETECT0); | 2145 | OMAP24XX_GPIO_LEVELDETECT0); |
2146 | old1 = __raw_readl(bank->base + | 2146 | old1 = __raw_readl(bank->base + |
2147 | OMAP24XX_GPIO_LEVELDETECT1); | 2147 | OMAP24XX_GPIO_LEVELDETECT1); |
2148 | __raw_writel(old0 | gen, bank->base + | 2148 | __raw_writel(old0 | gen, bank->base + |
2149 | OMAP24XX_GPIO_LEVELDETECT0); | 2149 | OMAP24XX_GPIO_LEVELDETECT0); |
2150 | __raw_writel(old1 | gen, bank->base + | 2150 | __raw_writel(old1 | gen, bank->base + |
2151 | OMAP24XX_GPIO_LEVELDETECT1); | 2151 | OMAP24XX_GPIO_LEVELDETECT1); |
2152 | __raw_writel(old0, bank->base + | 2152 | __raw_writel(old0, bank->base + |
2153 | OMAP24XX_GPIO_LEVELDETECT0); | 2153 | OMAP24XX_GPIO_LEVELDETECT0); |
2154 | __raw_writel(old1, bank->base + | 2154 | __raw_writel(old1, bank->base + |
2155 | OMAP24XX_GPIO_LEVELDETECT1); | 2155 | OMAP24XX_GPIO_LEVELDETECT1); |
2156 | } | 2156 | } |
2157 | 2157 | ||
diff --git a/arch/arm/plat-omap/include/plat/blizzard.h b/arch/arm/plat-omap/include/plat/blizzard.h index 8d160f171372..56e7f2e7d12f 100644 --- a/arch/arm/plat-omap/include/plat/blizzard.h +++ b/arch/arm/plat-omap/include/plat/blizzard.h | |||
@@ -6,7 +6,7 @@ struct blizzard_platform_data { | |||
6 | void (*power_down)(struct device *dev); | 6 | void (*power_down)(struct device *dev); |
7 | unsigned long (*get_clock_rate)(struct device *dev); | 7 | unsigned long (*get_clock_rate)(struct device *dev); |
8 | 8 | ||
9 | unsigned te_connected : 1; | 9 | unsigned te_connected:1; |
10 | }; | 10 | }; |
11 | 11 | ||
12 | #endif | 12 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index ed8786c41df2..75141742300c 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
@@ -167,10 +167,14 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
167 | #if defined(MULTI_OMAP2) | 167 | #if defined(MULTI_OMAP2) |
168 | # if defined(CONFIG_ARCH_OMAP2) | 168 | # if defined(CONFIG_ARCH_OMAP2) |
169 | # undef cpu_is_omap24xx | 169 | # undef cpu_is_omap24xx |
170 | # undef cpu_is_omap242x | ||
171 | # undef cpu_is_omap243x | ||
172 | # define cpu_is_omap24xx() is_omap24xx() | 170 | # define cpu_is_omap24xx() is_omap24xx() |
171 | # endif | ||
172 | # if defined (CONFIG_ARCH_OMAP2420) | ||
173 | # undef cpu_is_omap242x | ||
173 | # define cpu_is_omap242x() is_omap242x() | 174 | # define cpu_is_omap242x() is_omap242x() |
175 | # endif | ||
176 | # if defined (CONFIG_ARCH_OMAP2430) | ||
177 | # undef cpu_is_omap243x | ||
174 | # define cpu_is_omap243x() is_omap243x() | 178 | # define cpu_is_omap243x() is_omap243x() |
175 | # endif | 179 | # endif |
176 | # if defined(CONFIG_ARCH_OMAP3) | 180 | # if defined(CONFIG_ARCH_OMAP3) |
diff --git a/arch/arm/plat-omap/include/plat/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h index d6a0e27d5a7f..9fbd91419cd1 100644 --- a/arch/arm/plat-omap/include/plat/prcm.h +++ b/arch/arm/plat-omap/include/plat/prcm.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #define __ASM_ARM_ARCH_OMAP_PRCM_H | 24 | #define __ASM_ARM_ARCH_OMAP_PRCM_H |
25 | 25 | ||
26 | u32 omap_prcm_get_reset_sources(void); | 26 | u32 omap_prcm_get_reset_sources(void); |
27 | void omap_prcm_arch_reset(char mode); | 27 | void omap_prcm_arch_reset(char mode, const char *cmd); |
28 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, | 28 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, |
29 | const char *name); | 29 | const char *name); |
30 | 30 | ||
diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h index c58a4ef42a45..d0a119f735b4 100644 --- a/arch/arm/plat-omap/include/plat/system.h +++ b/arch/arm/plat-omap/include/plat/system.h | |||
@@ -22,7 +22,7 @@ static inline void arch_idle(void) | |||
22 | cpu_do_idle(); | 22 | cpu_do_idle(); |
23 | } | 23 | } |
24 | 24 | ||
25 | static inline void omap1_arch_reset(char mode) | 25 | static inline void omap1_arch_reset(char mode, const char *cmd) |
26 | { | 26 | { |
27 | /* | 27 | /* |
28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | 28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 |
@@ -43,9 +43,9 @@ static inline void omap1_arch_reset(char mode) | |||
43 | static inline void arch_reset(char mode, const char *cmd) | 43 | static inline void arch_reset(char mode, const char *cmd) |
44 | { | 44 | { |
45 | if (!cpu_class_is_omap2()) | 45 | if (!cpu_class_is_omap2()) |
46 | omap1_arch_reset(mode); | 46 | omap1_arch_reset(mode, cmd); |
47 | else | 47 | else |
48 | omap_prcm_arch_reset(mode); | 48 | omap_prcm_arch_reset(mode, cmd); |
49 | } | 49 | } |
50 | 50 | ||
51 | #endif | 51 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h index 288e29e1c06f..568578db93b6 100644 --- a/arch/arm/plat-omap/include/plat/usb.h +++ b/arch/arm/plat-omap/include/plat/usb.h | |||
@@ -53,7 +53,7 @@ enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI}; | |||
53 | 53 | ||
54 | extern void usb_musb_init(struct omap_musb_board_data *board_data); | 54 | extern void usb_musb_init(struct omap_musb_board_data *board_data); |
55 | 55 | ||
56 | extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata); | 56 | extern void usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata); |
57 | 57 | ||
58 | #endif | 58 | #endif |
59 | 59 | ||
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index e47686e0a633..52dfcc81511e 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -133,8 +133,7 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id) | |||
133 | dev_err(mcbsp_tx->dev, "TX Frame Sync Error! : 0x%x\n", | 133 | dev_err(mcbsp_tx->dev, "TX Frame Sync Error! : 0x%x\n", |
134 | irqst_spcr2); | 134 | irqst_spcr2); |
135 | /* Writing zero to XSYNC_ERR clears the IRQ */ | 135 | /* Writing zero to XSYNC_ERR clears the IRQ */ |
136 | MCBSP_WRITE(mcbsp_tx, SPCR2, | 136 | MCBSP_WRITE(mcbsp_tx, SPCR2, MCBSP_READ_CACHE(mcbsp_tx, SPCR2)); |
137 | MCBSP_READ_CACHE(mcbsp_tx, SPCR2) & ~(XSYNC_ERR)); | ||
138 | } else { | 137 | } else { |
139 | complete(&mcbsp_tx->tx_irq_completion); | 138 | complete(&mcbsp_tx->tx_irq_completion); |
140 | } | 139 | } |
@@ -154,8 +153,7 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id) | |||
154 | dev_err(mcbsp_rx->dev, "RX Frame Sync Error! : 0x%x\n", | 153 | dev_err(mcbsp_rx->dev, "RX Frame Sync Error! : 0x%x\n", |
155 | irqst_spcr1); | 154 | irqst_spcr1); |
156 | /* Writing zero to RSYNC_ERR clears the IRQ */ | 155 | /* Writing zero to RSYNC_ERR clears the IRQ */ |
157 | MCBSP_WRITE(mcbsp_rx, SPCR1, | 156 | MCBSP_WRITE(mcbsp_rx, SPCR1, MCBSP_READ_CACHE(mcbsp_rx, SPCR1)); |
158 | MCBSP_READ_CACHE(mcbsp_rx, SPCR1) & ~(RSYNC_ERR)); | ||
159 | } else { | 157 | } else { |
160 | complete(&mcbsp_rx->tx_irq_completion); | 158 | complete(&mcbsp_rx->tx_irq_completion); |
161 | } | 159 | } |
@@ -934,8 +932,7 @@ int omap_mcbsp_pollwrite(unsigned int id, u16 buf) | |||
934 | /* if frame sync error - clear the error */ | 932 | /* if frame sync error - clear the error */ |
935 | if (MCBSP_READ(mcbsp, SPCR2) & XSYNC_ERR) { | 933 | if (MCBSP_READ(mcbsp, SPCR2) & XSYNC_ERR) { |
936 | /* clear error */ | 934 | /* clear error */ |
937 | MCBSP_WRITE(mcbsp, SPCR2, | 935 | MCBSP_WRITE(mcbsp, SPCR2, MCBSP_READ_CACHE(mcbsp, SPCR2)); |
938 | MCBSP_READ_CACHE(mcbsp, SPCR2) & (~XSYNC_ERR)); | ||
939 | /* resend */ | 936 | /* resend */ |
940 | return -1; | 937 | return -1; |
941 | } else { | 938 | } else { |
@@ -975,8 +972,7 @@ int omap_mcbsp_pollread(unsigned int id, u16 *buf) | |||
975 | /* if frame sync error - clear the error */ | 972 | /* if frame sync error - clear the error */ |
976 | if (MCBSP_READ(mcbsp, SPCR1) & RSYNC_ERR) { | 973 | if (MCBSP_READ(mcbsp, SPCR1) & RSYNC_ERR) { |
977 | /* clear error */ | 974 | /* clear error */ |
978 | MCBSP_WRITE(mcbsp, SPCR1, | 975 | MCBSP_WRITE(mcbsp, SPCR1, MCBSP_READ_CACHE(mcbsp, SPCR1)); |
979 | MCBSP_READ_CACHE(mcbsp, SPCR1) & (~RSYNC_ERR)); | ||
980 | /* resend */ | 976 | /* resend */ |
981 | return -1; | 977 | return -1; |
982 | } else { | 978 | } else { |
diff --git a/arch/arm/plat-samsung/include/plat/uncompress.h b/arch/arm/plat-samsung/include/plat/uncompress.h index e87ce8ffbbcd..7d6ed7263d57 100644 --- a/arch/arm/plat-samsung/include/plat/uncompress.h +++ b/arch/arm/plat-samsung/include/plat/uncompress.h | |||
@@ -140,8 +140,6 @@ static void arch_decomp_error(const char *x) | |||
140 | #define arch_error arch_decomp_error | 140 | #define arch_error arch_decomp_error |
141 | #endif | 141 | #endif |
142 | 142 | ||
143 | static void error(char *err); | ||
144 | |||
145 | #ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO | 143 | #ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO |
146 | static inline void arch_enable_uart_fifo(void) | 144 | static inline void arch_enable_uart_fifo(void) |
147 | { | 145 | { |
diff --git a/arch/arm/plat-samsung/pwm.c b/arch/arm/plat-samsung/pwm.c index ef019f27b67d..f2d11390d01c 100644 --- a/arch/arm/plat-samsung/pwm.c +++ b/arch/arm/plat-samsung/pwm.c | |||
@@ -379,6 +379,39 @@ static int __devexit s3c_pwm_remove(struct platform_device *pdev) | |||
379 | return 0; | 379 | return 0; |
380 | } | 380 | } |
381 | 381 | ||
382 | #ifdef CONFIG_PM | ||
383 | static int s3c_pwm_suspend(struct platform_device *pdev, pm_message_t state) | ||
384 | { | ||
385 | struct pwm_device *pwm = platform_get_drvdata(pdev); | ||
386 | |||
387 | /* No one preserve these values during suspend so reset them | ||
388 | * Otherwise driver leaves PWM unconfigured if same values | ||
389 | * passed to pwm_config | ||
390 | */ | ||
391 | pwm->period_ns = 0; | ||
392 | pwm->duty_ns = 0; | ||
393 | |||
394 | return 0; | ||
395 | } | ||
396 | |||
397 | static int s3c_pwm_resume(struct platform_device *pdev) | ||
398 | { | ||
399 | struct pwm_device *pwm = platform_get_drvdata(pdev); | ||
400 | unsigned long tcon; | ||
401 | |||
402 | /* Restore invertion */ | ||
403 | tcon = __raw_readl(S3C2410_TCON); | ||
404 | tcon |= pwm_tcon_invert(pwm); | ||
405 | __raw_writel(tcon, S3C2410_TCON); | ||
406 | |||
407 | return 0; | ||
408 | } | ||
409 | |||
410 | #else | ||
411 | #define s3c_pwm_suspend NULL | ||
412 | #define s3c_pwm_resume NULL | ||
413 | #endif | ||
414 | |||
382 | static struct platform_driver s3c_pwm_driver = { | 415 | static struct platform_driver s3c_pwm_driver = { |
383 | .driver = { | 416 | .driver = { |
384 | .name = "s3c24xx-pwm", | 417 | .name = "s3c24xx-pwm", |
@@ -386,6 +419,8 @@ static struct platform_driver s3c_pwm_driver = { | |||
386 | }, | 419 | }, |
387 | .probe = s3c_pwm_probe, | 420 | .probe = s3c_pwm_probe, |
388 | .remove = __devexit_p(s3c_pwm_remove), | 421 | .remove = __devexit_p(s3c_pwm_remove), |
422 | .suspend = s3c_pwm_suspend, | ||
423 | .resume = s3c_pwm_resume, | ||
389 | }; | 424 | }; |
390 | 425 | ||
391 | static int __init pwm_init(void) | 426 | static int __init pwm_init(void) |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 53c1e1d45c68..c078849df7f9 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -23,12 +23,15 @@ config RWSEM_XCHGADD_ALGORITHM | |||
23 | 23 | ||
24 | config BLACKFIN | 24 | config BLACKFIN |
25 | def_bool y | 25 | def_bool y |
26 | select HAVE_ARCH_KGDB | ||
27 | select HAVE_ARCH_TRACEHOOK | ||
26 | select HAVE_FUNCTION_GRAPH_TRACER | 28 | select HAVE_FUNCTION_GRAPH_TRACER |
27 | select HAVE_FUNCTION_TRACER | 29 | select HAVE_FUNCTION_TRACER |
30 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST | ||
28 | select HAVE_IDE | 31 | select HAVE_IDE |
29 | select HAVE_KERNEL_GZIP | 32 | select HAVE_KERNEL_GZIP if RAMKERNEL |
30 | select HAVE_KERNEL_BZIP2 | 33 | select HAVE_KERNEL_BZIP2 if RAMKERNEL |
31 | select HAVE_KERNEL_LZMA | 34 | select HAVE_KERNEL_LZMA if RAMKERNEL |
32 | select HAVE_OPROFILE | 35 | select HAVE_OPROFILE |
33 | select ARCH_WANT_OPTIONAL_GPIOLIB | 36 | select ARCH_WANT_OPTIONAL_GPIOLIB |
34 | 37 | ||
@@ -45,9 +48,6 @@ config ZONE_DMA | |||
45 | config GENERIC_FIND_NEXT_BIT | 48 | config GENERIC_FIND_NEXT_BIT |
46 | def_bool y | 49 | def_bool y |
47 | 50 | ||
48 | config GENERIC_HWEIGHT | ||
49 | def_bool y | ||
50 | |||
51 | config GENERIC_HARDIRQS | 51 | config GENERIC_HARDIRQS |
52 | def_bool y | 52 | def_bool y |
53 | 53 | ||
@@ -239,7 +239,7 @@ endchoice | |||
239 | 239 | ||
240 | config SMP | 240 | config SMP |
241 | depends on BF561 | 241 | depends on BF561 |
242 | select GENERIC_CLOCKEVENTS | 242 | select TICKSOURCE_CORETMR |
243 | bool "Symmetric multi-processing support" | 243 | bool "Symmetric multi-processing support" |
244 | ---help--- | 244 | ---help--- |
245 | This enables support for systems with more than one CPU, | 245 | This enables support for systems with more than one CPU, |
@@ -253,11 +253,20 @@ config NR_CPUS | |||
253 | depends on SMP | 253 | depends on SMP |
254 | default 2 if BF561 | 254 | default 2 if BF561 |
255 | 255 | ||
256 | config HOTPLUG_CPU | ||
257 | bool "Support for hot-pluggable CPUs" | ||
258 | depends on SMP && HOTPLUG | ||
259 | default y | ||
260 | |||
256 | config IRQ_PER_CPU | 261 | config IRQ_PER_CPU |
257 | bool | 262 | bool |
258 | depends on SMP | 263 | depends on SMP |
259 | default y | 264 | default y |
260 | 265 | ||
266 | config HAVE_LEGACY_PER_CPU_AREA | ||
267 | def_bool y | ||
268 | depends on SMP | ||
269 | |||
261 | config BF_REV_MIN | 270 | config BF_REV_MIN |
262 | int | 271 | int |
263 | default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) | 272 | default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) |
@@ -349,7 +358,7 @@ config MEM_MT48LC8M32B2B5_7 | |||
349 | 358 | ||
350 | config MEM_MT48LC32M16A2TG_75 | 359 | config MEM_MT48LC32M16A2TG_75 |
351 | bool | 360 | bool |
352 | depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP) | 361 | depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP) |
353 | default y | 362 | default y |
354 | 363 | ||
355 | config MEM_MT48LC32M8A2_75 | 364 | config MEM_MT48LC32M8A2_75 |
@@ -401,10 +410,18 @@ config BOOT_LOAD | |||
401 | config ROM_BASE | 410 | config ROM_BASE |
402 | hex "Kernel ROM Base" | 411 | hex "Kernel ROM Base" |
403 | depends on ROMKERNEL | 412 | depends on ROMKERNEL |
404 | default "0x20040000" | 413 | default "0x20040040" |
405 | range 0x20000000 0x20400000 if !(BF54x || BF561) | 414 | range 0x20000000 0x20400000 if !(BF54x || BF561) |
406 | range 0x20000000 0x30000000 if (BF54x || BF561) | 415 | range 0x20000000 0x30000000 if (BF54x || BF561) |
407 | help | 416 | help |
417 | Make sure your ROM base does not include any file-header | ||
418 | information that is prepended to the kernel. | ||
419 | |||
420 | For example, the bootable U-Boot format (created with | ||
421 | mkimage) has a 64 byte header (0x40). So while the image | ||
422 | you write to flash might start at say 0x20080000, you have | ||
423 | to add 0x40 to get the kernel's ROM base as it will come | ||
424 | after the header. | ||
408 | 425 | ||
409 | comment "Clock/PLL Setup" | 426 | comment "Clock/PLL Setup" |
410 | 427 | ||
@@ -448,7 +465,7 @@ config VCO_MULT | |||
448 | range 1 64 | 465 | range 1 64 |
449 | default "22" if BFIN533_EZKIT | 466 | default "22" if BFIN533_EZKIT |
450 | default "45" if BFIN533_STAMP | 467 | default "45" if BFIN533_STAMP |
451 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT) | 468 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT) |
452 | default "22" if BFIN533_BLUETECHNIX_CM | 469 | default "22" if BFIN533_BLUETECHNIX_CM |
453 | default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) | 470 | default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) |
454 | default "20" if BFIN561_EZKIT | 471 | default "20" if BFIN561_EZKIT |
@@ -609,23 +626,23 @@ config GENERIC_CLOCKEVENTS | |||
609 | bool "Generic clock events" | 626 | bool "Generic clock events" |
610 | default y | 627 | default y |
611 | 628 | ||
612 | choice | 629 | menu "Clock event device" |
613 | prompt "Kernel Tick Source" | ||
614 | depends on GENERIC_CLOCKEVENTS | 630 | depends on GENERIC_CLOCKEVENTS |
615 | default TICKSOURCE_CORETMR | ||
616 | |||
617 | config TICKSOURCE_GPTMR0 | 631 | config TICKSOURCE_GPTMR0 |
618 | bool "Gptimer0 (SCLK domain)" | 632 | bool "GPTimer0" |
633 | depends on !SMP | ||
619 | select BFIN_GPTIMERS | 634 | select BFIN_GPTIMERS |
620 | 635 | ||
621 | config TICKSOURCE_CORETMR | 636 | config TICKSOURCE_CORETMR |
622 | bool "Core timer (CCLK domain)" | 637 | bool "Core timer" |
623 | 638 | default y | |
624 | endchoice | 639 | endmenu |
625 | 640 | ||
626 | config CYCLES_CLOCKSOURCE | 641 | menu "Clock souce" |
627 | bool "Use 'CYCLES' as a clocksource" | ||
628 | depends on GENERIC_CLOCKEVENTS | 642 | depends on GENERIC_CLOCKEVENTS |
643 | config CYCLES_CLOCKSOURCE | ||
644 | bool "CYCLES" | ||
645 | default y | ||
629 | depends on !BFIN_SCRATCH_REG_CYCLES | 646 | depends on !BFIN_SCRATCH_REG_CYCLES |
630 | depends on !SMP | 647 | depends on !SMP |
631 | help | 648 | help |
@@ -636,10 +653,10 @@ config CYCLES_CLOCKSOURCE | |||
636 | writing the registers will most likely crash the kernel. | 653 | writing the registers will most likely crash the kernel. |
637 | 654 | ||
638 | config GPTMR0_CLOCKSOURCE | 655 | config GPTMR0_CLOCKSOURCE |
639 | bool "Use GPTimer0 as a clocksource" | 656 | bool "GPTimer0" |
640 | select BFIN_GPTIMERS | 657 | select BFIN_GPTIMERS |
641 | depends on GENERIC_CLOCKEVENTS | ||
642 | depends on !TICKSOURCE_GPTMR0 | 658 | depends on !TICKSOURCE_GPTMR0 |
659 | endmenu | ||
643 | 660 | ||
644 | config ARCH_USES_GETTIMEOFFSET | 661 | config ARCH_USES_GETTIMEOFFSET |
645 | depends on !GENERIC_CLOCKEVENTS | 662 | depends on !GENERIC_CLOCKEVENTS |
@@ -1116,24 +1133,6 @@ config PCI | |||
1116 | 1133 | ||
1117 | source "drivers/pci/Kconfig" | 1134 | source "drivers/pci/Kconfig" |
1118 | 1135 | ||
1119 | config HOTPLUG | ||
1120 | bool "Support for hot-pluggable device" | ||
1121 | help | ||
1122 | Say Y here if you want to plug devices into your computer while | ||
1123 | the system is running, and be able to use them quickly. In many | ||
1124 | cases, the devices can likewise be unplugged at any time too. | ||
1125 | |||
1126 | One well known example of this is PCMCIA- or PC-cards, credit-card | ||
1127 | size devices such as network cards, modems or hard drives which are | ||
1128 | plugged into slots found on all modern laptop computers. Another | ||
1129 | example, used on modern desktops as well as laptops, is USB. | ||
1130 | |||
1131 | Enable HOTPLUG and build a modular kernel. Get agent software | ||
1132 | (from <http://linux-hotplug.sourceforge.net/>) and install it. | ||
1133 | Then your kernel will automatically call out to a user mode "policy | ||
1134 | agent" (/sbin/hotplug) to load modules and set up software needed | ||
1135 | to use devices as you hotplug them. | ||
1136 | |||
1137 | source "drivers/pcmcia/Kconfig" | 1136 | source "drivers/pcmcia/Kconfig" |
1138 | 1137 | ||
1139 | source "drivers/pci/hotplug/Kconfig" | 1138 | source "drivers/pci/hotplug/Kconfig" |
@@ -1147,7 +1146,6 @@ source "fs/Kconfig.binfmt" | |||
1147 | endmenu | 1146 | endmenu |
1148 | 1147 | ||
1149 | menu "Power management options" | 1148 | menu "Power management options" |
1150 | depends on !SMP | ||
1151 | 1149 | ||
1152 | source "kernel/power/Kconfig" | 1150 | source "kernel/power/Kconfig" |
1153 | 1151 | ||
@@ -1240,7 +1238,6 @@ config PM_BFIN_WAKE_GP | |||
1240 | endmenu | 1238 | endmenu |
1241 | 1239 | ||
1242 | menu "CPU Frequency scaling" | 1240 | menu "CPU Frequency scaling" |
1243 | depends on !SMP | ||
1244 | 1241 | ||
1245 | source "drivers/cpufreq/Kconfig" | 1242 | source "drivers/cpufreq/Kconfig" |
1246 | 1243 | ||
diff --git a/arch/blackfin/Kconfig.debug b/arch/blackfin/Kconfig.debug index 87f195ee2e06..aec89a5280b2 100644 --- a/arch/blackfin/Kconfig.debug +++ b/arch/blackfin/Kconfig.debug | |||
@@ -18,9 +18,6 @@ config DEBUG_STACK_USAGE | |||
18 | 18 | ||
19 | This option will slow down process creation somewhat. | 19 | This option will slow down process creation somewhat. |
20 | 20 | ||
21 | config HAVE_ARCH_KGDB | ||
22 | def_bool y | ||
23 | |||
24 | config DEBUG_VERBOSE | 21 | config DEBUG_VERBOSE |
25 | bool "Verbose fault messages" | 22 | bool "Verbose fault messages" |
26 | default y | 23 | default y |
@@ -238,6 +235,15 @@ config EARLY_PRINTK | |||
238 | all of this lives in the init section and is thrown away after the | 235 | all of this lives in the init section and is thrown away after the |
239 | kernel boots completely. | 236 | kernel boots completely. |
240 | 237 | ||
238 | config NMI_WATCHDOG | ||
239 | bool "Enable NMI watchdog to help debugging lockup on SMP" | ||
240 | default n | ||
241 | depends on (SMP && !BFIN_SCRATCH_REG_RETN) | ||
242 | help | ||
243 | If any CPU in the system does not execute the period local timer | ||
244 | interrupt for more than 5 seconds, then the NMI handler dumps debug | ||
245 | information. This information can be used to debug the lockup. | ||
246 | |||
241 | config CPLB_INFO | 247 | config CPLB_INFO |
242 | bool "Display the CPLB information" | 248 | bool "Display the CPLB information" |
243 | help | 249 | help |
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile index d4c7177e7656..5a97a31d4bbd 100644 --- a/arch/blackfin/Makefile +++ b/arch/blackfin/Makefile | |||
@@ -14,6 +14,9 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S | |||
14 | GZFLAGS := -9 | 14 | GZFLAGS := -9 |
15 | 15 | ||
16 | KBUILD_CFLAGS += $(call cc-option,-mno-fdpic) | 16 | KBUILD_CFLAGS += $(call cc-option,-mno-fdpic) |
17 | ifeq ($(CONFIG_ROMKERNEL),y) | ||
18 | KBUILD_CFLAGS += -mlong-calls | ||
19 | endif | ||
17 | KBUILD_AFLAGS += $(call cc-option,-mno-fdpic) | 20 | KBUILD_AFLAGS += $(call cc-option,-mno-fdpic) |
18 | CFLAGS_MODULE += -mlong-calls | 21 | CFLAGS_MODULE += -mlong-calls |
19 | LDFLAGS_MODULE += -m elf32bfin | 22 | LDFLAGS_MODULE += -m elf32bfin |
@@ -130,7 +133,6 @@ KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include | |||
130 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) | 133 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) |
131 | 134 | ||
132 | CLEAN_FILES += \ | 135 | CLEAN_FILES += \ |
133 | arch/$(ARCH)/include/asm/asm-offsets.h \ | ||
134 | arch/$(ARCH)/kernel/asm-offsets.s \ | 136 | arch/$(ARCH)/kernel/asm-offsets.s \ |
135 | 137 | ||
136 | archclean: | 138 | archclean: |
@@ -138,7 +140,7 @@ archclean: | |||
138 | 140 | ||
139 | INSTALL_PATH ?= /tftpboot | 141 | INSTALL_PATH ?= /tftpboot |
140 | boot := arch/$(ARCH)/boot | 142 | boot := arch/$(ARCH)/boot |
141 | BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma | 143 | BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.xip |
142 | PHONY += $(BOOT_TARGETS) install | 144 | PHONY += $(BOOT_TARGETS) install |
143 | KBUILD_IMAGE := $(boot)/vmImage | 145 | KBUILD_IMAGE := $(boot)/vmImage |
144 | 146 | ||
@@ -156,6 +158,7 @@ define archhelp | |||
156 | echo ' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)' | 158 | echo ' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)' |
157 | echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)' | 159 | echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)' |
158 | echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)' | 160 | echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)' |
161 | echo ' vmImage.xip - XIP Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.xip)' | ||
159 | echo ' install - Install kernel using' | 162 | echo ' install - Install kernel using' |
160 | echo ' (your) ~/bin/$(INSTALLKERNEL) or' | 163 | echo ' (your) ~/bin/$(INSTALLKERNEL) or' |
161 | echo ' (distribution) PATH: $(INSTALLKERNEL) or' | 164 | echo ' (distribution) PATH: $(INSTALLKERNEL) or' |
diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile index e9c48c6f8c1f..d1b3d6051fdf 100644 --- a/arch/blackfin/boot/Makefile +++ b/arch/blackfin/boot/Makefile | |||
@@ -8,14 +8,18 @@ | |||
8 | 8 | ||
9 | MKIMAGE := $(srctree)/scripts/mkuboot.sh | 9 | MKIMAGE := $(srctree)/scripts/mkuboot.sh |
10 | 10 | ||
11 | targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma | 11 | targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.xip |
12 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma | 12 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xip |
13 | |||
14 | UIMAGE_OPTS-y := | ||
15 | UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD) | ||
16 | UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x | ||
13 | 17 | ||
14 | quiet_cmd_uimage = UIMAGE $@ | 18 | quiet_cmd_uimage = UIMAGE $@ |
15 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \ | 19 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \ |
16 | -C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' -a $(CONFIG_BOOT_LOAD) \ | 20 | -C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' \ |
17 | -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \ | 21 | -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \ |
18 | -d $< $@ | 22 | $(UIMAGE_OPTS-y) -d $< $@ |
19 | 23 | ||
20 | $(obj)/vmlinux.bin: vmlinux FORCE | 24 | $(obj)/vmlinux.bin: vmlinux FORCE |
21 | $(call if_changed,objcopy) | 25 | $(call if_changed,objcopy) |
@@ -29,6 +33,12 @@ $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | |||
29 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | 33 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE |
30 | $(call if_changed,lzma) | 34 | $(call if_changed,lzma) |
31 | 35 | ||
36 | # The mkimage tool wants 64bytes prepended to the image | ||
37 | quiet_cmd_mk_bin_xip = BIN $@ | ||
38 | cmd_mk_bin_xip = ( printf '%64s' | tr ' ' '\377' ; cat $< ) > $@ | ||
39 | $(obj)/vmlinux.bin.xip: $(obj)/vmlinux.bin FORCE | ||
40 | $(call if_changed,mk_bin_xip) | ||
41 | |||
32 | $(obj)/vmImage.bin: $(obj)/vmlinux.bin | 42 | $(obj)/vmImage.bin: $(obj)/vmlinux.bin |
33 | $(call if_changed,uimage,none) | 43 | $(call if_changed,uimage,none) |
34 | 44 | ||
@@ -41,10 +51,15 @@ $(obj)/vmImage.gz: $(obj)/vmlinux.bin.gz | |||
41 | $(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma | 51 | $(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma |
42 | $(call if_changed,uimage,lzma) | 52 | $(call if_changed,uimage,lzma) |
43 | 53 | ||
54 | $(obj)/vmImage.xip: $(obj)/vmlinux.bin.xip | ||
55 | $(call if_changed,uimage,none) | ||
56 | |||
44 | suffix-y := bin | 57 | suffix-y := bin |
45 | suffix-$(CONFIG_KERNEL_GZIP) := gz | 58 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
46 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | 59 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 |
47 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | 60 | suffix-$(CONFIG_KERNEL_LZMA) := lzma |
61 | suffix-$(CONFIG_ROMKERNEL) := xip | ||
62 | |||
48 | $(obj)/vmImage: $(obj)/vmImage.$(suffix-y) | 63 | $(obj)/vmImage: $(obj)/vmImage.$(suffix-y) |
49 | @ln -sf $(notdir $<) $@ | 64 | @ln -sf $(notdir $<) $@ |
50 | 65 | ||
diff --git a/arch/blackfin/configs/BF518F-EZBRD_defconfig b/arch/blackfin/configs/BF518F-EZBRD_defconfig index e31559419817..cf7c9bc94f13 100644 --- a/arch/blackfin/configs/BF518F-EZBRD_defconfig +++ b/arch/blackfin/configs/BF518F-EZBRD_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_IOSCHED_NOOP=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | CONFIG_DEFAULT_NOOP=y | 131 | CONFIG_DEFAULT_NOOP=y |
103 | CONFIG_DEFAULT_IOSCHED="noop" | 132 | CONFIG_DEFAULT_IOSCHED="noop" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_BF518=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=0 | 174 | CONFIG_BF_REV_MIN=0 |
@@ -154,8 +182,8 @@ CONFIG_BF_REV_0_0=y | |||
154 | # CONFIG_BF_REV_0_6 is not set | 182 | # CONFIG_BF_REV_0_6 is not set |
155 | # CONFIG_BF_REV_ANY is not set | 183 | # CONFIG_BF_REV_ANY is not set |
156 | # CONFIG_BF_REV_NONE is not set | 184 | # CONFIG_BF_REV_NONE is not set |
157 | CONFIG_BF51x=y | ||
158 | CONFIG_MEM_MT48LC32M8A2_75=y | 185 | CONFIG_MEM_MT48LC32M8A2_75=y |
186 | CONFIG_BF51x=y | ||
159 | CONFIG_BFIN518F_EZBRD=y | 187 | CONFIG_BFIN518F_EZBRD=y |
160 | 188 | ||
161 | # | 189 | # |
@@ -313,7 +341,6 @@ CONFIG_FLATMEM=y | |||
313 | CONFIG_FLAT_NODE_MEM_MAP=y | 341 | CONFIG_FLAT_NODE_MEM_MAP=y |
314 | CONFIG_PAGEFLAGS_EXTENDED=y | 342 | CONFIG_PAGEFLAGS_EXTENDED=y |
315 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 343 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
316 | # CONFIG_RESOURCES_64BIT is not set | ||
317 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 344 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
318 | CONFIG_ZONE_DMA_FLAG=1 | 345 | CONFIG_ZONE_DMA_FLAG=1 |
319 | CONFIG_VIRT_TO_BUS=y | 346 | CONFIG_VIRT_TO_BUS=y |
@@ -322,16 +349,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
322 | # CONFIG_DMA_UNCACHED_4M is not set | 349 | # CONFIG_DMA_UNCACHED_4M is not set |
323 | # CONFIG_DMA_UNCACHED_2M is not set | 350 | # CONFIG_DMA_UNCACHED_2M is not set |
324 | CONFIG_DMA_UNCACHED_1M=y | 351 | CONFIG_DMA_UNCACHED_1M=y |
352 | # CONFIG_DMA_UNCACHED_512K is not set | ||
353 | # CONFIG_DMA_UNCACHED_256K is not set | ||
354 | # CONFIG_DMA_UNCACHED_128K is not set | ||
325 | # CONFIG_DMA_UNCACHED_NONE is not set | 355 | # CONFIG_DMA_UNCACHED_NONE is not set |
326 | 356 | ||
327 | # | 357 | # |
328 | # Cache Support | 358 | # Cache Support |
329 | # | 359 | # |
330 | CONFIG_BFIN_ICACHE=y | 360 | CONFIG_BFIN_ICACHE=y |
331 | # CONFIG_BFIN_ICACHE_LOCK is not set | 361 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
332 | CONFIG_BFIN_DCACHE=y | 362 | CONFIG_BFIN_DCACHE=y |
333 | # CONFIG_BFIN_DCACHE_BANKA is not set | 363 | # CONFIG_BFIN_DCACHE_BANKA is not set |
334 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
335 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 364 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
336 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 365 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
337 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 366 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -342,7 +371,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
342 | # CONFIG_MPU is not set | 371 | # CONFIG_MPU is not set |
343 | 372 | ||
344 | # | 373 | # |
345 | # Asynchonous Memory Configuration | 374 | # Asynchronous Memory Configuration |
346 | # | 375 | # |
347 | 376 | ||
348 | # | 377 | # |
@@ -398,11 +427,6 @@ CONFIG_NET=y | |||
398 | CONFIG_PACKET=y | 427 | CONFIG_PACKET=y |
399 | # CONFIG_PACKET_MMAP is not set | 428 | # CONFIG_PACKET_MMAP is not set |
400 | CONFIG_UNIX=y | 429 | CONFIG_UNIX=y |
401 | CONFIG_XFRM=y | ||
402 | # CONFIG_XFRM_USER is not set | ||
403 | # CONFIG_XFRM_SUB_POLICY is not set | ||
404 | # CONFIG_XFRM_MIGRATE is not set | ||
405 | # CONFIG_XFRM_STATISTICS is not set | ||
406 | # CONFIG_NET_KEY is not set | 430 | # CONFIG_NET_KEY is not set |
407 | CONFIG_INET=y | 431 | CONFIG_INET=y |
408 | # CONFIG_IP_MULTICAST is not set | 432 | # CONFIG_IP_MULTICAST is not set |
@@ -426,7 +450,6 @@ CONFIG_IP_PNP=y | |||
426 | # CONFIG_INET_XFRM_MODE_BEET is not set | 450 | # CONFIG_INET_XFRM_MODE_BEET is not set |
427 | # CONFIG_INET_LRO is not set | 451 | # CONFIG_INET_LRO is not set |
428 | # CONFIG_INET_DIAG is not set | 452 | # CONFIG_INET_DIAG is not set |
429 | CONFIG_INET_TCP_DIAG=y | ||
430 | # CONFIG_TCP_CONG_ADVANCED is not set | 453 | # CONFIG_TCP_CONG_ADVANCED is not set |
431 | CONFIG_TCP_CONG_CUBIC=y | 454 | CONFIG_TCP_CONG_CUBIC=y |
432 | CONFIG_DEFAULT_TCP_CONG="cubic" | 455 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -437,6 +460,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
437 | # CONFIG_NETFILTER is not set | 460 | # CONFIG_NETFILTER is not set |
438 | # CONFIG_IP_DCCP is not set | 461 | # CONFIG_IP_DCCP is not set |
439 | # CONFIG_IP_SCTP is not set | 462 | # CONFIG_IP_SCTP is not set |
463 | # CONFIG_RDS is not set | ||
440 | # CONFIG_TIPC is not set | 464 | # CONFIG_TIPC is not set |
441 | # CONFIG_ATM is not set | 465 | # CONFIG_ATM is not set |
442 | # CONFIG_BRIDGE is not set | 466 | # CONFIG_BRIDGE is not set |
@@ -450,7 +474,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
450 | # CONFIG_LAPB is not set | 474 | # CONFIG_LAPB is not set |
451 | # CONFIG_ECONET is not set | 475 | # CONFIG_ECONET is not set |
452 | # CONFIG_WAN_ROUTER is not set | 476 | # CONFIG_WAN_ROUTER is not set |
477 | # CONFIG_PHONET is not set | ||
478 | # CONFIG_IEEE802154 is not set | ||
453 | # CONFIG_NET_SCHED is not set | 479 | # CONFIG_NET_SCHED is not set |
480 | # CONFIG_DCB is not set | ||
454 | 481 | ||
455 | # | 482 | # |
456 | # Network testing | 483 | # Network testing |
@@ -461,13 +488,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
461 | # CONFIG_IRDA is not set | 488 | # CONFIG_IRDA is not set |
462 | # CONFIG_BT is not set | 489 | # CONFIG_BT is not set |
463 | # CONFIG_AF_RXRPC is not set | 490 | # CONFIG_AF_RXRPC is not set |
464 | # CONFIG_PHONET is not set | 491 | # CONFIG_WIRELESS is not set |
465 | CONFIG_WIRELESS=y | 492 | # CONFIG_WIMAX is not set |
466 | # CONFIG_CFG80211 is not set | ||
467 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
468 | # CONFIG_WIRELESS_EXT is not set | ||
469 | # CONFIG_MAC80211 is not set | ||
470 | # CONFIG_IEEE80211 is not set | ||
471 | # CONFIG_RFKILL is not set | 493 | # CONFIG_RFKILL is not set |
472 | # CONFIG_NET_9P is not set | 494 | # CONFIG_NET_9P is not set |
473 | 495 | ||
@@ -488,6 +510,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
488 | # CONFIG_CONNECTOR is not set | 510 | # CONFIG_CONNECTOR is not set |
489 | CONFIG_MTD=y | 511 | CONFIG_MTD=y |
490 | # CONFIG_MTD_DEBUG is not set | 512 | # CONFIG_MTD_DEBUG is not set |
513 | # CONFIG_MTD_TESTS is not set | ||
491 | # CONFIG_MTD_CONCAT is not set | 514 | # CONFIG_MTD_CONCAT is not set |
492 | CONFIG_MTD_PARTITIONS=y | 515 | CONFIG_MTD_PARTITIONS=y |
493 | # CONFIG_MTD_REDBOOT_PARTS is not set | 516 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -545,6 +568,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
545 | # | 568 | # |
546 | # CONFIG_MTD_DATAFLASH is not set | 569 | # CONFIG_MTD_DATAFLASH is not set |
547 | # CONFIG_MTD_M25P80 is not set | 570 | # CONFIG_MTD_M25P80 is not set |
571 | # CONFIG_MTD_SST25L is not set | ||
548 | # CONFIG_MTD_SLRAM is not set | 572 | # CONFIG_MTD_SLRAM is not set |
549 | # CONFIG_MTD_PHRAM is not set | 573 | # CONFIG_MTD_PHRAM is not set |
550 | # CONFIG_MTD_MTDRAM is not set | 574 | # CONFIG_MTD_MTDRAM is not set |
@@ -560,6 +584,11 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
560 | # CONFIG_MTD_ONENAND is not set | 584 | # CONFIG_MTD_ONENAND is not set |
561 | 585 | ||
562 | # | 586 | # |
587 | # LPDDR flash memory drivers | ||
588 | # | ||
589 | # CONFIG_MTD_LPDDR is not set | ||
590 | |||
591 | # | ||
563 | # UBI - Unsorted block images | 592 | # UBI - Unsorted block images |
564 | # | 593 | # |
565 | # CONFIG_MTD_UBI is not set | 594 | # CONFIG_MTD_UBI is not set |
@@ -576,10 +605,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
576 | # CONFIG_ATA_OVER_ETH is not set | 605 | # CONFIG_ATA_OVER_ETH is not set |
577 | # CONFIG_BLK_DEV_HD is not set | 606 | # CONFIG_BLK_DEV_HD is not set |
578 | CONFIG_MISC_DEVICES=y | 607 | CONFIG_MISC_DEVICES=y |
579 | # CONFIG_EEPROM_93CX6 is not set | 608 | # CONFIG_AD525X_DPOT is not set |
580 | # CONFIG_ICS932S401 is not set | 609 | # CONFIG_ICS932S401 is not set |
581 | # CONFIG_ENCLOSURE_SERVICES is not set | 610 | # CONFIG_ENCLOSURE_SERVICES is not set |
611 | # CONFIG_ISL29003 is not set | ||
582 | # CONFIG_C2PORT is not set | 612 | # CONFIG_C2PORT is not set |
613 | |||
614 | # | ||
615 | # EEPROM support | ||
616 | # | ||
617 | # CONFIG_EEPROM_AT24 is not set | ||
618 | # CONFIG_EEPROM_AT25 is not set | ||
619 | # CONFIG_EEPROM_LEGACY is not set | ||
620 | # CONFIG_EEPROM_MAX6875 is not set | ||
621 | # CONFIG_EEPROM_93CX6 is not set | ||
583 | CONFIG_HAVE_IDE=y | 622 | CONFIG_HAVE_IDE=y |
584 | # CONFIG_IDE is not set | 623 | # CONFIG_IDE is not set |
585 | 624 | ||
@@ -614,6 +653,9 @@ CONFIG_PHYLIB=y | |||
614 | # CONFIG_BROADCOM_PHY is not set | 653 | # CONFIG_BROADCOM_PHY is not set |
615 | # CONFIG_ICPLUS_PHY is not set | 654 | # CONFIG_ICPLUS_PHY is not set |
616 | # CONFIG_REALTEK_PHY is not set | 655 | # CONFIG_REALTEK_PHY is not set |
656 | # CONFIG_NATIONAL_PHY is not set | ||
657 | # CONFIG_STE10XP is not set | ||
658 | # CONFIG_LSI_ET1011C_PHY is not set | ||
617 | # CONFIG_FIXED_PHY is not set | 659 | # CONFIG_FIXED_PHY is not set |
618 | # CONFIG_MDIO_BITBANG is not set | 660 | # CONFIG_MDIO_BITBANG is not set |
619 | CONFIG_NET_ETHERNET=y | 661 | CONFIG_NET_ETHERNET=y |
@@ -622,10 +664,14 @@ CONFIG_BFIN_MAC=y | |||
622 | CONFIG_BFIN_TX_DESC_NUM=10 | 664 | CONFIG_BFIN_TX_DESC_NUM=10 |
623 | CONFIG_BFIN_RX_DESC_NUM=20 | 665 | CONFIG_BFIN_RX_DESC_NUM=20 |
624 | # CONFIG_BFIN_MAC_RMII is not set | 666 | # CONFIG_BFIN_MAC_RMII is not set |
667 | CONFIG_BFIN_MAC_USE_HWSTAMP=y | ||
625 | # CONFIG_SMC91X is not set | 668 | # CONFIG_SMC91X is not set |
626 | # CONFIG_SMSC911X is not set | ||
627 | # CONFIG_DM9000 is not set | 669 | # CONFIG_DM9000 is not set |
628 | # CONFIG_ENC28J60 is not set | 670 | # CONFIG_ENC28J60 is not set |
671 | # CONFIG_ETHOC is not set | ||
672 | # CONFIG_SMSC911X is not set | ||
673 | # CONFIG_DNET is not set | ||
674 | # CONFIG_ADF702X is not set | ||
629 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 675 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
630 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 676 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
631 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 677 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -634,15 +680,16 @@ CONFIG_BFIN_RX_DESC_NUM=20 | |||
634 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 680 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
635 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 681 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
636 | # CONFIG_B44 is not set | 682 | # CONFIG_B44 is not set |
683 | # CONFIG_KS8842 is not set | ||
684 | # CONFIG_KS8851 is not set | ||
685 | # CONFIG_KS8851_MLL is not set | ||
637 | # CONFIG_NETDEV_1000 is not set | 686 | # CONFIG_NETDEV_1000 is not set |
638 | # CONFIG_NETDEV_10000 is not set | 687 | # CONFIG_NETDEV_10000 is not set |
688 | # CONFIG_WLAN is not set | ||
639 | 689 | ||
640 | # | 690 | # |
641 | # Wireless LAN | 691 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
642 | # | 692 | # |
643 | # CONFIG_WLAN_PRE80211 is not set | ||
644 | # CONFIG_WLAN_80211 is not set | ||
645 | # CONFIG_IWLWIFI_LEDS is not set | ||
646 | # CONFIG_WAN is not set | 693 | # CONFIG_WAN is not set |
647 | # CONFIG_PPP is not set | 694 | # CONFIG_PPP is not set |
648 | # CONFIG_SLIP is not set | 695 | # CONFIG_SLIP is not set |
@@ -677,7 +724,10 @@ CONFIG_INPUT=y | |||
677 | # CONFIG_INPUT_TOUCHSCREEN is not set | 724 | # CONFIG_INPUT_TOUCHSCREEN is not set |
678 | CONFIG_INPUT_MISC=y | 725 | CONFIG_INPUT_MISC=y |
679 | # CONFIG_INPUT_UINPUT is not set | 726 | # CONFIG_INPUT_UINPUT is not set |
680 | # CONFIG_CONFIG_INPUT_PCF8574 is not set | 727 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
728 | # CONFIG_INPUT_AD714X is not set | ||
729 | # CONFIG_INPUT_ADXL34X is not set | ||
730 | # CONFIG_INPUT_PCF8574 is not set | ||
681 | 731 | ||
682 | # | 732 | # |
683 | # Hardware I/O ports | 733 | # Hardware I/O ports |
@@ -688,16 +738,13 @@ CONFIG_INPUT_MISC=y | |||
688 | # | 738 | # |
689 | # Character devices | 739 | # Character devices |
690 | # | 740 | # |
691 | # CONFIG_AD9960 is not set | ||
692 | CONFIG_BFIN_DMA_INTERFACE=m | 741 | CONFIG_BFIN_DMA_INTERFACE=m |
693 | # CONFIG_BFIN_PPI is not set | 742 | # CONFIG_BFIN_PPI is not set |
694 | # CONFIG_BFIN_PPIFCD is not set | 743 | # CONFIG_BFIN_PPIFCD is not set |
695 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 744 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
696 | # CONFIG_BFIN_SPI_ADC is not set | 745 | # CONFIG_BFIN_SPI_ADC is not set |
697 | # CONFIG_BFIN_SPORT is not set | 746 | # CONFIG_BFIN_SPORT is not set |
698 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
699 | # CONFIG_BFIN_TWI_LCD is not set | 747 | # CONFIG_BFIN_TWI_LCD is not set |
700 | CONFIG_SIMPLE_GPIO=m | ||
701 | CONFIG_VT=y | 748 | CONFIG_VT=y |
702 | CONFIG_CONSOLE_TRANSLATIONS=y | 749 | CONFIG_CONSOLE_TRANSLATIONS=y |
703 | CONFIG_VT_CONSOLE=y | 750 | CONFIG_VT_CONSOLE=y |
@@ -715,6 +762,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
715 | # | 762 | # |
716 | # Non-8250 serial port support | 763 | # Non-8250 serial port support |
717 | # | 764 | # |
765 | # CONFIG_SERIAL_MAX3100 is not set | ||
718 | CONFIG_SERIAL_BFIN=y | 766 | CONFIG_SERIAL_BFIN=y |
719 | CONFIG_SERIAL_BFIN_CONSOLE=y | 767 | CONFIG_SERIAL_BFIN_CONSOLE=y |
720 | CONFIG_SERIAL_BFIN_DMA=y | 768 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -726,12 +774,10 @@ CONFIG_SERIAL_CORE=y | |||
726 | CONFIG_SERIAL_CORE_CONSOLE=y | 774 | CONFIG_SERIAL_CORE_CONSOLE=y |
727 | # CONFIG_SERIAL_BFIN_SPORT is not set | 775 | # CONFIG_SERIAL_BFIN_SPORT is not set |
728 | CONFIG_UNIX98_PTYS=y | 776 | CONFIG_UNIX98_PTYS=y |
777 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
729 | # CONFIG_LEGACY_PTYS is not set | 778 | # CONFIG_LEGACY_PTYS is not set |
730 | 779 | CONFIG_BFIN_OTP=y | |
731 | # | 780 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set |
732 | # CAN, the car bus and industrial fieldbus | ||
733 | # | ||
734 | # CONFIG_CAN4LINUX is not set | ||
735 | # CONFIG_IPMI_HANDLER is not set | 781 | # CONFIG_IPMI_HANDLER is not set |
736 | # CONFIG_HW_RANDOM is not set | 782 | # CONFIG_HW_RANDOM is not set |
737 | # CONFIG_R3964 is not set | 783 | # CONFIG_R3964 is not set |
@@ -739,6 +785,7 @@ CONFIG_UNIX98_PTYS=y | |||
739 | # CONFIG_TCG_TPM is not set | 785 | # CONFIG_TCG_TPM is not set |
740 | CONFIG_I2C=y | 786 | CONFIG_I2C=y |
741 | CONFIG_I2C_BOARDINFO=y | 787 | CONFIG_I2C_BOARDINFO=y |
788 | CONFIG_I2C_COMPAT=y | ||
742 | CONFIG_I2C_CHARDEV=y | 789 | CONFIG_I2C_CHARDEV=y |
743 | CONFIG_I2C_HELPER_AUTO=y | 790 | CONFIG_I2C_HELPER_AUTO=y |
744 | 791 | ||
@@ -771,14 +818,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
771 | # Miscellaneous I2C Chip support | 818 | # Miscellaneous I2C Chip support |
772 | # | 819 | # |
773 | # CONFIG_DS1682 is not set | 820 | # CONFIG_DS1682 is not set |
774 | # CONFIG_EEPROM_AT24 is not set | ||
775 | # CONFIG_SENSORS_AD5252 is not set | ||
776 | # CONFIG_EEPROM_LEGACY is not set | ||
777 | # CONFIG_SENSORS_PCF8574 is not set | ||
778 | # CONFIG_PCF8575 is not set | ||
779 | # CONFIG_SENSORS_PCA9539 is not set | ||
780 | # CONFIG_SENSORS_PCF8591 is not set | ||
781 | # CONFIG_SENSORS_MAX6875 is not set | ||
782 | # CONFIG_SENSORS_TSL2550 is not set | 821 | # CONFIG_SENSORS_TSL2550 is not set |
783 | # CONFIG_I2C_DEBUG_CORE is not set | 822 | # CONFIG_I2C_DEBUG_CORE is not set |
784 | # CONFIG_I2C_DEBUG_ALGO is not set | 823 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -795,13 +834,18 @@ CONFIG_SPI_BFIN=y | |||
795 | # CONFIG_SPI_BFIN_LOCK is not set | 834 | # CONFIG_SPI_BFIN_LOCK is not set |
796 | # CONFIG_SPI_BFIN_SPORT is not set | 835 | # CONFIG_SPI_BFIN_SPORT is not set |
797 | # CONFIG_SPI_BITBANG is not set | 836 | # CONFIG_SPI_BITBANG is not set |
837 | # CONFIG_SPI_GPIO is not set | ||
798 | 838 | ||
799 | # | 839 | # |
800 | # SPI Protocol Masters | 840 | # SPI Protocol Masters |
801 | # | 841 | # |
802 | # CONFIG_SPI_AT25 is not set | ||
803 | # CONFIG_SPI_SPIDEV is not set | 842 | # CONFIG_SPI_SPIDEV is not set |
804 | # CONFIG_SPI_TLE62X0 is not set | 843 | # CONFIG_SPI_TLE62X0 is not set |
844 | |||
845 | # | ||
846 | # PPS support | ||
847 | # | ||
848 | # CONFIG_PPS is not set | ||
805 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 849 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
806 | CONFIG_GPIOLIB=y | 850 | CONFIG_GPIOLIB=y |
807 | # CONFIG_DEBUG_GPIO is not set | 851 | # CONFIG_DEBUG_GPIO is not set |
@@ -817,6 +861,7 @@ CONFIG_GPIO_SYSFS=y | |||
817 | # CONFIG_GPIO_MAX732X is not set | 861 | # CONFIG_GPIO_MAX732X is not set |
818 | # CONFIG_GPIO_PCA953X is not set | 862 | # CONFIG_GPIO_PCA953X is not set |
819 | # CONFIG_GPIO_PCF857X is not set | 863 | # CONFIG_GPIO_PCF857X is not set |
864 | # CONFIG_GPIO_ADP5588 is not set | ||
820 | 865 | ||
821 | # | 866 | # |
822 | # PCI GPIO expanders: | 867 | # PCI GPIO expanders: |
@@ -827,11 +872,15 @@ CONFIG_GPIO_SYSFS=y | |||
827 | # | 872 | # |
828 | # CONFIG_GPIO_MAX7301 is not set | 873 | # CONFIG_GPIO_MAX7301 is not set |
829 | # CONFIG_GPIO_MCP23S08 is not set | 874 | # CONFIG_GPIO_MCP23S08 is not set |
875 | # CONFIG_GPIO_MC33880 is not set | ||
876 | |||
877 | # | ||
878 | # AC97 GPIO expanders: | ||
879 | # | ||
830 | # CONFIG_W1 is not set | 880 | # CONFIG_W1 is not set |
831 | # CONFIG_POWER_SUPPLY is not set | 881 | # CONFIG_POWER_SUPPLY is not set |
832 | # CONFIG_HWMON is not set | 882 | # CONFIG_HWMON is not set |
833 | # CONFIG_THERMAL is not set | 883 | # CONFIG_THERMAL is not set |
834 | # CONFIG_THERMAL_HWMON is not set | ||
835 | CONFIG_WATCHDOG=y | 884 | CONFIG_WATCHDOG=y |
836 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 885 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
837 | 886 | ||
@@ -853,28 +902,20 @@ CONFIG_SSB_POSSIBLE=y | |||
853 | # CONFIG_MFD_CORE is not set | 902 | # CONFIG_MFD_CORE is not set |
854 | # CONFIG_MFD_SM501 is not set | 903 | # CONFIG_MFD_SM501 is not set |
855 | # CONFIG_HTC_PASIC3 is not set | 904 | # CONFIG_HTC_PASIC3 is not set |
905 | # CONFIG_TPS65010 is not set | ||
906 | # CONFIG_TWL4030_CORE is not set | ||
856 | # CONFIG_MFD_TMIO is not set | 907 | # CONFIG_MFD_TMIO is not set |
857 | # CONFIG_PMIC_DA903X is not set | 908 | # CONFIG_PMIC_DA903X is not set |
858 | # CONFIG_PMIC_ADP5520 is not set | 909 | # CONFIG_PMIC_ADP5520 is not set |
859 | # CONFIG_MFD_WM8400 is not set | 910 | # CONFIG_MFD_WM8400 is not set |
911 | # CONFIG_MFD_WM831X is not set | ||
860 | # CONFIG_MFD_WM8350_I2C is not set | 912 | # CONFIG_MFD_WM8350_I2C is not set |
913 | # CONFIG_MFD_PCF50633 is not set | ||
914 | # CONFIG_MFD_MC13783 is not set | ||
915 | # CONFIG_AB3100_CORE is not set | ||
916 | # CONFIG_EZX_PCAP is not set | ||
861 | # CONFIG_REGULATOR is not set | 917 | # CONFIG_REGULATOR is not set |
862 | 918 | # CONFIG_MEDIA_SUPPORT is not set | |
863 | # | ||
864 | # Multimedia devices | ||
865 | # | ||
866 | |||
867 | # | ||
868 | # Multimedia core support | ||
869 | # | ||
870 | # CONFIG_VIDEO_DEV is not set | ||
871 | # CONFIG_DVB_CORE is not set | ||
872 | # CONFIG_VIDEO_MEDIA is not set | ||
873 | |||
874 | # | ||
875 | # Multimedia drivers | ||
876 | # | ||
877 | # CONFIG_DAB is not set | ||
878 | 919 | ||
879 | # | 920 | # |
880 | # Graphics support | 921 | # Graphics support |
@@ -912,10 +953,11 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
912 | # MMC/SD/SDIO Host Controller Drivers | 953 | # MMC/SD/SDIO Host Controller Drivers |
913 | # | 954 | # |
914 | # CONFIG_MMC_SDHCI is not set | 955 | # CONFIG_MMC_SDHCI is not set |
956 | # CONFIG_MMC_AT91 is not set | ||
957 | # CONFIG_MMC_ATMELMCI is not set | ||
958 | # CONFIG_MMC_SPI is not set | ||
915 | CONFIG_SDH_BFIN=m | 959 | CONFIG_SDH_BFIN=m |
916 | CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND=y | 960 | CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND=y |
917 | # CONFIG_SDH_BFIN_ENABLE_SDIO_IRQ is not set | ||
918 | # CONFIG_MMC_SPI is not set | ||
919 | # CONFIG_MEMSTICK is not set | 961 | # CONFIG_MEMSTICK is not set |
920 | # CONFIG_NEW_LEDS is not set | 962 | # CONFIG_NEW_LEDS is not set |
921 | # CONFIG_ACCESSIBILITY is not set | 963 | # CONFIG_ACCESSIBILITY is not set |
@@ -950,6 +992,7 @@ CONFIG_RTC_INTF_DEV=y | |||
950 | # CONFIG_RTC_DRV_S35390A is not set | 992 | # CONFIG_RTC_DRV_S35390A is not set |
951 | # CONFIG_RTC_DRV_FM3130 is not set | 993 | # CONFIG_RTC_DRV_FM3130 is not set |
952 | # CONFIG_RTC_DRV_RX8581 is not set | 994 | # CONFIG_RTC_DRV_RX8581 is not set |
995 | # CONFIG_RTC_DRV_RX8025 is not set | ||
953 | 996 | ||
954 | # | 997 | # |
955 | # SPI RTC drivers | 998 | # SPI RTC drivers |
@@ -961,6 +1004,7 @@ CONFIG_RTC_INTF_DEV=y | |||
961 | # CONFIG_RTC_DRV_R9701 is not set | 1004 | # CONFIG_RTC_DRV_R9701 is not set |
962 | # CONFIG_RTC_DRV_RS5C348 is not set | 1005 | # CONFIG_RTC_DRV_RS5C348 is not set |
963 | # CONFIG_RTC_DRV_DS3234 is not set | 1006 | # CONFIG_RTC_DRV_DS3234 is not set |
1007 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
964 | 1008 | ||
965 | # | 1009 | # |
966 | # Platform RTC drivers | 1010 | # Platform RTC drivers |
@@ -981,10 +1025,21 @@ CONFIG_RTC_INTF_DEV=y | |||
981 | # | 1025 | # |
982 | CONFIG_RTC_DRV_BFIN=y | 1026 | CONFIG_RTC_DRV_BFIN=y |
983 | # CONFIG_DMADEVICES is not set | 1027 | # CONFIG_DMADEVICES is not set |
1028 | # CONFIG_AUXDISPLAY is not set | ||
984 | # CONFIG_UIO is not set | 1029 | # CONFIG_UIO is not set |
1030 | |||
1031 | # | ||
1032 | # TI VLYNQ | ||
1033 | # | ||
985 | # CONFIG_STAGING is not set | 1034 | # CONFIG_STAGING is not set |
986 | 1035 | ||
987 | # | 1036 | # |
1037 | # Firmware Drivers | ||
1038 | # | ||
1039 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1040 | # CONFIG_SIGMA is not set | ||
1041 | |||
1042 | # | ||
988 | # File systems | 1043 | # File systems |
989 | # | 1044 | # |
990 | CONFIG_EXT2_FS=m | 1045 | CONFIG_EXT2_FS=m |
@@ -994,9 +1049,13 @@ CONFIG_EXT2_FS=m | |||
994 | # CONFIG_REISERFS_FS is not set | 1049 | # CONFIG_REISERFS_FS is not set |
995 | # CONFIG_JFS_FS is not set | 1050 | # CONFIG_JFS_FS is not set |
996 | # CONFIG_FS_POSIX_ACL is not set | 1051 | # CONFIG_FS_POSIX_ACL is not set |
997 | CONFIG_FILE_LOCKING=y | ||
998 | # CONFIG_XFS_FS is not set | 1052 | # CONFIG_XFS_FS is not set |
1053 | # CONFIG_GFS2_FS is not set | ||
999 | # CONFIG_OCFS2_FS is not set | 1054 | # CONFIG_OCFS2_FS is not set |
1055 | # CONFIG_BTRFS_FS is not set | ||
1056 | # CONFIG_NILFS2_FS is not set | ||
1057 | CONFIG_FILE_LOCKING=y | ||
1058 | CONFIG_FSNOTIFY=y | ||
1000 | # CONFIG_DNOTIFY is not set | 1059 | # CONFIG_DNOTIFY is not set |
1001 | CONFIG_INOTIFY=y | 1060 | CONFIG_INOTIFY=y |
1002 | CONFIG_INOTIFY_USER=y | 1061 | CONFIG_INOTIFY_USER=y |
@@ -1006,6 +1065,11 @@ CONFIG_INOTIFY_USER=y | |||
1006 | # CONFIG_FUSE_FS is not set | 1065 | # CONFIG_FUSE_FS is not set |
1007 | 1066 | ||
1008 | # | 1067 | # |
1068 | # Caches | ||
1069 | # | ||
1070 | # CONFIG_FSCACHE is not set | ||
1071 | |||
1072 | # | ||
1009 | # CD-ROM/DVD Filesystems | 1073 | # CD-ROM/DVD Filesystems |
1010 | # | 1074 | # |
1011 | # CONFIG_ISO9660_FS is not set | 1075 | # CONFIG_ISO9660_FS is not set |
@@ -1027,13 +1091,9 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1027 | CONFIG_PROC_FS=y | 1091 | CONFIG_PROC_FS=y |
1028 | CONFIG_PROC_SYSCTL=y | 1092 | CONFIG_PROC_SYSCTL=y |
1029 | CONFIG_SYSFS=y | 1093 | CONFIG_SYSFS=y |
1030 | # CONFIG_TMPFS is not set | ||
1031 | # CONFIG_HUGETLB_PAGE is not set | 1094 | # CONFIG_HUGETLB_PAGE is not set |
1032 | # CONFIG_CONFIGFS_FS is not set | 1095 | # CONFIG_CONFIGFS_FS is not set |
1033 | 1096 | CONFIG_MISC_FILESYSTEMS=y | |
1034 | # | ||
1035 | # Miscellaneous filesystems | ||
1036 | # | ||
1037 | # CONFIG_ADFS_FS is not set | 1097 | # CONFIG_ADFS_FS is not set |
1038 | # CONFIG_AFFS_FS is not set | 1098 | # CONFIG_AFFS_FS is not set |
1039 | # CONFIG_HFS_FS is not set | 1099 | # CONFIG_HFS_FS is not set |
@@ -1042,8 +1102,8 @@ CONFIG_SYSFS=y | |||
1042 | # CONFIG_BFS_FS is not set | 1102 | # CONFIG_BFS_FS is not set |
1043 | # CONFIG_EFS_FS is not set | 1103 | # CONFIG_EFS_FS is not set |
1044 | # CONFIG_JFFS2_FS is not set | 1104 | # CONFIG_JFFS2_FS is not set |
1045 | # CONFIG_YAFFS_FS is not set | ||
1046 | # CONFIG_CRAMFS is not set | 1105 | # CONFIG_CRAMFS is not set |
1106 | # CONFIG_SQUASHFS is not set | ||
1047 | # CONFIG_VXFS_FS is not set | 1107 | # CONFIG_VXFS_FS is not set |
1048 | # CONFIG_MINIX_FS is not set | 1108 | # CONFIG_MINIX_FS is not set |
1049 | # CONFIG_OMFS_FS is not set | 1109 | # CONFIG_OMFS_FS is not set |
@@ -1062,7 +1122,6 @@ CONFIG_LOCKD=m | |||
1062 | CONFIG_LOCKD_V4=y | 1122 | CONFIG_LOCKD_V4=y |
1063 | CONFIG_NFS_COMMON=y | 1123 | CONFIG_NFS_COMMON=y |
1064 | CONFIG_SUNRPC=m | 1124 | CONFIG_SUNRPC=m |
1065 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1066 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1125 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1067 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1126 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1068 | CONFIG_SMB_FS=m | 1127 | CONFIG_SMB_FS=m |
@@ -1127,14 +1186,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1127 | CONFIG_ENABLE_MUST_CHECK=y | 1186 | CONFIG_ENABLE_MUST_CHECK=y |
1128 | CONFIG_FRAME_WARN=1024 | 1187 | CONFIG_FRAME_WARN=1024 |
1129 | # CONFIG_MAGIC_SYSRQ is not set | 1188 | # CONFIG_MAGIC_SYSRQ is not set |
1189 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1130 | # CONFIG_UNUSED_SYMBOLS is not set | 1190 | # CONFIG_UNUSED_SYMBOLS is not set |
1131 | CONFIG_DEBUG_FS=y | 1191 | CONFIG_DEBUG_FS=y |
1132 | # CONFIG_HEADERS_CHECK is not set | 1192 | # CONFIG_HEADERS_CHECK is not set |
1193 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1133 | CONFIG_DEBUG_KERNEL=y | 1194 | CONFIG_DEBUG_KERNEL=y |
1134 | CONFIG_DEBUG_SHIRQ=y | 1195 | CONFIG_DEBUG_SHIRQ=y |
1135 | CONFIG_DETECT_SOFTLOCKUP=y | 1196 | CONFIG_DETECT_SOFTLOCKUP=y |
1136 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1197 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1137 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1198 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1199 | CONFIG_DETECT_HUNG_TASK=y | ||
1200 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1201 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1138 | CONFIG_SCHED_DEBUG=y | 1202 | CONFIG_SCHED_DEBUG=y |
1139 | # CONFIG_SCHEDSTATS is not set | 1203 | # CONFIG_SCHEDSTATS is not set |
1140 | # CONFIG_TIMER_STATS is not set | 1204 | # CONFIG_TIMER_STATS is not set |
@@ -1142,31 +1206,39 @@ CONFIG_SCHED_DEBUG=y | |||
1142 | # CONFIG_DEBUG_SLAB is not set | 1206 | # CONFIG_DEBUG_SLAB is not set |
1143 | # CONFIG_DEBUG_SPINLOCK is not set | 1207 | # CONFIG_DEBUG_SPINLOCK is not set |
1144 | # CONFIG_DEBUG_MUTEXES is not set | 1208 | # CONFIG_DEBUG_MUTEXES is not set |
1209 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1210 | # CONFIG_PROVE_LOCKING is not set | ||
1211 | # CONFIG_LOCK_STAT is not set | ||
1145 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1212 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1146 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1213 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1147 | # CONFIG_DEBUG_KOBJECT is not set | 1214 | # CONFIG_DEBUG_KOBJECT is not set |
1148 | CONFIG_DEBUG_BUGVERBOSE=y | 1215 | CONFIG_DEBUG_BUGVERBOSE=y |
1149 | CONFIG_DEBUG_INFO=y | 1216 | CONFIG_DEBUG_INFO=y |
1150 | # CONFIG_DEBUG_VM is not set | 1217 | # CONFIG_DEBUG_VM is not set |
1218 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1151 | # CONFIG_DEBUG_WRITECOUNT is not set | 1219 | # CONFIG_DEBUG_WRITECOUNT is not set |
1152 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1220 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1153 | # CONFIG_DEBUG_LIST is not set | 1221 | # CONFIG_DEBUG_LIST is not set |
1154 | # CONFIG_DEBUG_SG is not set | 1222 | # CONFIG_DEBUG_SG is not set |
1223 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1224 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1155 | # CONFIG_FRAME_POINTER is not set | 1225 | # CONFIG_FRAME_POINTER is not set |
1156 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1226 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1157 | # CONFIG_RCU_TORTURE_TEST is not set | 1227 | # CONFIG_RCU_TORTURE_TEST is not set |
1158 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1228 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1159 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1229 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1160 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1230 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1231 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1161 | # CONFIG_FAULT_INJECTION is not set | 1232 | # CONFIG_FAULT_INJECTION is not set |
1162 | 1233 | # CONFIG_PAGE_POISONING is not set | |
1163 | # | 1234 | CONFIG_HAVE_FUNCTION_TRACER=y |
1164 | # Tracers | 1235 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1165 | # | 1236 | CONFIG_TRACING_SUPPORT=y |
1166 | # CONFIG_SCHED_TRACER is not set | 1237 | # CONFIG_FTRACE is not set |
1167 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1238 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1168 | # CONFIG_BOOT_TRACER is not set | 1239 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1169 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1240 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1241 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1170 | # CONFIG_SAMPLES is not set | 1242 | # CONFIG_SAMPLES is not set |
1171 | CONFIG_HAVE_ARCH_KGDB=y | 1243 | CONFIG_HAVE_ARCH_KGDB=y |
1172 | # CONFIG_KGDB is not set | 1244 | # CONFIG_KGDB is not set |
@@ -1191,6 +1263,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1191 | CONFIG_EARLY_PRINTK=y | 1263 | CONFIG_EARLY_PRINTK=y |
1192 | CONFIG_CPLB_INFO=y | 1264 | CONFIG_CPLB_INFO=y |
1193 | CONFIG_ACCESS_CHECK=y | 1265 | CONFIG_ACCESS_CHECK=y |
1266 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1194 | 1267 | ||
1195 | # | 1268 | # |
1196 | # Security options | 1269 | # Security options |
@@ -1199,14 +1272,14 @@ CONFIG_ACCESS_CHECK=y | |||
1199 | CONFIG_SECURITY=y | 1272 | CONFIG_SECURITY=y |
1200 | # CONFIG_SECURITYFS is not set | 1273 | # CONFIG_SECURITYFS is not set |
1201 | # CONFIG_SECURITY_NETWORK is not set | 1274 | # CONFIG_SECURITY_NETWORK is not set |
1275 | # CONFIG_SECURITY_PATH is not set | ||
1202 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1276 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1203 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1277 | # CONFIG_SECURITY_TOMOYO is not set |
1204 | CONFIG_CRYPTO=y | 1278 | CONFIG_CRYPTO=y |
1205 | 1279 | ||
1206 | # | 1280 | # |
1207 | # Crypto core or helper | 1281 | # Crypto core or helper |
1208 | # | 1282 | # |
1209 | # CONFIG_CRYPTO_FIPS is not set | ||
1210 | # CONFIG_CRYPTO_MANAGER is not set | 1283 | # CONFIG_CRYPTO_MANAGER is not set |
1211 | # CONFIG_CRYPTO_MANAGER2 is not set | 1284 | # CONFIG_CRYPTO_MANAGER2 is not set |
1212 | # CONFIG_CRYPTO_GF128MUL is not set | 1285 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1238,11 +1311,13 @@ CONFIG_CRYPTO=y | |||
1238 | # | 1311 | # |
1239 | # CONFIG_CRYPTO_HMAC is not set | 1312 | # CONFIG_CRYPTO_HMAC is not set |
1240 | # CONFIG_CRYPTO_XCBC is not set | 1313 | # CONFIG_CRYPTO_XCBC is not set |
1314 | # CONFIG_CRYPTO_VMAC is not set | ||
1241 | 1315 | ||
1242 | # | 1316 | # |
1243 | # Digest | 1317 | # Digest |
1244 | # | 1318 | # |
1245 | # CONFIG_CRYPTO_CRC32C is not set | 1319 | # CONFIG_CRYPTO_CRC32C is not set |
1320 | # CONFIG_CRYPTO_GHASH is not set | ||
1246 | # CONFIG_CRYPTO_MD4 is not set | 1321 | # CONFIG_CRYPTO_MD4 is not set |
1247 | # CONFIG_CRYPTO_MD5 is not set | 1322 | # CONFIG_CRYPTO_MD5 is not set |
1248 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1323 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1279,6 +1354,7 @@ CONFIG_CRYPTO=y | |||
1279 | # Compression | 1354 | # Compression |
1280 | # | 1355 | # |
1281 | # CONFIG_CRYPTO_DEFLATE is not set | 1356 | # CONFIG_CRYPTO_DEFLATE is not set |
1357 | # CONFIG_CRYPTO_ZLIB is not set | ||
1282 | # CONFIG_CRYPTO_LZO is not set | 1358 | # CONFIG_CRYPTO_LZO is not set |
1283 | 1359 | ||
1284 | # | 1360 | # |
@@ -1286,11 +1362,13 @@ CONFIG_CRYPTO=y | |||
1286 | # | 1362 | # |
1287 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1363 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1288 | CONFIG_CRYPTO_HW=y | 1364 | CONFIG_CRYPTO_HW=y |
1365 | # CONFIG_BINARY_PRINTF is not set | ||
1289 | 1366 | ||
1290 | # | 1367 | # |
1291 | # Library routines | 1368 | # Library routines |
1292 | # | 1369 | # |
1293 | CONFIG_BITREVERSE=y | 1370 | CONFIG_BITREVERSE=y |
1371 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1294 | CONFIG_CRC_CCITT=m | 1372 | CONFIG_CRC_CCITT=m |
1295 | # CONFIG_CRC16 is not set | 1373 | # CONFIG_CRC16 is not set |
1296 | # CONFIG_CRC_T10DIF is not set | 1374 | # CONFIG_CRC_T10DIF is not set |
@@ -1299,6 +1377,8 @@ CONFIG_CRC32=y | |||
1299 | # CONFIG_CRC7 is not set | 1377 | # CONFIG_CRC7 is not set |
1300 | # CONFIG_LIBCRC32C is not set | 1378 | # CONFIG_LIBCRC32C is not set |
1301 | CONFIG_ZLIB_INFLATE=y | 1379 | CONFIG_ZLIB_INFLATE=y |
1380 | CONFIG_DECOMPRESS_GZIP=y | ||
1302 | CONFIG_HAS_IOMEM=y | 1381 | CONFIG_HAS_IOMEM=y |
1303 | CONFIG_HAS_IOPORT=y | 1382 | CONFIG_HAS_IOPORT=y |
1304 | CONFIG_HAS_DMA=y | 1383 | CONFIG_HAS_DMA=y |
1384 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF526-EZBRD_defconfig b/arch/blackfin/configs/BF526-EZBRD_defconfig index 075e0fdcb399..31c2a6db6ec5 100644 --- a/arch/blackfin/configs/BF526-EZBRD_defconfig +++ b/arch/blackfin/configs/BF526-EZBRD_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_IOSCHED_NOOP=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | CONFIG_DEFAULT_NOOP=y | 131 | CONFIG_DEFAULT_NOOP=y |
103 | CONFIG_DEFAULT_IOSCHED="noop" | 132 | CONFIG_DEFAULT_IOSCHED="noop" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_BF526=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=0 | 174 | CONFIG_BF_REV_MIN=0 |
@@ -154,8 +182,7 @@ CONFIG_BF_REV_0_0=y | |||
154 | # CONFIG_BF_REV_0_6 is not set | 182 | # CONFIG_BF_REV_0_6 is not set |
155 | # CONFIG_BF_REV_ANY is not set | 183 | # CONFIG_BF_REV_ANY is not set |
156 | # CONFIG_BF_REV_NONE is not set | 184 | # CONFIG_BF_REV_NONE is not set |
157 | CONFIG_BF52x=y | 185 | CONFIG_MEM_MT48H32M16LFCJ_75=y |
158 | CONFIG_MEM_MT48LC32M16A2TG_75=y | ||
159 | CONFIG_IRQ_PLL_WAKEUP=7 | 186 | CONFIG_IRQ_PLL_WAKEUP=7 |
160 | CONFIG_IRQ_DMA0_ERROR=7 | 187 | CONFIG_IRQ_DMA0_ERROR=7 |
161 | CONFIG_IRQ_DMAR0_BLK=7 | 188 | CONFIG_IRQ_DMAR0_BLK=7 |
@@ -200,7 +227,9 @@ CONFIG_IRQ_MEM_DMA1=13 | |||
200 | CONFIG_IRQ_WATCH=13 | 227 | CONFIG_IRQ_WATCH=13 |
201 | CONFIG_IRQ_PORTF_INTA=13 | 228 | CONFIG_IRQ_PORTF_INTA=13 |
202 | CONFIG_IRQ_PORTF_INTB=13 | 229 | CONFIG_IRQ_PORTF_INTB=13 |
230 | CONFIG_BF52x=y | ||
203 | # CONFIG_BFIN527_EZKIT is not set | 231 | # CONFIG_BFIN527_EZKIT is not set |
232 | # CONFIG_BFIN527_EZKIT_V2 is not set | ||
204 | # CONFIG_BFIN527_BLUETECHNIX_CM is not set | 233 | # CONFIG_BFIN527_BLUETECHNIX_CM is not set |
205 | CONFIG_BFIN526_EZBRD=y | 234 | CONFIG_BFIN526_EZBRD=y |
206 | 235 | ||
@@ -318,7 +347,6 @@ CONFIG_FLATMEM=y | |||
318 | CONFIG_FLAT_NODE_MEM_MAP=y | 347 | CONFIG_FLAT_NODE_MEM_MAP=y |
319 | CONFIG_PAGEFLAGS_EXTENDED=y | 348 | CONFIG_PAGEFLAGS_EXTENDED=y |
320 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 349 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
321 | # CONFIG_RESOURCES_64BIT is not set | ||
322 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 350 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
323 | CONFIG_ZONE_DMA_FLAG=1 | 351 | CONFIG_ZONE_DMA_FLAG=1 |
324 | CONFIG_VIRT_TO_BUS=y | 352 | CONFIG_VIRT_TO_BUS=y |
@@ -327,16 +355,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
327 | # CONFIG_DMA_UNCACHED_4M is not set | 355 | # CONFIG_DMA_UNCACHED_4M is not set |
328 | # CONFIG_DMA_UNCACHED_2M is not set | 356 | # CONFIG_DMA_UNCACHED_2M is not set |
329 | CONFIG_DMA_UNCACHED_1M=y | 357 | CONFIG_DMA_UNCACHED_1M=y |
358 | # CONFIG_DMA_UNCACHED_512K is not set | ||
359 | # CONFIG_DMA_UNCACHED_256K is not set | ||
360 | # CONFIG_DMA_UNCACHED_128K is not set | ||
330 | # CONFIG_DMA_UNCACHED_NONE is not set | 361 | # CONFIG_DMA_UNCACHED_NONE is not set |
331 | 362 | ||
332 | # | 363 | # |
333 | # Cache Support | 364 | # Cache Support |
334 | # | 365 | # |
335 | CONFIG_BFIN_ICACHE=y | 366 | CONFIG_BFIN_ICACHE=y |
336 | # CONFIG_BFIN_ICACHE_LOCK is not set | 367 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
337 | CONFIG_BFIN_DCACHE=y | 368 | CONFIG_BFIN_DCACHE=y |
338 | # CONFIG_BFIN_DCACHE_BANKA is not set | 369 | # CONFIG_BFIN_DCACHE_BANKA is not set |
339 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
340 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 370 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
341 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 371 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
342 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 372 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -347,6 +377,10 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
347 | # CONFIG_MPU is not set | 377 | # CONFIG_MPU is not set |
348 | 378 | ||
349 | # | 379 | # |
380 | # Asynchronous Memory Configuration | ||
381 | # | ||
382 | |||
383 | # | ||
350 | # EBIU_AMGCTL Global Control | 384 | # EBIU_AMGCTL Global Control |
351 | # | 385 | # |
352 | CONFIG_C_AMCKEN=y | 386 | CONFIG_C_AMCKEN=y |
@@ -399,11 +433,6 @@ CONFIG_NET=y | |||
399 | CONFIG_PACKET=y | 433 | CONFIG_PACKET=y |
400 | # CONFIG_PACKET_MMAP is not set | 434 | # CONFIG_PACKET_MMAP is not set |
401 | CONFIG_UNIX=y | 435 | CONFIG_UNIX=y |
402 | CONFIG_XFRM=y | ||
403 | # CONFIG_XFRM_USER is not set | ||
404 | # CONFIG_XFRM_SUB_POLICY is not set | ||
405 | # CONFIG_XFRM_MIGRATE is not set | ||
406 | # CONFIG_XFRM_STATISTICS is not set | ||
407 | # CONFIG_NET_KEY is not set | 436 | # CONFIG_NET_KEY is not set |
408 | CONFIG_INET=y | 437 | CONFIG_INET=y |
409 | # CONFIG_IP_MULTICAST is not set | 438 | # CONFIG_IP_MULTICAST is not set |
@@ -427,7 +456,6 @@ CONFIG_IP_PNP=y | |||
427 | # CONFIG_INET_XFRM_MODE_BEET is not set | 456 | # CONFIG_INET_XFRM_MODE_BEET is not set |
428 | # CONFIG_INET_LRO is not set | 457 | # CONFIG_INET_LRO is not set |
429 | # CONFIG_INET_DIAG is not set | 458 | # CONFIG_INET_DIAG is not set |
430 | CONFIG_INET_TCP_DIAG=y | ||
431 | # CONFIG_TCP_CONG_ADVANCED is not set | 459 | # CONFIG_TCP_CONG_ADVANCED is not set |
432 | CONFIG_TCP_CONG_CUBIC=y | 460 | CONFIG_TCP_CONG_CUBIC=y |
433 | CONFIG_DEFAULT_TCP_CONG="cubic" | 461 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -438,6 +466,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
438 | # CONFIG_NETFILTER is not set | 466 | # CONFIG_NETFILTER is not set |
439 | # CONFIG_IP_DCCP is not set | 467 | # CONFIG_IP_DCCP is not set |
440 | # CONFIG_IP_SCTP is not set | 468 | # CONFIG_IP_SCTP is not set |
469 | # CONFIG_RDS is not set | ||
441 | # CONFIG_TIPC is not set | 470 | # CONFIG_TIPC is not set |
442 | # CONFIG_ATM is not set | 471 | # CONFIG_ATM is not set |
443 | # CONFIG_BRIDGE is not set | 472 | # CONFIG_BRIDGE is not set |
@@ -451,7 +480,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
451 | # CONFIG_LAPB is not set | 480 | # CONFIG_LAPB is not set |
452 | # CONFIG_ECONET is not set | 481 | # CONFIG_ECONET is not set |
453 | # CONFIG_WAN_ROUTER is not set | 482 | # CONFIG_WAN_ROUTER is not set |
483 | # CONFIG_PHONET is not set | ||
484 | # CONFIG_IEEE802154 is not set | ||
454 | # CONFIG_NET_SCHED is not set | 485 | # CONFIG_NET_SCHED is not set |
486 | # CONFIG_DCB is not set | ||
455 | 487 | ||
456 | # | 488 | # |
457 | # Network testing | 489 | # Network testing |
@@ -462,13 +494,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
462 | # CONFIG_IRDA is not set | 494 | # CONFIG_IRDA is not set |
463 | # CONFIG_BT is not set | 495 | # CONFIG_BT is not set |
464 | # CONFIG_AF_RXRPC is not set | 496 | # CONFIG_AF_RXRPC is not set |
465 | # CONFIG_PHONET is not set | 497 | # CONFIG_WIRELESS is not set |
466 | CONFIG_WIRELESS=y | 498 | # CONFIG_WIMAX is not set |
467 | # CONFIG_CFG80211 is not set | ||
468 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
469 | # CONFIG_WIRELESS_EXT is not set | ||
470 | # CONFIG_MAC80211 is not set | ||
471 | # CONFIG_IEEE80211 is not set | ||
472 | # CONFIG_RFKILL is not set | 499 | # CONFIG_RFKILL is not set |
473 | # CONFIG_NET_9P is not set | 500 | # CONFIG_NET_9P is not set |
474 | 501 | ||
@@ -489,6 +516,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
489 | # CONFIG_CONNECTOR is not set | 516 | # CONFIG_CONNECTOR is not set |
490 | CONFIG_MTD=y | 517 | CONFIG_MTD=y |
491 | # CONFIG_MTD_DEBUG is not set | 518 | # CONFIG_MTD_DEBUG is not set |
519 | # CONFIG_MTD_TESTS is not set | ||
492 | # CONFIG_MTD_CONCAT is not set | 520 | # CONFIG_MTD_CONCAT is not set |
493 | CONFIG_MTD_PARTITIONS=y | 521 | CONFIG_MTD_PARTITIONS=y |
494 | # CONFIG_MTD_REDBOOT_PARTS is not set | 522 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -549,6 +577,7 @@ CONFIG_MTD_PHYSMAP=y | |||
549 | # CONFIG_MTD_DATAFLASH is not set | 577 | # CONFIG_MTD_DATAFLASH is not set |
550 | CONFIG_MTD_M25P80=y | 578 | CONFIG_MTD_M25P80=y |
551 | CONFIG_M25PXX_USE_FAST_READ=y | 579 | CONFIG_M25PXX_USE_FAST_READ=y |
580 | # CONFIG_MTD_SST25L is not set | ||
552 | # CONFIG_MTD_SLRAM is not set | 581 | # CONFIG_MTD_SLRAM is not set |
553 | # CONFIG_MTD_PHRAM is not set | 582 | # CONFIG_MTD_PHRAM is not set |
554 | # CONFIG_MTD_MTDRAM is not set | 583 | # CONFIG_MTD_MTDRAM is not set |
@@ -564,11 +593,6 @@ CONFIG_MTD_NAND=m | |||
564 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 593 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
565 | # CONFIG_MTD_NAND_ECC_SMC is not set | 594 | # CONFIG_MTD_NAND_ECC_SMC is not set |
566 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 595 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
567 | CONFIG_MTD_NAND_BFIN=m | ||
568 | CONFIG_BFIN_NAND_BASE=0x20212000 | ||
569 | CONFIG_BFIN_NAND_CLE=2 | ||
570 | CONFIG_BFIN_NAND_ALE=1 | ||
571 | CONFIG_BFIN_NAND_READY=3 | ||
572 | CONFIG_MTD_NAND_IDS=m | 596 | CONFIG_MTD_NAND_IDS=m |
573 | # CONFIG_MTD_NAND_BF5XX is not set | 597 | # CONFIG_MTD_NAND_BF5XX is not set |
574 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 598 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
@@ -578,6 +602,11 @@ CONFIG_MTD_NAND_IDS=m | |||
578 | # CONFIG_MTD_ONENAND is not set | 602 | # CONFIG_MTD_ONENAND is not set |
579 | 603 | ||
580 | # | 604 | # |
605 | # LPDDR flash memory drivers | ||
606 | # | ||
607 | # CONFIG_MTD_LPDDR is not set | ||
608 | |||
609 | # | ||
581 | # UBI - Unsorted block images | 610 | # UBI - Unsorted block images |
582 | # | 611 | # |
583 | # CONFIG_MTD_UBI is not set | 612 | # CONFIG_MTD_UBI is not set |
@@ -595,10 +624,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
595 | # CONFIG_ATA_OVER_ETH is not set | 624 | # CONFIG_ATA_OVER_ETH is not set |
596 | # CONFIG_BLK_DEV_HD is not set | 625 | # CONFIG_BLK_DEV_HD is not set |
597 | CONFIG_MISC_DEVICES=y | 626 | CONFIG_MISC_DEVICES=y |
598 | # CONFIG_EEPROM_93CX6 is not set | 627 | # CONFIG_AD525X_DPOT is not set |
599 | # CONFIG_ICS932S401 is not set | 628 | # CONFIG_ICS932S401 is not set |
600 | # CONFIG_ENCLOSURE_SERVICES is not set | 629 | # CONFIG_ENCLOSURE_SERVICES is not set |
630 | # CONFIG_ISL29003 is not set | ||
601 | # CONFIG_C2PORT is not set | 631 | # CONFIG_C2PORT is not set |
632 | |||
633 | # | ||
634 | # EEPROM support | ||
635 | # | ||
636 | # CONFIG_EEPROM_AT24 is not set | ||
637 | # CONFIG_EEPROM_AT25 is not set | ||
638 | # CONFIG_EEPROM_LEGACY is not set | ||
639 | # CONFIG_EEPROM_MAX6875 is not set | ||
640 | # CONFIG_EEPROM_93CX6 is not set | ||
602 | CONFIG_HAVE_IDE=y | 641 | CONFIG_HAVE_IDE=y |
603 | # CONFIG_IDE is not set | 642 | # CONFIG_IDE is not set |
604 | 643 | ||
@@ -622,10 +661,6 @@ CONFIG_BLK_DEV_SR=m | |||
622 | # CONFIG_BLK_DEV_SR_VENDOR is not set | 661 | # CONFIG_BLK_DEV_SR_VENDOR is not set |
623 | # CONFIG_CHR_DEV_SG is not set | 662 | # CONFIG_CHR_DEV_SG is not set |
624 | # CONFIG_CHR_DEV_SCH is not set | 663 | # CONFIG_CHR_DEV_SCH is not set |
625 | |||
626 | # | ||
627 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
628 | # | ||
629 | # CONFIG_SCSI_MULTI_LUN is not set | 664 | # CONFIG_SCSI_MULTI_LUN is not set |
630 | # CONFIG_SCSI_CONSTANTS is not set | 665 | # CONFIG_SCSI_CONSTANTS is not set |
631 | # CONFIG_SCSI_LOGGING is not set | 666 | # CONFIG_SCSI_LOGGING is not set |
@@ -642,6 +677,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
642 | # CONFIG_SCSI_SRP_ATTRS is not set | 677 | # CONFIG_SCSI_SRP_ATTRS is not set |
643 | # CONFIG_SCSI_LOWLEVEL is not set | 678 | # CONFIG_SCSI_LOWLEVEL is not set |
644 | # CONFIG_SCSI_DH is not set | 679 | # CONFIG_SCSI_DH is not set |
680 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
645 | # CONFIG_ATA is not set | 681 | # CONFIG_ATA is not set |
646 | # CONFIG_MD is not set | 682 | # CONFIG_MD is not set |
647 | CONFIG_NETDEVICES=y | 683 | CONFIG_NETDEVICES=y |
@@ -666,6 +702,9 @@ CONFIG_PHYLIB=y | |||
666 | # CONFIG_BROADCOM_PHY is not set | 702 | # CONFIG_BROADCOM_PHY is not set |
667 | # CONFIG_ICPLUS_PHY is not set | 703 | # CONFIG_ICPLUS_PHY is not set |
668 | # CONFIG_REALTEK_PHY is not set | 704 | # CONFIG_REALTEK_PHY is not set |
705 | # CONFIG_NATIONAL_PHY is not set | ||
706 | # CONFIG_STE10XP is not set | ||
707 | # CONFIG_LSI_ET1011C_PHY is not set | ||
669 | # CONFIG_FIXED_PHY is not set | 708 | # CONFIG_FIXED_PHY is not set |
670 | # CONFIG_MDIO_BITBANG is not set | 709 | # CONFIG_MDIO_BITBANG is not set |
671 | CONFIG_NET_ETHERNET=y | 710 | CONFIG_NET_ETHERNET=y |
@@ -675,9 +714,12 @@ CONFIG_BFIN_TX_DESC_NUM=10 | |||
675 | CONFIG_BFIN_RX_DESC_NUM=20 | 714 | CONFIG_BFIN_RX_DESC_NUM=20 |
676 | CONFIG_BFIN_MAC_RMII=y | 715 | CONFIG_BFIN_MAC_RMII=y |
677 | # CONFIG_SMC91X is not set | 716 | # CONFIG_SMC91X is not set |
678 | # CONFIG_SMSC911X is not set | ||
679 | # CONFIG_DM9000 is not set | 717 | # CONFIG_DM9000 is not set |
680 | # CONFIG_ENC28J60 is not set | 718 | # CONFIG_ENC28J60 is not set |
719 | # CONFIG_ETHOC is not set | ||
720 | # CONFIG_SMSC911X is not set | ||
721 | # CONFIG_DNET is not set | ||
722 | # CONFIG_ADF702X is not set | ||
681 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 723 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
682 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 724 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
683 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 725 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -686,15 +728,16 @@ CONFIG_BFIN_MAC_RMII=y | |||
686 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 728 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
687 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 729 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
688 | # CONFIG_B44 is not set | 730 | # CONFIG_B44 is not set |
731 | # CONFIG_KS8842 is not set | ||
732 | # CONFIG_KS8851 is not set | ||
733 | # CONFIG_KS8851_MLL is not set | ||
689 | # CONFIG_NETDEV_1000 is not set | 734 | # CONFIG_NETDEV_1000 is not set |
690 | # CONFIG_NETDEV_10000 is not set | 735 | # CONFIG_NETDEV_10000 is not set |
736 | # CONFIG_WLAN is not set | ||
691 | 737 | ||
692 | # | 738 | # |
693 | # Wireless LAN | 739 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
694 | # | 740 | # |
695 | # CONFIG_WLAN_PRE80211 is not set | ||
696 | # CONFIG_WLAN_80211 is not set | ||
697 | # CONFIG_IWLWIFI_LEDS is not set | ||
698 | 741 | ||
699 | # | 742 | # |
700 | # USB Network Adapters | 743 | # USB Network Adapters |
@@ -744,7 +787,11 @@ CONFIG_INPUT_MISC=y | |||
744 | # CONFIG_INPUT_YEALINK is not set | 787 | # CONFIG_INPUT_YEALINK is not set |
745 | # CONFIG_INPUT_CM109 is not set | 788 | # CONFIG_INPUT_CM109 is not set |
746 | # CONFIG_INPUT_UINPUT is not set | 789 | # CONFIG_INPUT_UINPUT is not set |
747 | # CONFIG_CONFIG_INPUT_PCF8574 is not set | 790 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
791 | # CONFIG_INPUT_BFIN_ROTARY is not set | ||
792 | # CONFIG_INPUT_AD714X is not set | ||
793 | # CONFIG_INPUT_ADXL34X is not set | ||
794 | # CONFIG_INPUT_PCF8574 is not set | ||
748 | 795 | ||
749 | # | 796 | # |
750 | # Hardware I/O ports | 797 | # Hardware I/O ports |
@@ -755,16 +802,13 @@ CONFIG_INPUT_MISC=y | |||
755 | # | 802 | # |
756 | # Character devices | 803 | # Character devices |
757 | # | 804 | # |
758 | # CONFIG_AD9960 is not set | ||
759 | CONFIG_BFIN_DMA_INTERFACE=m | 805 | CONFIG_BFIN_DMA_INTERFACE=m |
760 | # CONFIG_BFIN_PPI is not set | 806 | # CONFIG_BFIN_PPI is not set |
761 | # CONFIG_BFIN_PPIFCD is not set | 807 | # CONFIG_BFIN_PPIFCD is not set |
762 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 808 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
763 | # CONFIG_BFIN_SPI_ADC is not set | 809 | # CONFIG_BFIN_SPI_ADC is not set |
764 | # CONFIG_BFIN_SPORT is not set | 810 | # CONFIG_BFIN_SPORT is not set |
765 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
766 | # CONFIG_BFIN_TWI_LCD is not set | 811 | # CONFIG_BFIN_TWI_LCD is not set |
767 | CONFIG_SIMPLE_GPIO=m | ||
768 | CONFIG_VT=y | 812 | CONFIG_VT=y |
769 | CONFIG_CONSOLE_TRANSLATIONS=y | 813 | CONFIG_CONSOLE_TRANSLATIONS=y |
770 | CONFIG_VT_CONSOLE=y | 814 | CONFIG_VT_CONSOLE=y |
@@ -782,6 +826,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
782 | # | 826 | # |
783 | # Non-8250 serial port support | 827 | # Non-8250 serial port support |
784 | # | 828 | # |
829 | # CONFIG_SERIAL_MAX3100 is not set | ||
785 | CONFIG_SERIAL_BFIN=y | 830 | CONFIG_SERIAL_BFIN=y |
786 | CONFIG_SERIAL_BFIN_CONSOLE=y | 831 | CONFIG_SERIAL_BFIN_CONSOLE=y |
787 | CONFIG_SERIAL_BFIN_DMA=y | 832 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -793,14 +838,10 @@ CONFIG_SERIAL_CORE=y | |||
793 | CONFIG_SERIAL_CORE_CONSOLE=y | 838 | CONFIG_SERIAL_CORE_CONSOLE=y |
794 | # CONFIG_SERIAL_BFIN_SPORT is not set | 839 | # CONFIG_SERIAL_BFIN_SPORT is not set |
795 | CONFIG_UNIX98_PTYS=y | 840 | CONFIG_UNIX98_PTYS=y |
841 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
796 | # CONFIG_LEGACY_PTYS is not set | 842 | # CONFIG_LEGACY_PTYS is not set |
797 | CONFIG_BFIN_OTP=y | 843 | CONFIG_BFIN_OTP=y |
798 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | 844 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set |
799 | |||
800 | # | ||
801 | # CAN, the car bus and industrial fieldbus | ||
802 | # | ||
803 | # CONFIG_CAN4LINUX is not set | ||
804 | # CONFIG_IPMI_HANDLER is not set | 845 | # CONFIG_IPMI_HANDLER is not set |
805 | # CONFIG_HW_RANDOM is not set | 846 | # CONFIG_HW_RANDOM is not set |
806 | # CONFIG_R3964 is not set | 847 | # CONFIG_R3964 is not set |
@@ -808,6 +849,7 @@ CONFIG_BFIN_OTP=y | |||
808 | # CONFIG_TCG_TPM is not set | 849 | # CONFIG_TCG_TPM is not set |
809 | CONFIG_I2C=y | 850 | CONFIG_I2C=y |
810 | CONFIG_I2C_BOARDINFO=y | 851 | CONFIG_I2C_BOARDINFO=y |
852 | CONFIG_I2C_COMPAT=y | ||
811 | CONFIG_I2C_CHARDEV=m | 853 | CONFIG_I2C_CHARDEV=m |
812 | CONFIG_I2C_HELPER_AUTO=y | 854 | CONFIG_I2C_HELPER_AUTO=y |
813 | 855 | ||
@@ -841,14 +883,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
841 | # Miscellaneous I2C Chip support | 883 | # Miscellaneous I2C Chip support |
842 | # | 884 | # |
843 | # CONFIG_DS1682 is not set | 885 | # CONFIG_DS1682 is not set |
844 | # CONFIG_EEPROM_AT24 is not set | ||
845 | # CONFIG_SENSORS_AD5252 is not set | ||
846 | # CONFIG_EEPROM_LEGACY is not set | ||
847 | # CONFIG_SENSORS_PCF8574 is not set | ||
848 | # CONFIG_PCF8575 is not set | ||
849 | # CONFIG_SENSORS_PCA9539 is not set | ||
850 | # CONFIG_SENSORS_PCF8591 is not set | ||
851 | # CONFIG_SENSORS_MAX6875 is not set | ||
852 | # CONFIG_SENSORS_TSL2550 is not set | 886 | # CONFIG_SENSORS_TSL2550 is not set |
853 | # CONFIG_I2C_DEBUG_CORE is not set | 887 | # CONFIG_I2C_DEBUG_CORE is not set |
854 | # CONFIG_I2C_DEBUG_ALGO is not set | 888 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -865,13 +899,18 @@ CONFIG_SPI_BFIN=y | |||
865 | # CONFIG_SPI_BFIN_LOCK is not set | 899 | # CONFIG_SPI_BFIN_LOCK is not set |
866 | # CONFIG_SPI_BFIN_SPORT is not set | 900 | # CONFIG_SPI_BFIN_SPORT is not set |
867 | # CONFIG_SPI_BITBANG is not set | 901 | # CONFIG_SPI_BITBANG is not set |
902 | # CONFIG_SPI_GPIO is not set | ||
868 | 903 | ||
869 | # | 904 | # |
870 | # SPI Protocol Masters | 905 | # SPI Protocol Masters |
871 | # | 906 | # |
872 | # CONFIG_EEPROM_AT25 is not set | ||
873 | # CONFIG_SPI_SPIDEV is not set | 907 | # CONFIG_SPI_SPIDEV is not set |
874 | # CONFIG_SPI_TLE62X0 is not set | 908 | # CONFIG_SPI_TLE62X0 is not set |
909 | |||
910 | # | ||
911 | # PPS support | ||
912 | # | ||
913 | # CONFIG_PPS is not set | ||
875 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 914 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
876 | CONFIG_GPIOLIB=y | 915 | CONFIG_GPIOLIB=y |
877 | # CONFIG_DEBUG_GPIO is not set | 916 | # CONFIG_DEBUG_GPIO is not set |
@@ -887,6 +926,7 @@ CONFIG_GPIO_SYSFS=y | |||
887 | # CONFIG_GPIO_MAX732X is not set | 926 | # CONFIG_GPIO_MAX732X is not set |
888 | # CONFIG_GPIO_PCA953X is not set | 927 | # CONFIG_GPIO_PCA953X is not set |
889 | # CONFIG_GPIO_PCF857X is not set | 928 | # CONFIG_GPIO_PCF857X is not set |
929 | # CONFIG_GPIO_ADP5588 is not set | ||
890 | 930 | ||
891 | # | 931 | # |
892 | # PCI GPIO expanders: | 932 | # PCI GPIO expanders: |
@@ -897,11 +937,20 @@ CONFIG_GPIO_SYSFS=y | |||
897 | # | 937 | # |
898 | # CONFIG_GPIO_MAX7301 is not set | 938 | # CONFIG_GPIO_MAX7301 is not set |
899 | # CONFIG_GPIO_MCP23S08 is not set | 939 | # CONFIG_GPIO_MCP23S08 is not set |
940 | # CONFIG_GPIO_MC33880 is not set | ||
941 | |||
942 | # | ||
943 | # AC97 GPIO expanders: | ||
944 | # | ||
900 | # CONFIG_W1 is not set | 945 | # CONFIG_W1 is not set |
901 | # CONFIG_POWER_SUPPLY is not set | 946 | # CONFIG_POWER_SUPPLY is not set |
902 | CONFIG_HWMON=y | 947 | CONFIG_HWMON=y |
903 | # CONFIG_HWMON_VID is not set | 948 | # CONFIG_HWMON_VID is not set |
904 | # CONFIG_SENSORS_AD5252 is not set | 949 | # CONFIG_HWMON_DEBUG_CHIP is not set |
950 | |||
951 | # | ||
952 | # Native drivers | ||
953 | # | ||
905 | # CONFIG_SENSORS_AD7414 is not set | 954 | # CONFIG_SENSORS_AD7414 is not set |
906 | # CONFIG_SENSORS_AD7418 is not set | 955 | # CONFIG_SENSORS_AD7418 is not set |
907 | # CONFIG_SENSORS_ADCXX is not set | 956 | # CONFIG_SENSORS_ADCXX is not set |
@@ -914,11 +963,13 @@ CONFIG_HWMON=y | |||
914 | # CONFIG_SENSORS_ADT7462 is not set | 963 | # CONFIG_SENSORS_ADT7462 is not set |
915 | # CONFIG_SENSORS_ADT7470 is not set | 964 | # CONFIG_SENSORS_ADT7470 is not set |
916 | # CONFIG_SENSORS_ADT7473 is not set | 965 | # CONFIG_SENSORS_ADT7473 is not set |
966 | # CONFIG_SENSORS_ADT7475 is not set | ||
917 | # CONFIG_SENSORS_ATXP1 is not set | 967 | # CONFIG_SENSORS_ATXP1 is not set |
918 | # CONFIG_SENSORS_DS1621 is not set | 968 | # CONFIG_SENSORS_DS1621 is not set |
919 | # CONFIG_SENSORS_F71805F is not set | 969 | # CONFIG_SENSORS_F71805F is not set |
920 | # CONFIG_SENSORS_F71882FG is not set | 970 | # CONFIG_SENSORS_F71882FG is not set |
921 | # CONFIG_SENSORS_F75375S is not set | 971 | # CONFIG_SENSORS_F75375S is not set |
972 | # CONFIG_SENSORS_G760A is not set | ||
922 | # CONFIG_SENSORS_GL518SM is not set | 973 | # CONFIG_SENSORS_GL518SM is not set |
923 | # CONFIG_SENSORS_GL520SM is not set | 974 | # CONFIG_SENSORS_GL520SM is not set |
924 | # CONFIG_SENSORS_IT87 is not set | 975 | # CONFIG_SENSORS_IT87 is not set |
@@ -934,17 +985,24 @@ CONFIG_HWMON=y | |||
934 | # CONFIG_SENSORS_LM90 is not set | 985 | # CONFIG_SENSORS_LM90 is not set |
935 | # CONFIG_SENSORS_LM92 is not set | 986 | # CONFIG_SENSORS_LM92 is not set |
936 | # CONFIG_SENSORS_LM93 is not set | 987 | # CONFIG_SENSORS_LM93 is not set |
988 | # CONFIG_SENSORS_LTC4215 is not set | ||
989 | # CONFIG_SENSORS_LTC4245 is not set | ||
990 | # CONFIG_SENSORS_LM95241 is not set | ||
937 | # CONFIG_SENSORS_MAX1111 is not set | 991 | # CONFIG_SENSORS_MAX1111 is not set |
938 | # CONFIG_SENSORS_MAX1619 is not set | 992 | # CONFIG_SENSORS_MAX1619 is not set |
939 | # CONFIG_SENSORS_MAX6650 is not set | 993 | # CONFIG_SENSORS_MAX6650 is not set |
940 | # CONFIG_SENSORS_PC87360 is not set | 994 | # CONFIG_SENSORS_PC87360 is not set |
941 | # CONFIG_SENSORS_PC87427 is not set | 995 | # CONFIG_SENSORS_PC87427 is not set |
996 | # CONFIG_SENSORS_PCF8591 is not set | ||
997 | # CONFIG_SENSORS_SHT15 is not set | ||
942 | # CONFIG_SENSORS_DME1737 is not set | 998 | # CONFIG_SENSORS_DME1737 is not set |
943 | # CONFIG_SENSORS_SMSC47M1 is not set | 999 | # CONFIG_SENSORS_SMSC47M1 is not set |
944 | # CONFIG_SENSORS_SMSC47M192 is not set | 1000 | # CONFIG_SENSORS_SMSC47M192 is not set |
945 | # CONFIG_SENSORS_SMSC47B397 is not set | 1001 | # CONFIG_SENSORS_SMSC47B397 is not set |
946 | # CONFIG_SENSORS_ADS7828 is not set | 1002 | # CONFIG_SENSORS_ADS7828 is not set |
947 | # CONFIG_SENSORS_THMC50 is not set | 1003 | # CONFIG_SENSORS_THMC50 is not set |
1004 | # CONFIG_SENSORS_TMP401 is not set | ||
1005 | # CONFIG_SENSORS_TMP421 is not set | ||
948 | # CONFIG_SENSORS_VT1211 is not set | 1006 | # CONFIG_SENSORS_VT1211 is not set |
949 | # CONFIG_SENSORS_W83781D is not set | 1007 | # CONFIG_SENSORS_W83781D is not set |
950 | # CONFIG_SENSORS_W83791D is not set | 1008 | # CONFIG_SENSORS_W83791D is not set |
@@ -954,9 +1012,8 @@ CONFIG_HWMON=y | |||
954 | # CONFIG_SENSORS_W83L786NG is not set | 1012 | # CONFIG_SENSORS_W83L786NG is not set |
955 | # CONFIG_SENSORS_W83627HF is not set | 1013 | # CONFIG_SENSORS_W83627HF is not set |
956 | # CONFIG_SENSORS_W83627EHF is not set | 1014 | # CONFIG_SENSORS_W83627EHF is not set |
957 | # CONFIG_HWMON_DEBUG_CHIP is not set | 1015 | # CONFIG_SENSORS_LIS3_SPI is not set |
958 | # CONFIG_THERMAL is not set | 1016 | # CONFIG_THERMAL is not set |
959 | # CONFIG_THERMAL_HWMON is not set | ||
960 | CONFIG_WATCHDOG=y | 1017 | CONFIG_WATCHDOG=y |
961 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 1018 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
962 | 1019 | ||
@@ -983,28 +1040,20 @@ CONFIG_SSB_POSSIBLE=y | |||
983 | # CONFIG_MFD_CORE is not set | 1040 | # CONFIG_MFD_CORE is not set |
984 | # CONFIG_MFD_SM501 is not set | 1041 | # CONFIG_MFD_SM501 is not set |
985 | # CONFIG_HTC_PASIC3 is not set | 1042 | # CONFIG_HTC_PASIC3 is not set |
1043 | # CONFIG_TPS65010 is not set | ||
1044 | # CONFIG_TWL4030_CORE is not set | ||
986 | # CONFIG_MFD_TMIO is not set | 1045 | # CONFIG_MFD_TMIO is not set |
987 | # CONFIG_PMIC_DA903X is not set | 1046 | # CONFIG_PMIC_DA903X is not set |
988 | # CONFIG_PMIC_ADP5520 is not set | 1047 | # CONFIG_PMIC_ADP5520 is not set |
989 | # CONFIG_MFD_WM8400 is not set | 1048 | # CONFIG_MFD_WM8400 is not set |
1049 | # CONFIG_MFD_WM831X is not set | ||
990 | # CONFIG_MFD_WM8350_I2C is not set | 1050 | # CONFIG_MFD_WM8350_I2C is not set |
1051 | # CONFIG_MFD_PCF50633 is not set | ||
1052 | # CONFIG_MFD_MC13783 is not set | ||
1053 | # CONFIG_AB3100_CORE is not set | ||
1054 | # CONFIG_EZX_PCAP is not set | ||
991 | # CONFIG_REGULATOR is not set | 1055 | # CONFIG_REGULATOR is not set |
992 | 1056 | # CONFIG_MEDIA_SUPPORT is not set | |
993 | # | ||
994 | # Multimedia devices | ||
995 | # | ||
996 | |||
997 | # | ||
998 | # Multimedia core support | ||
999 | # | ||
1000 | # CONFIG_VIDEO_DEV is not set | ||
1001 | # CONFIG_DVB_CORE is not set | ||
1002 | # CONFIG_VIDEO_MEDIA is not set | ||
1003 | |||
1004 | # | ||
1005 | # Multimedia drivers | ||
1006 | # | ||
1007 | # CONFIG_DAB is not set | ||
1008 | 1057 | ||
1009 | # | 1058 | # |
1010 | # Graphics support | 1059 | # Graphics support |
@@ -1026,7 +1075,6 @@ CONFIG_DUMMY_CONSOLE=y | |||
1026 | # CONFIG_SOUND is not set | 1075 | # CONFIG_SOUND is not set |
1027 | CONFIG_HID_SUPPORT=y | 1076 | CONFIG_HID_SUPPORT=y |
1028 | CONFIG_HID=y | 1077 | CONFIG_HID=y |
1029 | # CONFIG_HID_DEBUG is not set | ||
1030 | # CONFIG_HIDRAW is not set | 1078 | # CONFIG_HIDRAW is not set |
1031 | 1079 | ||
1032 | # | 1080 | # |
@@ -1039,30 +1087,35 @@ CONFIG_USB_HID=y | |||
1039 | # | 1087 | # |
1040 | # Special HID drivers | 1088 | # Special HID drivers |
1041 | # | 1089 | # |
1042 | CONFIG_HID_COMPAT=y | ||
1043 | CONFIG_HID_A4TECH=y | 1090 | CONFIG_HID_A4TECH=y |
1044 | CONFIG_HID_APPLE=y | 1091 | CONFIG_HID_APPLE=y |
1045 | CONFIG_HID_BELKIN=y | 1092 | CONFIG_HID_BELKIN=y |
1046 | CONFIG_HID_BRIGHT=y | ||
1047 | CONFIG_HID_CHERRY=y | 1093 | CONFIG_HID_CHERRY=y |
1048 | CONFIG_HID_CHICONY=y | 1094 | CONFIG_HID_CHICONY=y |
1049 | CONFIG_HID_CYPRESS=y | 1095 | CONFIG_HID_CYPRESS=y |
1050 | CONFIG_HID_DELL=y | 1096 | # CONFIG_HID_DRAGONRISE is not set |
1051 | CONFIG_HID_EZKEY=y | 1097 | CONFIG_HID_EZKEY=y |
1098 | # CONFIG_HID_KYE is not set | ||
1052 | CONFIG_HID_GYRATION=y | 1099 | CONFIG_HID_GYRATION=y |
1100 | # CONFIG_HID_TWINHAN is not set | ||
1101 | # CONFIG_HID_KENSINGTON is not set | ||
1053 | CONFIG_HID_LOGITECH=y | 1102 | CONFIG_HID_LOGITECH=y |
1054 | # CONFIG_LOGITECH_FF is not set | 1103 | # CONFIG_LOGITECH_FF is not set |
1055 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1104 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1056 | CONFIG_HID_MICROSOFT=y | 1105 | CONFIG_HID_MICROSOFT=y |
1057 | CONFIG_HID_MONTEREY=y | 1106 | CONFIG_HID_MONTEREY=y |
1107 | # CONFIG_HID_NTRIG is not set | ||
1058 | CONFIG_HID_PANTHERLORD=y | 1108 | CONFIG_HID_PANTHERLORD=y |
1059 | # CONFIG_PANTHERLORD_FF is not set | 1109 | # CONFIG_PANTHERLORD_FF is not set |
1060 | CONFIG_HID_PETALYNX=y | 1110 | CONFIG_HID_PETALYNX=y |
1061 | CONFIG_HID_SAMSUNG=y | 1111 | CONFIG_HID_SAMSUNG=y |
1062 | CONFIG_HID_SONY=y | 1112 | CONFIG_HID_SONY=y |
1063 | CONFIG_HID_SUNPLUS=y | 1113 | CONFIG_HID_SUNPLUS=y |
1064 | CONFIG_THRUSTMASTER_FF=m | 1114 | # CONFIG_HID_GREENASIA is not set |
1065 | CONFIG_ZEROPLUS_FF=m | 1115 | # CONFIG_HID_SMARTJOYPLUS is not set |
1116 | # CONFIG_HID_TOPSEED is not set | ||
1117 | # CONFIG_HID_THRUSTMASTER is not set | ||
1118 | # CONFIG_HID_ZEROPLUS is not set | ||
1066 | CONFIG_USB_SUPPORT=y | 1119 | CONFIG_USB_SUPPORT=y |
1067 | CONFIG_USB_ARCH_HAS_HCD=y | 1120 | CONFIG_USB_ARCH_HAS_HCD=y |
1068 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 1121 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -1088,6 +1141,7 @@ CONFIG_USB_MON=y | |||
1088 | # USB Host Controller Drivers | 1141 | # USB Host Controller Drivers |
1089 | # | 1142 | # |
1090 | # CONFIG_USB_C67X00_HCD is not set | 1143 | # CONFIG_USB_C67X00_HCD is not set |
1144 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1091 | # CONFIG_USB_ISP116X_HCD is not set | 1145 | # CONFIG_USB_ISP116X_HCD is not set |
1092 | # CONFIG_USB_ISP1760_HCD is not set | 1146 | # CONFIG_USB_ISP1760_HCD is not set |
1093 | # CONFIG_USB_ISP1362_HCD is not set | 1147 | # CONFIG_USB_ISP1362_HCD is not set |
@@ -1118,18 +1172,17 @@ CONFIG_USB_INVENTRA_DMA=y | |||
1118 | # CONFIG_USB_TMC is not set | 1172 | # CONFIG_USB_TMC is not set |
1119 | 1173 | ||
1120 | # | 1174 | # |
1121 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1175 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1122 | # | 1176 | # |
1123 | 1177 | ||
1124 | # | 1178 | # |
1125 | # see USB_STORAGE Help for more information | 1179 | # also be needed; see USB_STORAGE Help for more info |
1126 | # | 1180 | # |
1127 | CONFIG_USB_STORAGE=y | 1181 | CONFIG_USB_STORAGE=y |
1128 | # CONFIG_USB_STORAGE_DEBUG is not set | 1182 | # CONFIG_USB_STORAGE_DEBUG is not set |
1129 | # CONFIG_USB_STORAGE_DATAFAB is not set | 1183 | # CONFIG_USB_STORAGE_DATAFAB is not set |
1130 | # CONFIG_USB_STORAGE_FREECOM is not set | 1184 | # CONFIG_USB_STORAGE_FREECOM is not set |
1131 | # CONFIG_USB_STORAGE_ISD200 is not set | 1185 | # CONFIG_USB_STORAGE_ISD200 is not set |
1132 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1133 | # CONFIG_USB_STORAGE_USBAT is not set | 1186 | # CONFIG_USB_STORAGE_USBAT is not set |
1134 | # CONFIG_USB_STORAGE_SDDR09 is not set | 1187 | # CONFIG_USB_STORAGE_SDDR09 is not set |
1135 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1188 | # CONFIG_USB_STORAGE_SDDR55 is not set |
@@ -1165,7 +1218,6 @@ CONFIG_USB_STORAGE=y | |||
1165 | # CONFIG_USB_LED is not set | 1218 | # CONFIG_USB_LED is not set |
1166 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1219 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1167 | # CONFIG_USB_CYTHERM is not set | 1220 | # CONFIG_USB_CYTHERM is not set |
1168 | # CONFIG_USB_PHIDGET is not set | ||
1169 | # CONFIG_USB_IDMOUSE is not set | 1221 | # CONFIG_USB_IDMOUSE is not set |
1170 | # CONFIG_USB_FTDI_ELAN is not set | 1222 | # CONFIG_USB_FTDI_ELAN is not set |
1171 | # CONFIG_USB_APPLEDISPLAY is not set | 1223 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1177,6 +1229,13 @@ CONFIG_USB_STORAGE=y | |||
1177 | # CONFIG_USB_ISIGHTFW is not set | 1229 | # CONFIG_USB_ISIGHTFW is not set |
1178 | # CONFIG_USB_VST is not set | 1230 | # CONFIG_USB_VST is not set |
1179 | # CONFIG_USB_GADGET is not set | 1231 | # CONFIG_USB_GADGET is not set |
1232 | |||
1233 | # | ||
1234 | # OTG and related infrastructure | ||
1235 | # | ||
1236 | CONFIG_USB_OTG_UTILS=y | ||
1237 | # CONFIG_USB_GPIO_VBUS is not set | ||
1238 | CONFIG_NOP_USB_XCEIV=y | ||
1180 | # CONFIG_MMC is not set | 1239 | # CONFIG_MMC is not set |
1181 | # CONFIG_MEMSTICK is not set | 1240 | # CONFIG_MEMSTICK is not set |
1182 | # CONFIG_NEW_LEDS is not set | 1241 | # CONFIG_NEW_LEDS is not set |
@@ -1212,6 +1271,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1212 | # CONFIG_RTC_DRV_S35390A is not set | 1271 | # CONFIG_RTC_DRV_S35390A is not set |
1213 | # CONFIG_RTC_DRV_FM3130 is not set | 1272 | # CONFIG_RTC_DRV_FM3130 is not set |
1214 | # CONFIG_RTC_DRV_RX8581 is not set | 1273 | # CONFIG_RTC_DRV_RX8581 is not set |
1274 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1215 | 1275 | ||
1216 | # | 1276 | # |
1217 | # SPI RTC drivers | 1277 | # SPI RTC drivers |
@@ -1223,6 +1283,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1223 | # CONFIG_RTC_DRV_R9701 is not set | 1283 | # CONFIG_RTC_DRV_R9701 is not set |
1224 | # CONFIG_RTC_DRV_RS5C348 is not set | 1284 | # CONFIG_RTC_DRV_RS5C348 is not set |
1225 | # CONFIG_RTC_DRV_DS3234 is not set | 1285 | # CONFIG_RTC_DRV_DS3234 is not set |
1286 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1226 | 1287 | ||
1227 | # | 1288 | # |
1228 | # Platform RTC drivers | 1289 | # Platform RTC drivers |
@@ -1243,10 +1304,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1243 | # | 1304 | # |
1244 | CONFIG_RTC_DRV_BFIN=y | 1305 | CONFIG_RTC_DRV_BFIN=y |
1245 | # CONFIG_DMADEVICES is not set | 1306 | # CONFIG_DMADEVICES is not set |
1307 | # CONFIG_AUXDISPLAY is not set | ||
1246 | # CONFIG_UIO is not set | 1308 | # CONFIG_UIO is not set |
1309 | |||
1310 | # | ||
1311 | # TI VLYNQ | ||
1312 | # | ||
1247 | # CONFIG_STAGING is not set | 1313 | # CONFIG_STAGING is not set |
1248 | 1314 | ||
1249 | # | 1315 | # |
1316 | # Firmware Drivers | ||
1317 | # | ||
1318 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1319 | # CONFIG_SIGMA is not set | ||
1320 | |||
1321 | # | ||
1250 | # File systems | 1322 | # File systems |
1251 | # | 1323 | # |
1252 | CONFIG_EXT2_FS=m | 1324 | CONFIG_EXT2_FS=m |
@@ -1256,9 +1328,13 @@ CONFIG_EXT2_FS=m | |||
1256 | # CONFIG_REISERFS_FS is not set | 1328 | # CONFIG_REISERFS_FS is not set |
1257 | # CONFIG_JFS_FS is not set | 1329 | # CONFIG_JFS_FS is not set |
1258 | # CONFIG_FS_POSIX_ACL is not set | 1330 | # CONFIG_FS_POSIX_ACL is not set |
1259 | CONFIG_FILE_LOCKING=y | ||
1260 | # CONFIG_XFS_FS is not set | 1331 | # CONFIG_XFS_FS is not set |
1332 | # CONFIG_GFS2_FS is not set | ||
1261 | # CONFIG_OCFS2_FS is not set | 1333 | # CONFIG_OCFS2_FS is not set |
1334 | # CONFIG_BTRFS_FS is not set | ||
1335 | # CONFIG_NILFS2_FS is not set | ||
1336 | CONFIG_FILE_LOCKING=y | ||
1337 | CONFIG_FSNOTIFY=y | ||
1262 | # CONFIG_DNOTIFY is not set | 1338 | # CONFIG_DNOTIFY is not set |
1263 | CONFIG_INOTIFY=y | 1339 | CONFIG_INOTIFY=y |
1264 | CONFIG_INOTIFY_USER=y | 1340 | CONFIG_INOTIFY_USER=y |
@@ -1268,6 +1344,11 @@ CONFIG_INOTIFY_USER=y | |||
1268 | # CONFIG_FUSE_FS is not set | 1344 | # CONFIG_FUSE_FS is not set |
1269 | 1345 | ||
1270 | # | 1346 | # |
1347 | # Caches | ||
1348 | # | ||
1349 | # CONFIG_FSCACHE is not set | ||
1350 | |||
1351 | # | ||
1271 | # CD-ROM/DVD Filesystems | 1352 | # CD-ROM/DVD Filesystems |
1272 | # | 1353 | # |
1273 | CONFIG_ISO9660_FS=m | 1354 | CONFIG_ISO9660_FS=m |
@@ -1291,13 +1372,9 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1291 | CONFIG_PROC_FS=y | 1372 | CONFIG_PROC_FS=y |
1292 | CONFIG_PROC_SYSCTL=y | 1373 | CONFIG_PROC_SYSCTL=y |
1293 | CONFIG_SYSFS=y | 1374 | CONFIG_SYSFS=y |
1294 | # CONFIG_TMPFS is not set | ||
1295 | # CONFIG_HUGETLB_PAGE is not set | 1375 | # CONFIG_HUGETLB_PAGE is not set |
1296 | # CONFIG_CONFIGFS_FS is not set | 1376 | # CONFIG_CONFIGFS_FS is not set |
1297 | 1377 | CONFIG_MISC_FILESYSTEMS=y | |
1298 | # | ||
1299 | # Miscellaneous filesystems | ||
1300 | # | ||
1301 | # CONFIG_ADFS_FS is not set | 1378 | # CONFIG_ADFS_FS is not set |
1302 | # CONFIG_AFFS_FS is not set | 1379 | # CONFIG_AFFS_FS is not set |
1303 | # CONFIG_HFS_FS is not set | 1380 | # CONFIG_HFS_FS is not set |
@@ -1316,17 +1393,8 @@ CONFIG_JFFS2_ZLIB=y | |||
1316 | # CONFIG_JFFS2_LZO is not set | 1393 | # CONFIG_JFFS2_LZO is not set |
1317 | CONFIG_JFFS2_RTIME=y | 1394 | CONFIG_JFFS2_RTIME=y |
1318 | # CONFIG_JFFS2_RUBIN is not set | 1395 | # CONFIG_JFFS2_RUBIN is not set |
1319 | CONFIG_YAFFS_FS=m | ||
1320 | CONFIG_YAFFS_YAFFS1=y | ||
1321 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1322 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1323 | CONFIG_YAFFS_YAFFS2=y | ||
1324 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1325 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1326 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1327 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1328 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1329 | # CONFIG_CRAMFS is not set | 1396 | # CONFIG_CRAMFS is not set |
1397 | # CONFIG_SQUASHFS is not set | ||
1330 | # CONFIG_VXFS_FS is not set | 1398 | # CONFIG_VXFS_FS is not set |
1331 | # CONFIG_MINIX_FS is not set | 1399 | # CONFIG_MINIX_FS is not set |
1332 | # CONFIG_OMFS_FS is not set | 1400 | # CONFIG_OMFS_FS is not set |
@@ -1345,7 +1413,6 @@ CONFIG_LOCKD=m | |||
1345 | CONFIG_LOCKD_V4=y | 1413 | CONFIG_LOCKD_V4=y |
1346 | CONFIG_NFS_COMMON=y | 1414 | CONFIG_NFS_COMMON=y |
1347 | CONFIG_SUNRPC=m | 1415 | CONFIG_SUNRPC=m |
1348 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1349 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1416 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1350 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1417 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1351 | CONFIG_SMB_FS=m | 1418 | CONFIG_SMB_FS=m |
@@ -1360,7 +1427,7 @@ CONFIG_SMB_FS=m | |||
1360 | # | 1427 | # |
1361 | # CONFIG_PARTITION_ADVANCED is not set | 1428 | # CONFIG_PARTITION_ADVANCED is not set |
1362 | CONFIG_MSDOS_PARTITION=y | 1429 | CONFIG_MSDOS_PARTITION=y |
1363 | CONFIG_NLS=m | 1430 | CONFIG_NLS=y |
1364 | CONFIG_NLS_DEFAULT="iso8859-1" | 1431 | CONFIG_NLS_DEFAULT="iso8859-1" |
1365 | CONFIG_NLS_CODEPAGE_437=m | 1432 | CONFIG_NLS_CODEPAGE_437=m |
1366 | # CONFIG_NLS_CODEPAGE_737 is not set | 1433 | # CONFIG_NLS_CODEPAGE_737 is not set |
@@ -1410,14 +1477,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1410 | CONFIG_ENABLE_MUST_CHECK=y | 1477 | CONFIG_ENABLE_MUST_CHECK=y |
1411 | CONFIG_FRAME_WARN=1024 | 1478 | CONFIG_FRAME_WARN=1024 |
1412 | # CONFIG_MAGIC_SYSRQ is not set | 1479 | # CONFIG_MAGIC_SYSRQ is not set |
1480 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1413 | # CONFIG_UNUSED_SYMBOLS is not set | 1481 | # CONFIG_UNUSED_SYMBOLS is not set |
1414 | CONFIG_DEBUG_FS=y | 1482 | CONFIG_DEBUG_FS=y |
1415 | # CONFIG_HEADERS_CHECK is not set | 1483 | # CONFIG_HEADERS_CHECK is not set |
1484 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1416 | CONFIG_DEBUG_KERNEL=y | 1485 | CONFIG_DEBUG_KERNEL=y |
1417 | CONFIG_DEBUG_SHIRQ=y | 1486 | CONFIG_DEBUG_SHIRQ=y |
1418 | CONFIG_DETECT_SOFTLOCKUP=y | 1487 | CONFIG_DETECT_SOFTLOCKUP=y |
1419 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1488 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1420 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1489 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1490 | CONFIG_DETECT_HUNG_TASK=y | ||
1491 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1492 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1421 | CONFIG_SCHED_DEBUG=y | 1493 | CONFIG_SCHED_DEBUG=y |
1422 | # CONFIG_SCHEDSTATS is not set | 1494 | # CONFIG_SCHEDSTATS is not set |
1423 | # CONFIG_TIMER_STATS is not set | 1495 | # CONFIG_TIMER_STATS is not set |
@@ -1425,31 +1497,39 @@ CONFIG_SCHED_DEBUG=y | |||
1425 | # CONFIG_DEBUG_SLAB is not set | 1497 | # CONFIG_DEBUG_SLAB is not set |
1426 | # CONFIG_DEBUG_SPINLOCK is not set | 1498 | # CONFIG_DEBUG_SPINLOCK is not set |
1427 | # CONFIG_DEBUG_MUTEXES is not set | 1499 | # CONFIG_DEBUG_MUTEXES is not set |
1500 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1501 | # CONFIG_PROVE_LOCKING is not set | ||
1502 | # CONFIG_LOCK_STAT is not set | ||
1428 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1503 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1429 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1504 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1430 | # CONFIG_DEBUG_KOBJECT is not set | 1505 | # CONFIG_DEBUG_KOBJECT is not set |
1431 | CONFIG_DEBUG_BUGVERBOSE=y | 1506 | CONFIG_DEBUG_BUGVERBOSE=y |
1432 | CONFIG_DEBUG_INFO=y | 1507 | CONFIG_DEBUG_INFO=y |
1433 | # CONFIG_DEBUG_VM is not set | 1508 | # CONFIG_DEBUG_VM is not set |
1509 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1434 | # CONFIG_DEBUG_WRITECOUNT is not set | 1510 | # CONFIG_DEBUG_WRITECOUNT is not set |
1435 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1511 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1436 | # CONFIG_DEBUG_LIST is not set | 1512 | # CONFIG_DEBUG_LIST is not set |
1437 | # CONFIG_DEBUG_SG is not set | 1513 | # CONFIG_DEBUG_SG is not set |
1514 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1515 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1438 | # CONFIG_FRAME_POINTER is not set | 1516 | # CONFIG_FRAME_POINTER is not set |
1439 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1517 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1440 | # CONFIG_RCU_TORTURE_TEST is not set | 1518 | # CONFIG_RCU_TORTURE_TEST is not set |
1441 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1519 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1442 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1520 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1443 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1521 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1522 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1444 | # CONFIG_FAULT_INJECTION is not set | 1523 | # CONFIG_FAULT_INJECTION is not set |
1445 | 1524 | # CONFIG_PAGE_POISONING is not set | |
1446 | # | 1525 | CONFIG_HAVE_FUNCTION_TRACER=y |
1447 | # Tracers | 1526 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1448 | # | 1527 | CONFIG_TRACING_SUPPORT=y |
1449 | # CONFIG_SCHED_TRACER is not set | 1528 | # CONFIG_FTRACE is not set |
1450 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1529 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1451 | # CONFIG_BOOT_TRACER is not set | 1530 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1452 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1531 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1532 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1453 | # CONFIG_SAMPLES is not set | 1533 | # CONFIG_SAMPLES is not set |
1454 | CONFIG_HAVE_ARCH_KGDB=y | 1534 | CONFIG_HAVE_ARCH_KGDB=y |
1455 | # CONFIG_KGDB is not set | 1535 | # CONFIG_KGDB is not set |
@@ -1474,6 +1554,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1474 | CONFIG_EARLY_PRINTK=y | 1554 | CONFIG_EARLY_PRINTK=y |
1475 | CONFIG_CPLB_INFO=y | 1555 | CONFIG_CPLB_INFO=y |
1476 | CONFIG_ACCESS_CHECK=y | 1556 | CONFIG_ACCESS_CHECK=y |
1557 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1477 | 1558 | ||
1478 | # | 1559 | # |
1479 | # Security options | 1560 | # Security options |
@@ -1482,15 +1563,15 @@ CONFIG_ACCESS_CHECK=y | |||
1482 | CONFIG_SECURITY=y | 1563 | CONFIG_SECURITY=y |
1483 | # CONFIG_SECURITYFS is not set | 1564 | # CONFIG_SECURITYFS is not set |
1484 | # CONFIG_SECURITY_NETWORK is not set | 1565 | # CONFIG_SECURITY_NETWORK is not set |
1566 | # CONFIG_SECURITY_PATH is not set | ||
1485 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1567 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1486 | # CONFIG_SECURITY_ROOTPLUG is not set | 1568 | # CONFIG_SECURITY_ROOTPLUG is not set |
1487 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1569 | # CONFIG_SECURITY_TOMOYO is not set |
1488 | CONFIG_CRYPTO=y | 1570 | CONFIG_CRYPTO=y |
1489 | 1571 | ||
1490 | # | 1572 | # |
1491 | # Crypto core or helper | 1573 | # Crypto core or helper |
1492 | # | 1574 | # |
1493 | # CONFIG_CRYPTO_FIPS is not set | ||
1494 | # CONFIG_CRYPTO_MANAGER is not set | 1575 | # CONFIG_CRYPTO_MANAGER is not set |
1495 | # CONFIG_CRYPTO_MANAGER2 is not set | 1576 | # CONFIG_CRYPTO_MANAGER2 is not set |
1496 | # CONFIG_CRYPTO_GF128MUL is not set | 1577 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1522,11 +1603,13 @@ CONFIG_CRYPTO=y | |||
1522 | # | 1603 | # |
1523 | # CONFIG_CRYPTO_HMAC is not set | 1604 | # CONFIG_CRYPTO_HMAC is not set |
1524 | # CONFIG_CRYPTO_XCBC is not set | 1605 | # CONFIG_CRYPTO_XCBC is not set |
1606 | # CONFIG_CRYPTO_VMAC is not set | ||
1525 | 1607 | ||
1526 | # | 1608 | # |
1527 | # Digest | 1609 | # Digest |
1528 | # | 1610 | # |
1529 | # CONFIG_CRYPTO_CRC32C is not set | 1611 | # CONFIG_CRYPTO_CRC32C is not set |
1612 | # CONFIG_CRYPTO_GHASH is not set | ||
1530 | # CONFIG_CRYPTO_MD4 is not set | 1613 | # CONFIG_CRYPTO_MD4 is not set |
1531 | # CONFIG_CRYPTO_MD5 is not set | 1614 | # CONFIG_CRYPTO_MD5 is not set |
1532 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1615 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1563,6 +1646,7 @@ CONFIG_CRYPTO=y | |||
1563 | # Compression | 1646 | # Compression |
1564 | # | 1647 | # |
1565 | # CONFIG_CRYPTO_DEFLATE is not set | 1648 | # CONFIG_CRYPTO_DEFLATE is not set |
1649 | # CONFIG_CRYPTO_ZLIB is not set | ||
1566 | # CONFIG_CRYPTO_LZO is not set | 1650 | # CONFIG_CRYPTO_LZO is not set |
1567 | 1651 | ||
1568 | # | 1652 | # |
@@ -1570,11 +1654,13 @@ CONFIG_CRYPTO=y | |||
1570 | # | 1654 | # |
1571 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1655 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1572 | CONFIG_CRYPTO_HW=y | 1656 | CONFIG_CRYPTO_HW=y |
1657 | # CONFIG_BINARY_PRINTF is not set | ||
1573 | 1658 | ||
1574 | # | 1659 | # |
1575 | # Library routines | 1660 | # Library routines |
1576 | # | 1661 | # |
1577 | CONFIG_BITREVERSE=y | 1662 | CONFIG_BITREVERSE=y |
1663 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1578 | CONFIG_CRC_CCITT=m | 1664 | CONFIG_CRC_CCITT=m |
1579 | # CONFIG_CRC16 is not set | 1665 | # CONFIG_CRC16 is not set |
1580 | # CONFIG_CRC_T10DIF is not set | 1666 | # CONFIG_CRC_T10DIF is not set |
@@ -1584,6 +1670,8 @@ CONFIG_CRC32=y | |||
1584 | # CONFIG_LIBCRC32C is not set | 1670 | # CONFIG_LIBCRC32C is not set |
1585 | CONFIG_ZLIB_INFLATE=y | 1671 | CONFIG_ZLIB_INFLATE=y |
1586 | CONFIG_ZLIB_DEFLATE=m | 1672 | CONFIG_ZLIB_DEFLATE=m |
1673 | CONFIG_DECOMPRESS_GZIP=y | ||
1587 | CONFIG_HAS_IOMEM=y | 1674 | CONFIG_HAS_IOMEM=y |
1588 | CONFIG_HAS_IOPORT=y | 1675 | CONFIG_HAS_IOPORT=y |
1589 | CONFIG_HAS_DMA=y | 1676 | CONFIG_HAS_DMA=y |
1677 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF527-EZKIT-V2_defconfig b/arch/blackfin/configs/BF527-EZKIT-V2_defconfig new file mode 100644 index 000000000000..d2dfcb0e7ce4 --- /dev/null +++ b/arch/blackfin/configs/BF527-EZKIT-V2_defconfig | |||
@@ -0,0 +1,1811 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32.2 | ||
4 | # | ||
5 | # CONFIG_MMU is not set | ||
6 | # CONFIG_FPU is not set | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
9 | CONFIG_BLACKFIN=y | ||
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
12 | CONFIG_ZONE_DMA=y | ||
13 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | CONFIG_CONSTRUCTORS=y | ||
25 | |||
26 | # | ||
27 | # General setup | ||
28 | # | ||
29 | CONFIG_EXPERIMENTAL=y | ||
30 | CONFIG_BROKEN_ON_SMP=y | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
40 | CONFIG_SYSVIPC=y | ||
41 | CONFIG_SYSVIPC_SYSCTL=y | ||
42 | # CONFIG_POSIX_MQUEUE is not set | ||
43 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
44 | # CONFIG_TASKSTATS is not set | ||
45 | # CONFIG_AUDIT is not set | ||
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
56 | CONFIG_IKCONFIG=y | ||
57 | CONFIG_IKCONFIG_PROC=y | ||
58 | CONFIG_LOG_BUF_SHIFT=14 | ||
59 | # CONFIG_GROUP_SCHED is not set | ||
60 | # CONFIG_CGROUPS is not set | ||
61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
62 | # CONFIG_RELAY is not set | ||
63 | # CONFIG_NAMESPACES is not set | ||
64 | CONFIG_BLK_DEV_INITRD=y | ||
65 | CONFIG_INITRAMFS_SOURCE="" | ||
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
70 | CONFIG_SYSCTL=y | ||
71 | CONFIG_ANON_INODES=y | ||
72 | CONFIG_EMBEDDED=y | ||
73 | CONFIG_UID16=y | ||
74 | # CONFIG_SYSCTL_SYSCALL is not set | ||
75 | CONFIG_KALLSYMS=y | ||
76 | # CONFIG_KALLSYMS_ALL is not set | ||
77 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
78 | CONFIG_HOTPLUG=y | ||
79 | CONFIG_PRINTK=y | ||
80 | CONFIG_BUG=y | ||
81 | # CONFIG_ELF_CORE is not set | ||
82 | CONFIG_BASE_FULL=y | ||
83 | # CONFIG_FUTEX is not set | ||
84 | CONFIG_EPOLL=y | ||
85 | # CONFIG_SIGNALFD is not set | ||
86 | # CONFIG_TIMERFD is not set | ||
87 | # CONFIG_EVENTFD is not set | ||
88 | # CONFIG_AIO is not set | ||
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
93 | CONFIG_VM_EVENT_COUNTERS=y | ||
94 | CONFIG_COMPAT_BRK=y | ||
95 | CONFIG_SLAB=y | ||
96 | # CONFIG_SLUB is not set | ||
97 | # CONFIG_SLOB is not set | ||
98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | ||
99 | # CONFIG_PROFILING is not set | ||
100 | CONFIG_HAVE_OPROFILE=y | ||
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
108 | CONFIG_SLABINFO=y | ||
109 | CONFIG_BASE_SMALL=0 | ||
110 | CONFIG_MODULES=y | ||
111 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
112 | CONFIG_MODULE_UNLOAD=y | ||
113 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
114 | # CONFIG_MODVERSIONS is not set | ||
115 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
116 | CONFIG_BLOCK=y | ||
117 | # CONFIG_LBDAF is not set | ||
118 | # CONFIG_BLK_DEV_BSG is not set | ||
119 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
120 | |||
121 | # | ||
122 | # IO Schedulers | ||
123 | # | ||
124 | CONFIG_IOSCHED_NOOP=y | ||
125 | CONFIG_IOSCHED_AS=y | ||
126 | # CONFIG_IOSCHED_DEADLINE is not set | ||
127 | CONFIG_IOSCHED_CFQ=y | ||
128 | CONFIG_DEFAULT_AS=y | ||
129 | # CONFIG_DEFAULT_DEADLINE is not set | ||
130 | # CONFIG_DEFAULT_CFQ is not set | ||
131 | # CONFIG_DEFAULT_NOOP is not set | ||
132 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
133 | # CONFIG_PREEMPT_NONE is not set | ||
134 | CONFIG_PREEMPT_VOLUNTARY=y | ||
135 | # CONFIG_PREEMPT is not set | ||
136 | # CONFIG_FREEZER is not set | ||
137 | |||
138 | # | ||
139 | # Blackfin Processor Options | ||
140 | # | ||
141 | |||
142 | # | ||
143 | # Processor and Board Settings | ||
144 | # | ||
145 | # CONFIG_BF512 is not set | ||
146 | # CONFIG_BF514 is not set | ||
147 | # CONFIG_BF516 is not set | ||
148 | # CONFIG_BF518 is not set | ||
149 | # CONFIG_BF522 is not set | ||
150 | # CONFIG_BF523 is not set | ||
151 | # CONFIG_BF524 is not set | ||
152 | # CONFIG_BF525 is not set | ||
153 | # CONFIG_BF526 is not set | ||
154 | CONFIG_BF527=y | ||
155 | # CONFIG_BF531 is not set | ||
156 | # CONFIG_BF532 is not set | ||
157 | # CONFIG_BF533 is not set | ||
158 | # CONFIG_BF534 is not set | ||
159 | # CONFIG_BF536 is not set | ||
160 | # CONFIG_BF537 is not set | ||
161 | # CONFIG_BF538 is not set | ||
162 | # CONFIG_BF539 is not set | ||
163 | # CONFIG_BF542_std is not set | ||
164 | # CONFIG_BF542M is not set | ||
165 | # CONFIG_BF544_std is not set | ||
166 | # CONFIG_BF544M is not set | ||
167 | # CONFIG_BF547_std is not set | ||
168 | # CONFIG_BF547M is not set | ||
169 | # CONFIG_BF548_std is not set | ||
170 | # CONFIG_BF548M is not set | ||
171 | # CONFIG_BF549_std is not set | ||
172 | # CONFIG_BF549M is not set | ||
173 | # CONFIG_BF561 is not set | ||
174 | CONFIG_BF_REV_MIN=0 | ||
175 | CONFIG_BF_REV_MAX=2 | ||
176 | # CONFIG_BF_REV_0_0 is not set | ||
177 | # CONFIG_BF_REV_0_1 is not set | ||
178 | CONFIG_BF_REV_0_2=y | ||
179 | # CONFIG_BF_REV_0_3 is not set | ||
180 | # CONFIG_BF_REV_0_4 is not set | ||
181 | # CONFIG_BF_REV_0_5 is not set | ||
182 | # CONFIG_BF_REV_0_6 is not set | ||
183 | # CONFIG_BF_REV_ANY is not set | ||
184 | # CONFIG_BF_REV_NONE is not set | ||
185 | CONFIG_MEM_MT48LC32M16A2TG_75=y | ||
186 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
187 | CONFIG_IRQ_DMA0_ERROR=7 | ||
188 | CONFIG_IRQ_DMAR0_BLK=7 | ||
189 | CONFIG_IRQ_DMAR1_BLK=7 | ||
190 | CONFIG_IRQ_DMAR0_OVR=7 | ||
191 | CONFIG_IRQ_DMAR1_OVR=7 | ||
192 | CONFIG_IRQ_PPI_ERROR=7 | ||
193 | CONFIG_IRQ_MAC_ERROR=7 | ||
194 | CONFIG_IRQ_SPORT0_ERROR=7 | ||
195 | CONFIG_IRQ_SPORT1_ERROR=7 | ||
196 | CONFIG_IRQ_UART0_ERROR=7 | ||
197 | CONFIG_IRQ_UART1_ERROR=7 | ||
198 | CONFIG_IRQ_RTC=8 | ||
199 | CONFIG_IRQ_PPI=8 | ||
200 | CONFIG_IRQ_SPORT0_RX=9 | ||
201 | CONFIG_IRQ_SPORT0_TX=9 | ||
202 | CONFIG_IRQ_SPORT1_RX=9 | ||
203 | CONFIG_IRQ_SPORT1_TX=9 | ||
204 | CONFIG_IRQ_TWI=10 | ||
205 | CONFIG_IRQ_UART0_RX=10 | ||
206 | CONFIG_IRQ_UART0_TX=10 | ||
207 | CONFIG_IRQ_UART1_RX=10 | ||
208 | CONFIG_IRQ_UART1_TX=10 | ||
209 | CONFIG_IRQ_OPTSEC=11 | ||
210 | CONFIG_IRQ_CNT=11 | ||
211 | CONFIG_IRQ_MAC_RX=11 | ||
212 | CONFIG_IRQ_PORTH_INTA=11 | ||
213 | CONFIG_IRQ_MAC_TX=11 | ||
214 | CONFIG_IRQ_PORTH_INTB=11 | ||
215 | CONFIG_IRQ_TIMER0=8 | ||
216 | CONFIG_IRQ_TIMER1=12 | ||
217 | CONFIG_IRQ_TIMER2=12 | ||
218 | CONFIG_IRQ_TIMER3=12 | ||
219 | CONFIG_IRQ_TIMER4=12 | ||
220 | CONFIG_IRQ_TIMER5=12 | ||
221 | CONFIG_IRQ_TIMER6=12 | ||
222 | CONFIG_IRQ_TIMER7=12 | ||
223 | CONFIG_IRQ_PORTG_INTA=12 | ||
224 | CONFIG_IRQ_PORTG_INTB=12 | ||
225 | CONFIG_IRQ_MEM_DMA0=13 | ||
226 | CONFIG_IRQ_MEM_DMA1=13 | ||
227 | CONFIG_IRQ_WATCH=13 | ||
228 | CONFIG_IRQ_PORTF_INTA=13 | ||
229 | CONFIG_IRQ_PORTF_INTB=13 | ||
230 | CONFIG_BF52x=y | ||
231 | # CONFIG_BFIN527_EZKIT is not set | ||
232 | CONFIG_BFIN527_EZKIT_V2=y | ||
233 | # CONFIG_BFIN527_BLUETECHNIX_CM is not set | ||
234 | # CONFIG_BFIN526_EZBRD is not set | ||
235 | |||
236 | # | ||
237 | # BF527 Specific Configuration | ||
238 | # | ||
239 | |||
240 | # | ||
241 | # Alternative Multiplexing Scheme | ||
242 | # | ||
243 | # CONFIG_BF527_SPORT0_PORTF is not set | ||
244 | CONFIG_BF527_SPORT0_PORTG=y | ||
245 | CONFIG_BF527_SPORT0_TSCLK_PG10=y | ||
246 | # CONFIG_BF527_SPORT0_TSCLK_PG14 is not set | ||
247 | CONFIG_BF527_UART1_PORTF=y | ||
248 | # CONFIG_BF527_UART1_PORTG is not set | ||
249 | # CONFIG_BF527_NAND_D_PORTF is not set | ||
250 | CONFIG_BF527_NAND_D_PORTH=y | ||
251 | |||
252 | # | ||
253 | # Interrupt Priority Assignment | ||
254 | # | ||
255 | |||
256 | # | ||
257 | # Priority | ||
258 | # | ||
259 | CONFIG_IRQ_SPI=10 | ||
260 | CONFIG_IRQ_SPI_ERROR=7 | ||
261 | CONFIG_IRQ_NFC_ERROR=7 | ||
262 | CONFIG_IRQ_HDMA_ERROR=7 | ||
263 | CONFIG_IRQ_HDMA=7 | ||
264 | CONFIG_IRQ_USB_EINT=10 | ||
265 | CONFIG_IRQ_USB_INT0=11 | ||
266 | CONFIG_IRQ_USB_INT1=11 | ||
267 | CONFIG_IRQ_USB_INT2=11 | ||
268 | CONFIG_IRQ_USB_DMA=11 | ||
269 | |||
270 | # | ||
271 | # Board customizations | ||
272 | # | ||
273 | # CONFIG_CMDLINE_BOOL is not set | ||
274 | CONFIG_BOOT_LOAD=0x1000 | ||
275 | |||
276 | # | ||
277 | # Clock/PLL Setup | ||
278 | # | ||
279 | CONFIG_CLKIN_HZ=25000000 | ||
280 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
281 | CONFIG_MAX_VCO_HZ=600000000 | ||
282 | CONFIG_MIN_VCO_HZ=50000000 | ||
283 | CONFIG_MAX_SCLK_HZ=133333333 | ||
284 | CONFIG_MIN_SCLK_HZ=27000000 | ||
285 | |||
286 | # | ||
287 | # Kernel Timer/Scheduler | ||
288 | # | ||
289 | # CONFIG_HZ_100 is not set | ||
290 | CONFIG_HZ_250=y | ||
291 | # CONFIG_HZ_300 is not set | ||
292 | # CONFIG_HZ_1000 is not set | ||
293 | CONFIG_HZ=250 | ||
294 | # CONFIG_SCHED_HRTICK is not set | ||
295 | CONFIG_GENERIC_TIME=y | ||
296 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
297 | # CONFIG_TICKSOURCE_GPTMR0 is not set | ||
298 | CONFIG_TICKSOURCE_CORETMR=y | ||
299 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
300 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | ||
301 | # CONFIG_NO_HZ is not set | ||
302 | # CONFIG_HIGH_RES_TIMERS is not set | ||
303 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
304 | |||
305 | # | ||
306 | # Misc | ||
307 | # | ||
308 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
309 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
310 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
311 | |||
312 | # | ||
313 | # Blackfin Kernel Optimizations | ||
314 | # | ||
315 | |||
316 | # | ||
317 | # Memory Optimizations | ||
318 | # | ||
319 | CONFIG_I_ENTRY_L1=y | ||
320 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
321 | CONFIG_DO_IRQ_L1=y | ||
322 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
323 | CONFIG_IDLE_L1=y | ||
324 | # CONFIG_SCHEDULE_L1 is not set | ||
325 | CONFIG_ARITHMETIC_OPS_L1=y | ||
326 | CONFIG_ACCESS_OK_L1=y | ||
327 | # CONFIG_MEMSET_L1 is not set | ||
328 | # CONFIG_MEMCPY_L1 is not set | ||
329 | # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set | ||
330 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
331 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
332 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
333 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
334 | CONFIG_APP_STACK_L1=y | ||
335 | |||
336 | # | ||
337 | # Speed Optimizations | ||
338 | # | ||
339 | CONFIG_BFIN_INS_LOWOVERHEAD=y | ||
340 | CONFIG_RAMKERNEL=y | ||
341 | # CONFIG_ROMKERNEL is not set | ||
342 | CONFIG_SELECT_MEMORY_MODEL=y | ||
343 | CONFIG_FLATMEM_MANUAL=y | ||
344 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
345 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
346 | CONFIG_FLATMEM=y | ||
347 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
348 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
349 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
350 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
351 | CONFIG_ZONE_DMA_FLAG=1 | ||
352 | CONFIG_VIRT_TO_BUS=y | ||
353 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 | ||
354 | CONFIG_BFIN_GPTIMERS=y | ||
355 | # CONFIG_DMA_UNCACHED_4M is not set | ||
356 | # CONFIG_DMA_UNCACHED_2M is not set | ||
357 | CONFIG_DMA_UNCACHED_1M=y | ||
358 | # CONFIG_DMA_UNCACHED_512K is not set | ||
359 | # CONFIG_DMA_UNCACHED_256K is not set | ||
360 | # CONFIG_DMA_UNCACHED_128K is not set | ||
361 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
362 | |||
363 | # | ||
364 | # Cache Support | ||
365 | # | ||
366 | CONFIG_BFIN_ICACHE=y | ||
367 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
368 | CONFIG_BFIN_DCACHE=y | ||
369 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
370 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | ||
371 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | ||
372 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | ||
373 | |||
374 | # | ||
375 | # Memory Protection Unit | ||
376 | # | ||
377 | # CONFIG_MPU is not set | ||
378 | |||
379 | # | ||
380 | # Asynchronous Memory Configuration | ||
381 | # | ||
382 | |||
383 | # | ||
384 | # EBIU_AMGCTL Global Control | ||
385 | # | ||
386 | CONFIG_C_AMCKEN=y | ||
387 | CONFIG_C_CDPRIO=y | ||
388 | # CONFIG_C_AMBEN is not set | ||
389 | # CONFIG_C_AMBEN_B0 is not set | ||
390 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
391 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
392 | CONFIG_C_AMBEN_ALL=y | ||
393 | |||
394 | # | ||
395 | # EBIU_AMBCTL Control | ||
396 | # | ||
397 | CONFIG_BANK_0=0x7BB0 | ||
398 | CONFIG_BANK_1=0x7BB0 | ||
399 | CONFIG_BANK_2=0x7BB0 | ||
400 | CONFIG_BANK_3=0x99B2 | ||
401 | |||
402 | # | ||
403 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
404 | # | ||
405 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
406 | # CONFIG_PCCARD is not set | ||
407 | |||
408 | # | ||
409 | # Executable file formats | ||
410 | # | ||
411 | CONFIG_BINFMT_ELF_FDPIC=y | ||
412 | CONFIG_BINFMT_FLAT=y | ||
413 | CONFIG_BINFMT_ZFLAT=y | ||
414 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
415 | # CONFIG_HAVE_AOUT is not set | ||
416 | # CONFIG_BINFMT_MISC is not set | ||
417 | |||
418 | # | ||
419 | # Power management options | ||
420 | # | ||
421 | # CONFIG_PM is not set | ||
422 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
423 | |||
424 | # | ||
425 | # CPU Frequency scaling | ||
426 | # | ||
427 | # CONFIG_CPU_FREQ is not set | ||
428 | CONFIG_NET=y | ||
429 | |||
430 | # | ||
431 | # Networking options | ||
432 | # | ||
433 | CONFIG_PACKET=y | ||
434 | # CONFIG_PACKET_MMAP is not set | ||
435 | CONFIG_UNIX=y | ||
436 | # CONFIG_NET_KEY is not set | ||
437 | CONFIG_INET=y | ||
438 | # CONFIG_IP_MULTICAST is not set | ||
439 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
440 | CONFIG_IP_FIB_HASH=y | ||
441 | CONFIG_IP_PNP=y | ||
442 | # CONFIG_IP_PNP_DHCP is not set | ||
443 | # CONFIG_IP_PNP_BOOTP is not set | ||
444 | # CONFIG_IP_PNP_RARP is not set | ||
445 | # CONFIG_NET_IPIP is not set | ||
446 | # CONFIG_NET_IPGRE is not set | ||
447 | # CONFIG_ARPD is not set | ||
448 | # CONFIG_SYN_COOKIES is not set | ||
449 | # CONFIG_INET_AH is not set | ||
450 | # CONFIG_INET_ESP is not set | ||
451 | # CONFIG_INET_IPCOMP is not set | ||
452 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
453 | # CONFIG_INET_TUNNEL is not set | ||
454 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
455 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
456 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
457 | # CONFIG_INET_LRO is not set | ||
458 | # CONFIG_INET_DIAG is not set | ||
459 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
460 | CONFIG_TCP_CONG_CUBIC=y | ||
461 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
462 | # CONFIG_TCP_MD5SIG is not set | ||
463 | # CONFIG_IPV6 is not set | ||
464 | # CONFIG_NETLABEL is not set | ||
465 | # CONFIG_NETWORK_SECMARK is not set | ||
466 | # CONFIG_NETFILTER is not set | ||
467 | # CONFIG_IP_DCCP is not set | ||
468 | # CONFIG_IP_SCTP is not set | ||
469 | # CONFIG_RDS is not set | ||
470 | # CONFIG_TIPC is not set | ||
471 | # CONFIG_ATM is not set | ||
472 | # CONFIG_BRIDGE is not set | ||
473 | # CONFIG_NET_DSA is not set | ||
474 | # CONFIG_VLAN_8021Q is not set | ||
475 | # CONFIG_DECNET is not set | ||
476 | # CONFIG_LLC2 is not set | ||
477 | # CONFIG_IPX is not set | ||
478 | # CONFIG_ATALK is not set | ||
479 | # CONFIG_X25 is not set | ||
480 | # CONFIG_LAPB is not set | ||
481 | # CONFIG_ECONET is not set | ||
482 | # CONFIG_WAN_ROUTER is not set | ||
483 | # CONFIG_PHONET is not set | ||
484 | # CONFIG_IEEE802154 is not set | ||
485 | # CONFIG_NET_SCHED is not set | ||
486 | # CONFIG_DCB is not set | ||
487 | |||
488 | # | ||
489 | # Network testing | ||
490 | # | ||
491 | # CONFIG_NET_PKTGEN is not set | ||
492 | # CONFIG_HAMRADIO is not set | ||
493 | # CONFIG_CAN is not set | ||
494 | CONFIG_IRDA=m | ||
495 | |||
496 | # | ||
497 | # IrDA protocols | ||
498 | # | ||
499 | CONFIG_IRLAN=m | ||
500 | CONFIG_IRCOMM=m | ||
501 | # CONFIG_IRDA_ULTRA is not set | ||
502 | |||
503 | # | ||
504 | # IrDA options | ||
505 | # | ||
506 | # CONFIG_IRDA_CACHE_LAST_LSAP is not set | ||
507 | # CONFIG_IRDA_FAST_RR is not set | ||
508 | # CONFIG_IRDA_DEBUG is not set | ||
509 | |||
510 | # | ||
511 | # Infrared-port device drivers | ||
512 | # | ||
513 | |||
514 | # | ||
515 | # SIR device drivers | ||
516 | # | ||
517 | CONFIG_IRTTY_SIR=m | ||
518 | CONFIG_BFIN_SIR=m | ||
519 | CONFIG_BFIN_SIR0=y | ||
520 | CONFIG_SIR_BFIN_DMA=y | ||
521 | # CONFIG_SIR_BFIN_PIO is not set | ||
522 | |||
523 | # | ||
524 | # Dongle support | ||
525 | # | ||
526 | # CONFIG_DONGLE is not set | ||
527 | # CONFIG_KINGSUN_DONGLE is not set | ||
528 | # CONFIG_KSDAZZLE_DONGLE is not set | ||
529 | # CONFIG_KS959_DONGLE is not set | ||
530 | |||
531 | # | ||
532 | # FIR device drivers | ||
533 | # | ||
534 | # CONFIG_USB_IRDA is not set | ||
535 | # CONFIG_SIGMATEL_FIR is not set | ||
536 | # CONFIG_MCS_FIR is not set | ||
537 | # CONFIG_BT is not set | ||
538 | # CONFIG_AF_RXRPC is not set | ||
539 | # CONFIG_WIRELESS is not set | ||
540 | # CONFIG_WIMAX is not set | ||
541 | # CONFIG_RFKILL is not set | ||
542 | # CONFIG_NET_9P is not set | ||
543 | |||
544 | # | ||
545 | # Device Drivers | ||
546 | # | ||
547 | |||
548 | # | ||
549 | # Generic Driver Options | ||
550 | # | ||
551 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
552 | CONFIG_STANDALONE=y | ||
553 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
554 | # CONFIG_FW_LOADER is not set | ||
555 | # CONFIG_DEBUG_DRIVER is not set | ||
556 | # CONFIG_DEBUG_DEVRES is not set | ||
557 | # CONFIG_SYS_HYPERVISOR is not set | ||
558 | # CONFIG_CONNECTOR is not set | ||
559 | CONFIG_MTD=y | ||
560 | # CONFIG_MTD_DEBUG is not set | ||
561 | # CONFIG_MTD_TESTS is not set | ||
562 | # CONFIG_MTD_CONCAT is not set | ||
563 | CONFIG_MTD_PARTITIONS=y | ||
564 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
565 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
566 | # CONFIG_MTD_AR7_PARTS is not set | ||
567 | |||
568 | # | ||
569 | # User Modules And Translation Layers | ||
570 | # | ||
571 | CONFIG_MTD_CHAR=m | ||
572 | CONFIG_MTD_BLKDEVS=y | ||
573 | CONFIG_MTD_BLOCK=y | ||
574 | # CONFIG_FTL is not set | ||
575 | # CONFIG_NFTL is not set | ||
576 | # CONFIG_INFTL is not set | ||
577 | # CONFIG_RFD_FTL is not set | ||
578 | # CONFIG_SSFDC is not set | ||
579 | # CONFIG_MTD_OOPS is not set | ||
580 | |||
581 | # | ||
582 | # RAM/ROM/Flash chip drivers | ||
583 | # | ||
584 | # CONFIG_MTD_CFI is not set | ||
585 | CONFIG_MTD_JEDECPROBE=m | ||
586 | CONFIG_MTD_GEN_PROBE=m | ||
587 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
588 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
589 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
590 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
591 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
592 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
593 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
594 | CONFIG_MTD_CFI_I1=y | ||
595 | CONFIG_MTD_CFI_I2=y | ||
596 | # CONFIG_MTD_CFI_I4 is not set | ||
597 | # CONFIG_MTD_CFI_I8 is not set | ||
598 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
599 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
600 | # CONFIG_MTD_CFI_STAA is not set | ||
601 | CONFIG_MTD_RAM=y | ||
602 | CONFIG_MTD_ROM=m | ||
603 | # CONFIG_MTD_ABSENT is not set | ||
604 | |||
605 | # | ||
606 | # Mapping drivers for chip access | ||
607 | # | ||
608 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
609 | # CONFIG_MTD_PHYSMAP is not set | ||
610 | # CONFIG_MTD_GPIO_ADDR is not set | ||
611 | # CONFIG_MTD_UCLINUX is not set | ||
612 | # CONFIG_MTD_PLATRAM is not set | ||
613 | |||
614 | # | ||
615 | # Self-contained MTD device drivers | ||
616 | # | ||
617 | # CONFIG_MTD_DATAFLASH is not set | ||
618 | CONFIG_MTD_M25P80=y | ||
619 | CONFIG_M25PXX_USE_FAST_READ=y | ||
620 | # CONFIG_MTD_SST25L is not set | ||
621 | # CONFIG_MTD_SLRAM is not set | ||
622 | # CONFIG_MTD_PHRAM is not set | ||
623 | # CONFIG_MTD_MTDRAM is not set | ||
624 | # CONFIG_MTD_BLOCK2MTD is not set | ||
625 | |||
626 | # | ||
627 | # Disk-On-Chip Device Drivers | ||
628 | # | ||
629 | # CONFIG_MTD_DOC2000 is not set | ||
630 | # CONFIG_MTD_DOC2001 is not set | ||
631 | # CONFIG_MTD_DOC2001PLUS is not set | ||
632 | CONFIG_MTD_NAND=m | ||
633 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
634 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
635 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
636 | CONFIG_MTD_NAND_IDS=m | ||
637 | # CONFIG_MTD_NAND_BF5XX is not set | ||
638 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
639 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
640 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
641 | # CONFIG_MTD_ALAUDA is not set | ||
642 | # CONFIG_MTD_ONENAND is not set | ||
643 | |||
644 | # | ||
645 | # LPDDR flash memory drivers | ||
646 | # | ||
647 | # CONFIG_MTD_LPDDR is not set | ||
648 | |||
649 | # | ||
650 | # UBI - Unsorted block images | ||
651 | # | ||
652 | # CONFIG_MTD_UBI is not set | ||
653 | # CONFIG_PARPORT is not set | ||
654 | CONFIG_BLK_DEV=y | ||
655 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
656 | # CONFIG_BLK_DEV_LOOP is not set | ||
657 | # CONFIG_BLK_DEV_NBD is not set | ||
658 | # CONFIG_BLK_DEV_UB is not set | ||
659 | CONFIG_BLK_DEV_RAM=y | ||
660 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
661 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
662 | # CONFIG_BLK_DEV_XIP is not set | ||
663 | # CONFIG_CDROM_PKTCDVD is not set | ||
664 | # CONFIG_ATA_OVER_ETH is not set | ||
665 | # CONFIG_BLK_DEV_HD is not set | ||
666 | CONFIG_MISC_DEVICES=y | ||
667 | # CONFIG_AD525X_DPOT is not set | ||
668 | # CONFIG_ICS932S401 is not set | ||
669 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
670 | # CONFIG_ISL29003 is not set | ||
671 | # CONFIG_C2PORT is not set | ||
672 | |||
673 | # | ||
674 | # EEPROM support | ||
675 | # | ||
676 | # CONFIG_EEPROM_AT24 is not set | ||
677 | # CONFIG_EEPROM_AT25 is not set | ||
678 | # CONFIG_EEPROM_LEGACY is not set | ||
679 | # CONFIG_EEPROM_MAX6875 is not set | ||
680 | # CONFIG_EEPROM_93CX6 is not set | ||
681 | CONFIG_HAVE_IDE=y | ||
682 | # CONFIG_IDE is not set | ||
683 | |||
684 | # | ||
685 | # SCSI device support | ||
686 | # | ||
687 | # CONFIG_RAID_ATTRS is not set | ||
688 | CONFIG_SCSI=y | ||
689 | CONFIG_SCSI_DMA=y | ||
690 | # CONFIG_SCSI_TGT is not set | ||
691 | # CONFIG_SCSI_NETLINK is not set | ||
692 | # CONFIG_SCSI_PROC_FS is not set | ||
693 | |||
694 | # | ||
695 | # SCSI support type (disk, tape, CD-ROM) | ||
696 | # | ||
697 | CONFIG_BLK_DEV_SD=y | ||
698 | # CONFIG_CHR_DEV_ST is not set | ||
699 | # CONFIG_CHR_DEV_OSST is not set | ||
700 | CONFIG_BLK_DEV_SR=m | ||
701 | # CONFIG_BLK_DEV_SR_VENDOR is not set | ||
702 | # CONFIG_CHR_DEV_SG is not set | ||
703 | # CONFIG_CHR_DEV_SCH is not set | ||
704 | # CONFIG_SCSI_MULTI_LUN is not set | ||
705 | # CONFIG_SCSI_CONSTANTS is not set | ||
706 | # CONFIG_SCSI_LOGGING is not set | ||
707 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
708 | CONFIG_SCSI_WAIT_SCAN=m | ||
709 | |||
710 | # | ||
711 | # SCSI Transports | ||
712 | # | ||
713 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
714 | # CONFIG_SCSI_FC_ATTRS is not set | ||
715 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
716 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
717 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
718 | # CONFIG_SCSI_LOWLEVEL is not set | ||
719 | # CONFIG_SCSI_DH is not set | ||
720 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
721 | # CONFIG_ATA is not set | ||
722 | # CONFIG_MD is not set | ||
723 | CONFIG_NETDEVICES=y | ||
724 | # CONFIG_DUMMY is not set | ||
725 | # CONFIG_BONDING is not set | ||
726 | # CONFIG_MACVLAN is not set | ||
727 | # CONFIG_EQUALIZER is not set | ||
728 | # CONFIG_TUN is not set | ||
729 | # CONFIG_VETH is not set | ||
730 | CONFIG_PHYLIB=y | ||
731 | |||
732 | # | ||
733 | # MII PHY device drivers | ||
734 | # | ||
735 | # CONFIG_MARVELL_PHY is not set | ||
736 | # CONFIG_DAVICOM_PHY is not set | ||
737 | # CONFIG_QSEMI_PHY is not set | ||
738 | # CONFIG_LXT_PHY is not set | ||
739 | # CONFIG_CICADA_PHY is not set | ||
740 | # CONFIG_VITESSE_PHY is not set | ||
741 | # CONFIG_SMSC_PHY is not set | ||
742 | # CONFIG_BROADCOM_PHY is not set | ||
743 | # CONFIG_ICPLUS_PHY is not set | ||
744 | # CONFIG_REALTEK_PHY is not set | ||
745 | # CONFIG_NATIONAL_PHY is not set | ||
746 | # CONFIG_STE10XP is not set | ||
747 | # CONFIG_LSI_ET1011C_PHY is not set | ||
748 | # CONFIG_FIXED_PHY is not set | ||
749 | # CONFIG_MDIO_BITBANG is not set | ||
750 | CONFIG_NET_ETHERNET=y | ||
751 | CONFIG_MII=y | ||
752 | CONFIG_BFIN_MAC=y | ||
753 | CONFIG_BFIN_MAC_USE_L1=y | ||
754 | CONFIG_BFIN_TX_DESC_NUM=10 | ||
755 | CONFIG_BFIN_RX_DESC_NUM=20 | ||
756 | CONFIG_BFIN_MAC_RMII=y | ||
757 | # CONFIG_SMC91X is not set | ||
758 | # CONFIG_DM9000 is not set | ||
759 | # CONFIG_ENC28J60 is not set | ||
760 | # CONFIG_ETHOC is not set | ||
761 | # CONFIG_SMSC911X is not set | ||
762 | # CONFIG_DNET is not set | ||
763 | # CONFIG_ADF702X is not set | ||
764 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
765 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
766 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
767 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
768 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
769 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
770 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
771 | # CONFIG_B44 is not set | ||
772 | # CONFIG_KS8842 is not set | ||
773 | # CONFIG_KS8851 is not set | ||
774 | # CONFIG_KS8851_MLL is not set | ||
775 | # CONFIG_NETDEV_1000 is not set | ||
776 | # CONFIG_NETDEV_10000 is not set | ||
777 | # CONFIG_WLAN is not set | ||
778 | |||
779 | # | ||
780 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
781 | # | ||
782 | |||
783 | # | ||
784 | # USB Network Adapters | ||
785 | # | ||
786 | # CONFIG_USB_CATC is not set | ||
787 | # CONFIG_USB_KAWETH is not set | ||
788 | # CONFIG_USB_PEGASUS is not set | ||
789 | # CONFIG_USB_RTL8150 is not set | ||
790 | # CONFIG_USB_USBNET is not set | ||
791 | # CONFIG_WAN is not set | ||
792 | # CONFIG_PPP is not set | ||
793 | # CONFIG_SLIP is not set | ||
794 | # CONFIG_NETCONSOLE is not set | ||
795 | # CONFIG_NETPOLL is not set | ||
796 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
797 | # CONFIG_ISDN is not set | ||
798 | # CONFIG_PHONE is not set | ||
799 | |||
800 | # | ||
801 | # Input device support | ||
802 | # | ||
803 | CONFIG_INPUT=y | ||
804 | CONFIG_INPUT_FF_MEMLESS=m | ||
805 | # CONFIG_INPUT_POLLDEV is not set | ||
806 | |||
807 | # | ||
808 | # Userland interfaces | ||
809 | # | ||
810 | # CONFIG_INPUT_MOUSEDEV is not set | ||
811 | # CONFIG_INPUT_JOYDEV is not set | ||
812 | CONFIG_INPUT_EVDEV=y | ||
813 | # CONFIG_INPUT_EVBUG is not set | ||
814 | |||
815 | # | ||
816 | # Input Device Drivers | ||
817 | # | ||
818 | CONFIG_INPUT_KEYBOARD=y | ||
819 | CONFIG_KEYBOARD_ADP5520=y | ||
820 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
821 | # CONFIG_KEYBOARD_ATKBD is not set | ||
822 | # CONFIG_QT2160 is not set | ||
823 | # CONFIG_KEYBOARD_LKKBD is not set | ||
824 | # CONFIG_KEYBOARD_GPIO is not set | ||
825 | # CONFIG_KEYBOARD_MATRIX is not set | ||
826 | # CONFIG_KEYBOARD_LM8323 is not set | ||
827 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
828 | # CONFIG_KEYBOARD_NEWTON is not set | ||
829 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
830 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
831 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
832 | # CONFIG_KEYBOARD_XTKBD is not set | ||
833 | # CONFIG_INPUT_MOUSE is not set | ||
834 | # CONFIG_INPUT_JOYSTICK is not set | ||
835 | # CONFIG_INPUT_TABLET is not set | ||
836 | CONFIG_INPUT_TOUCHSCREEN=y | ||
837 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
838 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
839 | CONFIG_TOUCHSCREEN_AD7879_I2C=y | ||
840 | CONFIG_TOUCHSCREEN_AD7879=y | ||
841 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
842 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
843 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
844 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
845 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
846 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
847 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
848 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
849 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
850 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
851 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
852 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
853 | # CONFIG_TOUCHSCREEN_WM97XX is not set | ||
854 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
855 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
856 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
857 | CONFIG_INPUT_MISC=y | ||
858 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
859 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
860 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
861 | # CONFIG_INPUT_POWERMATE is not set | ||
862 | # CONFIG_INPUT_YEALINK is not set | ||
863 | # CONFIG_INPUT_CM109 is not set | ||
864 | # CONFIG_INPUT_UINPUT is not set | ||
865 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
866 | # CONFIG_INPUT_BFIN_ROTARY is not set | ||
867 | # CONFIG_INPUT_AD714X is not set | ||
868 | # CONFIG_INPUT_ADXL34X is not set | ||
869 | # CONFIG_INPUT_PCF8574 is not set | ||
870 | |||
871 | # | ||
872 | # Hardware I/O ports | ||
873 | # | ||
874 | # CONFIG_SERIO is not set | ||
875 | # CONFIG_GAMEPORT is not set | ||
876 | |||
877 | # | ||
878 | # Character devices | ||
879 | # | ||
880 | CONFIG_BFIN_DMA_INTERFACE=m | ||
881 | # CONFIG_BFIN_PPI is not set | ||
882 | # CONFIG_BFIN_PPIFCD is not set | ||
883 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
884 | # CONFIG_BFIN_SPI_ADC is not set | ||
885 | CONFIG_BFIN_SPORT=m | ||
886 | # CONFIG_BFIN_TWI_LCD is not set | ||
887 | CONFIG_VT=y | ||
888 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
889 | CONFIG_VT_CONSOLE=y | ||
890 | CONFIG_HW_CONSOLE=y | ||
891 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
892 | # CONFIG_DEVKMEM is not set | ||
893 | CONFIG_BFIN_JTAG_COMM=m | ||
894 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
895 | |||
896 | # | ||
897 | # Serial drivers | ||
898 | # | ||
899 | # CONFIG_SERIAL_8250 is not set | ||
900 | |||
901 | # | ||
902 | # Non-8250 serial port support | ||
903 | # | ||
904 | # CONFIG_SERIAL_MAX3100 is not set | ||
905 | CONFIG_SERIAL_BFIN=y | ||
906 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
907 | CONFIG_SERIAL_BFIN_DMA=y | ||
908 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
909 | # CONFIG_SERIAL_BFIN_UART0 is not set | ||
910 | CONFIG_SERIAL_BFIN_UART1=y | ||
911 | # CONFIG_BFIN_UART1_CTSRTS is not set | ||
912 | CONFIG_SERIAL_CORE=y | ||
913 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
914 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
915 | CONFIG_UNIX98_PTYS=y | ||
916 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
917 | # CONFIG_LEGACY_PTYS is not set | ||
918 | CONFIG_BFIN_OTP=y | ||
919 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | ||
920 | # CONFIG_IPMI_HANDLER is not set | ||
921 | # CONFIG_HW_RANDOM is not set | ||
922 | # CONFIG_R3964 is not set | ||
923 | # CONFIG_RAW_DRIVER is not set | ||
924 | # CONFIG_TCG_TPM is not set | ||
925 | CONFIG_I2C=y | ||
926 | CONFIG_I2C_BOARDINFO=y | ||
927 | CONFIG_I2C_COMPAT=y | ||
928 | CONFIG_I2C_CHARDEV=m | ||
929 | CONFIG_I2C_HELPER_AUTO=y | ||
930 | |||
931 | # | ||
932 | # I2C Hardware Bus support | ||
933 | # | ||
934 | |||
935 | # | ||
936 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
937 | # | ||
938 | CONFIG_I2C_BLACKFIN_TWI=y | ||
939 | CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | ||
940 | # CONFIG_I2C_GPIO is not set | ||
941 | # CONFIG_I2C_OCORES is not set | ||
942 | # CONFIG_I2C_SIMTEC is not set | ||
943 | |||
944 | # | ||
945 | # External I2C/SMBus adapter drivers | ||
946 | # | ||
947 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
948 | # CONFIG_I2C_TAOS_EVM is not set | ||
949 | # CONFIG_I2C_TINY_USB is not set | ||
950 | |||
951 | # | ||
952 | # Other I2C/SMBus bus drivers | ||
953 | # | ||
954 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
955 | # CONFIG_I2C_STUB is not set | ||
956 | |||
957 | # | ||
958 | # Miscellaneous I2C Chip support | ||
959 | # | ||
960 | # CONFIG_DS1682 is not set | ||
961 | # CONFIG_SENSORS_TSL2550 is not set | ||
962 | # CONFIG_I2C_DEBUG_CORE is not set | ||
963 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
964 | # CONFIG_I2C_DEBUG_BUS is not set | ||
965 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
966 | CONFIG_SPI=y | ||
967 | # CONFIG_SPI_DEBUG is not set | ||
968 | CONFIG_SPI_MASTER=y | ||
969 | |||
970 | # | ||
971 | # SPI Master Controller Drivers | ||
972 | # | ||
973 | CONFIG_SPI_BFIN=y | ||
974 | # CONFIG_SPI_BFIN_LOCK is not set | ||
975 | # CONFIG_SPI_BFIN_SPORT is not set | ||
976 | # CONFIG_SPI_BITBANG is not set | ||
977 | # CONFIG_SPI_GPIO is not set | ||
978 | |||
979 | # | ||
980 | # SPI Protocol Masters | ||
981 | # | ||
982 | # CONFIG_SPI_SPIDEV is not set | ||
983 | # CONFIG_SPI_TLE62X0 is not set | ||
984 | |||
985 | # | ||
986 | # PPS support | ||
987 | # | ||
988 | # CONFIG_PPS is not set | ||
989 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
990 | CONFIG_GPIOLIB=y | ||
991 | # CONFIG_DEBUG_GPIO is not set | ||
992 | CONFIG_GPIO_SYSFS=y | ||
993 | |||
994 | # | ||
995 | # Memory mapped GPIO expanders: | ||
996 | # | ||
997 | |||
998 | # | ||
999 | # I2C GPIO expanders: | ||
1000 | # | ||
1001 | # CONFIG_GPIO_MAX732X is not set | ||
1002 | # CONFIG_GPIO_PCA953X is not set | ||
1003 | # CONFIG_GPIO_PCF857X is not set | ||
1004 | # CONFIG_GPIO_ADP5520 is not set | ||
1005 | # CONFIG_GPIO_ADP5588 is not set | ||
1006 | |||
1007 | # | ||
1008 | # PCI GPIO expanders: | ||
1009 | # | ||
1010 | |||
1011 | # | ||
1012 | # SPI GPIO expanders: | ||
1013 | # | ||
1014 | # CONFIG_GPIO_MAX7301 is not set | ||
1015 | # CONFIG_GPIO_MCP23S08 is not set | ||
1016 | # CONFIG_GPIO_MC33880 is not set | ||
1017 | |||
1018 | # | ||
1019 | # AC97 GPIO expanders: | ||
1020 | # | ||
1021 | # CONFIG_W1 is not set | ||
1022 | # CONFIG_POWER_SUPPLY is not set | ||
1023 | # CONFIG_HWMON is not set | ||
1024 | # CONFIG_THERMAL is not set | ||
1025 | CONFIG_WATCHDOG=y | ||
1026 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
1027 | |||
1028 | # | ||
1029 | # Watchdog Device Drivers | ||
1030 | # | ||
1031 | # CONFIG_SOFT_WATCHDOG is not set | ||
1032 | CONFIG_BFIN_WDT=y | ||
1033 | |||
1034 | # | ||
1035 | # USB-based Watchdog Cards | ||
1036 | # | ||
1037 | # CONFIG_USBPCWATCHDOG is not set | ||
1038 | CONFIG_SSB_POSSIBLE=y | ||
1039 | |||
1040 | # | ||
1041 | # Sonics Silicon Backplane | ||
1042 | # | ||
1043 | # CONFIG_SSB is not set | ||
1044 | |||
1045 | # | ||
1046 | # Multifunction device drivers | ||
1047 | # | ||
1048 | # CONFIG_MFD_CORE is not set | ||
1049 | # CONFIG_MFD_SM501 is not set | ||
1050 | # CONFIG_HTC_PASIC3 is not set | ||
1051 | # CONFIG_UCB1400_CORE is not set | ||
1052 | # CONFIG_TPS65010 is not set | ||
1053 | # CONFIG_TWL4030_CORE is not set | ||
1054 | # CONFIG_MFD_TMIO is not set | ||
1055 | # CONFIG_PMIC_DA903X is not set | ||
1056 | CONFIG_PMIC_ADP5520=y | ||
1057 | # CONFIG_MFD_WM8400 is not set | ||
1058 | # CONFIG_MFD_WM831X is not set | ||
1059 | # CONFIG_MFD_WM8350_I2C is not set | ||
1060 | # CONFIG_MFD_PCF50633 is not set | ||
1061 | # CONFIG_MFD_MC13783 is not set | ||
1062 | # CONFIG_AB3100_CORE is not set | ||
1063 | # CONFIG_EZX_PCAP is not set | ||
1064 | # CONFIG_REGULATOR is not set | ||
1065 | # CONFIG_MEDIA_SUPPORT is not set | ||
1066 | |||
1067 | # | ||
1068 | # Graphics support | ||
1069 | # | ||
1070 | # CONFIG_VGASTATE is not set | ||
1071 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1072 | CONFIG_FB=y | ||
1073 | # CONFIG_FIRMWARE_EDID is not set | ||
1074 | # CONFIG_FB_DDC is not set | ||
1075 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
1076 | CONFIG_FB_CFB_FILLRECT=y | ||
1077 | CONFIG_FB_CFB_COPYAREA=y | ||
1078 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
1079 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1080 | # CONFIG_FB_SYS_FILLRECT is not set | ||
1081 | # CONFIG_FB_SYS_COPYAREA is not set | ||
1082 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
1083 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
1084 | # CONFIG_FB_SYS_FOPS is not set | ||
1085 | # CONFIG_FB_SVGALIB is not set | ||
1086 | # CONFIG_FB_MACMODES is not set | ||
1087 | # CONFIG_FB_BACKLIGHT is not set | ||
1088 | # CONFIG_FB_MODE_HELPERS is not set | ||
1089 | # CONFIG_FB_TILEBLITTING is not set | ||
1090 | |||
1091 | # | ||
1092 | # Frame buffer hardware drivers | ||
1093 | # | ||
1094 | # CONFIG_FB_BFIN_T350MCQB is not set | ||
1095 | CONFIG_FB_BFIN_LQ035Q1=y | ||
1096 | # CONFIG_FB_BFIN_7393 is not set | ||
1097 | # CONFIG_FB_S1D13XXX is not set | ||
1098 | # CONFIG_FB_VIRTUAL is not set | ||
1099 | # CONFIG_FB_METRONOME is not set | ||
1100 | # CONFIG_FB_MB862XX is not set | ||
1101 | # CONFIG_FB_BROADSHEET is not set | ||
1102 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1103 | CONFIG_LCD_CLASS_DEVICE=m | ||
1104 | # CONFIG_LCD_LMS283GF05 is not set | ||
1105 | # CONFIG_LCD_LTV350QV is not set | ||
1106 | # CONFIG_LCD_ILI9320 is not set | ||
1107 | # CONFIG_LCD_TDO24M is not set | ||
1108 | # CONFIG_LCD_VGG2432A4 is not set | ||
1109 | # CONFIG_LCD_PLATFORM is not set | ||
1110 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
1111 | CONFIG_BACKLIGHT_GENERIC=m | ||
1112 | # CONFIG_BACKLIGHT_ADP5520 is not set | ||
1113 | # CONFIG_BACKLIGHT_ADP8870 is not set | ||
1114 | |||
1115 | # | ||
1116 | # Display device support | ||
1117 | # | ||
1118 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1119 | |||
1120 | # | ||
1121 | # Console display driver support | ||
1122 | # | ||
1123 | CONFIG_DUMMY_CONSOLE=y | ||
1124 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
1125 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
1126 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
1127 | # CONFIG_FONTS is not set | ||
1128 | CONFIG_FONT_8x8=y | ||
1129 | CONFIG_FONT_8x16=y | ||
1130 | CONFIG_LOGO=y | ||
1131 | # CONFIG_LOGO_LINUX_MONO is not set | ||
1132 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
1133 | # CONFIG_LOGO_LINUX_CLUT224 is not set | ||
1134 | # CONFIG_LOGO_BLACKFIN_VGA16 is not set | ||
1135 | CONFIG_LOGO_BLACKFIN_CLUT224=y | ||
1136 | CONFIG_SOUND=m | ||
1137 | # CONFIG_SOUND_OSS_CORE is not set | ||
1138 | CONFIG_SND=m | ||
1139 | CONFIG_SND_TIMER=m | ||
1140 | CONFIG_SND_PCM=m | ||
1141 | CONFIG_SND_JACK=y | ||
1142 | # CONFIG_SND_SEQUENCER is not set | ||
1143 | # CONFIG_SND_MIXER_OSS is not set | ||
1144 | # CONFIG_SND_PCM_OSS is not set | ||
1145 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1146 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1147 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1148 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1149 | # CONFIG_SND_DEBUG is not set | ||
1150 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
1151 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
1152 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
1153 | # CONFIG_SND_SBAWE_SEQ is not set | ||
1154 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
1155 | CONFIG_SND_DRIVERS=y | ||
1156 | # CONFIG_SND_DUMMY is not set | ||
1157 | # CONFIG_SND_MTPAV is not set | ||
1158 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1159 | # CONFIG_SND_MPU401 is not set | ||
1160 | CONFIG_SND_SPI=y | ||
1161 | |||
1162 | # | ||
1163 | # ALSA Blackfin devices | ||
1164 | # | ||
1165 | # CONFIG_SND_BFIN_AD73322 is not set | ||
1166 | CONFIG_SND_USB=y | ||
1167 | # CONFIG_SND_USB_AUDIO is not set | ||
1168 | # CONFIG_SND_USB_CAIAQ is not set | ||
1169 | CONFIG_SND_SOC=m | ||
1170 | CONFIG_SND_SOC_AC97_BUS=y | ||
1171 | CONFIG_SND_BF5XX_I2S=m | ||
1172 | CONFIG_SND_BF5XX_SOC_SSM2602=m | ||
1173 | # CONFIG_SND_BF5XX_SOC_AD73311 is not set | ||
1174 | # CONFIG_SND_BF5XX_SOC_ADAU1371 is not set | ||
1175 | # CONFIG_SND_BF5XX_SOC_ADAU1761 is not set | ||
1176 | # CONFIG_SND_BF5XX_TDM is not set | ||
1177 | CONFIG_SND_BF5XX_AC97=m | ||
1178 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y | ||
1179 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set | ||
1180 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
1181 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
1182 | CONFIG_SND_BF5XX_SOC_SPORT=m | ||
1183 | CONFIG_SND_BF5XX_SOC_I2S=m | ||
1184 | CONFIG_SND_BF5XX_SOC_AC97=m | ||
1185 | CONFIG_SND_BF5XX_SPORT_NUM=0 | ||
1186 | CONFIG_SND_SOC_I2C_AND_SPI=m | ||
1187 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
1188 | CONFIG_SND_SOC_AD1980=m | ||
1189 | CONFIG_SND_SOC_SSM2602=m | ||
1190 | # CONFIG_SOUND_PRIME is not set | ||
1191 | CONFIG_AC97_BUS=m | ||
1192 | CONFIG_HID_SUPPORT=y | ||
1193 | CONFIG_HID=y | ||
1194 | # CONFIG_HIDRAW is not set | ||
1195 | |||
1196 | # | ||
1197 | # USB Input Devices | ||
1198 | # | ||
1199 | CONFIG_USB_HID=y | ||
1200 | # CONFIG_HID_PID is not set | ||
1201 | # CONFIG_USB_HIDDEV is not set | ||
1202 | |||
1203 | # | ||
1204 | # Special HID drivers | ||
1205 | # | ||
1206 | CONFIG_HID_A4TECH=y | ||
1207 | CONFIG_HID_APPLE=y | ||
1208 | CONFIG_HID_BELKIN=y | ||
1209 | CONFIG_HID_CHERRY=y | ||
1210 | CONFIG_HID_CHICONY=y | ||
1211 | CONFIG_HID_CYPRESS=y | ||
1212 | # CONFIG_HID_DRAGONRISE is not set | ||
1213 | CONFIG_HID_EZKEY=y | ||
1214 | # CONFIG_HID_KYE is not set | ||
1215 | CONFIG_HID_GYRATION=y | ||
1216 | # CONFIG_HID_TWINHAN is not set | ||
1217 | # CONFIG_HID_KENSINGTON is not set | ||
1218 | CONFIG_HID_LOGITECH=y | ||
1219 | # CONFIG_LOGITECH_FF is not set | ||
1220 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
1221 | CONFIG_HID_MICROSOFT=y | ||
1222 | CONFIG_HID_MONTEREY=y | ||
1223 | # CONFIG_HID_NTRIG is not set | ||
1224 | CONFIG_HID_PANTHERLORD=y | ||
1225 | # CONFIG_PANTHERLORD_FF is not set | ||
1226 | CONFIG_HID_PETALYNX=y | ||
1227 | CONFIG_HID_SAMSUNG=y | ||
1228 | CONFIG_HID_SONY=y | ||
1229 | CONFIG_HID_SUNPLUS=y | ||
1230 | # CONFIG_HID_GREENASIA is not set | ||
1231 | # CONFIG_HID_SMARTJOYPLUS is not set | ||
1232 | # CONFIG_HID_TOPSEED is not set | ||
1233 | # CONFIG_HID_THRUSTMASTER is not set | ||
1234 | # CONFIG_HID_ZEROPLUS is not set | ||
1235 | CONFIG_USB_SUPPORT=y | ||
1236 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1237 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
1238 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1239 | CONFIG_USB=y | ||
1240 | # CONFIG_USB_DEBUG is not set | ||
1241 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
1242 | |||
1243 | # | ||
1244 | # Miscellaneous USB options | ||
1245 | # | ||
1246 | CONFIG_USB_DEVICEFS=y | ||
1247 | # CONFIG_USB_DEVICE_CLASS is not set | ||
1248 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1249 | # CONFIG_USB_OTG is not set | ||
1250 | # CONFIG_USB_OTG_WHITELIST is not set | ||
1251 | CONFIG_USB_OTG_BLACKLIST_HUB=y | ||
1252 | CONFIG_USB_MON=y | ||
1253 | # CONFIG_USB_WUSB is not set | ||
1254 | # CONFIG_USB_WUSB_CBAF is not set | ||
1255 | |||
1256 | # | ||
1257 | # USB Host Controller Drivers | ||
1258 | # | ||
1259 | # CONFIG_USB_C67X00_HCD is not set | ||
1260 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1261 | # CONFIG_USB_ISP116X_HCD is not set | ||
1262 | # CONFIG_USB_ISP1760_HCD is not set | ||
1263 | # CONFIG_USB_ISP1362_HCD is not set | ||
1264 | # CONFIG_USB_SL811_HCD is not set | ||
1265 | # CONFIG_USB_R8A66597_HCD is not set | ||
1266 | # CONFIG_USB_HWA_HCD is not set | ||
1267 | CONFIG_USB_MUSB_HDRC=y | ||
1268 | CONFIG_USB_MUSB_SOC=y | ||
1269 | |||
1270 | # | ||
1271 | # Blackfin high speed USB Support | ||
1272 | # | ||
1273 | CONFIG_USB_MUSB_HOST=y | ||
1274 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
1275 | # CONFIG_USB_MUSB_OTG is not set | ||
1276 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
1277 | # CONFIG_MUSB_PIO_ONLY is not set | ||
1278 | CONFIG_USB_INVENTRA_DMA=y | ||
1279 | # CONFIG_USB_TI_CPPI_DMA is not set | ||
1280 | # CONFIG_USB_MUSB_DEBUG is not set | ||
1281 | |||
1282 | # | ||
1283 | # USB Device Class drivers | ||
1284 | # | ||
1285 | # CONFIG_USB_ACM is not set | ||
1286 | # CONFIG_USB_PRINTER is not set | ||
1287 | # CONFIG_USB_WDM is not set | ||
1288 | # CONFIG_USB_TMC is not set | ||
1289 | |||
1290 | # | ||
1291 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
1292 | # | ||
1293 | |||
1294 | # | ||
1295 | # also be needed; see USB_STORAGE Help for more info | ||
1296 | # | ||
1297 | CONFIG_USB_STORAGE=y | ||
1298 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1299 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1300 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1301 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1302 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1303 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1304 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1305 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1306 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1307 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1308 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1309 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1310 | # CONFIG_USB_LIBUSUAL is not set | ||
1311 | |||
1312 | # | ||
1313 | # USB Imaging devices | ||
1314 | # | ||
1315 | # CONFIG_USB_MDC800 is not set | ||
1316 | # CONFIG_USB_MICROTEK is not set | ||
1317 | |||
1318 | # | ||
1319 | # USB port drivers | ||
1320 | # | ||
1321 | # CONFIG_USB_SERIAL is not set | ||
1322 | |||
1323 | # | ||
1324 | # USB Miscellaneous drivers | ||
1325 | # | ||
1326 | # CONFIG_USB_EMI62 is not set | ||
1327 | # CONFIG_USB_EMI26 is not set | ||
1328 | # CONFIG_USB_ADUTUX is not set | ||
1329 | # CONFIG_USB_SEVSEG is not set | ||
1330 | # CONFIG_USB_RIO500 is not set | ||
1331 | # CONFIG_USB_LEGOTOWER is not set | ||
1332 | # CONFIG_USB_LCD is not set | ||
1333 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1334 | # CONFIG_USB_LED is not set | ||
1335 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1336 | # CONFIG_USB_CYTHERM is not set | ||
1337 | # CONFIG_USB_IDMOUSE is not set | ||
1338 | # CONFIG_USB_FTDI_ELAN is not set | ||
1339 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1340 | # CONFIG_USB_SISUSBVGA is not set | ||
1341 | # CONFIG_USB_LD is not set | ||
1342 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1343 | # CONFIG_USB_IOWARRIOR is not set | ||
1344 | # CONFIG_USB_TEST is not set | ||
1345 | # CONFIG_USB_ISIGHTFW is not set | ||
1346 | # CONFIG_USB_VST is not set | ||
1347 | # CONFIG_USB_GADGET is not set | ||
1348 | |||
1349 | # | ||
1350 | # OTG and related infrastructure | ||
1351 | # | ||
1352 | CONFIG_USB_OTG_UTILS=y | ||
1353 | # CONFIG_USB_GPIO_VBUS is not set | ||
1354 | CONFIG_NOP_USB_XCEIV=y | ||
1355 | # CONFIG_MMC is not set | ||
1356 | # CONFIG_MEMSTICK is not set | ||
1357 | CONFIG_NEW_LEDS=y | ||
1358 | CONFIG_LEDS_CLASS=y | ||
1359 | |||
1360 | # | ||
1361 | # LED drivers | ||
1362 | # | ||
1363 | # CONFIG_LEDS_PCA9532 is not set | ||
1364 | # CONFIG_LEDS_GPIO is not set | ||
1365 | # CONFIG_LEDS_LP3944 is not set | ||
1366 | # CONFIG_LEDS_PCA955X is not set | ||
1367 | # CONFIG_LEDS_DAC124S085 is not set | ||
1368 | # CONFIG_LEDS_BD2802 is not set | ||
1369 | CONFIG_LEDS_ADP5520=y | ||
1370 | |||
1371 | # | ||
1372 | # LED Triggers | ||
1373 | # | ||
1374 | # CONFIG_LEDS_TRIGGERS is not set | ||
1375 | # CONFIG_ACCESSIBILITY is not set | ||
1376 | CONFIG_RTC_LIB=y | ||
1377 | CONFIG_RTC_CLASS=y | ||
1378 | CONFIG_RTC_HCTOSYS=y | ||
1379 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1380 | # CONFIG_RTC_DEBUG is not set | ||
1381 | |||
1382 | # | ||
1383 | # RTC interfaces | ||
1384 | # | ||
1385 | CONFIG_RTC_INTF_SYSFS=y | ||
1386 | CONFIG_RTC_INTF_PROC=y | ||
1387 | CONFIG_RTC_INTF_DEV=y | ||
1388 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1389 | # CONFIG_RTC_DRV_TEST is not set | ||
1390 | |||
1391 | # | ||
1392 | # I2C RTC drivers | ||
1393 | # | ||
1394 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1395 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1396 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1397 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1398 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1399 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1400 | # CONFIG_RTC_DRV_X1205 is not set | ||
1401 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1402 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1403 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1404 | # CONFIG_RTC_DRV_S35390A is not set | ||
1405 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1406 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1407 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1408 | |||
1409 | # | ||
1410 | # SPI RTC drivers | ||
1411 | # | ||
1412 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1413 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1414 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1415 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1416 | # CONFIG_RTC_DRV_R9701 is not set | ||
1417 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1418 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1419 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1420 | |||
1421 | # | ||
1422 | # Platform RTC drivers | ||
1423 | # | ||
1424 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1425 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1426 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1427 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1428 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1429 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1430 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1431 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1432 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1433 | # CONFIG_RTC_DRV_V3020 is not set | ||
1434 | |||
1435 | # | ||
1436 | # on-CPU RTC drivers | ||
1437 | # | ||
1438 | CONFIG_RTC_DRV_BFIN=y | ||
1439 | # CONFIG_DMADEVICES is not set | ||
1440 | # CONFIG_AUXDISPLAY is not set | ||
1441 | # CONFIG_UIO is not set | ||
1442 | |||
1443 | # | ||
1444 | # TI VLYNQ | ||
1445 | # | ||
1446 | # CONFIG_STAGING is not set | ||
1447 | |||
1448 | # | ||
1449 | # Firmware Drivers | ||
1450 | # | ||
1451 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1452 | # CONFIG_SIGMA is not set | ||
1453 | |||
1454 | # | ||
1455 | # File systems | ||
1456 | # | ||
1457 | CONFIG_EXT2_FS=m | ||
1458 | # CONFIG_EXT2_FS_XATTR is not set | ||
1459 | # CONFIG_EXT3_FS is not set | ||
1460 | # CONFIG_EXT4_FS is not set | ||
1461 | # CONFIG_REISERFS_FS is not set | ||
1462 | # CONFIG_JFS_FS is not set | ||
1463 | # CONFIG_FS_POSIX_ACL is not set | ||
1464 | # CONFIG_XFS_FS is not set | ||
1465 | # CONFIG_GFS2_FS is not set | ||
1466 | # CONFIG_OCFS2_FS is not set | ||
1467 | # CONFIG_BTRFS_FS is not set | ||
1468 | # CONFIG_NILFS2_FS is not set | ||
1469 | CONFIG_FILE_LOCKING=y | ||
1470 | CONFIG_FSNOTIFY=y | ||
1471 | # CONFIG_DNOTIFY is not set | ||
1472 | CONFIG_INOTIFY=y | ||
1473 | CONFIG_INOTIFY_USER=y | ||
1474 | # CONFIG_QUOTA is not set | ||
1475 | # CONFIG_AUTOFS_FS is not set | ||
1476 | # CONFIG_AUTOFS4_FS is not set | ||
1477 | # CONFIG_FUSE_FS is not set | ||
1478 | |||
1479 | # | ||
1480 | # Caches | ||
1481 | # | ||
1482 | # CONFIG_FSCACHE is not set | ||
1483 | |||
1484 | # | ||
1485 | # CD-ROM/DVD Filesystems | ||
1486 | # | ||
1487 | CONFIG_ISO9660_FS=m | ||
1488 | CONFIG_JOLIET=y | ||
1489 | # CONFIG_ZISOFS is not set | ||
1490 | CONFIG_UDF_FS=m | ||
1491 | CONFIG_UDF_NLS=y | ||
1492 | |||
1493 | # | ||
1494 | # DOS/FAT/NT Filesystems | ||
1495 | # | ||
1496 | CONFIG_FAT_FS=m | ||
1497 | # CONFIG_MSDOS_FS is not set | ||
1498 | CONFIG_VFAT_FS=m | ||
1499 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1500 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1501 | # CONFIG_NTFS_FS is not set | ||
1502 | |||
1503 | # | ||
1504 | # Pseudo filesystems | ||
1505 | # | ||
1506 | CONFIG_PROC_FS=y | ||
1507 | CONFIG_PROC_SYSCTL=y | ||
1508 | CONFIG_SYSFS=y | ||
1509 | # CONFIG_HUGETLB_PAGE is not set | ||
1510 | # CONFIG_CONFIGFS_FS is not set | ||
1511 | CONFIG_MISC_FILESYSTEMS=y | ||
1512 | # CONFIG_ADFS_FS is not set | ||
1513 | # CONFIG_AFFS_FS is not set | ||
1514 | # CONFIG_HFS_FS is not set | ||
1515 | # CONFIG_HFSPLUS_FS is not set | ||
1516 | # CONFIG_BEFS_FS is not set | ||
1517 | # CONFIG_BFS_FS is not set | ||
1518 | # CONFIG_EFS_FS is not set | ||
1519 | CONFIG_JFFS2_FS=m | ||
1520 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1521 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1522 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1523 | # CONFIG_JFFS2_SUMMARY is not set | ||
1524 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1525 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1526 | CONFIG_JFFS2_ZLIB=y | ||
1527 | # CONFIG_JFFS2_LZO is not set | ||
1528 | CONFIG_JFFS2_RTIME=y | ||
1529 | # CONFIG_JFFS2_RUBIN is not set | ||
1530 | # CONFIG_CRAMFS is not set | ||
1531 | # CONFIG_SQUASHFS is not set | ||
1532 | # CONFIG_VXFS_FS is not set | ||
1533 | # CONFIG_MINIX_FS is not set | ||
1534 | # CONFIG_OMFS_FS is not set | ||
1535 | # CONFIG_HPFS_FS is not set | ||
1536 | # CONFIG_QNX4FS_FS is not set | ||
1537 | # CONFIG_ROMFS_FS is not set | ||
1538 | # CONFIG_SYSV_FS is not set | ||
1539 | # CONFIG_UFS_FS is not set | ||
1540 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1541 | CONFIG_NFS_FS=m | ||
1542 | CONFIG_NFS_V3=y | ||
1543 | # CONFIG_NFS_V3_ACL is not set | ||
1544 | # CONFIG_NFS_V4 is not set | ||
1545 | # CONFIG_NFSD is not set | ||
1546 | CONFIG_LOCKD=m | ||
1547 | CONFIG_LOCKD_V4=y | ||
1548 | CONFIG_NFS_COMMON=y | ||
1549 | CONFIG_SUNRPC=m | ||
1550 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1551 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1552 | CONFIG_SMB_FS=m | ||
1553 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1554 | # CONFIG_CIFS is not set | ||
1555 | # CONFIG_NCP_FS is not set | ||
1556 | # CONFIG_CODA_FS is not set | ||
1557 | # CONFIG_AFS_FS is not set | ||
1558 | |||
1559 | # | ||
1560 | # Partition Types | ||
1561 | # | ||
1562 | # CONFIG_PARTITION_ADVANCED is not set | ||
1563 | CONFIG_MSDOS_PARTITION=y | ||
1564 | CONFIG_NLS=y | ||
1565 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1566 | CONFIG_NLS_CODEPAGE_437=m | ||
1567 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1568 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1569 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1570 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1571 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1572 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1573 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1574 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1575 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1576 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1577 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1578 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1579 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1580 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1581 | CONFIG_NLS_CODEPAGE_936=m | ||
1582 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1583 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1584 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1585 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1586 | # CONFIG_NLS_ISO8859_8 is not set | ||
1587 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1588 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1589 | # CONFIG_NLS_ASCII is not set | ||
1590 | CONFIG_NLS_ISO8859_1=m | ||
1591 | # CONFIG_NLS_ISO8859_2 is not set | ||
1592 | # CONFIG_NLS_ISO8859_3 is not set | ||
1593 | # CONFIG_NLS_ISO8859_4 is not set | ||
1594 | # CONFIG_NLS_ISO8859_5 is not set | ||
1595 | # CONFIG_NLS_ISO8859_6 is not set | ||
1596 | # CONFIG_NLS_ISO8859_7 is not set | ||
1597 | # CONFIG_NLS_ISO8859_9 is not set | ||
1598 | # CONFIG_NLS_ISO8859_13 is not set | ||
1599 | # CONFIG_NLS_ISO8859_14 is not set | ||
1600 | # CONFIG_NLS_ISO8859_15 is not set | ||
1601 | # CONFIG_NLS_KOI8_R is not set | ||
1602 | # CONFIG_NLS_KOI8_U is not set | ||
1603 | CONFIG_NLS_UTF8=m | ||
1604 | # CONFIG_DLM is not set | ||
1605 | |||
1606 | # | ||
1607 | # Kernel hacking | ||
1608 | # | ||
1609 | # CONFIG_PRINTK_TIME is not set | ||
1610 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1611 | CONFIG_ENABLE_MUST_CHECK=y | ||
1612 | CONFIG_FRAME_WARN=1024 | ||
1613 | # CONFIG_MAGIC_SYSRQ is not set | ||
1614 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1615 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1616 | CONFIG_DEBUG_FS=y | ||
1617 | # CONFIG_HEADERS_CHECK is not set | ||
1618 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1619 | CONFIG_DEBUG_KERNEL=y | ||
1620 | CONFIG_DEBUG_SHIRQ=y | ||
1621 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1622 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1623 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1624 | CONFIG_DETECT_HUNG_TASK=y | ||
1625 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1626 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1627 | CONFIG_SCHED_DEBUG=y | ||
1628 | # CONFIG_SCHEDSTATS is not set | ||
1629 | # CONFIG_TIMER_STATS is not set | ||
1630 | # CONFIG_DEBUG_OBJECTS is not set | ||
1631 | # CONFIG_DEBUG_SLAB is not set | ||
1632 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1633 | # CONFIG_DEBUG_MUTEXES is not set | ||
1634 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1635 | # CONFIG_PROVE_LOCKING is not set | ||
1636 | # CONFIG_LOCK_STAT is not set | ||
1637 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1638 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1639 | # CONFIG_DEBUG_KOBJECT is not set | ||
1640 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1641 | CONFIG_DEBUG_INFO=y | ||
1642 | # CONFIG_DEBUG_VM is not set | ||
1643 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1644 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1645 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1646 | # CONFIG_DEBUG_LIST is not set | ||
1647 | # CONFIG_DEBUG_SG is not set | ||
1648 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1649 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1650 | # CONFIG_FRAME_POINTER is not set | ||
1651 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1652 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1653 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1654 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1655 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1656 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1657 | # CONFIG_FAULT_INJECTION is not set | ||
1658 | # CONFIG_PAGE_POISONING is not set | ||
1659 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1660 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1661 | CONFIG_TRACING_SUPPORT=y | ||
1662 | # CONFIG_FTRACE is not set | ||
1663 | # CONFIG_BRANCH_PROFILE_NONE is not set | ||
1664 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1665 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1666 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1667 | # CONFIG_SAMPLES is not set | ||
1668 | CONFIG_HAVE_ARCH_KGDB=y | ||
1669 | # CONFIG_KGDB is not set | ||
1670 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
1671 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1672 | CONFIG_DEBUG_VERBOSE=y | ||
1673 | CONFIG_DEBUG_MMRS=y | ||
1674 | CONFIG_DEBUG_HWERR=y | ||
1675 | CONFIG_EXACT_HWERR=y | ||
1676 | CONFIG_DEBUG_DOUBLEFAULT=y | ||
1677 | CONFIG_DEBUG_DOUBLEFAULT_PRINT=y | ||
1678 | # CONFIG_DEBUG_DOUBLEFAULT_RESET is not set | ||
1679 | # CONFIG_DEBUG_ICACHE_CHECK is not set | ||
1680 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1681 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1682 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF is not set | ||
1683 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y | ||
1684 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1685 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=1 | ||
1686 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1687 | CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | ||
1688 | CONFIG_EARLY_PRINTK=y | ||
1689 | CONFIG_CPLB_INFO=y | ||
1690 | CONFIG_ACCESS_CHECK=y | ||
1691 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1692 | |||
1693 | # | ||
1694 | # Security options | ||
1695 | # | ||
1696 | # CONFIG_KEYS is not set | ||
1697 | CONFIG_SECURITY=y | ||
1698 | # CONFIG_SECURITYFS is not set | ||
1699 | # CONFIG_SECURITY_NETWORK is not set | ||
1700 | # CONFIG_SECURITY_PATH is not set | ||
1701 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1702 | # CONFIG_SECURITY_ROOTPLUG is not set | ||
1703 | # CONFIG_SECURITY_TOMOYO is not set | ||
1704 | CONFIG_CRYPTO=y | ||
1705 | |||
1706 | # | ||
1707 | # Crypto core or helper | ||
1708 | # | ||
1709 | # CONFIG_CRYPTO_MANAGER is not set | ||
1710 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
1711 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1712 | # CONFIG_CRYPTO_NULL is not set | ||
1713 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1714 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1715 | # CONFIG_CRYPTO_TEST is not set | ||
1716 | |||
1717 | # | ||
1718 | # Authenticated Encryption with Associated Data | ||
1719 | # | ||
1720 | # CONFIG_CRYPTO_CCM is not set | ||
1721 | # CONFIG_CRYPTO_GCM is not set | ||
1722 | # CONFIG_CRYPTO_SEQIV is not set | ||
1723 | |||
1724 | # | ||
1725 | # Block modes | ||
1726 | # | ||
1727 | # CONFIG_CRYPTO_CBC is not set | ||
1728 | # CONFIG_CRYPTO_CTR is not set | ||
1729 | # CONFIG_CRYPTO_CTS is not set | ||
1730 | # CONFIG_CRYPTO_ECB is not set | ||
1731 | # CONFIG_CRYPTO_LRW is not set | ||
1732 | # CONFIG_CRYPTO_PCBC is not set | ||
1733 | # CONFIG_CRYPTO_XTS is not set | ||
1734 | |||
1735 | # | ||
1736 | # Hash modes | ||
1737 | # | ||
1738 | # CONFIG_CRYPTO_HMAC is not set | ||
1739 | # CONFIG_CRYPTO_XCBC is not set | ||
1740 | # CONFIG_CRYPTO_VMAC is not set | ||
1741 | |||
1742 | # | ||
1743 | # Digest | ||
1744 | # | ||
1745 | # CONFIG_CRYPTO_CRC32C is not set | ||
1746 | # CONFIG_CRYPTO_GHASH is not set | ||
1747 | # CONFIG_CRYPTO_MD4 is not set | ||
1748 | # CONFIG_CRYPTO_MD5 is not set | ||
1749 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1750 | # CONFIG_CRYPTO_RMD128 is not set | ||
1751 | # CONFIG_CRYPTO_RMD160 is not set | ||
1752 | # CONFIG_CRYPTO_RMD256 is not set | ||
1753 | # CONFIG_CRYPTO_RMD320 is not set | ||
1754 | # CONFIG_CRYPTO_SHA1 is not set | ||
1755 | # CONFIG_CRYPTO_SHA256 is not set | ||
1756 | # CONFIG_CRYPTO_SHA512 is not set | ||
1757 | # CONFIG_CRYPTO_TGR192 is not set | ||
1758 | # CONFIG_CRYPTO_WP512 is not set | ||
1759 | |||
1760 | # | ||
1761 | # Ciphers | ||
1762 | # | ||
1763 | # CONFIG_CRYPTO_AES is not set | ||
1764 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1765 | # CONFIG_CRYPTO_ARC4 is not set | ||
1766 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1767 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1768 | # CONFIG_CRYPTO_CAST5 is not set | ||
1769 | # CONFIG_CRYPTO_CAST6 is not set | ||
1770 | # CONFIG_CRYPTO_DES is not set | ||
1771 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1772 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1773 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1774 | # CONFIG_CRYPTO_SEED is not set | ||
1775 | # CONFIG_CRYPTO_SERPENT is not set | ||
1776 | # CONFIG_CRYPTO_TEA is not set | ||
1777 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1778 | |||
1779 | # | ||
1780 | # Compression | ||
1781 | # | ||
1782 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1783 | # CONFIG_CRYPTO_ZLIB is not set | ||
1784 | # CONFIG_CRYPTO_LZO is not set | ||
1785 | |||
1786 | # | ||
1787 | # Random Number Generation | ||
1788 | # | ||
1789 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1790 | CONFIG_CRYPTO_HW=y | ||
1791 | # CONFIG_BINARY_PRINTF is not set | ||
1792 | |||
1793 | # | ||
1794 | # Library routines | ||
1795 | # | ||
1796 | CONFIG_BITREVERSE=y | ||
1797 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1798 | CONFIG_CRC_CCITT=m | ||
1799 | # CONFIG_CRC16 is not set | ||
1800 | # CONFIG_CRC_T10DIF is not set | ||
1801 | CONFIG_CRC_ITU_T=m | ||
1802 | CONFIG_CRC32=y | ||
1803 | # CONFIG_CRC7 is not set | ||
1804 | # CONFIG_LIBCRC32C is not set | ||
1805 | CONFIG_ZLIB_INFLATE=y | ||
1806 | CONFIG_ZLIB_DEFLATE=m | ||
1807 | CONFIG_DECOMPRESS_GZIP=y | ||
1808 | CONFIG_HAS_IOMEM=y | ||
1809 | CONFIG_HAS_IOPORT=y | ||
1810 | CONFIG_HAS_DMA=y | ||
1811 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index 6d1a623fb149..edbb44d26bbf 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_DEFAULT_AS=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 132 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,29 +160,28 @@ CONFIG_BF527=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=0 | 174 | CONFIG_BF_REV_MIN=0 |
147 | CONFIG_BF_REV_MAX=2 | 175 | CONFIG_BF_REV_MAX=2 |
148 | # CONFIG_BF_REV_0_0 is not set | 176 | # CONFIG_BF_REV_0_0 is not set |
149 | # CONFIG_BF_REV_0_1 is not set | 177 | CONFIG_BF_REV_0_1=y |
150 | CONFIG_BF_REV_0_2=y | 178 | # CONFIG_BF_REV_0_2 is not set |
151 | # CONFIG_BF_REV_0_3 is not set | 179 | # CONFIG_BF_REV_0_3 is not set |
152 | # CONFIG_BF_REV_0_4 is not set | 180 | # CONFIG_BF_REV_0_4 is not set |
153 | # CONFIG_BF_REV_0_5 is not set | 181 | # CONFIG_BF_REV_0_5 is not set |
154 | # CONFIG_BF_REV_0_6 is not set | 182 | # CONFIG_BF_REV_0_6 is not set |
155 | # CONFIG_BF_REV_ANY is not set | 183 | # CONFIG_BF_REV_ANY is not set |
156 | # CONFIG_BF_REV_NONE is not set | 184 | # CONFIG_BF_REV_NONE is not set |
157 | CONFIG_BF52x=y | ||
158 | CONFIG_MEM_MT48LC32M16A2TG_75=y | 185 | CONFIG_MEM_MT48LC32M16A2TG_75=y |
159 | CONFIG_IRQ_PLL_WAKEUP=7 | 186 | CONFIG_IRQ_PLL_WAKEUP=7 |
160 | CONFIG_IRQ_DMA0_ERROR=7 | 187 | CONFIG_IRQ_DMA0_ERROR=7 |
@@ -200,7 +227,9 @@ CONFIG_IRQ_MEM_DMA1=13 | |||
200 | CONFIG_IRQ_WATCH=13 | 227 | CONFIG_IRQ_WATCH=13 |
201 | CONFIG_IRQ_PORTF_INTA=13 | 228 | CONFIG_IRQ_PORTF_INTA=13 |
202 | CONFIG_IRQ_PORTF_INTB=13 | 229 | CONFIG_IRQ_PORTF_INTB=13 |
230 | CONFIG_BF52x=y | ||
203 | CONFIG_BFIN527_EZKIT=y | 231 | CONFIG_BFIN527_EZKIT=y |
232 | # CONFIG_BFIN527_EZKIT_V2 is not set | ||
204 | # CONFIG_BFIN527_BLUETECHNIX_CM is not set | 233 | # CONFIG_BFIN527_BLUETECHNIX_CM is not set |
205 | # CONFIG_BFIN526_EZBRD is not set | 234 | # CONFIG_BFIN526_EZBRD is not set |
206 | 235 | ||
@@ -318,7 +347,6 @@ CONFIG_FLATMEM=y | |||
318 | CONFIG_FLAT_NODE_MEM_MAP=y | 347 | CONFIG_FLAT_NODE_MEM_MAP=y |
319 | CONFIG_PAGEFLAGS_EXTENDED=y | 348 | CONFIG_PAGEFLAGS_EXTENDED=y |
320 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 349 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
321 | # CONFIG_RESOURCES_64BIT is not set | ||
322 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 350 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
323 | CONFIG_ZONE_DMA_FLAG=1 | 351 | CONFIG_ZONE_DMA_FLAG=1 |
324 | CONFIG_VIRT_TO_BUS=y | 352 | CONFIG_VIRT_TO_BUS=y |
@@ -327,16 +355,18 @@ CONFIG_BFIN_GPTIMERS=y | |||
327 | # CONFIG_DMA_UNCACHED_4M is not set | 355 | # CONFIG_DMA_UNCACHED_4M is not set |
328 | # CONFIG_DMA_UNCACHED_2M is not set | 356 | # CONFIG_DMA_UNCACHED_2M is not set |
329 | CONFIG_DMA_UNCACHED_1M=y | 357 | CONFIG_DMA_UNCACHED_1M=y |
358 | # CONFIG_DMA_UNCACHED_512K is not set | ||
359 | # CONFIG_DMA_UNCACHED_256K is not set | ||
360 | # CONFIG_DMA_UNCACHED_128K is not set | ||
330 | # CONFIG_DMA_UNCACHED_NONE is not set | 361 | # CONFIG_DMA_UNCACHED_NONE is not set |
331 | 362 | ||
332 | # | 363 | # |
333 | # Cache Support | 364 | # Cache Support |
334 | # | 365 | # |
335 | CONFIG_BFIN_ICACHE=y | 366 | CONFIG_BFIN_ICACHE=y |
336 | # CONFIG_BFIN_ICACHE_LOCK is not set | 367 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
337 | CONFIG_BFIN_DCACHE=y | 368 | CONFIG_BFIN_DCACHE=y |
338 | # CONFIG_BFIN_DCACHE_BANKA is not set | 369 | # CONFIG_BFIN_DCACHE_BANKA is not set |
339 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
340 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 370 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
341 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 371 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
342 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 372 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -347,7 +377,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
347 | # CONFIG_MPU is not set | 377 | # CONFIG_MPU is not set |
348 | 378 | ||
349 | # | 379 | # |
350 | # Asynchonous Memory Configuration | 380 | # Asynchronous Memory Configuration |
351 | # | 381 | # |
352 | 382 | ||
353 | # | 383 | # |
@@ -403,11 +433,6 @@ CONFIG_NET=y | |||
403 | CONFIG_PACKET=y | 433 | CONFIG_PACKET=y |
404 | # CONFIG_PACKET_MMAP is not set | 434 | # CONFIG_PACKET_MMAP is not set |
405 | CONFIG_UNIX=y | 435 | CONFIG_UNIX=y |
406 | CONFIG_XFRM=y | ||
407 | # CONFIG_XFRM_USER is not set | ||
408 | # CONFIG_XFRM_SUB_POLICY is not set | ||
409 | # CONFIG_XFRM_MIGRATE is not set | ||
410 | # CONFIG_XFRM_STATISTICS is not set | ||
411 | # CONFIG_NET_KEY is not set | 436 | # CONFIG_NET_KEY is not set |
412 | CONFIG_INET=y | 437 | CONFIG_INET=y |
413 | # CONFIG_IP_MULTICAST is not set | 438 | # CONFIG_IP_MULTICAST is not set |
@@ -431,7 +456,6 @@ CONFIG_IP_PNP=y | |||
431 | # CONFIG_INET_XFRM_MODE_BEET is not set | 456 | # CONFIG_INET_XFRM_MODE_BEET is not set |
432 | # CONFIG_INET_LRO is not set | 457 | # CONFIG_INET_LRO is not set |
433 | # CONFIG_INET_DIAG is not set | 458 | # CONFIG_INET_DIAG is not set |
434 | CONFIG_INET_TCP_DIAG=y | ||
435 | # CONFIG_TCP_CONG_ADVANCED is not set | 459 | # CONFIG_TCP_CONG_ADVANCED is not set |
436 | CONFIG_TCP_CONG_CUBIC=y | 460 | CONFIG_TCP_CONG_CUBIC=y |
437 | CONFIG_DEFAULT_TCP_CONG="cubic" | 461 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -442,6 +466,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
442 | # CONFIG_NETFILTER is not set | 466 | # CONFIG_NETFILTER is not set |
443 | # CONFIG_IP_DCCP is not set | 467 | # CONFIG_IP_DCCP is not set |
444 | # CONFIG_IP_SCTP is not set | 468 | # CONFIG_IP_SCTP is not set |
469 | # CONFIG_RDS is not set | ||
445 | # CONFIG_TIPC is not set | 470 | # CONFIG_TIPC is not set |
446 | # CONFIG_ATM is not set | 471 | # CONFIG_ATM is not set |
447 | # CONFIG_BRIDGE is not set | 472 | # CONFIG_BRIDGE is not set |
@@ -455,7 +480,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
455 | # CONFIG_LAPB is not set | 480 | # CONFIG_LAPB is not set |
456 | # CONFIG_ECONET is not set | 481 | # CONFIG_ECONET is not set |
457 | # CONFIG_WAN_ROUTER is not set | 482 | # CONFIG_WAN_ROUTER is not set |
483 | # CONFIG_PHONET is not set | ||
484 | # CONFIG_IEEE802154 is not set | ||
458 | # CONFIG_NET_SCHED is not set | 485 | # CONFIG_NET_SCHED is not set |
486 | # CONFIG_DCB is not set | ||
459 | 487 | ||
460 | # | 488 | # |
461 | # Network testing | 489 | # Network testing |
@@ -508,13 +536,8 @@ CONFIG_SIR_BFIN_DMA=y | |||
508 | # CONFIG_MCS_FIR is not set | 536 | # CONFIG_MCS_FIR is not set |
509 | # CONFIG_BT is not set | 537 | # CONFIG_BT is not set |
510 | # CONFIG_AF_RXRPC is not set | 538 | # CONFIG_AF_RXRPC is not set |
511 | # CONFIG_PHONET is not set | 539 | # CONFIG_WIRELESS is not set |
512 | CONFIG_WIRELESS=y | 540 | # CONFIG_WIMAX is not set |
513 | # CONFIG_CFG80211 is not set | ||
514 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
515 | # CONFIG_WIRELESS_EXT is not set | ||
516 | # CONFIG_MAC80211 is not set | ||
517 | # CONFIG_IEEE80211 is not set | ||
518 | # CONFIG_RFKILL is not set | 541 | # CONFIG_RFKILL is not set |
519 | # CONFIG_NET_9P is not set | 542 | # CONFIG_NET_9P is not set |
520 | 543 | ||
@@ -535,6 +558,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
535 | # CONFIG_CONNECTOR is not set | 558 | # CONFIG_CONNECTOR is not set |
536 | CONFIG_MTD=y | 559 | CONFIG_MTD=y |
537 | # CONFIG_MTD_DEBUG is not set | 560 | # CONFIG_MTD_DEBUG is not set |
561 | # CONFIG_MTD_TESTS is not set | ||
538 | # CONFIG_MTD_CONCAT is not set | 562 | # CONFIG_MTD_CONCAT is not set |
539 | CONFIG_MTD_PARTITIONS=y | 563 | CONFIG_MTD_PARTITIONS=y |
540 | # CONFIG_MTD_REDBOOT_PARTS is not set | 564 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -593,6 +617,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
593 | # CONFIG_MTD_DATAFLASH is not set | 617 | # CONFIG_MTD_DATAFLASH is not set |
594 | CONFIG_MTD_M25P80=y | 618 | CONFIG_MTD_M25P80=y |
595 | CONFIG_M25PXX_USE_FAST_READ=y | 619 | CONFIG_M25PXX_USE_FAST_READ=y |
620 | # CONFIG_MTD_SST25L is not set | ||
596 | # CONFIG_MTD_SLRAM is not set | 621 | # CONFIG_MTD_SLRAM is not set |
597 | # CONFIG_MTD_PHRAM is not set | 622 | # CONFIG_MTD_PHRAM is not set |
598 | # CONFIG_MTD_MTDRAM is not set | 623 | # CONFIG_MTD_MTDRAM is not set |
@@ -608,11 +633,6 @@ CONFIG_MTD_NAND=m | |||
608 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 633 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
609 | # CONFIG_MTD_NAND_ECC_SMC is not set | 634 | # CONFIG_MTD_NAND_ECC_SMC is not set |
610 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 635 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
611 | CONFIG_MTD_NAND_BFIN=m | ||
612 | CONFIG_BFIN_NAND_BASE=0x20212000 | ||
613 | CONFIG_BFIN_NAND_CLE=2 | ||
614 | CONFIG_BFIN_NAND_ALE=1 | ||
615 | CONFIG_BFIN_NAND_READY=3 | ||
616 | CONFIG_MTD_NAND_IDS=m | 636 | CONFIG_MTD_NAND_IDS=m |
617 | # CONFIG_MTD_NAND_BF5XX is not set | 637 | # CONFIG_MTD_NAND_BF5XX is not set |
618 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 638 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
@@ -622,6 +642,11 @@ CONFIG_MTD_NAND_IDS=m | |||
622 | # CONFIG_MTD_ONENAND is not set | 642 | # CONFIG_MTD_ONENAND is not set |
623 | 643 | ||
624 | # | 644 | # |
645 | # LPDDR flash memory drivers | ||
646 | # | ||
647 | # CONFIG_MTD_LPDDR is not set | ||
648 | |||
649 | # | ||
625 | # UBI - Unsorted block images | 650 | # UBI - Unsorted block images |
626 | # | 651 | # |
627 | # CONFIG_MTD_UBI is not set | 652 | # CONFIG_MTD_UBI is not set |
@@ -639,10 +664,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
639 | # CONFIG_ATA_OVER_ETH is not set | 664 | # CONFIG_ATA_OVER_ETH is not set |
640 | # CONFIG_BLK_DEV_HD is not set | 665 | # CONFIG_BLK_DEV_HD is not set |
641 | CONFIG_MISC_DEVICES=y | 666 | CONFIG_MISC_DEVICES=y |
642 | # CONFIG_EEPROM_93CX6 is not set | 667 | # CONFIG_AD525X_DPOT is not set |
643 | # CONFIG_ICS932S401 is not set | 668 | # CONFIG_ICS932S401 is not set |
644 | # CONFIG_ENCLOSURE_SERVICES is not set | 669 | # CONFIG_ENCLOSURE_SERVICES is not set |
670 | # CONFIG_ISL29003 is not set | ||
645 | # CONFIG_C2PORT is not set | 671 | # CONFIG_C2PORT is not set |
672 | |||
673 | # | ||
674 | # EEPROM support | ||
675 | # | ||
676 | # CONFIG_EEPROM_AT24 is not set | ||
677 | # CONFIG_EEPROM_AT25 is not set | ||
678 | # CONFIG_EEPROM_LEGACY is not set | ||
679 | # CONFIG_EEPROM_MAX6875 is not set | ||
680 | # CONFIG_EEPROM_93CX6 is not set | ||
646 | CONFIG_HAVE_IDE=y | 681 | CONFIG_HAVE_IDE=y |
647 | # CONFIG_IDE is not set | 682 | # CONFIG_IDE is not set |
648 | 683 | ||
@@ -666,10 +701,6 @@ CONFIG_BLK_DEV_SR=m | |||
666 | # CONFIG_BLK_DEV_SR_VENDOR is not set | 701 | # CONFIG_BLK_DEV_SR_VENDOR is not set |
667 | # CONFIG_CHR_DEV_SG is not set | 702 | # CONFIG_CHR_DEV_SG is not set |
668 | # CONFIG_CHR_DEV_SCH is not set | 703 | # CONFIG_CHR_DEV_SCH is not set |
669 | |||
670 | # | ||
671 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
672 | # | ||
673 | # CONFIG_SCSI_MULTI_LUN is not set | 704 | # CONFIG_SCSI_MULTI_LUN is not set |
674 | # CONFIG_SCSI_CONSTANTS is not set | 705 | # CONFIG_SCSI_CONSTANTS is not set |
675 | # CONFIG_SCSI_LOGGING is not set | 706 | # CONFIG_SCSI_LOGGING is not set |
@@ -686,6 +717,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
686 | # CONFIG_SCSI_SRP_ATTRS is not set | 717 | # CONFIG_SCSI_SRP_ATTRS is not set |
687 | # CONFIG_SCSI_LOWLEVEL is not set | 718 | # CONFIG_SCSI_LOWLEVEL is not set |
688 | # CONFIG_SCSI_DH is not set | 719 | # CONFIG_SCSI_DH is not set |
720 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
689 | # CONFIG_ATA is not set | 721 | # CONFIG_ATA is not set |
690 | # CONFIG_MD is not set | 722 | # CONFIG_MD is not set |
691 | CONFIG_NETDEVICES=y | 723 | CONFIG_NETDEVICES=y |
@@ -710,6 +742,9 @@ CONFIG_PHYLIB=y | |||
710 | # CONFIG_BROADCOM_PHY is not set | 742 | # CONFIG_BROADCOM_PHY is not set |
711 | # CONFIG_ICPLUS_PHY is not set | 743 | # CONFIG_ICPLUS_PHY is not set |
712 | # CONFIG_REALTEK_PHY is not set | 744 | # CONFIG_REALTEK_PHY is not set |
745 | # CONFIG_NATIONAL_PHY is not set | ||
746 | # CONFIG_STE10XP is not set | ||
747 | # CONFIG_LSI_ET1011C_PHY is not set | ||
713 | # CONFIG_FIXED_PHY is not set | 748 | # CONFIG_FIXED_PHY is not set |
714 | # CONFIG_MDIO_BITBANG is not set | 749 | # CONFIG_MDIO_BITBANG is not set |
715 | CONFIG_NET_ETHERNET=y | 750 | CONFIG_NET_ETHERNET=y |
@@ -720,9 +755,12 @@ CONFIG_BFIN_TX_DESC_NUM=10 | |||
720 | CONFIG_BFIN_RX_DESC_NUM=20 | 755 | CONFIG_BFIN_RX_DESC_NUM=20 |
721 | CONFIG_BFIN_MAC_RMII=y | 756 | CONFIG_BFIN_MAC_RMII=y |
722 | # CONFIG_SMC91X is not set | 757 | # CONFIG_SMC91X is not set |
723 | # CONFIG_SMSC911X is not set | ||
724 | # CONFIG_DM9000 is not set | 758 | # CONFIG_DM9000 is not set |
725 | # CONFIG_ENC28J60 is not set | 759 | # CONFIG_ENC28J60 is not set |
760 | # CONFIG_ETHOC is not set | ||
761 | # CONFIG_SMSC911X is not set | ||
762 | # CONFIG_DNET is not set | ||
763 | # CONFIG_ADF702X is not set | ||
726 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 764 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
727 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 765 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
728 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 766 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -731,15 +769,16 @@ CONFIG_BFIN_MAC_RMII=y | |||
731 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 769 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
732 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 770 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
733 | # CONFIG_B44 is not set | 771 | # CONFIG_B44 is not set |
772 | # CONFIG_KS8842 is not set | ||
773 | # CONFIG_KS8851 is not set | ||
774 | # CONFIG_KS8851_MLL is not set | ||
734 | # CONFIG_NETDEV_1000 is not set | 775 | # CONFIG_NETDEV_1000 is not set |
735 | # CONFIG_NETDEV_10000 is not set | 776 | # CONFIG_NETDEV_10000 is not set |
777 | # CONFIG_WLAN is not set | ||
736 | 778 | ||
737 | # | 779 | # |
738 | # Wireless LAN | 780 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
739 | # | 781 | # |
740 | # CONFIG_WLAN_PRE80211 is not set | ||
741 | # CONFIG_WLAN_80211 is not set | ||
742 | # CONFIG_IWLWIFI_LEDS is not set | ||
743 | 782 | ||
744 | # | 783 | # |
745 | # USB Network Adapters | 784 | # USB Network Adapters |
@@ -789,7 +828,11 @@ CONFIG_INPUT_MISC=y | |||
789 | # CONFIG_INPUT_YEALINK is not set | 828 | # CONFIG_INPUT_YEALINK is not set |
790 | # CONFIG_INPUT_CM109 is not set | 829 | # CONFIG_INPUT_CM109 is not set |
791 | # CONFIG_INPUT_UINPUT is not set | 830 | # CONFIG_INPUT_UINPUT is not set |
792 | # CONFIG_CONFIG_INPUT_PCF8574 is not set | 831 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
832 | # CONFIG_INPUT_BFIN_ROTARY is not set | ||
833 | # CONFIG_INPUT_AD714X is not set | ||
834 | # CONFIG_INPUT_ADXL34X is not set | ||
835 | # CONFIG_INPUT_PCF8574 is not set | ||
793 | 836 | ||
794 | # | 837 | # |
795 | # Hardware I/O ports | 838 | # Hardware I/O ports |
@@ -800,16 +843,13 @@ CONFIG_INPUT_MISC=y | |||
800 | # | 843 | # |
801 | # Character devices | 844 | # Character devices |
802 | # | 845 | # |
803 | # CONFIG_AD9960 is not set | ||
804 | CONFIG_BFIN_DMA_INTERFACE=m | 846 | CONFIG_BFIN_DMA_INTERFACE=m |
805 | # CONFIG_BFIN_PPI is not set | 847 | # CONFIG_BFIN_PPI is not set |
806 | # CONFIG_BFIN_PPIFCD is not set | 848 | # CONFIG_BFIN_PPIFCD is not set |
807 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 849 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
808 | # CONFIG_BFIN_SPI_ADC is not set | 850 | # CONFIG_BFIN_SPI_ADC is not set |
809 | CONFIG_BFIN_SPORT=m | 851 | CONFIG_BFIN_SPORT=m |
810 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
811 | # CONFIG_BFIN_TWI_LCD is not set | 852 | # CONFIG_BFIN_TWI_LCD is not set |
812 | CONFIG_SIMPLE_GPIO=m | ||
813 | CONFIG_VT=y | 853 | CONFIG_VT=y |
814 | CONFIG_CONSOLE_TRANSLATIONS=y | 854 | CONFIG_CONSOLE_TRANSLATIONS=y |
815 | CONFIG_VT_CONSOLE=y | 855 | CONFIG_VT_CONSOLE=y |
@@ -827,6 +867,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
827 | # | 867 | # |
828 | # Non-8250 serial port support | 868 | # Non-8250 serial port support |
829 | # | 869 | # |
870 | # CONFIG_SERIAL_MAX3100 is not set | ||
830 | CONFIG_SERIAL_BFIN=y | 871 | CONFIG_SERIAL_BFIN=y |
831 | CONFIG_SERIAL_BFIN_CONSOLE=y | 872 | CONFIG_SERIAL_BFIN_CONSOLE=y |
832 | CONFIG_SERIAL_BFIN_DMA=y | 873 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -838,14 +879,10 @@ CONFIG_SERIAL_CORE=y | |||
838 | CONFIG_SERIAL_CORE_CONSOLE=y | 879 | CONFIG_SERIAL_CORE_CONSOLE=y |
839 | # CONFIG_SERIAL_BFIN_SPORT is not set | 880 | # CONFIG_SERIAL_BFIN_SPORT is not set |
840 | CONFIG_UNIX98_PTYS=y | 881 | CONFIG_UNIX98_PTYS=y |
882 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
841 | # CONFIG_LEGACY_PTYS is not set | 883 | # CONFIG_LEGACY_PTYS is not set |
842 | CONFIG_BFIN_OTP=y | 884 | CONFIG_BFIN_OTP=y |
843 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | 885 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set |
844 | |||
845 | # | ||
846 | # CAN, the car bus and industrial fieldbus | ||
847 | # | ||
848 | # CONFIG_CAN4LINUX is not set | ||
849 | # CONFIG_IPMI_HANDLER is not set | 886 | # CONFIG_IPMI_HANDLER is not set |
850 | # CONFIG_HW_RANDOM is not set | 887 | # CONFIG_HW_RANDOM is not set |
851 | # CONFIG_R3964 is not set | 888 | # CONFIG_R3964 is not set |
@@ -853,6 +890,7 @@ CONFIG_BFIN_OTP=y | |||
853 | # CONFIG_TCG_TPM is not set | 890 | # CONFIG_TCG_TPM is not set |
854 | CONFIG_I2C=y | 891 | CONFIG_I2C=y |
855 | CONFIG_I2C_BOARDINFO=y | 892 | CONFIG_I2C_BOARDINFO=y |
893 | CONFIG_I2C_COMPAT=y | ||
856 | CONFIG_I2C_CHARDEV=m | 894 | CONFIG_I2C_CHARDEV=m |
857 | CONFIG_I2C_HELPER_AUTO=y | 895 | CONFIG_I2C_HELPER_AUTO=y |
858 | 896 | ||
@@ -886,14 +924,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
886 | # Miscellaneous I2C Chip support | 924 | # Miscellaneous I2C Chip support |
887 | # | 925 | # |
888 | # CONFIG_DS1682 is not set | 926 | # CONFIG_DS1682 is not set |
889 | # CONFIG_EEPROM_AT24 is not set | ||
890 | # CONFIG_SENSORS_AD5252 is not set | ||
891 | # CONFIG_EEPROM_LEGACY is not set | ||
892 | # CONFIG_SENSORS_PCF8574 is not set | ||
893 | # CONFIG_PCF8575 is not set | ||
894 | # CONFIG_SENSORS_PCA9539 is not set | ||
895 | # CONFIG_SENSORS_PCF8591 is not set | ||
896 | # CONFIG_SENSORS_MAX6875 is not set | ||
897 | # CONFIG_SENSORS_TSL2550 is not set | 927 | # CONFIG_SENSORS_TSL2550 is not set |
898 | # CONFIG_I2C_DEBUG_CORE is not set | 928 | # CONFIG_I2C_DEBUG_CORE is not set |
899 | # CONFIG_I2C_DEBUG_ALGO is not set | 929 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -910,13 +940,18 @@ CONFIG_SPI_BFIN=y | |||
910 | # CONFIG_SPI_BFIN_LOCK is not set | 940 | # CONFIG_SPI_BFIN_LOCK is not set |
911 | # CONFIG_SPI_BFIN_SPORT is not set | 941 | # CONFIG_SPI_BFIN_SPORT is not set |
912 | # CONFIG_SPI_BITBANG is not set | 942 | # CONFIG_SPI_BITBANG is not set |
943 | # CONFIG_SPI_GPIO is not set | ||
913 | 944 | ||
914 | # | 945 | # |
915 | # SPI Protocol Masters | 946 | # SPI Protocol Masters |
916 | # | 947 | # |
917 | # CONFIG_EEPROM_AT25 is not set | ||
918 | # CONFIG_SPI_SPIDEV is not set | 948 | # CONFIG_SPI_SPIDEV is not set |
919 | # CONFIG_SPI_TLE62X0 is not set | 949 | # CONFIG_SPI_TLE62X0 is not set |
950 | |||
951 | # | ||
952 | # PPS support | ||
953 | # | ||
954 | # CONFIG_PPS is not set | ||
920 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 955 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
921 | CONFIG_GPIOLIB=y | 956 | CONFIG_GPIOLIB=y |
922 | # CONFIG_DEBUG_GPIO is not set | 957 | # CONFIG_DEBUG_GPIO is not set |
@@ -932,6 +967,7 @@ CONFIG_GPIO_SYSFS=y | |||
932 | # CONFIG_GPIO_MAX732X is not set | 967 | # CONFIG_GPIO_MAX732X is not set |
933 | # CONFIG_GPIO_PCA953X is not set | 968 | # CONFIG_GPIO_PCA953X is not set |
934 | # CONFIG_GPIO_PCF857X is not set | 969 | # CONFIG_GPIO_PCF857X is not set |
970 | # CONFIG_GPIO_ADP5588 is not set | ||
935 | 971 | ||
936 | # | 972 | # |
937 | # PCI GPIO expanders: | 973 | # PCI GPIO expanders: |
@@ -942,11 +978,15 @@ CONFIG_GPIO_SYSFS=y | |||
942 | # | 978 | # |
943 | # CONFIG_GPIO_MAX7301 is not set | 979 | # CONFIG_GPIO_MAX7301 is not set |
944 | # CONFIG_GPIO_MCP23S08 is not set | 980 | # CONFIG_GPIO_MCP23S08 is not set |
981 | # CONFIG_GPIO_MC33880 is not set | ||
982 | |||
983 | # | ||
984 | # AC97 GPIO expanders: | ||
985 | # | ||
945 | # CONFIG_W1 is not set | 986 | # CONFIG_W1 is not set |
946 | # CONFIG_POWER_SUPPLY is not set | 987 | # CONFIG_POWER_SUPPLY is not set |
947 | # CONFIG_HWMON is not set | 988 | # CONFIG_HWMON is not set |
948 | # CONFIG_THERMAL is not set | 989 | # CONFIG_THERMAL is not set |
949 | # CONFIG_THERMAL_HWMON is not set | ||
950 | CONFIG_WATCHDOG=y | 990 | CONFIG_WATCHDOG=y |
951 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 991 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
952 | 992 | ||
@@ -973,28 +1013,21 @@ CONFIG_SSB_POSSIBLE=y | |||
973 | # CONFIG_MFD_CORE is not set | 1013 | # CONFIG_MFD_CORE is not set |
974 | # CONFIG_MFD_SM501 is not set | 1014 | # CONFIG_MFD_SM501 is not set |
975 | # CONFIG_HTC_PASIC3 is not set | 1015 | # CONFIG_HTC_PASIC3 is not set |
1016 | # CONFIG_UCB1400_CORE is not set | ||
1017 | # CONFIG_TPS65010 is not set | ||
1018 | # CONFIG_TWL4030_CORE is not set | ||
976 | # CONFIG_MFD_TMIO is not set | 1019 | # CONFIG_MFD_TMIO is not set |
977 | # CONFIG_PMIC_DA903X is not set | 1020 | # CONFIG_PMIC_DA903X is not set |
978 | # CONFIG_PMIC_ADP5520 is not set | 1021 | # CONFIG_PMIC_ADP5520 is not set |
979 | # CONFIG_MFD_WM8400 is not set | 1022 | # CONFIG_MFD_WM8400 is not set |
1023 | # CONFIG_MFD_WM831X is not set | ||
980 | # CONFIG_MFD_WM8350_I2C is not set | 1024 | # CONFIG_MFD_WM8350_I2C is not set |
1025 | # CONFIG_MFD_PCF50633 is not set | ||
1026 | # CONFIG_MFD_MC13783 is not set | ||
1027 | # CONFIG_AB3100_CORE is not set | ||
1028 | # CONFIG_EZX_PCAP is not set | ||
981 | # CONFIG_REGULATOR is not set | 1029 | # CONFIG_REGULATOR is not set |
982 | 1030 | # CONFIG_MEDIA_SUPPORT is not set | |
983 | # | ||
984 | # Multimedia devices | ||
985 | # | ||
986 | |||
987 | # | ||
988 | # Multimedia core support | ||
989 | # | ||
990 | # CONFIG_VIDEO_DEV is not set | ||
991 | # CONFIG_DVB_CORE is not set | ||
992 | # CONFIG_VIDEO_MEDIA is not set | ||
993 | |||
994 | # | ||
995 | # Multimedia drivers | ||
996 | # | ||
997 | # CONFIG_DAB is not set | ||
998 | 1031 | ||
999 | # | 1032 | # |
1000 | # Graphics support | 1033 | # Graphics support |
@@ -1030,15 +1063,18 @@ CONFIG_FB_BFIN_T350MCQB=y | |||
1030 | # CONFIG_FB_VIRTUAL is not set | 1063 | # CONFIG_FB_VIRTUAL is not set |
1031 | # CONFIG_FB_METRONOME is not set | 1064 | # CONFIG_FB_METRONOME is not set |
1032 | # CONFIG_FB_MB862XX is not set | 1065 | # CONFIG_FB_MB862XX is not set |
1066 | # CONFIG_FB_BROADSHEET is not set | ||
1033 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1067 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
1034 | CONFIG_LCD_CLASS_DEVICE=m | 1068 | CONFIG_LCD_CLASS_DEVICE=m |
1069 | # CONFIG_LCD_LMS283GF05 is not set | ||
1035 | CONFIG_LCD_LTV350QV=m | 1070 | CONFIG_LCD_LTV350QV=m |
1036 | # CONFIG_LCD_ILI9320 is not set | 1071 | # CONFIG_LCD_ILI9320 is not set |
1037 | # CONFIG_LCD_TDO24M is not set | 1072 | # CONFIG_LCD_TDO24M is not set |
1038 | # CONFIG_LCD_VGG2432A4 is not set | 1073 | # CONFIG_LCD_VGG2432A4 is not set |
1039 | # CONFIG_LCD_PLATFORM is not set | 1074 | # CONFIG_LCD_PLATFORM is not set |
1040 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | 1075 | CONFIG_BACKLIGHT_CLASS_DEVICE=m |
1041 | # CONFIG_BACKLIGHT_CORGI is not set | 1076 | CONFIG_BACKLIGHT_GENERIC=m |
1077 | # CONFIG_BACKLIGHT_ADP8870 is not set | ||
1042 | 1078 | ||
1043 | # | 1079 | # |
1044 | # Display device support | 1080 | # Display device support |
@@ -1066,6 +1102,7 @@ CONFIG_SOUND=m | |||
1066 | CONFIG_SND=m | 1102 | CONFIG_SND=m |
1067 | CONFIG_SND_TIMER=m | 1103 | CONFIG_SND_TIMER=m |
1068 | CONFIG_SND_PCM=m | 1104 | CONFIG_SND_PCM=m |
1105 | CONFIG_SND_JACK=y | ||
1069 | # CONFIG_SND_SEQUENCER is not set | 1106 | # CONFIG_SND_SEQUENCER is not set |
1070 | # CONFIG_SND_MIXER_OSS is not set | 1107 | # CONFIG_SND_MIXER_OSS is not set |
1071 | # CONFIG_SND_PCM_OSS is not set | 1108 | # CONFIG_SND_PCM_OSS is not set |
@@ -1074,6 +1111,11 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1074 | CONFIG_SND_VERBOSE_PROCFS=y | 1111 | CONFIG_SND_VERBOSE_PROCFS=y |
1075 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1112 | # CONFIG_SND_VERBOSE_PRINTK is not set |
1076 | # CONFIG_SND_DEBUG is not set | 1113 | # CONFIG_SND_DEBUG is not set |
1114 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
1115 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
1116 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
1117 | # CONFIG_SND_SBAWE_SEQ is not set | ||
1118 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
1077 | CONFIG_SND_DRIVERS=y | 1119 | CONFIG_SND_DRIVERS=y |
1078 | # CONFIG_SND_DUMMY is not set | 1120 | # CONFIG_SND_DUMMY is not set |
1079 | # CONFIG_SND_MTPAV is not set | 1121 | # CONFIG_SND_MTPAV is not set |
@@ -1084,7 +1126,6 @@ CONFIG_SND_SPI=y | |||
1084 | # | 1126 | # |
1085 | # ALSA Blackfin devices | 1127 | # ALSA Blackfin devices |
1086 | # | 1128 | # |
1087 | # CONFIG_SND_BLACKFIN_AD1836 is not set | ||
1088 | # CONFIG_SND_BFIN_AD73322 is not set | 1129 | # CONFIG_SND_BFIN_AD73322 is not set |
1089 | CONFIG_SND_USB=y | 1130 | CONFIG_SND_USB=y |
1090 | # CONFIG_SND_USB_AUDIO is not set | 1131 | # CONFIG_SND_USB_AUDIO is not set |
@@ -1094,15 +1135,19 @@ CONFIG_SND_SOC_AC97_BUS=y | |||
1094 | CONFIG_SND_BF5XX_I2S=m | 1135 | CONFIG_SND_BF5XX_I2S=m |
1095 | CONFIG_SND_BF5XX_SOC_SSM2602=m | 1136 | CONFIG_SND_BF5XX_SOC_SSM2602=m |
1096 | # CONFIG_SND_BF5XX_SOC_AD73311 is not set | 1137 | # CONFIG_SND_BF5XX_SOC_AD73311 is not set |
1138 | # CONFIG_SND_BF5XX_SOC_ADAU1371 is not set | ||
1139 | # CONFIG_SND_BF5XX_SOC_ADAU1761 is not set | ||
1140 | # CONFIG_SND_BF5XX_TDM is not set | ||
1097 | CONFIG_SND_BF5XX_AC97=m | 1141 | CONFIG_SND_BF5XX_AC97=m |
1098 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y | 1142 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y |
1099 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set | 1143 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set |
1144 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
1145 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
1100 | CONFIG_SND_BF5XX_SOC_SPORT=m | 1146 | CONFIG_SND_BF5XX_SOC_SPORT=m |
1101 | CONFIG_SND_BF5XX_SOC_I2S=m | 1147 | CONFIG_SND_BF5XX_SOC_I2S=m |
1102 | CONFIG_SND_BF5XX_SOC_AC97=m | 1148 | CONFIG_SND_BF5XX_SOC_AC97=m |
1103 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
1104 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 1149 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
1105 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | 1150 | CONFIG_SND_SOC_I2C_AND_SPI=m |
1106 | # CONFIG_SND_SOC_ALL_CODECS is not set | 1151 | # CONFIG_SND_SOC_ALL_CODECS is not set |
1107 | CONFIG_SND_SOC_AD1980=m | 1152 | CONFIG_SND_SOC_AD1980=m |
1108 | CONFIG_SND_SOC_SSM2602=m | 1153 | CONFIG_SND_SOC_SSM2602=m |
@@ -1110,7 +1155,6 @@ CONFIG_SND_SOC_SSM2602=m | |||
1110 | CONFIG_AC97_BUS=m | 1155 | CONFIG_AC97_BUS=m |
1111 | CONFIG_HID_SUPPORT=y | 1156 | CONFIG_HID_SUPPORT=y |
1112 | CONFIG_HID=y | 1157 | CONFIG_HID=y |
1113 | # CONFIG_HID_DEBUG is not set | ||
1114 | # CONFIG_HIDRAW is not set | 1158 | # CONFIG_HIDRAW is not set |
1115 | 1159 | ||
1116 | # | 1160 | # |
@@ -1123,30 +1167,35 @@ CONFIG_USB_HID=y | |||
1123 | # | 1167 | # |
1124 | # Special HID drivers | 1168 | # Special HID drivers |
1125 | # | 1169 | # |
1126 | CONFIG_HID_COMPAT=y | ||
1127 | CONFIG_HID_A4TECH=y | 1170 | CONFIG_HID_A4TECH=y |
1128 | CONFIG_HID_APPLE=y | 1171 | CONFIG_HID_APPLE=y |
1129 | CONFIG_HID_BELKIN=y | 1172 | CONFIG_HID_BELKIN=y |
1130 | CONFIG_HID_BRIGHT=y | ||
1131 | CONFIG_HID_CHERRY=y | 1173 | CONFIG_HID_CHERRY=y |
1132 | CONFIG_HID_CHICONY=y | 1174 | CONFIG_HID_CHICONY=y |
1133 | CONFIG_HID_CYPRESS=y | 1175 | CONFIG_HID_CYPRESS=y |
1134 | CONFIG_HID_DELL=y | 1176 | # CONFIG_HID_DRAGONRISE is not set |
1135 | CONFIG_HID_EZKEY=y | 1177 | CONFIG_HID_EZKEY=y |
1178 | # CONFIG_HID_KYE is not set | ||
1136 | CONFIG_HID_GYRATION=y | 1179 | CONFIG_HID_GYRATION=y |
1180 | # CONFIG_HID_TWINHAN is not set | ||
1181 | # CONFIG_HID_KENSINGTON is not set | ||
1137 | CONFIG_HID_LOGITECH=y | 1182 | CONFIG_HID_LOGITECH=y |
1138 | # CONFIG_LOGITECH_FF is not set | 1183 | # CONFIG_LOGITECH_FF is not set |
1139 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1184 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1140 | CONFIG_HID_MICROSOFT=y | 1185 | CONFIG_HID_MICROSOFT=y |
1141 | CONFIG_HID_MONTEREY=y | 1186 | CONFIG_HID_MONTEREY=y |
1187 | # CONFIG_HID_NTRIG is not set | ||
1142 | CONFIG_HID_PANTHERLORD=y | 1188 | CONFIG_HID_PANTHERLORD=y |
1143 | # CONFIG_PANTHERLORD_FF is not set | 1189 | # CONFIG_PANTHERLORD_FF is not set |
1144 | CONFIG_HID_PETALYNX=y | 1190 | CONFIG_HID_PETALYNX=y |
1145 | CONFIG_HID_SAMSUNG=y | 1191 | CONFIG_HID_SAMSUNG=y |
1146 | CONFIG_HID_SONY=y | 1192 | CONFIG_HID_SONY=y |
1147 | CONFIG_HID_SUNPLUS=y | 1193 | CONFIG_HID_SUNPLUS=y |
1148 | CONFIG_THRUSTMASTER_FF=m | 1194 | # CONFIG_HID_GREENASIA is not set |
1149 | CONFIG_ZEROPLUS_FF=m | 1195 | # CONFIG_HID_SMARTJOYPLUS is not set |
1196 | # CONFIG_HID_TOPSEED is not set | ||
1197 | # CONFIG_HID_THRUSTMASTER is not set | ||
1198 | # CONFIG_HID_ZEROPLUS is not set | ||
1150 | CONFIG_USB_SUPPORT=y | 1199 | CONFIG_USB_SUPPORT=y |
1151 | CONFIG_USB_ARCH_HAS_HCD=y | 1200 | CONFIG_USB_ARCH_HAS_HCD=y |
1152 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 1201 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
@@ -1172,6 +1221,7 @@ CONFIG_USB_MON=y | |||
1172 | # USB Host Controller Drivers | 1221 | # USB Host Controller Drivers |
1173 | # | 1222 | # |
1174 | # CONFIG_USB_C67X00_HCD is not set | 1223 | # CONFIG_USB_C67X00_HCD is not set |
1224 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1175 | # CONFIG_USB_ISP116X_HCD is not set | 1225 | # CONFIG_USB_ISP116X_HCD is not set |
1176 | # CONFIG_USB_ISP1760_HCD is not set | 1226 | # CONFIG_USB_ISP1760_HCD is not set |
1177 | # CONFIG_USB_ISP1362_HCD is not set | 1227 | # CONFIG_USB_ISP1362_HCD is not set |
@@ -1188,9 +1238,7 @@ CONFIG_USB_MUSB_HOST=y | |||
1188 | # CONFIG_USB_MUSB_PERIPHERAL is not set | 1238 | # CONFIG_USB_MUSB_PERIPHERAL is not set |
1189 | # CONFIG_USB_MUSB_OTG is not set | 1239 | # CONFIG_USB_MUSB_OTG is not set |
1190 | CONFIG_USB_MUSB_HDRC_HCD=y | 1240 | CONFIG_USB_MUSB_HDRC_HCD=y |
1191 | # CONFIG_MUSB_PIO_ONLY is not set | 1241 | CONFIG_MUSB_PIO_ONLY=y |
1192 | CONFIG_USB_INVENTRA_DMA=y | ||
1193 | # CONFIG_USB_TI_CPPI_DMA is not set | ||
1194 | # CONFIG_USB_MUSB_DEBUG is not set | 1242 | # CONFIG_USB_MUSB_DEBUG is not set |
1195 | 1243 | ||
1196 | # | 1244 | # |
@@ -1202,18 +1250,17 @@ CONFIG_USB_INVENTRA_DMA=y | |||
1202 | # CONFIG_USB_TMC is not set | 1250 | # CONFIG_USB_TMC is not set |
1203 | 1251 | ||
1204 | # | 1252 | # |
1205 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1253 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1206 | # | 1254 | # |
1207 | 1255 | ||
1208 | # | 1256 | # |
1209 | # see USB_STORAGE Help for more information | 1257 | # also be needed; see USB_STORAGE Help for more info |
1210 | # | 1258 | # |
1211 | CONFIG_USB_STORAGE=y | 1259 | CONFIG_USB_STORAGE=y |
1212 | # CONFIG_USB_STORAGE_DEBUG is not set | 1260 | # CONFIG_USB_STORAGE_DEBUG is not set |
1213 | # CONFIG_USB_STORAGE_DATAFAB is not set | 1261 | # CONFIG_USB_STORAGE_DATAFAB is not set |
1214 | # CONFIG_USB_STORAGE_FREECOM is not set | 1262 | # CONFIG_USB_STORAGE_FREECOM is not set |
1215 | # CONFIG_USB_STORAGE_ISD200 is not set | 1263 | # CONFIG_USB_STORAGE_ISD200 is not set |
1216 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1217 | # CONFIG_USB_STORAGE_USBAT is not set | 1264 | # CONFIG_USB_STORAGE_USBAT is not set |
1218 | # CONFIG_USB_STORAGE_SDDR09 is not set | 1265 | # CONFIG_USB_STORAGE_SDDR09 is not set |
1219 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1266 | # CONFIG_USB_STORAGE_SDDR55 is not set |
@@ -1249,7 +1296,6 @@ CONFIG_USB_STORAGE=y | |||
1249 | # CONFIG_USB_LED is not set | 1296 | # CONFIG_USB_LED is not set |
1250 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1297 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1251 | # CONFIG_USB_CYTHERM is not set | 1298 | # CONFIG_USB_CYTHERM is not set |
1252 | # CONFIG_USB_PHIDGET is not set | ||
1253 | # CONFIG_USB_IDMOUSE is not set | 1299 | # CONFIG_USB_IDMOUSE is not set |
1254 | # CONFIG_USB_FTDI_ELAN is not set | 1300 | # CONFIG_USB_FTDI_ELAN is not set |
1255 | # CONFIG_USB_APPLEDISPLAY is not set | 1301 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1261,6 +1307,13 @@ CONFIG_USB_STORAGE=y | |||
1261 | # CONFIG_USB_ISIGHTFW is not set | 1307 | # CONFIG_USB_ISIGHTFW is not set |
1262 | # CONFIG_USB_VST is not set | 1308 | # CONFIG_USB_VST is not set |
1263 | # CONFIG_USB_GADGET is not set | 1309 | # CONFIG_USB_GADGET is not set |
1310 | |||
1311 | # | ||
1312 | # OTG and related infrastructure | ||
1313 | # | ||
1314 | CONFIG_USB_OTG_UTILS=y | ||
1315 | # CONFIG_USB_GPIO_VBUS is not set | ||
1316 | CONFIG_NOP_USB_XCEIV=y | ||
1264 | # CONFIG_MMC is not set | 1317 | # CONFIG_MMC is not set |
1265 | # CONFIG_MEMSTICK is not set | 1318 | # CONFIG_MEMSTICK is not set |
1266 | # CONFIG_NEW_LEDS is not set | 1319 | # CONFIG_NEW_LEDS is not set |
@@ -1296,6 +1349,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1296 | # CONFIG_RTC_DRV_S35390A is not set | 1349 | # CONFIG_RTC_DRV_S35390A is not set |
1297 | # CONFIG_RTC_DRV_FM3130 is not set | 1350 | # CONFIG_RTC_DRV_FM3130 is not set |
1298 | # CONFIG_RTC_DRV_RX8581 is not set | 1351 | # CONFIG_RTC_DRV_RX8581 is not set |
1352 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1299 | 1353 | ||
1300 | # | 1354 | # |
1301 | # SPI RTC drivers | 1355 | # SPI RTC drivers |
@@ -1307,6 +1361,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1307 | # CONFIG_RTC_DRV_R9701 is not set | 1361 | # CONFIG_RTC_DRV_R9701 is not set |
1308 | # CONFIG_RTC_DRV_RS5C348 is not set | 1362 | # CONFIG_RTC_DRV_RS5C348 is not set |
1309 | # CONFIG_RTC_DRV_DS3234 is not set | 1363 | # CONFIG_RTC_DRV_DS3234 is not set |
1364 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1310 | 1365 | ||
1311 | # | 1366 | # |
1312 | # Platform RTC drivers | 1367 | # Platform RTC drivers |
@@ -1327,10 +1382,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1327 | # | 1382 | # |
1328 | CONFIG_RTC_DRV_BFIN=y | 1383 | CONFIG_RTC_DRV_BFIN=y |
1329 | # CONFIG_DMADEVICES is not set | 1384 | # CONFIG_DMADEVICES is not set |
1385 | # CONFIG_AUXDISPLAY is not set | ||
1330 | # CONFIG_UIO is not set | 1386 | # CONFIG_UIO is not set |
1387 | |||
1388 | # | ||
1389 | # TI VLYNQ | ||
1390 | # | ||
1331 | # CONFIG_STAGING is not set | 1391 | # CONFIG_STAGING is not set |
1332 | 1392 | ||
1333 | # | 1393 | # |
1394 | # Firmware Drivers | ||
1395 | # | ||
1396 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1397 | # CONFIG_SIGMA is not set | ||
1398 | |||
1399 | # | ||
1334 | # File systems | 1400 | # File systems |
1335 | # | 1401 | # |
1336 | CONFIG_EXT2_FS=m | 1402 | CONFIG_EXT2_FS=m |
@@ -1340,9 +1406,13 @@ CONFIG_EXT2_FS=m | |||
1340 | # CONFIG_REISERFS_FS is not set | 1406 | # CONFIG_REISERFS_FS is not set |
1341 | # CONFIG_JFS_FS is not set | 1407 | # CONFIG_JFS_FS is not set |
1342 | # CONFIG_FS_POSIX_ACL is not set | 1408 | # CONFIG_FS_POSIX_ACL is not set |
1343 | CONFIG_FILE_LOCKING=y | ||
1344 | # CONFIG_XFS_FS is not set | 1409 | # CONFIG_XFS_FS is not set |
1410 | # CONFIG_GFS2_FS is not set | ||
1345 | # CONFIG_OCFS2_FS is not set | 1411 | # CONFIG_OCFS2_FS is not set |
1412 | # CONFIG_BTRFS_FS is not set | ||
1413 | # CONFIG_NILFS2_FS is not set | ||
1414 | CONFIG_FILE_LOCKING=y | ||
1415 | CONFIG_FSNOTIFY=y | ||
1346 | # CONFIG_DNOTIFY is not set | 1416 | # CONFIG_DNOTIFY is not set |
1347 | CONFIG_INOTIFY=y | 1417 | CONFIG_INOTIFY=y |
1348 | CONFIG_INOTIFY_USER=y | 1418 | CONFIG_INOTIFY_USER=y |
@@ -1352,6 +1422,11 @@ CONFIG_INOTIFY_USER=y | |||
1352 | # CONFIG_FUSE_FS is not set | 1422 | # CONFIG_FUSE_FS is not set |
1353 | 1423 | ||
1354 | # | 1424 | # |
1425 | # Caches | ||
1426 | # | ||
1427 | # CONFIG_FSCACHE is not set | ||
1428 | |||
1429 | # | ||
1355 | # CD-ROM/DVD Filesystems | 1430 | # CD-ROM/DVD Filesystems |
1356 | # | 1431 | # |
1357 | CONFIG_ISO9660_FS=m | 1432 | CONFIG_ISO9660_FS=m |
@@ -1376,13 +1451,9 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1376 | CONFIG_PROC_FS=y | 1451 | CONFIG_PROC_FS=y |
1377 | CONFIG_PROC_SYSCTL=y | 1452 | CONFIG_PROC_SYSCTL=y |
1378 | CONFIG_SYSFS=y | 1453 | CONFIG_SYSFS=y |
1379 | # CONFIG_TMPFS is not set | ||
1380 | # CONFIG_HUGETLB_PAGE is not set | 1454 | # CONFIG_HUGETLB_PAGE is not set |
1381 | # CONFIG_CONFIGFS_FS is not set | 1455 | # CONFIG_CONFIGFS_FS is not set |
1382 | 1456 | CONFIG_MISC_FILESYSTEMS=y | |
1383 | # | ||
1384 | # Miscellaneous filesystems | ||
1385 | # | ||
1386 | # CONFIG_ADFS_FS is not set | 1457 | # CONFIG_ADFS_FS is not set |
1387 | # CONFIG_AFFS_FS is not set | 1458 | # CONFIG_AFFS_FS is not set |
1388 | # CONFIG_HFS_FS is not set | 1459 | # CONFIG_HFS_FS is not set |
@@ -1401,17 +1472,8 @@ CONFIG_JFFS2_ZLIB=y | |||
1401 | # CONFIG_JFFS2_LZO is not set | 1472 | # CONFIG_JFFS2_LZO is not set |
1402 | CONFIG_JFFS2_RTIME=y | 1473 | CONFIG_JFFS2_RTIME=y |
1403 | # CONFIG_JFFS2_RUBIN is not set | 1474 | # CONFIG_JFFS2_RUBIN is not set |
1404 | CONFIG_YAFFS_FS=m | ||
1405 | CONFIG_YAFFS_YAFFS1=y | ||
1406 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1407 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1408 | CONFIG_YAFFS_YAFFS2=y | ||
1409 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1410 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1411 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1412 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1413 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1414 | # CONFIG_CRAMFS is not set | 1475 | # CONFIG_CRAMFS is not set |
1476 | # CONFIG_SQUASHFS is not set | ||
1415 | # CONFIG_VXFS_FS is not set | 1477 | # CONFIG_VXFS_FS is not set |
1416 | # CONFIG_MINIX_FS is not set | 1478 | # CONFIG_MINIX_FS is not set |
1417 | # CONFIG_OMFS_FS is not set | 1479 | # CONFIG_OMFS_FS is not set |
@@ -1430,7 +1492,6 @@ CONFIG_LOCKD=m | |||
1430 | CONFIG_LOCKD_V4=y | 1492 | CONFIG_LOCKD_V4=y |
1431 | CONFIG_NFS_COMMON=y | 1493 | CONFIG_NFS_COMMON=y |
1432 | CONFIG_SUNRPC=m | 1494 | CONFIG_SUNRPC=m |
1433 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1434 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1495 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1435 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1496 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1436 | CONFIG_SMB_FS=m | 1497 | CONFIG_SMB_FS=m |
@@ -1445,7 +1506,7 @@ CONFIG_SMB_FS=m | |||
1445 | # | 1506 | # |
1446 | # CONFIG_PARTITION_ADVANCED is not set | 1507 | # CONFIG_PARTITION_ADVANCED is not set |
1447 | CONFIG_MSDOS_PARTITION=y | 1508 | CONFIG_MSDOS_PARTITION=y |
1448 | CONFIG_NLS=m | 1509 | CONFIG_NLS=y |
1449 | CONFIG_NLS_DEFAULT="iso8859-1" | 1510 | CONFIG_NLS_DEFAULT="iso8859-1" |
1450 | CONFIG_NLS_CODEPAGE_437=m | 1511 | CONFIG_NLS_CODEPAGE_437=m |
1451 | # CONFIG_NLS_CODEPAGE_737 is not set | 1512 | # CONFIG_NLS_CODEPAGE_737 is not set |
@@ -1495,14 +1556,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1495 | CONFIG_ENABLE_MUST_CHECK=y | 1556 | CONFIG_ENABLE_MUST_CHECK=y |
1496 | CONFIG_FRAME_WARN=1024 | 1557 | CONFIG_FRAME_WARN=1024 |
1497 | # CONFIG_MAGIC_SYSRQ is not set | 1558 | # CONFIG_MAGIC_SYSRQ is not set |
1559 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1498 | # CONFIG_UNUSED_SYMBOLS is not set | 1560 | # CONFIG_UNUSED_SYMBOLS is not set |
1499 | CONFIG_DEBUG_FS=y | 1561 | CONFIG_DEBUG_FS=y |
1500 | # CONFIG_HEADERS_CHECK is not set | 1562 | # CONFIG_HEADERS_CHECK is not set |
1563 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1501 | CONFIG_DEBUG_KERNEL=y | 1564 | CONFIG_DEBUG_KERNEL=y |
1502 | CONFIG_DEBUG_SHIRQ=y | 1565 | CONFIG_DEBUG_SHIRQ=y |
1503 | CONFIG_DETECT_SOFTLOCKUP=y | 1566 | CONFIG_DETECT_SOFTLOCKUP=y |
1504 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1567 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1505 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1568 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1569 | CONFIG_DETECT_HUNG_TASK=y | ||
1570 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1571 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1506 | CONFIG_SCHED_DEBUG=y | 1572 | CONFIG_SCHED_DEBUG=y |
1507 | # CONFIG_SCHEDSTATS is not set | 1573 | # CONFIG_SCHEDSTATS is not set |
1508 | # CONFIG_TIMER_STATS is not set | 1574 | # CONFIG_TIMER_STATS is not set |
@@ -1510,31 +1576,39 @@ CONFIG_SCHED_DEBUG=y | |||
1510 | # CONFIG_DEBUG_SLAB is not set | 1576 | # CONFIG_DEBUG_SLAB is not set |
1511 | # CONFIG_DEBUG_SPINLOCK is not set | 1577 | # CONFIG_DEBUG_SPINLOCK is not set |
1512 | # CONFIG_DEBUG_MUTEXES is not set | 1578 | # CONFIG_DEBUG_MUTEXES is not set |
1579 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1580 | # CONFIG_PROVE_LOCKING is not set | ||
1581 | # CONFIG_LOCK_STAT is not set | ||
1513 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1582 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1514 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1583 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1515 | # CONFIG_DEBUG_KOBJECT is not set | 1584 | # CONFIG_DEBUG_KOBJECT is not set |
1516 | CONFIG_DEBUG_BUGVERBOSE=y | 1585 | CONFIG_DEBUG_BUGVERBOSE=y |
1517 | CONFIG_DEBUG_INFO=y | 1586 | CONFIG_DEBUG_INFO=y |
1518 | # CONFIG_DEBUG_VM is not set | 1587 | # CONFIG_DEBUG_VM is not set |
1588 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1519 | # CONFIG_DEBUG_WRITECOUNT is not set | 1589 | # CONFIG_DEBUG_WRITECOUNT is not set |
1520 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1590 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1521 | # CONFIG_DEBUG_LIST is not set | 1591 | # CONFIG_DEBUG_LIST is not set |
1522 | # CONFIG_DEBUG_SG is not set | 1592 | # CONFIG_DEBUG_SG is not set |
1593 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1594 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1523 | # CONFIG_FRAME_POINTER is not set | 1595 | # CONFIG_FRAME_POINTER is not set |
1524 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1596 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1525 | # CONFIG_RCU_TORTURE_TEST is not set | 1597 | # CONFIG_RCU_TORTURE_TEST is not set |
1526 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1598 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1527 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1599 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1528 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1600 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1601 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1529 | # CONFIG_FAULT_INJECTION is not set | 1602 | # CONFIG_FAULT_INJECTION is not set |
1530 | 1603 | # CONFIG_PAGE_POISONING is not set | |
1531 | # | 1604 | CONFIG_HAVE_FUNCTION_TRACER=y |
1532 | # Tracers | 1605 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1533 | # | 1606 | CONFIG_TRACING_SUPPORT=y |
1534 | # CONFIG_SCHED_TRACER is not set | 1607 | # CONFIG_FTRACE is not set |
1535 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1608 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1536 | # CONFIG_BOOT_TRACER is not set | 1609 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1537 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1610 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1611 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1538 | # CONFIG_SAMPLES is not set | 1612 | # CONFIG_SAMPLES is not set |
1539 | CONFIG_HAVE_ARCH_KGDB=y | 1613 | CONFIG_HAVE_ARCH_KGDB=y |
1540 | # CONFIG_KGDB is not set | 1614 | # CONFIG_KGDB is not set |
@@ -1559,6 +1633,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1559 | CONFIG_EARLY_PRINTK=y | 1633 | CONFIG_EARLY_PRINTK=y |
1560 | CONFIG_CPLB_INFO=y | 1634 | CONFIG_CPLB_INFO=y |
1561 | CONFIG_ACCESS_CHECK=y | 1635 | CONFIG_ACCESS_CHECK=y |
1636 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1562 | 1637 | ||
1563 | # | 1638 | # |
1564 | # Security options | 1639 | # Security options |
@@ -1567,15 +1642,15 @@ CONFIG_ACCESS_CHECK=y | |||
1567 | CONFIG_SECURITY=y | 1642 | CONFIG_SECURITY=y |
1568 | # CONFIG_SECURITYFS is not set | 1643 | # CONFIG_SECURITYFS is not set |
1569 | # CONFIG_SECURITY_NETWORK is not set | 1644 | # CONFIG_SECURITY_NETWORK is not set |
1645 | # CONFIG_SECURITY_PATH is not set | ||
1570 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1646 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1571 | # CONFIG_SECURITY_ROOTPLUG is not set | 1647 | # CONFIG_SECURITY_ROOTPLUG is not set |
1572 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1648 | # CONFIG_SECURITY_TOMOYO is not set |
1573 | CONFIG_CRYPTO=y | 1649 | CONFIG_CRYPTO=y |
1574 | 1650 | ||
1575 | # | 1651 | # |
1576 | # Crypto core or helper | 1652 | # Crypto core or helper |
1577 | # | 1653 | # |
1578 | # CONFIG_CRYPTO_FIPS is not set | ||
1579 | # CONFIG_CRYPTO_MANAGER is not set | 1654 | # CONFIG_CRYPTO_MANAGER is not set |
1580 | # CONFIG_CRYPTO_MANAGER2 is not set | 1655 | # CONFIG_CRYPTO_MANAGER2 is not set |
1581 | # CONFIG_CRYPTO_GF128MUL is not set | 1656 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1607,11 +1682,13 @@ CONFIG_CRYPTO=y | |||
1607 | # | 1682 | # |
1608 | # CONFIG_CRYPTO_HMAC is not set | 1683 | # CONFIG_CRYPTO_HMAC is not set |
1609 | # CONFIG_CRYPTO_XCBC is not set | 1684 | # CONFIG_CRYPTO_XCBC is not set |
1685 | # CONFIG_CRYPTO_VMAC is not set | ||
1610 | 1686 | ||
1611 | # | 1687 | # |
1612 | # Digest | 1688 | # Digest |
1613 | # | 1689 | # |
1614 | # CONFIG_CRYPTO_CRC32C is not set | 1690 | # CONFIG_CRYPTO_CRC32C is not set |
1691 | # CONFIG_CRYPTO_GHASH is not set | ||
1615 | # CONFIG_CRYPTO_MD4 is not set | 1692 | # CONFIG_CRYPTO_MD4 is not set |
1616 | # CONFIG_CRYPTO_MD5 is not set | 1693 | # CONFIG_CRYPTO_MD5 is not set |
1617 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1694 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1648,6 +1725,7 @@ CONFIG_CRYPTO=y | |||
1648 | # Compression | 1725 | # Compression |
1649 | # | 1726 | # |
1650 | # CONFIG_CRYPTO_DEFLATE is not set | 1727 | # CONFIG_CRYPTO_DEFLATE is not set |
1728 | # CONFIG_CRYPTO_ZLIB is not set | ||
1651 | # CONFIG_CRYPTO_LZO is not set | 1729 | # CONFIG_CRYPTO_LZO is not set |
1652 | 1730 | ||
1653 | # | 1731 | # |
@@ -1655,11 +1733,13 @@ CONFIG_CRYPTO=y | |||
1655 | # | 1733 | # |
1656 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1734 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1657 | CONFIG_CRYPTO_HW=y | 1735 | CONFIG_CRYPTO_HW=y |
1736 | # CONFIG_BINARY_PRINTF is not set | ||
1658 | 1737 | ||
1659 | # | 1738 | # |
1660 | # Library routines | 1739 | # Library routines |
1661 | # | 1740 | # |
1662 | CONFIG_BITREVERSE=y | 1741 | CONFIG_BITREVERSE=y |
1742 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1663 | CONFIG_CRC_CCITT=m | 1743 | CONFIG_CRC_CCITT=m |
1664 | # CONFIG_CRC16 is not set | 1744 | # CONFIG_CRC16 is not set |
1665 | # CONFIG_CRC_T10DIF is not set | 1745 | # CONFIG_CRC_T10DIF is not set |
@@ -1669,6 +1749,8 @@ CONFIG_CRC32=y | |||
1669 | # CONFIG_LIBCRC32C is not set | 1749 | # CONFIG_LIBCRC32C is not set |
1670 | CONFIG_ZLIB_INFLATE=y | 1750 | CONFIG_ZLIB_INFLATE=y |
1671 | CONFIG_ZLIB_DEFLATE=m | 1751 | CONFIG_ZLIB_DEFLATE=m |
1752 | CONFIG_DECOMPRESS_GZIP=y | ||
1672 | CONFIG_HAS_IOMEM=y | 1753 | CONFIG_HAS_IOMEM=y |
1673 | CONFIG_HAS_IOPORT=y | 1754 | CONFIG_HAS_IOPORT=y |
1674 | CONFIG_HAS_DMA=y | 1755 | CONFIG_HAS_DMA=y |
1756 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF533-EZKIT_defconfig b/arch/blackfin/configs/BF533-EZKIT_defconfig index 50f9a23ccdbd..0b13d5836a48 100644 --- a/arch/blackfin/configs/BF533-EZKIT_defconfig +++ b/arch/blackfin/configs/BF533-EZKIT_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_DEFAULT_AS=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 132 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_BF533=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=3 | 174 | CONFIG_BF_REV_MIN=3 |
@@ -228,7 +256,7 @@ CONFIG_GENERIC_TIME=y | |||
228 | CONFIG_GENERIC_CLOCKEVENTS=y | 256 | CONFIG_GENERIC_CLOCKEVENTS=y |
229 | # CONFIG_TICKSOURCE_GPTMR0 is not set | 257 | # CONFIG_TICKSOURCE_GPTMR0 is not set |
230 | CONFIG_TICKSOURCE_CORETMR=y | 258 | CONFIG_TICKSOURCE_CORETMR=y |
231 | # CONFIG_CYCLES_CLOCKSOURCE is not set | 259 | CONFIG_CYCLES_CLOCKSOURCE=y |
232 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | 260 | # CONFIG_GPTMR0_CLOCKSOURCE is not set |
233 | CONFIG_TICK_ONESHOT=y | 261 | CONFIG_TICK_ONESHOT=y |
234 | # CONFIG_NO_HZ is not set | 262 | # CONFIG_NO_HZ is not set |
@@ -280,7 +308,6 @@ CONFIG_FLATMEM=y | |||
280 | CONFIG_FLAT_NODE_MEM_MAP=y | 308 | CONFIG_FLAT_NODE_MEM_MAP=y |
281 | CONFIG_PAGEFLAGS_EXTENDED=y | 309 | CONFIG_PAGEFLAGS_EXTENDED=y |
282 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 310 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
283 | # CONFIG_RESOURCES_64BIT is not set | ||
284 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 311 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
285 | CONFIG_ZONE_DMA_FLAG=1 | 312 | CONFIG_ZONE_DMA_FLAG=1 |
286 | CONFIG_VIRT_TO_BUS=y | 313 | CONFIG_VIRT_TO_BUS=y |
@@ -289,19 +316,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
289 | # CONFIG_DMA_UNCACHED_4M is not set | 316 | # CONFIG_DMA_UNCACHED_4M is not set |
290 | # CONFIG_DMA_UNCACHED_2M is not set | 317 | # CONFIG_DMA_UNCACHED_2M is not set |
291 | CONFIG_DMA_UNCACHED_1M=y | 318 | CONFIG_DMA_UNCACHED_1M=y |
319 | # CONFIG_DMA_UNCACHED_512K is not set | ||
320 | # CONFIG_DMA_UNCACHED_256K is not set | ||
321 | # CONFIG_DMA_UNCACHED_128K is not set | ||
292 | # CONFIG_DMA_UNCACHED_NONE is not set | 322 | # CONFIG_DMA_UNCACHED_NONE is not set |
293 | 323 | ||
294 | # | 324 | # |
295 | # Cache Support | 325 | # Cache Support |
296 | # | 326 | # |
297 | # | ||
298 | # Cache Support | ||
299 | # | ||
300 | CONFIG_BFIN_ICACHE=y | 327 | CONFIG_BFIN_ICACHE=y |
301 | # CONFIG_BFIN_ICACHE_LOCK is not set | 328 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
302 | CONFIG_BFIN_DCACHE=y | 329 | CONFIG_BFIN_DCACHE=y |
303 | # CONFIG_BFIN_DCACHE_BANKA is not set | 330 | # CONFIG_BFIN_DCACHE_BANKA is not set |
304 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
305 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 331 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
306 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 332 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
307 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 333 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -312,7 +338,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
312 | # CONFIG_MPU is not set | 338 | # CONFIG_MPU is not set |
313 | 339 | ||
314 | # | 340 | # |
315 | # Asynchonous Memory Configuration | 341 | # Asynchronous Memory Configuration |
316 | # | 342 | # |
317 | 343 | ||
318 | # | 344 | # |
@@ -358,6 +384,7 @@ CONFIG_PM=y | |||
358 | CONFIG_PM_SLEEP=y | 384 | CONFIG_PM_SLEEP=y |
359 | CONFIG_SUSPEND=y | 385 | CONFIG_SUSPEND=y |
360 | CONFIG_SUSPEND_FREEZER=y | 386 | CONFIG_SUSPEND_FREEZER=y |
387 | # CONFIG_PM_RUNTIME is not set | ||
361 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 388 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
362 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 389 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
363 | # CONFIG_PM_BFIN_SLEEP is not set | 390 | # CONFIG_PM_BFIN_SLEEP is not set |
@@ -379,11 +406,6 @@ CONFIG_NET=y | |||
379 | CONFIG_PACKET=y | 406 | CONFIG_PACKET=y |
380 | # CONFIG_PACKET_MMAP is not set | 407 | # CONFIG_PACKET_MMAP is not set |
381 | CONFIG_UNIX=y | 408 | CONFIG_UNIX=y |
382 | CONFIG_XFRM=y | ||
383 | # CONFIG_XFRM_USER is not set | ||
384 | # CONFIG_XFRM_SUB_POLICY is not set | ||
385 | # CONFIG_XFRM_MIGRATE is not set | ||
386 | # CONFIG_XFRM_STATISTICS is not set | ||
387 | # CONFIG_NET_KEY is not set | 409 | # CONFIG_NET_KEY is not set |
388 | CONFIG_INET=y | 410 | CONFIG_INET=y |
389 | # CONFIG_IP_MULTICAST is not set | 411 | # CONFIG_IP_MULTICAST is not set |
@@ -407,7 +429,6 @@ CONFIG_IP_PNP=y | |||
407 | # CONFIG_INET_XFRM_MODE_BEET is not set | 429 | # CONFIG_INET_XFRM_MODE_BEET is not set |
408 | # CONFIG_INET_LRO is not set | 430 | # CONFIG_INET_LRO is not set |
409 | # CONFIG_INET_DIAG is not set | 431 | # CONFIG_INET_DIAG is not set |
410 | CONFIG_INET_TCP_DIAG=y | ||
411 | # CONFIG_TCP_CONG_ADVANCED is not set | 432 | # CONFIG_TCP_CONG_ADVANCED is not set |
412 | CONFIG_TCP_CONG_CUBIC=y | 433 | CONFIG_TCP_CONG_CUBIC=y |
413 | CONFIG_DEFAULT_TCP_CONG="cubic" | 434 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -418,6 +439,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
418 | # CONFIG_NETFILTER is not set | 439 | # CONFIG_NETFILTER is not set |
419 | # CONFIG_IP_DCCP is not set | 440 | # CONFIG_IP_DCCP is not set |
420 | # CONFIG_IP_SCTP is not set | 441 | # CONFIG_IP_SCTP is not set |
442 | # CONFIG_RDS is not set | ||
421 | # CONFIG_TIPC is not set | 443 | # CONFIG_TIPC is not set |
422 | # CONFIG_ATM is not set | 444 | # CONFIG_ATM is not set |
423 | # CONFIG_BRIDGE is not set | 445 | # CONFIG_BRIDGE is not set |
@@ -431,7 +453,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
431 | # CONFIG_LAPB is not set | 453 | # CONFIG_LAPB is not set |
432 | # CONFIG_ECONET is not set | 454 | # CONFIG_ECONET is not set |
433 | # CONFIG_WAN_ROUTER is not set | 455 | # CONFIG_WAN_ROUTER is not set |
456 | # CONFIG_PHONET is not set | ||
457 | # CONFIG_IEEE802154 is not set | ||
434 | # CONFIG_NET_SCHED is not set | 458 | # CONFIG_NET_SCHED is not set |
459 | # CONFIG_DCB is not set | ||
435 | 460 | ||
436 | # | 461 | # |
437 | # Network testing | 462 | # Network testing |
@@ -475,13 +500,8 @@ CONFIG_IRTTY_SIR=m | |||
475 | # | 500 | # |
476 | # CONFIG_BT is not set | 501 | # CONFIG_BT is not set |
477 | # CONFIG_AF_RXRPC is not set | 502 | # CONFIG_AF_RXRPC is not set |
478 | # CONFIG_PHONET is not set | 503 | # CONFIG_WIRELESS is not set |
479 | CONFIG_WIRELESS=y | 504 | # CONFIG_WIMAX is not set |
480 | # CONFIG_CFG80211 is not set | ||
481 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
482 | # CONFIG_WIRELESS_EXT is not set | ||
483 | # CONFIG_MAC80211 is not set | ||
484 | # CONFIG_IEEE80211 is not set | ||
485 | # CONFIG_RFKILL is not set | 505 | # CONFIG_RFKILL is not set |
486 | # CONFIG_NET_9P is not set | 506 | # CONFIG_NET_9P is not set |
487 | 507 | ||
@@ -502,6 +522,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
502 | # CONFIG_CONNECTOR is not set | 522 | # CONFIG_CONNECTOR is not set |
503 | CONFIG_MTD=y | 523 | CONFIG_MTD=y |
504 | # CONFIG_MTD_DEBUG is not set | 524 | # CONFIG_MTD_DEBUG is not set |
525 | # CONFIG_MTD_TESTS is not set | ||
505 | # CONFIG_MTD_CONCAT is not set | 526 | # CONFIG_MTD_CONCAT is not set |
506 | CONFIG_MTD_PARTITIONS=y | 527 | CONFIG_MTD_PARTITIONS=y |
507 | # CONFIG_MTD_REDBOOT_PARTS is not set | 528 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -559,6 +580,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
559 | # | 580 | # |
560 | # CONFIG_MTD_DATAFLASH is not set | 581 | # CONFIG_MTD_DATAFLASH is not set |
561 | # CONFIG_MTD_M25P80 is not set | 582 | # CONFIG_MTD_M25P80 is not set |
583 | # CONFIG_MTD_SST25L is not set | ||
562 | # CONFIG_MTD_SLRAM is not set | 584 | # CONFIG_MTD_SLRAM is not set |
563 | # CONFIG_MTD_PHRAM is not set | 585 | # CONFIG_MTD_PHRAM is not set |
564 | # CONFIG_MTD_MTDRAM is not set | 586 | # CONFIG_MTD_MTDRAM is not set |
@@ -574,6 +596,11 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
574 | # CONFIG_MTD_ONENAND is not set | 596 | # CONFIG_MTD_ONENAND is not set |
575 | 597 | ||
576 | # | 598 | # |
599 | # LPDDR flash memory drivers | ||
600 | # | ||
601 | # CONFIG_MTD_LPDDR is not set | ||
602 | |||
603 | # | ||
577 | # UBI - Unsorted block images | 604 | # UBI - Unsorted block images |
578 | # | 605 | # |
579 | # CONFIG_MTD_UBI is not set | 606 | # CONFIG_MTD_UBI is not set |
@@ -590,9 +617,14 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
590 | # CONFIG_ATA_OVER_ETH is not set | 617 | # CONFIG_ATA_OVER_ETH is not set |
591 | # CONFIG_BLK_DEV_HD is not set | 618 | # CONFIG_BLK_DEV_HD is not set |
592 | CONFIG_MISC_DEVICES=y | 619 | CONFIG_MISC_DEVICES=y |
593 | # CONFIG_EEPROM_93CX6 is not set | ||
594 | # CONFIG_ENCLOSURE_SERVICES is not set | 620 | # CONFIG_ENCLOSURE_SERVICES is not set |
595 | # CONFIG_C2PORT is not set | 621 | # CONFIG_C2PORT is not set |
622 | |||
623 | # | ||
624 | # EEPROM support | ||
625 | # | ||
626 | # CONFIG_EEPROM_AT25 is not set | ||
627 | # CONFIG_EEPROM_93CX6 is not set | ||
596 | CONFIG_HAVE_IDE=y | 628 | CONFIG_HAVE_IDE=y |
597 | # CONFIG_IDE is not set | 629 | # CONFIG_IDE is not set |
598 | 630 | ||
@@ -616,9 +648,12 @@ CONFIG_NETDEVICES=y | |||
616 | CONFIG_NET_ETHERNET=y | 648 | CONFIG_NET_ETHERNET=y |
617 | CONFIG_MII=y | 649 | CONFIG_MII=y |
618 | CONFIG_SMC91X=y | 650 | CONFIG_SMC91X=y |
619 | # CONFIG_SMSC911X is not set | ||
620 | # CONFIG_DM9000 is not set | 651 | # CONFIG_DM9000 is not set |
621 | # CONFIG_ENC28J60 is not set | 652 | # CONFIG_ENC28J60 is not set |
653 | # CONFIG_ETHOC is not set | ||
654 | # CONFIG_SMSC911X is not set | ||
655 | # CONFIG_DNET is not set | ||
656 | # CONFIG_ADF702X is not set | ||
622 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 657 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
623 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 658 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
624 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 659 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -627,15 +662,16 @@ CONFIG_SMC91X=y | |||
627 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 662 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
628 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 663 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
629 | # CONFIG_B44 is not set | 664 | # CONFIG_B44 is not set |
665 | # CONFIG_KS8842 is not set | ||
666 | # CONFIG_KS8851 is not set | ||
667 | # CONFIG_KS8851_MLL is not set | ||
630 | # CONFIG_NETDEV_1000 is not set | 668 | # CONFIG_NETDEV_1000 is not set |
631 | # CONFIG_NETDEV_10000 is not set | 669 | # CONFIG_NETDEV_10000 is not set |
670 | # CONFIG_WLAN is not set | ||
632 | 671 | ||
633 | # | 672 | # |
634 | # Wireless LAN | 673 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
635 | # | 674 | # |
636 | # CONFIG_WLAN_PRE80211 is not set | ||
637 | # CONFIG_WLAN_80211 is not set | ||
638 | # CONFIG_IWLWIFI_LEDS is not set | ||
639 | # CONFIG_WAN is not set | 675 | # CONFIG_WAN is not set |
640 | # CONFIG_PPP is not set | 676 | # CONFIG_PPP is not set |
641 | # CONFIG_SLIP is not set | 677 | # CONFIG_SLIP is not set |
@@ -679,15 +715,12 @@ CONFIG_INPUT_EVDEV=m | |||
679 | # | 715 | # |
680 | # Character devices | 716 | # Character devices |
681 | # | 717 | # |
682 | # CONFIG_AD9960 is not set | ||
683 | CONFIG_BFIN_DMA_INTERFACE=m | 718 | CONFIG_BFIN_DMA_INTERFACE=m |
684 | # CONFIG_BFIN_PPI is not set | 719 | # CONFIG_BFIN_PPI is not set |
685 | # CONFIG_BFIN_PPIFCD is not set | 720 | # CONFIG_BFIN_PPIFCD is not set |
686 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 721 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
687 | # CONFIG_BFIN_SPI_ADC is not set | 722 | # CONFIG_BFIN_SPI_ADC is not set |
688 | CONFIG_BFIN_SPORT=y | 723 | CONFIG_BFIN_SPORT=y |
689 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
690 | CONFIG_SIMPLE_GPIO=m | ||
691 | # CONFIG_VT is not set | 724 | # CONFIG_VT is not set |
692 | # CONFIG_DEVKMEM is not set | 725 | # CONFIG_DEVKMEM is not set |
693 | CONFIG_BFIN_JTAG_COMM=m | 726 | CONFIG_BFIN_JTAG_COMM=m |
@@ -701,6 +734,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
701 | # | 734 | # |
702 | # Non-8250 serial port support | 735 | # Non-8250 serial port support |
703 | # | 736 | # |
737 | # CONFIG_SERIAL_MAX3100 is not set | ||
704 | CONFIG_SERIAL_BFIN=y | 738 | CONFIG_SERIAL_BFIN=y |
705 | CONFIG_SERIAL_BFIN_CONSOLE=y | 739 | CONFIG_SERIAL_BFIN_CONSOLE=y |
706 | CONFIG_SERIAL_BFIN_DMA=y | 740 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -711,12 +745,8 @@ CONFIG_SERIAL_CORE=y | |||
711 | CONFIG_SERIAL_CORE_CONSOLE=y | 745 | CONFIG_SERIAL_CORE_CONSOLE=y |
712 | # CONFIG_SERIAL_BFIN_SPORT is not set | 746 | # CONFIG_SERIAL_BFIN_SPORT is not set |
713 | CONFIG_UNIX98_PTYS=y | 747 | CONFIG_UNIX98_PTYS=y |
748 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
714 | # CONFIG_LEGACY_PTYS is not set | 749 | # CONFIG_LEGACY_PTYS is not set |
715 | |||
716 | # | ||
717 | # CAN, the car bus and industrial fieldbus | ||
718 | # | ||
719 | # CONFIG_CAN4LINUX is not set | ||
720 | # CONFIG_IPMI_HANDLER is not set | 750 | # CONFIG_IPMI_HANDLER is not set |
721 | # CONFIG_HW_RANDOM is not set | 751 | # CONFIG_HW_RANDOM is not set |
722 | # CONFIG_R3964 is not set | 752 | # CONFIG_R3964 is not set |
@@ -734,13 +764,18 @@ CONFIG_SPI_BFIN=y | |||
734 | # CONFIG_SPI_BFIN_LOCK is not set | 764 | # CONFIG_SPI_BFIN_LOCK is not set |
735 | # CONFIG_SPI_BFIN_SPORT is not set | 765 | # CONFIG_SPI_BFIN_SPORT is not set |
736 | # CONFIG_SPI_BITBANG is not set | 766 | # CONFIG_SPI_BITBANG is not set |
767 | # CONFIG_SPI_GPIO is not set | ||
737 | 768 | ||
738 | # | 769 | # |
739 | # SPI Protocol Masters | 770 | # SPI Protocol Masters |
740 | # | 771 | # |
741 | # CONFIG_EEPROM_AT25 is not set | ||
742 | # CONFIG_SPI_SPIDEV is not set | 772 | # CONFIG_SPI_SPIDEV is not set |
743 | # CONFIG_SPI_TLE62X0 is not set | 773 | # CONFIG_SPI_TLE62X0 is not set |
774 | |||
775 | # | ||
776 | # PPS support | ||
777 | # | ||
778 | # CONFIG_PPS is not set | ||
744 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 779 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
745 | CONFIG_GPIOLIB=y | 780 | CONFIG_GPIOLIB=y |
746 | # CONFIG_DEBUG_GPIO is not set | 781 | # CONFIG_DEBUG_GPIO is not set |
@@ -753,9 +788,6 @@ CONFIG_GPIO_SYSFS=y | |||
753 | # | 788 | # |
754 | # I2C GPIO expanders: | 789 | # I2C GPIO expanders: |
755 | # | 790 | # |
756 | # CONFIG_GPIO_MAX732X is not set | ||
757 | # CONFIG_GPIO_PCA953X is not set | ||
758 | # CONFIG_GPIO_PCF857X is not set | ||
759 | 791 | ||
760 | # | 792 | # |
761 | # PCI GPIO expanders: | 793 | # PCI GPIO expanders: |
@@ -766,11 +798,15 @@ CONFIG_GPIO_SYSFS=y | |||
766 | # | 798 | # |
767 | # CONFIG_GPIO_MAX7301 is not set | 799 | # CONFIG_GPIO_MAX7301 is not set |
768 | # CONFIG_GPIO_MCP23S08 is not set | 800 | # CONFIG_GPIO_MCP23S08 is not set |
801 | # CONFIG_GPIO_MC33880 is not set | ||
802 | |||
803 | # | ||
804 | # AC97 GPIO expanders: | ||
805 | # | ||
769 | # CONFIG_W1 is not set | 806 | # CONFIG_W1 is not set |
770 | # CONFIG_POWER_SUPPLY is not set | 807 | # CONFIG_POWER_SUPPLY is not set |
771 | # CONFIG_HWMON is not set | 808 | # CONFIG_HWMON is not set |
772 | # CONFIG_THERMAL is not set | 809 | # CONFIG_THERMAL is not set |
773 | # CONFIG_THERMAL_HWMON is not set | ||
774 | CONFIG_WATCHDOG=y | 810 | CONFIG_WATCHDOG=y |
775 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 811 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
776 | 812 | ||
@@ -793,23 +829,10 @@ CONFIG_SSB_POSSIBLE=y | |||
793 | # CONFIG_MFD_SM501 is not set | 829 | # CONFIG_MFD_SM501 is not set |
794 | # CONFIG_HTC_PASIC3 is not set | 830 | # CONFIG_HTC_PASIC3 is not set |
795 | # CONFIG_MFD_TMIO is not set | 831 | # CONFIG_MFD_TMIO is not set |
832 | # CONFIG_MFD_MC13783 is not set | ||
833 | # CONFIG_EZX_PCAP is not set | ||
796 | # CONFIG_REGULATOR is not set | 834 | # CONFIG_REGULATOR is not set |
797 | 835 | # CONFIG_MEDIA_SUPPORT is not set | |
798 | # | ||
799 | # Multimedia devices | ||
800 | # | ||
801 | |||
802 | # | ||
803 | # Multimedia core support | ||
804 | # | ||
805 | # CONFIG_VIDEO_DEV is not set | ||
806 | # CONFIG_DVB_CORE is not set | ||
807 | # CONFIG_VIDEO_MEDIA is not set | ||
808 | |||
809 | # | ||
810 | # Multimedia drivers | ||
811 | # | ||
812 | # CONFIG_DAB is not set | ||
813 | 836 | ||
814 | # | 837 | # |
815 | # Graphics support | 838 | # Graphics support |
@@ -826,14 +849,12 @@ CONFIG_SSB_POSSIBLE=y | |||
826 | # CONFIG_SOUND is not set | 849 | # CONFIG_SOUND is not set |
827 | CONFIG_HID_SUPPORT=y | 850 | CONFIG_HID_SUPPORT=y |
828 | CONFIG_HID=m | 851 | CONFIG_HID=m |
829 | # CONFIG_HID_DEBUG is not set | ||
830 | # CONFIG_HIDRAW is not set | 852 | # CONFIG_HIDRAW is not set |
831 | # CONFIG_HID_PID is not set | 853 | # CONFIG_HID_PID is not set |
832 | 854 | ||
833 | # | 855 | # |
834 | # Special HID drivers | 856 | # Special HID drivers |
835 | # | 857 | # |
836 | CONFIG_HID_COMPAT=y | ||
837 | # CONFIG_USB_SUPPORT is not set | 858 | # CONFIG_USB_SUPPORT is not set |
838 | # CONFIG_MMC is not set | 859 | # CONFIG_MMC is not set |
839 | # CONFIG_MEMSTICK is not set | 860 | # CONFIG_MEMSTICK is not set |
@@ -864,6 +885,7 @@ CONFIG_RTC_INTF_DEV=y | |||
864 | # CONFIG_RTC_DRV_R9701 is not set | 885 | # CONFIG_RTC_DRV_R9701 is not set |
865 | # CONFIG_RTC_DRV_RS5C348 is not set | 886 | # CONFIG_RTC_DRV_RS5C348 is not set |
866 | # CONFIG_RTC_DRV_DS3234 is not set | 887 | # CONFIG_RTC_DRV_DS3234 is not set |
888 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
867 | 889 | ||
868 | # | 890 | # |
869 | # Platform RTC drivers | 891 | # Platform RTC drivers |
@@ -884,10 +906,20 @@ CONFIG_RTC_INTF_DEV=y | |||
884 | # | 906 | # |
885 | CONFIG_RTC_DRV_BFIN=y | 907 | CONFIG_RTC_DRV_BFIN=y |
886 | # CONFIG_DMADEVICES is not set | 908 | # CONFIG_DMADEVICES is not set |
909 | # CONFIG_AUXDISPLAY is not set | ||
887 | # CONFIG_UIO is not set | 910 | # CONFIG_UIO is not set |
911 | |||
912 | # | ||
913 | # TI VLYNQ | ||
914 | # | ||
888 | # CONFIG_STAGING is not set | 915 | # CONFIG_STAGING is not set |
889 | 916 | ||
890 | # | 917 | # |
918 | # Firmware Drivers | ||
919 | # | ||
920 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
921 | |||
922 | # | ||
891 | # File systems | 923 | # File systems |
892 | # | 924 | # |
893 | # CONFIG_EXT2_FS is not set | 925 | # CONFIG_EXT2_FS is not set |
@@ -896,9 +928,13 @@ CONFIG_RTC_DRV_BFIN=y | |||
896 | # CONFIG_REISERFS_FS is not set | 928 | # CONFIG_REISERFS_FS is not set |
897 | # CONFIG_JFS_FS is not set | 929 | # CONFIG_JFS_FS is not set |
898 | # CONFIG_FS_POSIX_ACL is not set | 930 | # CONFIG_FS_POSIX_ACL is not set |
899 | CONFIG_FILE_LOCKING=y | ||
900 | # CONFIG_XFS_FS is not set | 931 | # CONFIG_XFS_FS is not set |
932 | # CONFIG_GFS2_FS is not set | ||
901 | # CONFIG_OCFS2_FS is not set | 933 | # CONFIG_OCFS2_FS is not set |
934 | # CONFIG_BTRFS_FS is not set | ||
935 | # CONFIG_NILFS2_FS is not set | ||
936 | CONFIG_FILE_LOCKING=y | ||
937 | CONFIG_FSNOTIFY=y | ||
902 | # CONFIG_DNOTIFY is not set | 938 | # CONFIG_DNOTIFY is not set |
903 | CONFIG_INOTIFY=y | 939 | CONFIG_INOTIFY=y |
904 | CONFIG_INOTIFY_USER=y | 940 | CONFIG_INOTIFY_USER=y |
@@ -908,6 +944,11 @@ CONFIG_INOTIFY_USER=y | |||
908 | # CONFIG_FUSE_FS is not set | 944 | # CONFIG_FUSE_FS is not set |
909 | 945 | ||
910 | # | 946 | # |
947 | # Caches | ||
948 | # | ||
949 | # CONFIG_FSCACHE is not set | ||
950 | |||
951 | # | ||
911 | # CD-ROM/DVD Filesystems | 952 | # CD-ROM/DVD Filesystems |
912 | # | 953 | # |
913 | # CONFIG_ISO9660_FS is not set | 954 | # CONFIG_ISO9660_FS is not set |
@@ -926,13 +967,9 @@ CONFIG_INOTIFY_USER=y | |||
926 | CONFIG_PROC_FS=y | 967 | CONFIG_PROC_FS=y |
927 | CONFIG_PROC_SYSCTL=y | 968 | CONFIG_PROC_SYSCTL=y |
928 | CONFIG_SYSFS=y | 969 | CONFIG_SYSFS=y |
929 | # CONFIG_TMPFS is not set | ||
930 | # CONFIG_HUGETLB_PAGE is not set | 970 | # CONFIG_HUGETLB_PAGE is not set |
931 | # CONFIG_CONFIGFS_FS is not set | 971 | # CONFIG_CONFIGFS_FS is not set |
932 | 972 | CONFIG_MISC_FILESYSTEMS=y | |
933 | # | ||
934 | # Miscellaneous filesystems | ||
935 | # | ||
936 | # CONFIG_ADFS_FS is not set | 973 | # CONFIG_ADFS_FS is not set |
937 | # CONFIG_AFFS_FS is not set | 974 | # CONFIG_AFFS_FS is not set |
938 | # CONFIG_HFS_FS is not set | 975 | # CONFIG_HFS_FS is not set |
@@ -951,17 +988,8 @@ CONFIG_JFFS2_ZLIB=y | |||
951 | # CONFIG_JFFS2_LZO is not set | 988 | # CONFIG_JFFS2_LZO is not set |
952 | CONFIG_JFFS2_RTIME=y | 989 | CONFIG_JFFS2_RTIME=y |
953 | # CONFIG_JFFS2_RUBIN is not set | 990 | # CONFIG_JFFS2_RUBIN is not set |
954 | CONFIG_YAFFS_FS=m | ||
955 | CONFIG_YAFFS_YAFFS1=y | ||
956 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
957 | # CONFIG_YAFFS_DOES_ECC is not set | ||
958 | CONFIG_YAFFS_YAFFS2=y | ||
959 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
960 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
961 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
962 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
963 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
964 | # CONFIG_CRAMFS is not set | 991 | # CONFIG_CRAMFS is not set |
992 | # CONFIG_SQUASHFS is not set | ||
965 | # CONFIG_VXFS_FS is not set | 993 | # CONFIG_VXFS_FS is not set |
966 | # CONFIG_MINIX_FS is not set | 994 | # CONFIG_MINIX_FS is not set |
967 | # CONFIG_OMFS_FS is not set | 995 | # CONFIG_OMFS_FS is not set |
@@ -980,7 +1008,6 @@ CONFIG_LOCKD=m | |||
980 | CONFIG_LOCKD_V4=y | 1008 | CONFIG_LOCKD_V4=y |
981 | CONFIG_NFS_COMMON=y | 1009 | CONFIG_NFS_COMMON=y |
982 | CONFIG_SUNRPC=m | 1010 | CONFIG_SUNRPC=m |
983 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
984 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1011 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
985 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1012 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
986 | CONFIG_SMB_FS=m | 1013 | CONFIG_SMB_FS=m |
@@ -1045,14 +1072,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1045 | CONFIG_ENABLE_MUST_CHECK=y | 1072 | CONFIG_ENABLE_MUST_CHECK=y |
1046 | CONFIG_FRAME_WARN=1024 | 1073 | CONFIG_FRAME_WARN=1024 |
1047 | # CONFIG_MAGIC_SYSRQ is not set | 1074 | # CONFIG_MAGIC_SYSRQ is not set |
1075 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1048 | # CONFIG_UNUSED_SYMBOLS is not set | 1076 | # CONFIG_UNUSED_SYMBOLS is not set |
1049 | CONFIG_DEBUG_FS=y | 1077 | CONFIG_DEBUG_FS=y |
1050 | # CONFIG_HEADERS_CHECK is not set | 1078 | # CONFIG_HEADERS_CHECK is not set |
1079 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1051 | CONFIG_DEBUG_KERNEL=y | 1080 | CONFIG_DEBUG_KERNEL=y |
1052 | CONFIG_DEBUG_SHIRQ=y | 1081 | CONFIG_DEBUG_SHIRQ=y |
1053 | CONFIG_DETECT_SOFTLOCKUP=y | 1082 | CONFIG_DETECT_SOFTLOCKUP=y |
1054 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1083 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1055 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1084 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1085 | CONFIG_DETECT_HUNG_TASK=y | ||
1086 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1087 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1056 | CONFIG_SCHED_DEBUG=y | 1088 | CONFIG_SCHED_DEBUG=y |
1057 | # CONFIG_SCHEDSTATS is not set | 1089 | # CONFIG_SCHEDSTATS is not set |
1058 | # CONFIG_TIMER_STATS is not set | 1090 | # CONFIG_TIMER_STATS is not set |
@@ -1060,31 +1092,39 @@ CONFIG_SCHED_DEBUG=y | |||
1060 | # CONFIG_DEBUG_SLAB is not set | 1092 | # CONFIG_DEBUG_SLAB is not set |
1061 | # CONFIG_DEBUG_SPINLOCK is not set | 1093 | # CONFIG_DEBUG_SPINLOCK is not set |
1062 | # CONFIG_DEBUG_MUTEXES is not set | 1094 | # CONFIG_DEBUG_MUTEXES is not set |
1095 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1096 | # CONFIG_PROVE_LOCKING is not set | ||
1097 | # CONFIG_LOCK_STAT is not set | ||
1063 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1098 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1064 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1099 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1065 | # CONFIG_DEBUG_KOBJECT is not set | 1100 | # CONFIG_DEBUG_KOBJECT is not set |
1066 | CONFIG_DEBUG_BUGVERBOSE=y | 1101 | CONFIG_DEBUG_BUGVERBOSE=y |
1067 | CONFIG_DEBUG_INFO=y | 1102 | CONFIG_DEBUG_INFO=y |
1068 | # CONFIG_DEBUG_VM is not set | 1103 | # CONFIG_DEBUG_VM is not set |
1104 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1069 | # CONFIG_DEBUG_WRITECOUNT is not set | 1105 | # CONFIG_DEBUG_WRITECOUNT is not set |
1070 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1106 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1071 | # CONFIG_DEBUG_LIST is not set | 1107 | # CONFIG_DEBUG_LIST is not set |
1072 | # CONFIG_DEBUG_SG is not set | 1108 | # CONFIG_DEBUG_SG is not set |
1109 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1110 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1073 | # CONFIG_FRAME_POINTER is not set | 1111 | # CONFIG_FRAME_POINTER is not set |
1074 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1112 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1075 | # CONFIG_RCU_TORTURE_TEST is not set | 1113 | # CONFIG_RCU_TORTURE_TEST is not set |
1076 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1114 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1077 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1115 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1078 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1116 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1117 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1079 | # CONFIG_FAULT_INJECTION is not set | 1118 | # CONFIG_FAULT_INJECTION is not set |
1080 | 1119 | # CONFIG_PAGE_POISONING is not set | |
1081 | # | 1120 | CONFIG_HAVE_FUNCTION_TRACER=y |
1082 | # Tracers | 1121 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1083 | # | 1122 | CONFIG_TRACING_SUPPORT=y |
1084 | # CONFIG_SCHED_TRACER is not set | 1123 | # CONFIG_FTRACE is not set |
1085 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1124 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1086 | # CONFIG_BOOT_TRACER is not set | 1125 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1087 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1126 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1127 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1088 | # CONFIG_SAMPLES is not set | 1128 | # CONFIG_SAMPLES is not set |
1089 | CONFIG_HAVE_ARCH_KGDB=y | 1129 | CONFIG_HAVE_ARCH_KGDB=y |
1090 | # CONFIG_KGDB is not set | 1130 | # CONFIG_KGDB is not set |
@@ -1109,6 +1149,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1109 | CONFIG_EARLY_PRINTK=y | 1149 | CONFIG_EARLY_PRINTK=y |
1110 | CONFIG_CPLB_INFO=y | 1150 | CONFIG_CPLB_INFO=y |
1111 | CONFIG_ACCESS_CHECK=y | 1151 | CONFIG_ACCESS_CHECK=y |
1152 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1112 | 1153 | ||
1113 | # | 1154 | # |
1114 | # Security options | 1155 | # Security options |
@@ -1117,14 +1158,14 @@ CONFIG_ACCESS_CHECK=y | |||
1117 | CONFIG_SECURITY=y | 1158 | CONFIG_SECURITY=y |
1118 | # CONFIG_SECURITYFS is not set | 1159 | # CONFIG_SECURITYFS is not set |
1119 | # CONFIG_SECURITY_NETWORK is not set | 1160 | # CONFIG_SECURITY_NETWORK is not set |
1161 | # CONFIG_SECURITY_PATH is not set | ||
1120 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1162 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1121 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1163 | # CONFIG_SECURITY_TOMOYO is not set |
1122 | CONFIG_CRYPTO=y | 1164 | CONFIG_CRYPTO=y |
1123 | 1165 | ||
1124 | # | 1166 | # |
1125 | # Crypto core or helper | 1167 | # Crypto core or helper |
1126 | # | 1168 | # |
1127 | # CONFIG_CRYPTO_FIPS is not set | ||
1128 | # CONFIG_CRYPTO_MANAGER is not set | 1169 | # CONFIG_CRYPTO_MANAGER is not set |
1129 | # CONFIG_CRYPTO_MANAGER2 is not set | 1170 | # CONFIG_CRYPTO_MANAGER2 is not set |
1130 | # CONFIG_CRYPTO_GF128MUL is not set | 1171 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1156,11 +1197,13 @@ CONFIG_CRYPTO=y | |||
1156 | # | 1197 | # |
1157 | # CONFIG_CRYPTO_HMAC is not set | 1198 | # CONFIG_CRYPTO_HMAC is not set |
1158 | # CONFIG_CRYPTO_XCBC is not set | 1199 | # CONFIG_CRYPTO_XCBC is not set |
1200 | # CONFIG_CRYPTO_VMAC is not set | ||
1159 | 1201 | ||
1160 | # | 1202 | # |
1161 | # Digest | 1203 | # Digest |
1162 | # | 1204 | # |
1163 | # CONFIG_CRYPTO_CRC32C is not set | 1205 | # CONFIG_CRYPTO_CRC32C is not set |
1206 | # CONFIG_CRYPTO_GHASH is not set | ||
1164 | # CONFIG_CRYPTO_MD4 is not set | 1207 | # CONFIG_CRYPTO_MD4 is not set |
1165 | # CONFIG_CRYPTO_MD5 is not set | 1208 | # CONFIG_CRYPTO_MD5 is not set |
1166 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1209 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1197,6 +1240,7 @@ CONFIG_CRYPTO=y | |||
1197 | # Compression | 1240 | # Compression |
1198 | # | 1241 | # |
1199 | # CONFIG_CRYPTO_DEFLATE is not set | 1242 | # CONFIG_CRYPTO_DEFLATE is not set |
1243 | # CONFIG_CRYPTO_ZLIB is not set | ||
1200 | # CONFIG_CRYPTO_LZO is not set | 1244 | # CONFIG_CRYPTO_LZO is not set |
1201 | 1245 | ||
1202 | # | 1246 | # |
@@ -1204,11 +1248,13 @@ CONFIG_CRYPTO=y | |||
1204 | # | 1248 | # |
1205 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1249 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1206 | CONFIG_CRYPTO_HW=y | 1250 | CONFIG_CRYPTO_HW=y |
1251 | # CONFIG_BINARY_PRINTF is not set | ||
1207 | 1252 | ||
1208 | # | 1253 | # |
1209 | # Library routines | 1254 | # Library routines |
1210 | # | 1255 | # |
1211 | CONFIG_BITREVERSE=y | 1256 | CONFIG_BITREVERSE=y |
1257 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1212 | CONFIG_CRC_CCITT=m | 1258 | CONFIG_CRC_CCITT=m |
1213 | # CONFIG_CRC16 is not set | 1259 | # CONFIG_CRC16 is not set |
1214 | # CONFIG_CRC_T10DIF is not set | 1260 | # CONFIG_CRC_T10DIF is not set |
@@ -1218,6 +1264,8 @@ CONFIG_CRC32=y | |||
1218 | # CONFIG_LIBCRC32C is not set | 1264 | # CONFIG_LIBCRC32C is not set |
1219 | CONFIG_ZLIB_INFLATE=y | 1265 | CONFIG_ZLIB_INFLATE=y |
1220 | CONFIG_ZLIB_DEFLATE=m | 1266 | CONFIG_ZLIB_DEFLATE=m |
1267 | CONFIG_DECOMPRESS_GZIP=y | ||
1221 | CONFIG_HAS_IOMEM=y | 1268 | CONFIG_HAS_IOMEM=y |
1222 | CONFIG_HAS_IOPORT=y | 1269 | CONFIG_HAS_IOPORT=y |
1223 | CONFIG_HAS_DMA=y | 1270 | CONFIG_HAS_DMA=y |
1271 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF533-STAMP_defconfig b/arch/blackfin/configs/BF533-STAMP_defconfig index 6c60c8286318..c3fe6e5b612f 100644 --- a/arch/blackfin/configs/BF533-STAMP_defconfig +++ b/arch/blackfin/configs/BF533-STAMP_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_DEFAULT_AS=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 132 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_BF533=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=3 | 174 | CONFIG_BF_REV_MIN=3 |
@@ -228,7 +256,7 @@ CONFIG_GENERIC_TIME=y | |||
228 | CONFIG_GENERIC_CLOCKEVENTS=y | 256 | CONFIG_GENERIC_CLOCKEVENTS=y |
229 | # CONFIG_TICKSOURCE_GPTMR0 is not set | 257 | # CONFIG_TICKSOURCE_GPTMR0 is not set |
230 | CONFIG_TICKSOURCE_CORETMR=y | 258 | CONFIG_TICKSOURCE_CORETMR=y |
231 | # CONFIG_CYCLES_CLOCKSOURCE is not set | 259 | CONFIG_CYCLES_CLOCKSOURCE=y |
232 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | 260 | # CONFIG_GPTMR0_CLOCKSOURCE is not set |
233 | CONFIG_TICK_ONESHOT=y | 261 | CONFIG_TICK_ONESHOT=y |
234 | # CONFIG_NO_HZ is not set | 262 | # CONFIG_NO_HZ is not set |
@@ -280,7 +308,6 @@ CONFIG_FLATMEM=y | |||
280 | CONFIG_FLAT_NODE_MEM_MAP=y | 308 | CONFIG_FLAT_NODE_MEM_MAP=y |
281 | CONFIG_PAGEFLAGS_EXTENDED=y | 309 | CONFIG_PAGEFLAGS_EXTENDED=y |
282 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 310 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
283 | # CONFIG_RESOURCES_64BIT is not set | ||
284 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 311 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
285 | CONFIG_ZONE_DMA_FLAG=1 | 312 | CONFIG_ZONE_DMA_FLAG=1 |
286 | CONFIG_VIRT_TO_BUS=y | 313 | CONFIG_VIRT_TO_BUS=y |
@@ -289,16 +316,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
289 | # CONFIG_DMA_UNCACHED_4M is not set | 316 | # CONFIG_DMA_UNCACHED_4M is not set |
290 | # CONFIG_DMA_UNCACHED_2M is not set | 317 | # CONFIG_DMA_UNCACHED_2M is not set |
291 | CONFIG_DMA_UNCACHED_1M=y | 318 | CONFIG_DMA_UNCACHED_1M=y |
319 | # CONFIG_DMA_UNCACHED_512K is not set | ||
320 | # CONFIG_DMA_UNCACHED_256K is not set | ||
321 | # CONFIG_DMA_UNCACHED_128K is not set | ||
292 | # CONFIG_DMA_UNCACHED_NONE is not set | 322 | # CONFIG_DMA_UNCACHED_NONE is not set |
293 | 323 | ||
294 | # | 324 | # |
295 | # Cache Support | 325 | # Cache Support |
296 | # | 326 | # |
297 | CONFIG_BFIN_ICACHE=y | 327 | CONFIG_BFIN_ICACHE=y |
298 | # CONFIG_BFIN_ICACHE_LOCK is not set | 328 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
299 | CONFIG_BFIN_DCACHE=y | 329 | CONFIG_BFIN_DCACHE=y |
300 | # CONFIG_BFIN_DCACHE_BANKA is not set | 330 | # CONFIG_BFIN_DCACHE_BANKA is not set |
301 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
302 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 331 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
303 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 332 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
304 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 333 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -309,7 +338,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
309 | # CONFIG_MPU is not set | 338 | # CONFIG_MPU is not set |
310 | 339 | ||
311 | # | 340 | # |
312 | # Asynchonous Memory Configuration | 341 | # Asynchronous Memory Configuration |
313 | # | 342 | # |
314 | 343 | ||
315 | # | 344 | # |
@@ -355,6 +384,7 @@ CONFIG_PM=y | |||
355 | CONFIG_PM_SLEEP=y | 384 | CONFIG_PM_SLEEP=y |
356 | CONFIG_SUSPEND=y | 385 | CONFIG_SUSPEND=y |
357 | CONFIG_SUSPEND_FREEZER=y | 386 | CONFIG_SUSPEND_FREEZER=y |
387 | # CONFIG_PM_RUNTIME is not set | ||
358 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 388 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
359 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 389 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
360 | # CONFIG_PM_BFIN_SLEEP is not set | 390 | # CONFIG_PM_BFIN_SLEEP is not set |
@@ -376,11 +406,6 @@ CONFIG_NET=y | |||
376 | CONFIG_PACKET=y | 406 | CONFIG_PACKET=y |
377 | # CONFIG_PACKET_MMAP is not set | 407 | # CONFIG_PACKET_MMAP is not set |
378 | CONFIG_UNIX=y | 408 | CONFIG_UNIX=y |
379 | CONFIG_XFRM=y | ||
380 | # CONFIG_XFRM_USER is not set | ||
381 | # CONFIG_XFRM_SUB_POLICY is not set | ||
382 | # CONFIG_XFRM_MIGRATE is not set | ||
383 | # CONFIG_XFRM_STATISTICS is not set | ||
384 | # CONFIG_NET_KEY is not set | 409 | # CONFIG_NET_KEY is not set |
385 | CONFIG_INET=y | 410 | CONFIG_INET=y |
386 | # CONFIG_IP_MULTICAST is not set | 411 | # CONFIG_IP_MULTICAST is not set |
@@ -404,7 +429,6 @@ CONFIG_IP_PNP=y | |||
404 | # CONFIG_INET_XFRM_MODE_BEET is not set | 429 | # CONFIG_INET_XFRM_MODE_BEET is not set |
405 | # CONFIG_INET_LRO is not set | 430 | # CONFIG_INET_LRO is not set |
406 | # CONFIG_INET_DIAG is not set | 431 | # CONFIG_INET_DIAG is not set |
407 | CONFIG_INET_TCP_DIAG=y | ||
408 | # CONFIG_TCP_CONG_ADVANCED is not set | 432 | # CONFIG_TCP_CONG_ADVANCED is not set |
409 | CONFIG_TCP_CONG_CUBIC=y | 433 | CONFIG_TCP_CONG_CUBIC=y |
410 | CONFIG_DEFAULT_TCP_CONG="cubic" | 434 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -415,6 +439,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
415 | # CONFIG_NETFILTER is not set | 439 | # CONFIG_NETFILTER is not set |
416 | # CONFIG_IP_DCCP is not set | 440 | # CONFIG_IP_DCCP is not set |
417 | # CONFIG_IP_SCTP is not set | 441 | # CONFIG_IP_SCTP is not set |
442 | # CONFIG_RDS is not set | ||
418 | # CONFIG_TIPC is not set | 443 | # CONFIG_TIPC is not set |
419 | # CONFIG_ATM is not set | 444 | # CONFIG_ATM is not set |
420 | # CONFIG_BRIDGE is not set | 445 | # CONFIG_BRIDGE is not set |
@@ -428,7 +453,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
428 | # CONFIG_LAPB is not set | 453 | # CONFIG_LAPB is not set |
429 | # CONFIG_ECONET is not set | 454 | # CONFIG_ECONET is not set |
430 | # CONFIG_WAN_ROUTER is not set | 455 | # CONFIG_WAN_ROUTER is not set |
456 | # CONFIG_PHONET is not set | ||
457 | # CONFIG_IEEE802154 is not set | ||
431 | # CONFIG_NET_SCHED is not set | 458 | # CONFIG_NET_SCHED is not set |
459 | # CONFIG_DCB is not set | ||
432 | 460 | ||
433 | # | 461 | # |
434 | # Network testing | 462 | # Network testing |
@@ -474,13 +502,8 @@ CONFIG_SIR_BFIN_DMA=y | |||
474 | # | 502 | # |
475 | # CONFIG_BT is not set | 503 | # CONFIG_BT is not set |
476 | # CONFIG_AF_RXRPC is not set | 504 | # CONFIG_AF_RXRPC is not set |
477 | # CONFIG_PHONET is not set | 505 | # CONFIG_WIRELESS is not set |
478 | CONFIG_WIRELESS=y | 506 | # CONFIG_WIMAX is not set |
479 | # CONFIG_CFG80211 is not set | ||
480 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
481 | # CONFIG_WIRELESS_EXT is not set | ||
482 | # CONFIG_MAC80211 is not set | ||
483 | # CONFIG_IEEE80211 is not set | ||
484 | # CONFIG_RFKILL is not set | 507 | # CONFIG_RFKILL is not set |
485 | # CONFIG_NET_9P is not set | 508 | # CONFIG_NET_9P is not set |
486 | 509 | ||
@@ -501,6 +524,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
501 | # CONFIG_CONNECTOR is not set | 524 | # CONFIG_CONNECTOR is not set |
502 | CONFIG_MTD=y | 525 | CONFIG_MTD=y |
503 | # CONFIG_MTD_DEBUG is not set | 526 | # CONFIG_MTD_DEBUG is not set |
527 | # CONFIG_MTD_TESTS is not set | ||
504 | # CONFIG_MTD_CONCAT is not set | 528 | # CONFIG_MTD_CONCAT is not set |
505 | CONFIG_MTD_PARTITIONS=y | 529 | CONFIG_MTD_PARTITIONS=y |
506 | # CONFIG_MTD_REDBOOT_PARTS is not set | 530 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -560,6 +584,7 @@ CONFIG_MTD_BFIN_ASYNC=m | |||
560 | # | 584 | # |
561 | # CONFIG_MTD_DATAFLASH is not set | 585 | # CONFIG_MTD_DATAFLASH is not set |
562 | # CONFIG_MTD_M25P80 is not set | 586 | # CONFIG_MTD_M25P80 is not set |
587 | # CONFIG_MTD_SST25L is not set | ||
563 | # CONFIG_MTD_SLRAM is not set | 588 | # CONFIG_MTD_SLRAM is not set |
564 | # CONFIG_MTD_PHRAM is not set | 589 | # CONFIG_MTD_PHRAM is not set |
565 | # CONFIG_MTD_MTDRAM is not set | 590 | # CONFIG_MTD_MTDRAM is not set |
@@ -575,6 +600,11 @@ CONFIG_MTD_BFIN_ASYNC=m | |||
575 | # CONFIG_MTD_ONENAND is not set | 600 | # CONFIG_MTD_ONENAND is not set |
576 | 601 | ||
577 | # | 602 | # |
603 | # LPDDR flash memory drivers | ||
604 | # | ||
605 | # CONFIG_MTD_LPDDR is not set | ||
606 | |||
607 | # | ||
578 | # UBI - Unsorted block images | 608 | # UBI - Unsorted block images |
579 | # | 609 | # |
580 | # CONFIG_MTD_UBI is not set | 610 | # CONFIG_MTD_UBI is not set |
@@ -591,10 +621,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
591 | # CONFIG_ATA_OVER_ETH is not set | 621 | # CONFIG_ATA_OVER_ETH is not set |
592 | # CONFIG_BLK_DEV_HD is not set | 622 | # CONFIG_BLK_DEV_HD is not set |
593 | CONFIG_MISC_DEVICES=y | 623 | CONFIG_MISC_DEVICES=y |
594 | # CONFIG_EEPROM_93CX6 is not set | 624 | # CONFIG_AD525X_DPOT is not set |
595 | # CONFIG_ICS932S401 is not set | 625 | # CONFIG_ICS932S401 is not set |
596 | # CONFIG_ENCLOSURE_SERVICES is not set | 626 | # CONFIG_ENCLOSURE_SERVICES is not set |
627 | # CONFIG_ISL29003 is not set | ||
597 | # CONFIG_C2PORT is not set | 628 | # CONFIG_C2PORT is not set |
629 | |||
630 | # | ||
631 | # EEPROM support | ||
632 | # | ||
633 | # CONFIG_EEPROM_AT24 is not set | ||
634 | # CONFIG_EEPROM_AT25 is not set | ||
635 | # CONFIG_EEPROM_LEGACY is not set | ||
636 | # CONFIG_EEPROM_MAX6875 is not set | ||
637 | # CONFIG_EEPROM_93CX6 is not set | ||
598 | CONFIG_HAVE_IDE=y | 638 | CONFIG_HAVE_IDE=y |
599 | # CONFIG_IDE is not set | 639 | # CONFIG_IDE is not set |
600 | 640 | ||
@@ -618,9 +658,12 @@ CONFIG_NETDEVICES=y | |||
618 | CONFIG_NET_ETHERNET=y | 658 | CONFIG_NET_ETHERNET=y |
619 | CONFIG_MII=y | 659 | CONFIG_MII=y |
620 | CONFIG_SMC91X=y | 660 | CONFIG_SMC91X=y |
621 | # CONFIG_SMSC911X is not set | ||
622 | # CONFIG_DM9000 is not set | 661 | # CONFIG_DM9000 is not set |
623 | # CONFIG_ENC28J60 is not set | 662 | # CONFIG_ENC28J60 is not set |
663 | # CONFIG_ETHOC is not set | ||
664 | # CONFIG_SMSC911X is not set | ||
665 | # CONFIG_DNET is not set | ||
666 | # CONFIG_ADF702X is not set | ||
624 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 667 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
625 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 668 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
626 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 669 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -629,15 +672,16 @@ CONFIG_SMC91X=y | |||
629 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 672 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
630 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 673 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
631 | # CONFIG_B44 is not set | 674 | # CONFIG_B44 is not set |
675 | # CONFIG_KS8842 is not set | ||
676 | # CONFIG_KS8851 is not set | ||
677 | # CONFIG_KS8851_MLL is not set | ||
632 | # CONFIG_NETDEV_1000 is not set | 678 | # CONFIG_NETDEV_1000 is not set |
633 | # CONFIG_NETDEV_10000 is not set | 679 | # CONFIG_NETDEV_10000 is not set |
680 | # CONFIG_WLAN is not set | ||
634 | 681 | ||
635 | # | 682 | # |
636 | # Wireless LAN | 683 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
637 | # | 684 | # |
638 | # CONFIG_WLAN_PRE80211 is not set | ||
639 | # CONFIG_WLAN_80211 is not set | ||
640 | # CONFIG_IWLWIFI_LEDS is not set | ||
641 | # CONFIG_WAN is not set | 685 | # CONFIG_WAN is not set |
642 | # CONFIG_PPP is not set | 686 | # CONFIG_PPP is not set |
643 | # CONFIG_SLIP is not set | 687 | # CONFIG_SLIP is not set |
@@ -672,7 +716,10 @@ CONFIG_INPUT_EVDEV=m | |||
672 | # CONFIG_INPUT_TOUCHSCREEN is not set | 716 | # CONFIG_INPUT_TOUCHSCREEN is not set |
673 | CONFIG_INPUT_MISC=y | 717 | CONFIG_INPUT_MISC=y |
674 | # CONFIG_INPUT_UINPUT is not set | 718 | # CONFIG_INPUT_UINPUT is not set |
675 | CONFIG_CONFIG_INPUT_PCF8574=m | 719 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
720 | # CONFIG_INPUT_AD714X is not set | ||
721 | # CONFIG_INPUT_ADXL34X is not set | ||
722 | # CONFIG_INPUT_PCF8574 is not set | ||
676 | 723 | ||
677 | # | 724 | # |
678 | # Hardware I/O ports | 725 | # Hardware I/O ports |
@@ -683,16 +730,13 @@ CONFIG_CONFIG_INPUT_PCF8574=m | |||
683 | # | 730 | # |
684 | # Character devices | 731 | # Character devices |
685 | # | 732 | # |
686 | # CONFIG_AD9960 is not set | ||
687 | CONFIG_BFIN_DMA_INTERFACE=m | 733 | CONFIG_BFIN_DMA_INTERFACE=m |
688 | # CONFIG_BFIN_PPI is not set | 734 | # CONFIG_BFIN_PPI is not set |
689 | # CONFIG_BFIN_PPIFCD is not set | 735 | # CONFIG_BFIN_PPIFCD is not set |
690 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 736 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
691 | # CONFIG_BFIN_SPI_ADC is not set | 737 | # CONFIG_BFIN_SPI_ADC is not set |
692 | CONFIG_BFIN_SPORT=m | 738 | CONFIG_BFIN_SPORT=m |
693 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
694 | # CONFIG_BFIN_TWI_LCD is not set | 739 | # CONFIG_BFIN_TWI_LCD is not set |
695 | CONFIG_SIMPLE_GPIO=m | ||
696 | # CONFIG_VT is not set | 740 | # CONFIG_VT is not set |
697 | # CONFIG_DEVKMEM is not set | 741 | # CONFIG_DEVKMEM is not set |
698 | CONFIG_BFIN_JTAG_COMM=m | 742 | CONFIG_BFIN_JTAG_COMM=m |
@@ -706,6 +750,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
706 | # | 750 | # |
707 | # Non-8250 serial port support | 751 | # Non-8250 serial port support |
708 | # | 752 | # |
753 | # CONFIG_SERIAL_MAX3100 is not set | ||
709 | CONFIG_SERIAL_BFIN=y | 754 | CONFIG_SERIAL_BFIN=y |
710 | CONFIG_SERIAL_BFIN_CONSOLE=y | 755 | CONFIG_SERIAL_BFIN_CONSOLE=y |
711 | CONFIG_SERIAL_BFIN_DMA=y | 756 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -716,12 +761,8 @@ CONFIG_SERIAL_CORE=y | |||
716 | CONFIG_SERIAL_CORE_CONSOLE=y | 761 | CONFIG_SERIAL_CORE_CONSOLE=y |
717 | # CONFIG_SERIAL_BFIN_SPORT is not set | 762 | # CONFIG_SERIAL_BFIN_SPORT is not set |
718 | CONFIG_UNIX98_PTYS=y | 763 | CONFIG_UNIX98_PTYS=y |
764 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
719 | # CONFIG_LEGACY_PTYS is not set | 765 | # CONFIG_LEGACY_PTYS is not set |
720 | |||
721 | # | ||
722 | # CAN, the car bus and industrial fieldbus | ||
723 | # | ||
724 | # CONFIG_CAN4LINUX is not set | ||
725 | # CONFIG_IPMI_HANDLER is not set | 766 | # CONFIG_IPMI_HANDLER is not set |
726 | # CONFIG_HW_RANDOM is not set | 767 | # CONFIG_HW_RANDOM is not set |
727 | # CONFIG_R3964 is not set | 768 | # CONFIG_R3964 is not set |
@@ -729,6 +770,7 @@ CONFIG_UNIX98_PTYS=y | |||
729 | # CONFIG_TCG_TPM is not set | 770 | # CONFIG_TCG_TPM is not set |
730 | CONFIG_I2C=m | 771 | CONFIG_I2C=m |
731 | CONFIG_I2C_BOARDINFO=y | 772 | CONFIG_I2C_BOARDINFO=y |
773 | CONFIG_I2C_COMPAT=y | ||
732 | CONFIG_I2C_CHARDEV=m | 774 | CONFIG_I2C_CHARDEV=m |
733 | CONFIG_I2C_HELPER_AUTO=y | 775 | CONFIG_I2C_HELPER_AUTO=y |
734 | 776 | ||
@@ -759,14 +801,6 @@ CONFIG_I2C_HELPER_AUTO=y | |||
759 | # Miscellaneous I2C Chip support | 801 | # Miscellaneous I2C Chip support |
760 | # | 802 | # |
761 | # CONFIG_DS1682 is not set | 803 | # CONFIG_DS1682 is not set |
762 | # CONFIG_EEPROM_AT24 is not set | ||
763 | # CONFIG_SENSORS_AD5252 is not set | ||
764 | # CONFIG_EEPROM_LEGACY is not set | ||
765 | # CONFIG_SENSORS_PCF8574 is not set | ||
766 | # CONFIG_PCF8575 is not set | ||
767 | # CONFIG_SENSORS_PCA9539 is not set | ||
768 | # CONFIG_SENSORS_PCF8591 is not set | ||
769 | # CONFIG_SENSORS_MAX6875 is not set | ||
770 | # CONFIG_SENSORS_TSL2550 is not set | 804 | # CONFIG_SENSORS_TSL2550 is not set |
771 | # CONFIG_I2C_DEBUG_CORE is not set | 805 | # CONFIG_I2C_DEBUG_CORE is not set |
772 | # CONFIG_I2C_DEBUG_ALGO is not set | 806 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -783,13 +817,18 @@ CONFIG_SPI_BFIN=y | |||
783 | # CONFIG_SPI_BFIN_LOCK is not set | 817 | # CONFIG_SPI_BFIN_LOCK is not set |
784 | # CONFIG_SPI_BFIN_SPORT is not set | 818 | # CONFIG_SPI_BFIN_SPORT is not set |
785 | # CONFIG_SPI_BITBANG is not set | 819 | # CONFIG_SPI_BITBANG is not set |
820 | # CONFIG_SPI_GPIO is not set | ||
786 | 821 | ||
787 | # | 822 | # |
788 | # SPI Protocol Masters | 823 | # SPI Protocol Masters |
789 | # | 824 | # |
790 | # CONFIG_EEPROM_AT25 is not set | ||
791 | # CONFIG_SPI_SPIDEV is not set | 825 | # CONFIG_SPI_SPIDEV is not set |
792 | # CONFIG_SPI_TLE62X0 is not set | 826 | # CONFIG_SPI_TLE62X0 is not set |
827 | |||
828 | # | ||
829 | # PPS support | ||
830 | # | ||
831 | # CONFIG_PPS is not set | ||
793 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 832 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
794 | CONFIG_GPIOLIB=y | 833 | CONFIG_GPIOLIB=y |
795 | # CONFIG_DEBUG_GPIO is not set | 834 | # CONFIG_DEBUG_GPIO is not set |
@@ -805,6 +844,7 @@ CONFIG_GPIO_SYSFS=y | |||
805 | # CONFIG_GPIO_MAX732X is not set | 844 | # CONFIG_GPIO_MAX732X is not set |
806 | # CONFIG_GPIO_PCA953X is not set | 845 | # CONFIG_GPIO_PCA953X is not set |
807 | # CONFIG_GPIO_PCF857X is not set | 846 | # CONFIG_GPIO_PCF857X is not set |
847 | # CONFIG_GPIO_ADP5588 is not set | ||
808 | 848 | ||
809 | # | 849 | # |
810 | # PCI GPIO expanders: | 850 | # PCI GPIO expanders: |
@@ -815,11 +855,15 @@ CONFIG_GPIO_SYSFS=y | |||
815 | # | 855 | # |
816 | # CONFIG_GPIO_MAX7301 is not set | 856 | # CONFIG_GPIO_MAX7301 is not set |
817 | # CONFIG_GPIO_MCP23S08 is not set | 857 | # CONFIG_GPIO_MCP23S08 is not set |
858 | # CONFIG_GPIO_MC33880 is not set | ||
859 | |||
860 | # | ||
861 | # AC97 GPIO expanders: | ||
862 | # | ||
818 | # CONFIG_W1 is not set | 863 | # CONFIG_W1 is not set |
819 | # CONFIG_POWER_SUPPLY is not set | 864 | # CONFIG_POWER_SUPPLY is not set |
820 | # CONFIG_HWMON is not set | 865 | # CONFIG_HWMON is not set |
821 | # CONFIG_THERMAL is not set | 866 | # CONFIG_THERMAL is not set |
822 | # CONFIG_THERMAL_HWMON is not set | ||
823 | CONFIG_WATCHDOG=y | 867 | CONFIG_WATCHDOG=y |
824 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 868 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
825 | 869 | ||
@@ -841,26 +885,18 @@ CONFIG_SSB_POSSIBLE=y | |||
841 | # CONFIG_MFD_CORE is not set | 885 | # CONFIG_MFD_CORE is not set |
842 | # CONFIG_MFD_SM501 is not set | 886 | # CONFIG_MFD_SM501 is not set |
843 | # CONFIG_HTC_PASIC3 is not set | 887 | # CONFIG_HTC_PASIC3 is not set |
888 | # CONFIG_UCB1400_CORE is not set | ||
889 | # CONFIG_TPS65010 is not set | ||
844 | # CONFIG_MFD_TMIO is not set | 890 | # CONFIG_MFD_TMIO is not set |
845 | # CONFIG_MFD_WM8400 is not set | 891 | # CONFIG_MFD_WM8400 is not set |
892 | # CONFIG_MFD_WM831X is not set | ||
846 | # CONFIG_MFD_WM8350_I2C is not set | 893 | # CONFIG_MFD_WM8350_I2C is not set |
894 | # CONFIG_MFD_PCF50633 is not set | ||
895 | # CONFIG_MFD_MC13783 is not set | ||
896 | # CONFIG_AB3100_CORE is not set | ||
897 | # CONFIG_EZX_PCAP is not set | ||
847 | # CONFIG_REGULATOR is not set | 898 | # CONFIG_REGULATOR is not set |
848 | 899 | # CONFIG_MEDIA_SUPPORT is not set | |
849 | # | ||
850 | # Multimedia devices | ||
851 | # | ||
852 | |||
853 | # | ||
854 | # Multimedia core support | ||
855 | # | ||
856 | # CONFIG_VIDEO_DEV is not set | ||
857 | # CONFIG_DVB_CORE is not set | ||
858 | # CONFIG_VIDEO_MEDIA is not set | ||
859 | |||
860 | # | ||
861 | # Multimedia drivers | ||
862 | # | ||
863 | # CONFIG_DAB is not set | ||
864 | 900 | ||
865 | # | 901 | # |
866 | # Graphics support | 902 | # Graphics support |
@@ -904,6 +940,7 @@ CONFIG_ADV7393_1XMEM=y | |||
904 | # CONFIG_FB_VIRTUAL is not set | 940 | # CONFIG_FB_VIRTUAL is not set |
905 | # CONFIG_FB_METRONOME is not set | 941 | # CONFIG_FB_METRONOME is not set |
906 | # CONFIG_FB_MB862XX is not set | 942 | # CONFIG_FB_MB862XX is not set |
943 | # CONFIG_FB_BROADSHEET is not set | ||
907 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 944 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
908 | 945 | ||
909 | # | 946 | # |
@@ -913,19 +950,27 @@ CONFIG_ADV7393_1XMEM=y | |||
913 | # CONFIG_LOGO is not set | 950 | # CONFIG_LOGO is not set |
914 | CONFIG_SOUND=m | 951 | CONFIG_SOUND=m |
915 | CONFIG_SOUND_OSS_CORE=y | 952 | CONFIG_SOUND_OSS_CORE=y |
953 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
916 | CONFIG_SND=m | 954 | CONFIG_SND=m |
917 | CONFIG_SND_TIMER=m | 955 | CONFIG_SND_TIMER=m |
918 | CONFIG_SND_PCM=m | 956 | CONFIG_SND_PCM=m |
957 | CONFIG_SND_JACK=y | ||
919 | # CONFIG_SND_SEQUENCER is not set | 958 | # CONFIG_SND_SEQUENCER is not set |
920 | CONFIG_SND_OSSEMUL=y | 959 | CONFIG_SND_OSSEMUL=y |
921 | CONFIG_SND_MIXER_OSS=m | 960 | CONFIG_SND_MIXER_OSS=m |
922 | CONFIG_SND_PCM_OSS=m | 961 | CONFIG_SND_PCM_OSS=m |
923 | CONFIG_SND_PCM_OSS_PLUGINS=y | 962 | CONFIG_SND_PCM_OSS_PLUGINS=y |
963 | # CONFIG_SND_HRTIMER is not set | ||
924 | # CONFIG_SND_DYNAMIC_MINORS is not set | 964 | # CONFIG_SND_DYNAMIC_MINORS is not set |
925 | CONFIG_SND_SUPPORT_OLD_API=y | 965 | CONFIG_SND_SUPPORT_OLD_API=y |
926 | CONFIG_SND_VERBOSE_PROCFS=y | 966 | CONFIG_SND_VERBOSE_PROCFS=y |
927 | # CONFIG_SND_VERBOSE_PRINTK is not set | 967 | # CONFIG_SND_VERBOSE_PRINTK is not set |
928 | # CONFIG_SND_DEBUG is not set | 968 | # CONFIG_SND_DEBUG is not set |
969 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
970 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
971 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
972 | # CONFIG_SND_SBAWE_SEQ is not set | ||
973 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
929 | CONFIG_SND_DRIVERS=y | 974 | CONFIG_SND_DRIVERS=y |
930 | # CONFIG_SND_DUMMY is not set | 975 | # CONFIG_SND_DUMMY is not set |
931 | # CONFIG_SND_MTPAV is not set | 976 | # CONFIG_SND_MTPAV is not set |
@@ -936,13 +981,6 @@ CONFIG_SND_SPI=y | |||
936 | # | 981 | # |
937 | # ALSA Blackfin devices | 982 | # ALSA Blackfin devices |
938 | # | 983 | # |
939 | CONFIG_SND_BLACKFIN_AD1836=m | ||
940 | CONFIG_SND_BLACKFIN_AD1836_TDM=y | ||
941 | # CONFIG_SND_BLACKFIN_AD1836_I2S is not set | ||
942 | CONFIG_SND_BLACKFIN_AD1836_MULSUB=y | ||
943 | # CONFIG_SND_BLACKFIN_AD1836_5P1 is not set | ||
944 | CONFIG_SND_BLACKFIN_SPORT=0 | ||
945 | CONFIG_SND_BLACKFIN_SPI_PFBIT=4 | ||
946 | CONFIG_SND_BFIN_SPORT=0 | 984 | CONFIG_SND_BFIN_SPORT=0 |
947 | CONFIG_SND_BFIN_AD73322=m | 985 | CONFIG_SND_BFIN_AD73322=m |
948 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 | 986 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 |
@@ -953,16 +991,20 @@ CONFIG_SND_SOC_AC97_BUS=y | |||
953 | CONFIG_SND_BF5XX_I2S=m | 991 | CONFIG_SND_BF5XX_I2S=m |
954 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set | 992 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set |
955 | CONFIG_SND_BF5XX_SOC_AD73311=m | 993 | CONFIG_SND_BF5XX_SOC_AD73311=m |
994 | # CONFIG_SND_BF5XX_SOC_ADAU1371 is not set | ||
995 | # CONFIG_SND_BF5XX_SOC_ADAU1761 is not set | ||
956 | CONFIG_SND_BFIN_AD73311_SE=4 | 996 | CONFIG_SND_BFIN_AD73311_SE=4 |
997 | # CONFIG_SND_BF5XX_TDM is not set | ||
957 | CONFIG_SND_BF5XX_AC97=m | 998 | CONFIG_SND_BF5XX_AC97=m |
958 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y | 999 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y |
959 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set | 1000 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set |
1001 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
1002 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
960 | CONFIG_SND_BF5XX_SOC_SPORT=m | 1003 | CONFIG_SND_BF5XX_SOC_SPORT=m |
961 | CONFIG_SND_BF5XX_SOC_I2S=m | 1004 | CONFIG_SND_BF5XX_SOC_I2S=m |
962 | CONFIG_SND_BF5XX_SOC_AC97=m | 1005 | CONFIG_SND_BF5XX_SOC_AC97=m |
963 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
964 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 1006 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
965 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | 1007 | CONFIG_SND_SOC_I2C_AND_SPI=m |
966 | # CONFIG_SND_SOC_ALL_CODECS is not set | 1008 | # CONFIG_SND_SOC_ALL_CODECS is not set |
967 | CONFIG_SND_SOC_AD1980=m | 1009 | CONFIG_SND_SOC_AD1980=m |
968 | CONFIG_SND_SOC_AD73311=m | 1010 | CONFIG_SND_SOC_AD73311=m |
@@ -970,14 +1012,12 @@ CONFIG_SND_SOC_AD73311=m | |||
970 | CONFIG_AC97_BUS=m | 1012 | CONFIG_AC97_BUS=m |
971 | CONFIG_HID_SUPPORT=y | 1013 | CONFIG_HID_SUPPORT=y |
972 | CONFIG_HID=y | 1014 | CONFIG_HID=y |
973 | # CONFIG_HID_DEBUG is not set | ||
974 | # CONFIG_HIDRAW is not set | 1015 | # CONFIG_HIDRAW is not set |
975 | # CONFIG_HID_PID is not set | 1016 | # CONFIG_HID_PID is not set |
976 | 1017 | ||
977 | # | 1018 | # |
978 | # Special HID drivers | 1019 | # Special HID drivers |
979 | # | 1020 | # |
980 | CONFIG_HID_COMPAT=y | ||
981 | # CONFIG_USB_SUPPORT is not set | 1021 | # CONFIG_USB_SUPPORT is not set |
982 | # CONFIG_MMC is not set | 1022 | # CONFIG_MMC is not set |
983 | # CONFIG_MEMSTICK is not set | 1023 | # CONFIG_MEMSTICK is not set |
@@ -1014,6 +1054,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1014 | # CONFIG_RTC_DRV_S35390A is not set | 1054 | # CONFIG_RTC_DRV_S35390A is not set |
1015 | # CONFIG_RTC_DRV_FM3130 is not set | 1055 | # CONFIG_RTC_DRV_FM3130 is not set |
1016 | # CONFIG_RTC_DRV_RX8581 is not set | 1056 | # CONFIG_RTC_DRV_RX8581 is not set |
1057 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1017 | 1058 | ||
1018 | # | 1059 | # |
1019 | # SPI RTC drivers | 1060 | # SPI RTC drivers |
@@ -1025,6 +1066,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1025 | # CONFIG_RTC_DRV_R9701 is not set | 1066 | # CONFIG_RTC_DRV_R9701 is not set |
1026 | # CONFIG_RTC_DRV_RS5C348 is not set | 1067 | # CONFIG_RTC_DRV_RS5C348 is not set |
1027 | # CONFIG_RTC_DRV_DS3234 is not set | 1068 | # CONFIG_RTC_DRV_DS3234 is not set |
1069 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1028 | 1070 | ||
1029 | # | 1071 | # |
1030 | # Platform RTC drivers | 1072 | # Platform RTC drivers |
@@ -1045,10 +1087,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1045 | # | 1087 | # |
1046 | CONFIG_RTC_DRV_BFIN=y | 1088 | CONFIG_RTC_DRV_BFIN=y |
1047 | # CONFIG_DMADEVICES is not set | 1089 | # CONFIG_DMADEVICES is not set |
1090 | # CONFIG_AUXDISPLAY is not set | ||
1048 | # CONFIG_UIO is not set | 1091 | # CONFIG_UIO is not set |
1092 | |||
1093 | # | ||
1094 | # TI VLYNQ | ||
1095 | # | ||
1049 | # CONFIG_STAGING is not set | 1096 | # CONFIG_STAGING is not set |
1050 | 1097 | ||
1051 | # | 1098 | # |
1099 | # Firmware Drivers | ||
1100 | # | ||
1101 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1102 | # CONFIG_SIGMA is not set | ||
1103 | |||
1104 | # | ||
1052 | # File systems | 1105 | # File systems |
1053 | # | 1106 | # |
1054 | # CONFIG_EXT2_FS is not set | 1107 | # CONFIG_EXT2_FS is not set |
@@ -1057,9 +1110,13 @@ CONFIG_RTC_DRV_BFIN=y | |||
1057 | # CONFIG_REISERFS_FS is not set | 1110 | # CONFIG_REISERFS_FS is not set |
1058 | # CONFIG_JFS_FS is not set | 1111 | # CONFIG_JFS_FS is not set |
1059 | # CONFIG_FS_POSIX_ACL is not set | 1112 | # CONFIG_FS_POSIX_ACL is not set |
1060 | CONFIG_FILE_LOCKING=y | ||
1061 | # CONFIG_XFS_FS is not set | 1113 | # CONFIG_XFS_FS is not set |
1114 | # CONFIG_GFS2_FS is not set | ||
1062 | # CONFIG_OCFS2_FS is not set | 1115 | # CONFIG_OCFS2_FS is not set |
1116 | # CONFIG_BTRFS_FS is not set | ||
1117 | # CONFIG_NILFS2_FS is not set | ||
1118 | CONFIG_FILE_LOCKING=y | ||
1119 | CONFIG_FSNOTIFY=y | ||
1063 | # CONFIG_DNOTIFY is not set | 1120 | # CONFIG_DNOTIFY is not set |
1064 | CONFIG_INOTIFY=y | 1121 | CONFIG_INOTIFY=y |
1065 | CONFIG_INOTIFY_USER=y | 1122 | CONFIG_INOTIFY_USER=y |
@@ -1069,6 +1126,11 @@ CONFIG_INOTIFY_USER=y | |||
1069 | # CONFIG_FUSE_FS is not set | 1126 | # CONFIG_FUSE_FS is not set |
1070 | 1127 | ||
1071 | # | 1128 | # |
1129 | # Caches | ||
1130 | # | ||
1131 | # CONFIG_FSCACHE is not set | ||
1132 | |||
1133 | # | ||
1072 | # CD-ROM/DVD Filesystems | 1134 | # CD-ROM/DVD Filesystems |
1073 | # | 1135 | # |
1074 | # CONFIG_ISO9660_FS is not set | 1136 | # CONFIG_ISO9660_FS is not set |
@@ -1087,13 +1149,9 @@ CONFIG_INOTIFY_USER=y | |||
1087 | CONFIG_PROC_FS=y | 1149 | CONFIG_PROC_FS=y |
1088 | CONFIG_PROC_SYSCTL=y | 1150 | CONFIG_PROC_SYSCTL=y |
1089 | CONFIG_SYSFS=y | 1151 | CONFIG_SYSFS=y |
1090 | # CONFIG_TMPFS is not set | ||
1091 | # CONFIG_HUGETLB_PAGE is not set | 1152 | # CONFIG_HUGETLB_PAGE is not set |
1092 | # CONFIG_CONFIGFS_FS is not set | 1153 | # CONFIG_CONFIGFS_FS is not set |
1093 | 1154 | CONFIG_MISC_FILESYSTEMS=y | |
1094 | # | ||
1095 | # Miscellaneous filesystems | ||
1096 | # | ||
1097 | # CONFIG_ADFS_FS is not set | 1155 | # CONFIG_ADFS_FS is not set |
1098 | # CONFIG_AFFS_FS is not set | 1156 | # CONFIG_AFFS_FS is not set |
1099 | # CONFIG_HFS_FS is not set | 1157 | # CONFIG_HFS_FS is not set |
@@ -1112,17 +1170,8 @@ CONFIG_JFFS2_ZLIB=y | |||
1112 | # CONFIG_JFFS2_LZO is not set | 1170 | # CONFIG_JFFS2_LZO is not set |
1113 | CONFIG_JFFS2_RTIME=y | 1171 | CONFIG_JFFS2_RTIME=y |
1114 | # CONFIG_JFFS2_RUBIN is not set | 1172 | # CONFIG_JFFS2_RUBIN is not set |
1115 | CONFIG_YAFFS_FS=m | ||
1116 | CONFIG_YAFFS_YAFFS1=y | ||
1117 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1118 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1119 | CONFIG_YAFFS_YAFFS2=y | ||
1120 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1121 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1122 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1123 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1124 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1125 | # CONFIG_CRAMFS is not set | 1173 | # CONFIG_CRAMFS is not set |
1174 | # CONFIG_SQUASHFS is not set | ||
1126 | # CONFIG_VXFS_FS is not set | 1175 | # CONFIG_VXFS_FS is not set |
1127 | # CONFIG_MINIX_FS is not set | 1176 | # CONFIG_MINIX_FS is not set |
1128 | # CONFIG_OMFS_FS is not set | 1177 | # CONFIG_OMFS_FS is not set |
@@ -1141,7 +1190,6 @@ CONFIG_LOCKD=m | |||
1141 | CONFIG_LOCKD_V4=y | 1190 | CONFIG_LOCKD_V4=y |
1142 | CONFIG_NFS_COMMON=y | 1191 | CONFIG_NFS_COMMON=y |
1143 | CONFIG_SUNRPC=m | 1192 | CONFIG_SUNRPC=m |
1144 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1145 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1193 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1146 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1194 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1147 | CONFIG_SMB_FS=m | 1195 | CONFIG_SMB_FS=m |
@@ -1206,14 +1254,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1206 | CONFIG_ENABLE_MUST_CHECK=y | 1254 | CONFIG_ENABLE_MUST_CHECK=y |
1207 | CONFIG_FRAME_WARN=1024 | 1255 | CONFIG_FRAME_WARN=1024 |
1208 | # CONFIG_MAGIC_SYSRQ is not set | 1256 | # CONFIG_MAGIC_SYSRQ is not set |
1257 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1209 | # CONFIG_UNUSED_SYMBOLS is not set | 1258 | # CONFIG_UNUSED_SYMBOLS is not set |
1210 | CONFIG_DEBUG_FS=y | 1259 | CONFIG_DEBUG_FS=y |
1211 | # CONFIG_HEADERS_CHECK is not set | 1260 | # CONFIG_HEADERS_CHECK is not set |
1261 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1212 | CONFIG_DEBUG_KERNEL=y | 1262 | CONFIG_DEBUG_KERNEL=y |
1213 | CONFIG_DEBUG_SHIRQ=y | 1263 | CONFIG_DEBUG_SHIRQ=y |
1214 | CONFIG_DETECT_SOFTLOCKUP=y | 1264 | CONFIG_DETECT_SOFTLOCKUP=y |
1215 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1265 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1216 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1266 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1267 | CONFIG_DETECT_HUNG_TASK=y | ||
1268 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1269 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1217 | CONFIG_SCHED_DEBUG=y | 1270 | CONFIG_SCHED_DEBUG=y |
1218 | # CONFIG_SCHEDSTATS is not set | 1271 | # CONFIG_SCHEDSTATS is not set |
1219 | # CONFIG_TIMER_STATS is not set | 1272 | # CONFIG_TIMER_STATS is not set |
@@ -1221,31 +1274,39 @@ CONFIG_SCHED_DEBUG=y | |||
1221 | # CONFIG_DEBUG_SLAB is not set | 1274 | # CONFIG_DEBUG_SLAB is not set |
1222 | # CONFIG_DEBUG_SPINLOCK is not set | 1275 | # CONFIG_DEBUG_SPINLOCK is not set |
1223 | # CONFIG_DEBUG_MUTEXES is not set | 1276 | # CONFIG_DEBUG_MUTEXES is not set |
1277 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1278 | # CONFIG_PROVE_LOCKING is not set | ||
1279 | # CONFIG_LOCK_STAT is not set | ||
1224 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1280 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1225 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1281 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1226 | # CONFIG_DEBUG_KOBJECT is not set | 1282 | # CONFIG_DEBUG_KOBJECT is not set |
1227 | CONFIG_DEBUG_BUGVERBOSE=y | 1283 | CONFIG_DEBUG_BUGVERBOSE=y |
1228 | CONFIG_DEBUG_INFO=y | 1284 | CONFIG_DEBUG_INFO=y |
1229 | # CONFIG_DEBUG_VM is not set | 1285 | # CONFIG_DEBUG_VM is not set |
1286 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1230 | # CONFIG_DEBUG_WRITECOUNT is not set | 1287 | # CONFIG_DEBUG_WRITECOUNT is not set |
1231 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1288 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1232 | # CONFIG_DEBUG_LIST is not set | 1289 | # CONFIG_DEBUG_LIST is not set |
1233 | # CONFIG_DEBUG_SG is not set | 1290 | # CONFIG_DEBUG_SG is not set |
1291 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1292 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1234 | # CONFIG_FRAME_POINTER is not set | 1293 | # CONFIG_FRAME_POINTER is not set |
1235 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1294 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1236 | # CONFIG_RCU_TORTURE_TEST is not set | 1295 | # CONFIG_RCU_TORTURE_TEST is not set |
1237 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1296 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1238 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1297 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1239 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1298 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1299 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1240 | # CONFIG_FAULT_INJECTION is not set | 1300 | # CONFIG_FAULT_INJECTION is not set |
1241 | 1301 | # CONFIG_PAGE_POISONING is not set | |
1242 | # | 1302 | CONFIG_HAVE_FUNCTION_TRACER=y |
1243 | # Tracers | 1303 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1244 | # | 1304 | CONFIG_TRACING_SUPPORT=y |
1245 | # CONFIG_SCHED_TRACER is not set | 1305 | # CONFIG_FTRACE is not set |
1246 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1306 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1247 | # CONFIG_BOOT_TRACER is not set | 1307 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1248 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1308 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1309 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1249 | # CONFIG_SAMPLES is not set | 1310 | # CONFIG_SAMPLES is not set |
1250 | CONFIG_HAVE_ARCH_KGDB=y | 1311 | CONFIG_HAVE_ARCH_KGDB=y |
1251 | # CONFIG_KGDB is not set | 1312 | # CONFIG_KGDB is not set |
@@ -1270,6 +1331,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1270 | CONFIG_EARLY_PRINTK=y | 1331 | CONFIG_EARLY_PRINTK=y |
1271 | CONFIG_CPLB_INFO=y | 1332 | CONFIG_CPLB_INFO=y |
1272 | CONFIG_ACCESS_CHECK=y | 1333 | CONFIG_ACCESS_CHECK=y |
1334 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1273 | 1335 | ||
1274 | # | 1336 | # |
1275 | # Security options | 1337 | # Security options |
@@ -1278,14 +1340,14 @@ CONFIG_ACCESS_CHECK=y | |||
1278 | CONFIG_SECURITY=y | 1340 | CONFIG_SECURITY=y |
1279 | # CONFIG_SECURITYFS is not set | 1341 | # CONFIG_SECURITYFS is not set |
1280 | # CONFIG_SECURITY_NETWORK is not set | 1342 | # CONFIG_SECURITY_NETWORK is not set |
1343 | # CONFIG_SECURITY_PATH is not set | ||
1281 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1344 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1282 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1345 | # CONFIG_SECURITY_TOMOYO is not set |
1283 | CONFIG_CRYPTO=y | 1346 | CONFIG_CRYPTO=y |
1284 | 1347 | ||
1285 | # | 1348 | # |
1286 | # Crypto core or helper | 1349 | # Crypto core or helper |
1287 | # | 1350 | # |
1288 | # CONFIG_CRYPTO_FIPS is not set | ||
1289 | # CONFIG_CRYPTO_MANAGER is not set | 1351 | # CONFIG_CRYPTO_MANAGER is not set |
1290 | # CONFIG_CRYPTO_MANAGER2 is not set | 1352 | # CONFIG_CRYPTO_MANAGER2 is not set |
1291 | # CONFIG_CRYPTO_GF128MUL is not set | 1353 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1317,11 +1379,13 @@ CONFIG_CRYPTO=y | |||
1317 | # | 1379 | # |
1318 | # CONFIG_CRYPTO_HMAC is not set | 1380 | # CONFIG_CRYPTO_HMAC is not set |
1319 | # CONFIG_CRYPTO_XCBC is not set | 1381 | # CONFIG_CRYPTO_XCBC is not set |
1382 | # CONFIG_CRYPTO_VMAC is not set | ||
1320 | 1383 | ||
1321 | # | 1384 | # |
1322 | # Digest | 1385 | # Digest |
1323 | # | 1386 | # |
1324 | # CONFIG_CRYPTO_CRC32C is not set | 1387 | # CONFIG_CRYPTO_CRC32C is not set |
1388 | # CONFIG_CRYPTO_GHASH is not set | ||
1325 | # CONFIG_CRYPTO_MD4 is not set | 1389 | # CONFIG_CRYPTO_MD4 is not set |
1326 | # CONFIG_CRYPTO_MD5 is not set | 1390 | # CONFIG_CRYPTO_MD5 is not set |
1327 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1391 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1358,6 +1422,7 @@ CONFIG_CRYPTO=y | |||
1358 | # Compression | 1422 | # Compression |
1359 | # | 1423 | # |
1360 | # CONFIG_CRYPTO_DEFLATE is not set | 1424 | # CONFIG_CRYPTO_DEFLATE is not set |
1425 | # CONFIG_CRYPTO_ZLIB is not set | ||
1361 | # CONFIG_CRYPTO_LZO is not set | 1426 | # CONFIG_CRYPTO_LZO is not set |
1362 | 1427 | ||
1363 | # | 1428 | # |
@@ -1365,11 +1430,13 @@ CONFIG_CRYPTO=y | |||
1365 | # | 1430 | # |
1366 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1431 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1367 | CONFIG_CRYPTO_HW=y | 1432 | CONFIG_CRYPTO_HW=y |
1433 | # CONFIG_BINARY_PRINTF is not set | ||
1368 | 1434 | ||
1369 | # | 1435 | # |
1370 | # Library routines | 1436 | # Library routines |
1371 | # | 1437 | # |
1372 | CONFIG_BITREVERSE=y | 1438 | CONFIG_BITREVERSE=y |
1439 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1373 | CONFIG_CRC_CCITT=m | 1440 | CONFIG_CRC_CCITT=m |
1374 | # CONFIG_CRC16 is not set | 1441 | # CONFIG_CRC16 is not set |
1375 | # CONFIG_CRC_T10DIF is not set | 1442 | # CONFIG_CRC_T10DIF is not set |
@@ -1379,6 +1446,8 @@ CONFIG_CRC32=y | |||
1379 | # CONFIG_LIBCRC32C is not set | 1446 | # CONFIG_LIBCRC32C is not set |
1380 | CONFIG_ZLIB_INFLATE=y | 1447 | CONFIG_ZLIB_INFLATE=y |
1381 | CONFIG_ZLIB_DEFLATE=m | 1448 | CONFIG_ZLIB_DEFLATE=m |
1449 | CONFIG_DECOMPRESS_GZIP=y | ||
1382 | CONFIG_HAS_IOMEM=y | 1450 | CONFIG_HAS_IOMEM=y |
1383 | CONFIG_HAS_IOPORT=y | 1451 | CONFIG_HAS_IOPORT=y |
1384 | CONFIG_HAS_DMA=y | 1452 | CONFIG_HAS_DMA=y |
1453 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF537-STAMP_defconfig b/arch/blackfin/configs/BF537-STAMP_defconfig index 2908595b67c5..7596cf7673f1 100644 --- a/arch/blackfin/configs/BF537-STAMP_defconfig +++ b/arch/blackfin/configs/BF537-STAMP_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_DEFAULT_AS=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 132 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_FREEZER=y | |||
132 | CONFIG_BF537=y | 160 | CONFIG_BF537=y |
133 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=2 | 174 | CONFIG_BF_REV_MIN=2 |
@@ -184,7 +212,8 @@ CONFIG_IRQ_MEM_DMA1=13 | |||
184 | CONFIG_IRQ_WATCH=13 | 212 | CONFIG_IRQ_WATCH=13 |
185 | CONFIG_IRQ_SPI=10 | 213 | CONFIG_IRQ_SPI=10 |
186 | CONFIG_BFIN537_STAMP=y | 214 | CONFIG_BFIN537_STAMP=y |
187 | # CONFIG_BFIN537_BLUETECHNIX_CM is not set | 215 | # CONFIG_BFIN537_BLUETECHNIX_CM_E is not set |
216 | # CONFIG_BFIN537_BLUETECHNIX_CM_U is not set | ||
188 | # CONFIG_BFIN537_BLUETECHNIX_TCM is not set | 217 | # CONFIG_BFIN537_BLUETECHNIX_TCM is not set |
189 | # CONFIG_PNAV10 is not set | 218 | # CONFIG_PNAV10 is not set |
190 | # CONFIG_CAMSIG_MINOTAUR is not set | 219 | # CONFIG_CAMSIG_MINOTAUR is not set |
@@ -235,7 +264,7 @@ CONFIG_GENERIC_TIME=y | |||
235 | CONFIG_GENERIC_CLOCKEVENTS=y | 264 | CONFIG_GENERIC_CLOCKEVENTS=y |
236 | # CONFIG_TICKSOURCE_GPTMR0 is not set | 265 | # CONFIG_TICKSOURCE_GPTMR0 is not set |
237 | CONFIG_TICKSOURCE_CORETMR=y | 266 | CONFIG_TICKSOURCE_CORETMR=y |
238 | # CONFIG_CYCLES_CLOCKSOURCE is not set | 267 | CONFIG_CYCLES_CLOCKSOURCE=y |
239 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | 268 | # CONFIG_GPTMR0_CLOCKSOURCE is not set |
240 | CONFIG_TICK_ONESHOT=y | 269 | CONFIG_TICK_ONESHOT=y |
241 | # CONFIG_NO_HZ is not set | 270 | # CONFIG_NO_HZ is not set |
@@ -287,7 +316,6 @@ CONFIG_FLATMEM=y | |||
287 | CONFIG_FLAT_NODE_MEM_MAP=y | 316 | CONFIG_FLAT_NODE_MEM_MAP=y |
288 | CONFIG_PAGEFLAGS_EXTENDED=y | 317 | CONFIG_PAGEFLAGS_EXTENDED=y |
289 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 318 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
290 | # CONFIG_RESOURCES_64BIT is not set | ||
291 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 319 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
292 | CONFIG_ZONE_DMA_FLAG=1 | 320 | CONFIG_ZONE_DMA_FLAG=1 |
293 | CONFIG_VIRT_TO_BUS=y | 321 | CONFIG_VIRT_TO_BUS=y |
@@ -296,16 +324,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
296 | # CONFIG_DMA_UNCACHED_4M is not set | 324 | # CONFIG_DMA_UNCACHED_4M is not set |
297 | # CONFIG_DMA_UNCACHED_2M is not set | 325 | # CONFIG_DMA_UNCACHED_2M is not set |
298 | CONFIG_DMA_UNCACHED_1M=y | 326 | CONFIG_DMA_UNCACHED_1M=y |
327 | # CONFIG_DMA_UNCACHED_512K is not set | ||
328 | # CONFIG_DMA_UNCACHED_256K is not set | ||
329 | # CONFIG_DMA_UNCACHED_128K is not set | ||
299 | # CONFIG_DMA_UNCACHED_NONE is not set | 330 | # CONFIG_DMA_UNCACHED_NONE is not set |
300 | 331 | ||
301 | # | 332 | # |
302 | # Cache Support | 333 | # Cache Support |
303 | # | 334 | # |
304 | CONFIG_BFIN_ICACHE=y | 335 | CONFIG_BFIN_ICACHE=y |
305 | # CONFIG_BFIN_ICACHE_LOCK is not set | 336 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
306 | CONFIG_BFIN_DCACHE=y | 337 | CONFIG_BFIN_DCACHE=y |
307 | # CONFIG_BFIN_DCACHE_BANKA is not set | 338 | # CONFIG_BFIN_DCACHE_BANKA is not set |
308 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
309 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 339 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
310 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 340 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
311 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 341 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -316,7 +346,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
316 | # CONFIG_MPU is not set | 346 | # CONFIG_MPU is not set |
317 | 347 | ||
318 | # | 348 | # |
319 | # Asynchonous Memory Configuration | 349 | # Asynchronous Memory Configuration |
320 | # | 350 | # |
321 | 351 | ||
322 | # | 352 | # |
@@ -362,6 +392,7 @@ CONFIG_PM=y | |||
362 | CONFIG_PM_SLEEP=y | 392 | CONFIG_PM_SLEEP=y |
363 | CONFIG_SUSPEND=y | 393 | CONFIG_SUSPEND=y |
364 | CONFIG_SUSPEND_FREEZER=y | 394 | CONFIG_SUSPEND_FREEZER=y |
395 | # CONFIG_PM_RUNTIME is not set | ||
365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 396 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
366 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 397 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
367 | # CONFIG_PM_BFIN_SLEEP is not set | 398 | # CONFIG_PM_BFIN_SLEEP is not set |
@@ -384,11 +415,6 @@ CONFIG_NET=y | |||
384 | CONFIG_PACKET=y | 415 | CONFIG_PACKET=y |
385 | # CONFIG_PACKET_MMAP is not set | 416 | # CONFIG_PACKET_MMAP is not set |
386 | CONFIG_UNIX=y | 417 | CONFIG_UNIX=y |
387 | CONFIG_XFRM=y | ||
388 | # CONFIG_XFRM_USER is not set | ||
389 | # CONFIG_XFRM_SUB_POLICY is not set | ||
390 | # CONFIG_XFRM_MIGRATE is not set | ||
391 | # CONFIG_XFRM_STATISTICS is not set | ||
392 | # CONFIG_NET_KEY is not set | 418 | # CONFIG_NET_KEY is not set |
393 | CONFIG_INET=y | 419 | CONFIG_INET=y |
394 | # CONFIG_IP_MULTICAST is not set | 420 | # CONFIG_IP_MULTICAST is not set |
@@ -412,7 +438,6 @@ CONFIG_IP_PNP=y | |||
412 | # CONFIG_INET_XFRM_MODE_BEET is not set | 438 | # CONFIG_INET_XFRM_MODE_BEET is not set |
413 | # CONFIG_INET_LRO is not set | 439 | # CONFIG_INET_LRO is not set |
414 | # CONFIG_INET_DIAG is not set | 440 | # CONFIG_INET_DIAG is not set |
415 | CONFIG_INET_TCP_DIAG=y | ||
416 | # CONFIG_TCP_CONG_ADVANCED is not set | 441 | # CONFIG_TCP_CONG_ADVANCED is not set |
417 | CONFIG_TCP_CONG_CUBIC=y | 442 | CONFIG_TCP_CONG_CUBIC=y |
418 | CONFIG_DEFAULT_TCP_CONG="cubic" | 443 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -423,6 +448,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
423 | # CONFIG_NETFILTER is not set | 448 | # CONFIG_NETFILTER is not set |
424 | # CONFIG_IP_DCCP is not set | 449 | # CONFIG_IP_DCCP is not set |
425 | # CONFIG_IP_SCTP is not set | 450 | # CONFIG_IP_SCTP is not set |
451 | # CONFIG_RDS is not set | ||
426 | # CONFIG_TIPC is not set | 452 | # CONFIG_TIPC is not set |
427 | # CONFIG_ATM is not set | 453 | # CONFIG_ATM is not set |
428 | # CONFIG_BRIDGE is not set | 454 | # CONFIG_BRIDGE is not set |
@@ -436,14 +462,34 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
436 | # CONFIG_LAPB is not set | 462 | # CONFIG_LAPB is not set |
437 | # CONFIG_ECONET is not set | 463 | # CONFIG_ECONET is not set |
438 | # CONFIG_WAN_ROUTER is not set | 464 | # CONFIG_WAN_ROUTER is not set |
465 | # CONFIG_PHONET is not set | ||
466 | # CONFIG_IEEE802154 is not set | ||
439 | # CONFIG_NET_SCHED is not set | 467 | # CONFIG_NET_SCHED is not set |
468 | # CONFIG_DCB is not set | ||
440 | 469 | ||
441 | # | 470 | # |
442 | # Network testing | 471 | # Network testing |
443 | # | 472 | # |
444 | # CONFIG_NET_PKTGEN is not set | 473 | # CONFIG_NET_PKTGEN is not set |
445 | # CONFIG_HAMRADIO is not set | 474 | # CONFIG_HAMRADIO is not set |
446 | # CONFIG_CAN is not set | 475 | CONFIG_CAN=m |
476 | CONFIG_CAN_RAW=m | ||
477 | CONFIG_CAN_BCM=m | ||
478 | |||
479 | # | ||
480 | # CAN Device Drivers | ||
481 | # | ||
482 | # CONFIG_CAN_VCAN is not set | ||
483 | CONFIG_CAN_DEV=m | ||
484 | # CONFIG_CAN_CALC_BITTIMING is not set | ||
485 | CONFIG_CAN_BFIN=m | ||
486 | # CONFIG_CAN_SJA1000 is not set | ||
487 | |||
488 | # | ||
489 | # CAN USB interfaces | ||
490 | # | ||
491 | # CONFIG_CAN_EMS_USB is not set | ||
492 | # CONFIG_CAN_DEBUG_DEVICES is not set | ||
447 | CONFIG_IRDA=m | 493 | CONFIG_IRDA=m |
448 | 494 | ||
449 | # | 495 | # |
@@ -483,13 +529,8 @@ CONFIG_SIR_BFIN_DMA=y | |||
483 | # | 529 | # |
484 | # CONFIG_BT is not set | 530 | # CONFIG_BT is not set |
485 | # CONFIG_AF_RXRPC is not set | 531 | # CONFIG_AF_RXRPC is not set |
486 | # CONFIG_PHONET is not set | 532 | # CONFIG_WIRELESS is not set |
487 | CONFIG_WIRELESS=y | 533 | # CONFIG_WIMAX is not set |
488 | # CONFIG_CFG80211 is not set | ||
489 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
490 | # CONFIG_WIRELESS_EXT is not set | ||
491 | # CONFIG_MAC80211 is not set | ||
492 | # CONFIG_IEEE80211 is not set | ||
493 | # CONFIG_RFKILL is not set | 534 | # CONFIG_RFKILL is not set |
494 | # CONFIG_NET_9P is not set | 535 | # CONFIG_NET_9P is not set |
495 | 536 | ||
@@ -510,6 +551,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
510 | # CONFIG_CONNECTOR is not set | 551 | # CONFIG_CONNECTOR is not set |
511 | CONFIG_MTD=y | 552 | CONFIG_MTD=y |
512 | # CONFIG_MTD_DEBUG is not set | 553 | # CONFIG_MTD_DEBUG is not set |
554 | # CONFIG_MTD_TESTS is not set | ||
513 | # CONFIG_MTD_CONCAT is not set | 555 | # CONFIG_MTD_CONCAT is not set |
514 | CONFIG_MTD_PARTITIONS=y | 556 | CONFIG_MTD_PARTITIONS=y |
515 | # CONFIG_MTD_REDBOOT_PARTS is not set | 557 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -568,6 +610,7 @@ CONFIG_MTD_PHYSMAP=m | |||
568 | # | 610 | # |
569 | # CONFIG_MTD_DATAFLASH is not set | 611 | # CONFIG_MTD_DATAFLASH is not set |
570 | # CONFIG_MTD_M25P80 is not set | 612 | # CONFIG_MTD_M25P80 is not set |
613 | # CONFIG_MTD_SST25L is not set | ||
571 | # CONFIG_MTD_SLRAM is not set | 614 | # CONFIG_MTD_SLRAM is not set |
572 | # CONFIG_MTD_PHRAM is not set | 615 | # CONFIG_MTD_PHRAM is not set |
573 | # CONFIG_MTD_MTDRAM is not set | 616 | # CONFIG_MTD_MTDRAM is not set |
@@ -583,6 +626,11 @@ CONFIG_MTD_PHYSMAP=m | |||
583 | # CONFIG_MTD_ONENAND is not set | 626 | # CONFIG_MTD_ONENAND is not set |
584 | 627 | ||
585 | # | 628 | # |
629 | # LPDDR flash memory drivers | ||
630 | # | ||
631 | # CONFIG_MTD_LPDDR is not set | ||
632 | |||
633 | # | ||
586 | # UBI - Unsorted block images | 634 | # UBI - Unsorted block images |
587 | # | 635 | # |
588 | # CONFIG_MTD_UBI is not set | 636 | # CONFIG_MTD_UBI is not set |
@@ -599,10 +647,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
599 | # CONFIG_ATA_OVER_ETH is not set | 647 | # CONFIG_ATA_OVER_ETH is not set |
600 | # CONFIG_BLK_DEV_HD is not set | 648 | # CONFIG_BLK_DEV_HD is not set |
601 | CONFIG_MISC_DEVICES=y | 649 | CONFIG_MISC_DEVICES=y |
602 | # CONFIG_EEPROM_93CX6 is not set | 650 | # CONFIG_AD525X_DPOT is not set |
603 | # CONFIG_ICS932S401 is not set | 651 | # CONFIG_ICS932S401 is not set |
604 | # CONFIG_ENCLOSURE_SERVICES is not set | 652 | # CONFIG_ENCLOSURE_SERVICES is not set |
653 | # CONFIG_ISL29003 is not set | ||
605 | # CONFIG_C2PORT is not set | 654 | # CONFIG_C2PORT is not set |
655 | |||
656 | # | ||
657 | # EEPROM support | ||
658 | # | ||
659 | # CONFIG_EEPROM_AT24 is not set | ||
660 | # CONFIG_EEPROM_AT25 is not set | ||
661 | # CONFIG_EEPROM_LEGACY is not set | ||
662 | # CONFIG_EEPROM_MAX6875 is not set | ||
663 | # CONFIG_EEPROM_93CX6 is not set | ||
606 | CONFIG_HAVE_IDE=y | 664 | CONFIG_HAVE_IDE=y |
607 | # CONFIG_IDE is not set | 665 | # CONFIG_IDE is not set |
608 | 666 | ||
@@ -637,6 +695,9 @@ CONFIG_SMSC_PHY=y | |||
637 | # CONFIG_BROADCOM_PHY is not set | 695 | # CONFIG_BROADCOM_PHY is not set |
638 | # CONFIG_ICPLUS_PHY is not set | 696 | # CONFIG_ICPLUS_PHY is not set |
639 | # CONFIG_REALTEK_PHY is not set | 697 | # CONFIG_REALTEK_PHY is not set |
698 | # CONFIG_NATIONAL_PHY is not set | ||
699 | # CONFIG_STE10XP is not set | ||
700 | # CONFIG_LSI_ET1011C_PHY is not set | ||
640 | # CONFIG_FIXED_PHY is not set | 701 | # CONFIG_FIXED_PHY is not set |
641 | # CONFIG_MDIO_BITBANG is not set | 702 | # CONFIG_MDIO_BITBANG is not set |
642 | CONFIG_NET_ETHERNET=y | 703 | CONFIG_NET_ETHERNET=y |
@@ -647,9 +708,12 @@ CONFIG_BFIN_TX_DESC_NUM=10 | |||
647 | CONFIG_BFIN_RX_DESC_NUM=20 | 708 | CONFIG_BFIN_RX_DESC_NUM=20 |
648 | # CONFIG_BFIN_MAC_RMII is not set | 709 | # CONFIG_BFIN_MAC_RMII is not set |
649 | # CONFIG_SMC91X is not set | 710 | # CONFIG_SMC91X is not set |
650 | # CONFIG_SMSC911X is not set | ||
651 | # CONFIG_DM9000 is not set | 711 | # CONFIG_DM9000 is not set |
652 | # CONFIG_ENC28J60 is not set | 712 | # CONFIG_ENC28J60 is not set |
713 | # CONFIG_ETHOC is not set | ||
714 | # CONFIG_SMSC911X is not set | ||
715 | # CONFIG_DNET is not set | ||
716 | # CONFIG_ADF702X is not set | ||
653 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 717 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
654 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 718 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
655 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 719 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -658,15 +722,16 @@ CONFIG_BFIN_RX_DESC_NUM=20 | |||
658 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 722 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
659 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 723 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
660 | # CONFIG_B44 is not set | 724 | # CONFIG_B44 is not set |
725 | # CONFIG_KS8842 is not set | ||
726 | # CONFIG_KS8851 is not set | ||
727 | # CONFIG_KS8851_MLL is not set | ||
661 | # CONFIG_NETDEV_1000 is not set | 728 | # CONFIG_NETDEV_1000 is not set |
662 | # CONFIG_NETDEV_10000 is not set | 729 | # CONFIG_NETDEV_10000 is not set |
730 | # CONFIG_WLAN is not set | ||
663 | 731 | ||
664 | # | 732 | # |
665 | # Wireless LAN | 733 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
666 | # | 734 | # |
667 | # CONFIG_WLAN_PRE80211 is not set | ||
668 | # CONFIG_WLAN_80211 is not set | ||
669 | # CONFIG_IWLWIFI_LEDS is not set | ||
670 | # CONFIG_WAN is not set | 735 | # CONFIG_WAN is not set |
671 | # CONFIG_PPP is not set | 736 | # CONFIG_PPP is not set |
672 | # CONFIG_SLIP is not set | 737 | # CONFIG_SLIP is not set |
@@ -701,7 +766,10 @@ CONFIG_INPUT_EVDEV=m | |||
701 | # CONFIG_INPUT_TOUCHSCREEN is not set | 766 | # CONFIG_INPUT_TOUCHSCREEN is not set |
702 | CONFIG_INPUT_MISC=y | 767 | CONFIG_INPUT_MISC=y |
703 | # CONFIG_INPUT_UINPUT is not set | 768 | # CONFIG_INPUT_UINPUT is not set |
704 | CONFIG_CONFIG_INPUT_PCF8574=m | 769 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
770 | # CONFIG_INPUT_AD714X is not set | ||
771 | # CONFIG_INPUT_ADXL34X is not set | ||
772 | # CONFIG_INPUT_PCF8574 is not set | ||
705 | 773 | ||
706 | # | 774 | # |
707 | # Hardware I/O ports | 775 | # Hardware I/O ports |
@@ -712,16 +780,13 @@ CONFIG_CONFIG_INPUT_PCF8574=m | |||
712 | # | 780 | # |
713 | # Character devices | 781 | # Character devices |
714 | # | 782 | # |
715 | # CONFIG_AD9960 is not set | ||
716 | CONFIG_BFIN_DMA_INTERFACE=m | 783 | CONFIG_BFIN_DMA_INTERFACE=m |
717 | # CONFIG_BFIN_PPI is not set | 784 | # CONFIG_BFIN_PPI is not set |
718 | # CONFIG_BFIN_PPIFCD is not set | 785 | # CONFIG_BFIN_PPIFCD is not set |
719 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 786 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
720 | # CONFIG_BFIN_SPI_ADC is not set | 787 | # CONFIG_BFIN_SPI_ADC is not set |
721 | CONFIG_BFIN_SPORT=m | 788 | CONFIG_BFIN_SPORT=m |
722 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
723 | # CONFIG_BFIN_TWI_LCD is not set | 789 | # CONFIG_BFIN_TWI_LCD is not set |
724 | CONFIG_SIMPLE_GPIO=m | ||
725 | # CONFIG_VT is not set | 790 | # CONFIG_VT is not set |
726 | # CONFIG_DEVKMEM is not set | 791 | # CONFIG_DEVKMEM is not set |
727 | CONFIG_BFIN_JTAG_COMM=m | 792 | CONFIG_BFIN_JTAG_COMM=m |
@@ -735,6 +800,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
735 | # | 800 | # |
736 | # Non-8250 serial port support | 801 | # Non-8250 serial port support |
737 | # | 802 | # |
803 | # CONFIG_SERIAL_MAX3100 is not set | ||
738 | CONFIG_SERIAL_BFIN=y | 804 | CONFIG_SERIAL_BFIN=y |
739 | CONFIG_SERIAL_BFIN_CONSOLE=y | 805 | CONFIG_SERIAL_BFIN_CONSOLE=y |
740 | CONFIG_SERIAL_BFIN_DMA=y | 806 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -746,17 +812,8 @@ CONFIG_SERIAL_CORE=y | |||
746 | CONFIG_SERIAL_CORE_CONSOLE=y | 812 | CONFIG_SERIAL_CORE_CONSOLE=y |
747 | # CONFIG_SERIAL_BFIN_SPORT is not set | 813 | # CONFIG_SERIAL_BFIN_SPORT is not set |
748 | CONFIG_UNIX98_PTYS=y | 814 | CONFIG_UNIX98_PTYS=y |
815 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
749 | # CONFIG_LEGACY_PTYS is not set | 816 | # CONFIG_LEGACY_PTYS is not set |
750 | |||
751 | # | ||
752 | # CAN, the car bus and industrial fieldbus | ||
753 | # | ||
754 | CONFIG_CAN4LINUX=y | ||
755 | |||
756 | # | ||
757 | # linux embedded drivers | ||
758 | # | ||
759 | CONFIG_CAN_BLACKFIN=m | ||
760 | # CONFIG_IPMI_HANDLER is not set | 817 | # CONFIG_IPMI_HANDLER is not set |
761 | # CONFIG_HW_RANDOM is not set | 818 | # CONFIG_HW_RANDOM is not set |
762 | # CONFIG_R3964 is not set | 819 | # CONFIG_R3964 is not set |
@@ -764,6 +821,7 @@ CONFIG_CAN_BLACKFIN=m | |||
764 | # CONFIG_TCG_TPM is not set | 821 | # CONFIG_TCG_TPM is not set |
765 | CONFIG_I2C=m | 822 | CONFIG_I2C=m |
766 | CONFIG_I2C_BOARDINFO=y | 823 | CONFIG_I2C_BOARDINFO=y |
824 | CONFIG_I2C_COMPAT=y | ||
767 | CONFIG_I2C_CHARDEV=m | 825 | CONFIG_I2C_CHARDEV=m |
768 | CONFIG_I2C_HELPER_AUTO=y | 826 | CONFIG_I2C_HELPER_AUTO=y |
769 | 827 | ||
@@ -796,14 +854,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
796 | # Miscellaneous I2C Chip support | 854 | # Miscellaneous I2C Chip support |
797 | # | 855 | # |
798 | # CONFIG_DS1682 is not set | 856 | # CONFIG_DS1682 is not set |
799 | # CONFIG_EEPROM_AT24 is not set | ||
800 | CONFIG_SENSORS_AD5252=m | ||
801 | # CONFIG_EEPROM_LEGACY is not set | ||
802 | # CONFIG_SENSORS_PCF8574 is not set | ||
803 | # CONFIG_PCF8575 is not set | ||
804 | # CONFIG_SENSORS_PCA9539 is not set | ||
805 | # CONFIG_SENSORS_PCF8591 is not set | ||
806 | # CONFIG_SENSORS_MAX6875 is not set | ||
807 | # CONFIG_SENSORS_TSL2550 is not set | 857 | # CONFIG_SENSORS_TSL2550 is not set |
808 | # CONFIG_I2C_DEBUG_CORE is not set | 858 | # CONFIG_I2C_DEBUG_CORE is not set |
809 | # CONFIG_I2C_DEBUG_ALGO is not set | 859 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -820,13 +870,18 @@ CONFIG_SPI_BFIN=y | |||
820 | # CONFIG_SPI_BFIN_LOCK is not set | 870 | # CONFIG_SPI_BFIN_LOCK is not set |
821 | # CONFIG_SPI_BFIN_SPORT is not set | 871 | # CONFIG_SPI_BFIN_SPORT is not set |
822 | # CONFIG_SPI_BITBANG is not set | 872 | # CONFIG_SPI_BITBANG is not set |
873 | # CONFIG_SPI_GPIO is not set | ||
823 | 874 | ||
824 | # | 875 | # |
825 | # SPI Protocol Masters | 876 | # SPI Protocol Masters |
826 | # | 877 | # |
827 | # CONFIG_EEPROM_AT25 is not set | ||
828 | # CONFIG_SPI_SPIDEV is not set | 878 | # CONFIG_SPI_SPIDEV is not set |
829 | # CONFIG_SPI_TLE62X0 is not set | 879 | # CONFIG_SPI_TLE62X0 is not set |
880 | |||
881 | # | ||
882 | # PPS support | ||
883 | # | ||
884 | # CONFIG_PPS is not set | ||
830 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 885 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
831 | CONFIG_GPIOLIB=y | 886 | CONFIG_GPIOLIB=y |
832 | # CONFIG_DEBUG_GPIO is not set | 887 | # CONFIG_DEBUG_GPIO is not set |
@@ -842,6 +897,7 @@ CONFIG_GPIO_SYSFS=y | |||
842 | # CONFIG_GPIO_MAX732X is not set | 897 | # CONFIG_GPIO_MAX732X is not set |
843 | # CONFIG_GPIO_PCA953X is not set | 898 | # CONFIG_GPIO_PCA953X is not set |
844 | # CONFIG_GPIO_PCF857X is not set | 899 | # CONFIG_GPIO_PCF857X is not set |
900 | # CONFIG_GPIO_ADP5588 is not set | ||
845 | 901 | ||
846 | # | 902 | # |
847 | # PCI GPIO expanders: | 903 | # PCI GPIO expanders: |
@@ -852,11 +908,15 @@ CONFIG_GPIO_SYSFS=y | |||
852 | # | 908 | # |
853 | # CONFIG_GPIO_MAX7301 is not set | 909 | # CONFIG_GPIO_MAX7301 is not set |
854 | # CONFIG_GPIO_MCP23S08 is not set | 910 | # CONFIG_GPIO_MCP23S08 is not set |
911 | # CONFIG_GPIO_MC33880 is not set | ||
912 | |||
913 | # | ||
914 | # AC97 GPIO expanders: | ||
915 | # | ||
855 | # CONFIG_W1 is not set | 916 | # CONFIG_W1 is not set |
856 | # CONFIG_POWER_SUPPLY is not set | 917 | # CONFIG_POWER_SUPPLY is not set |
857 | # CONFIG_HWMON is not set | 918 | # CONFIG_HWMON is not set |
858 | # CONFIG_THERMAL is not set | 919 | # CONFIG_THERMAL is not set |
859 | # CONFIG_THERMAL_HWMON is not set | ||
860 | CONFIG_WATCHDOG=y | 920 | CONFIG_WATCHDOG=y |
861 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 921 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
862 | 922 | ||
@@ -878,26 +938,18 @@ CONFIG_SSB_POSSIBLE=y | |||
878 | # CONFIG_MFD_CORE is not set | 938 | # CONFIG_MFD_CORE is not set |
879 | # CONFIG_MFD_SM501 is not set | 939 | # CONFIG_MFD_SM501 is not set |
880 | # CONFIG_HTC_PASIC3 is not set | 940 | # CONFIG_HTC_PASIC3 is not set |
941 | # CONFIG_UCB1400_CORE is not set | ||
942 | # CONFIG_TPS65010 is not set | ||
881 | # CONFIG_MFD_TMIO is not set | 943 | # CONFIG_MFD_TMIO is not set |
882 | # CONFIG_MFD_WM8400 is not set | 944 | # CONFIG_MFD_WM8400 is not set |
945 | # CONFIG_MFD_WM831X is not set | ||
883 | # CONFIG_MFD_WM8350_I2C is not set | 946 | # CONFIG_MFD_WM8350_I2C is not set |
947 | # CONFIG_MFD_PCF50633 is not set | ||
948 | # CONFIG_MFD_MC13783 is not set | ||
949 | # CONFIG_AB3100_CORE is not set | ||
950 | # CONFIG_EZX_PCAP is not set | ||
884 | # CONFIG_REGULATOR is not set | 951 | # CONFIG_REGULATOR is not set |
885 | 952 | # CONFIG_MEDIA_SUPPORT is not set | |
886 | # | ||
887 | # Multimedia devices | ||
888 | # | ||
889 | |||
890 | # | ||
891 | # Multimedia core support | ||
892 | # | ||
893 | # CONFIG_VIDEO_DEV is not set | ||
894 | # CONFIG_DVB_CORE is not set | ||
895 | # CONFIG_VIDEO_MEDIA is not set | ||
896 | |||
897 | # | ||
898 | # Multimedia drivers | ||
899 | # | ||
900 | # CONFIG_DAB is not set | ||
901 | 953 | ||
902 | # | 954 | # |
903 | # Graphics support | 955 | # Graphics support |
@@ -929,9 +981,6 @@ CONFIG_FB_CFB_IMAGEBLIT=m | |||
929 | # CONFIG_FB_BFIN_T350MCQB is not set | 981 | # CONFIG_FB_BFIN_T350MCQB is not set |
930 | # CONFIG_FB_BFIN_LQ035Q1 is not set | 982 | # CONFIG_FB_BFIN_LQ035Q1 is not set |
931 | CONFIG_FB_BF537_LQ035=m | 983 | CONFIG_FB_BF537_LQ035=m |
932 | CONFIG_LQ035_SLAVE_ADDR=0x58 | ||
933 | # CONFIG_FB_BFIN_LANDSCAPE is not set | ||
934 | # CONFIG_FB_BFIN_BGR is not set | ||
935 | CONFIG_FB_BFIN_7393=m | 984 | CONFIG_FB_BFIN_7393=m |
936 | CONFIG_NTSC=y | 985 | CONFIG_NTSC=y |
937 | # CONFIG_PAL is not set | 986 | # CONFIG_PAL is not set |
@@ -946,15 +995,18 @@ CONFIG_ADV7393_1XMEM=y | |||
946 | # CONFIG_FB_VIRTUAL is not set | 995 | # CONFIG_FB_VIRTUAL is not set |
947 | # CONFIG_FB_METRONOME is not set | 996 | # CONFIG_FB_METRONOME is not set |
948 | # CONFIG_FB_MB862XX is not set | 997 | # CONFIG_FB_MB862XX is not set |
998 | # CONFIG_FB_BROADSHEET is not set | ||
949 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 999 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
950 | CONFIG_LCD_CLASS_DEVICE=m | 1000 | CONFIG_LCD_CLASS_DEVICE=m |
1001 | # CONFIG_LCD_LMS283GF05 is not set | ||
951 | # CONFIG_LCD_LTV350QV is not set | 1002 | # CONFIG_LCD_LTV350QV is not set |
952 | # CONFIG_LCD_ILI9320 is not set | 1003 | # CONFIG_LCD_ILI9320 is not set |
953 | # CONFIG_LCD_TDO24M is not set | 1004 | # CONFIG_LCD_TDO24M is not set |
954 | # CONFIG_LCD_VGG2432A4 is not set | 1005 | # CONFIG_LCD_VGG2432A4 is not set |
955 | # CONFIG_LCD_PLATFORM is not set | 1006 | # CONFIG_LCD_PLATFORM is not set |
956 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | 1007 | CONFIG_BACKLIGHT_CLASS_DEVICE=m |
957 | CONFIG_BACKLIGHT_CORGI=m | 1008 | CONFIG_BACKLIGHT_GENERIC=m |
1009 | # CONFIG_BACKLIGHT_ADP8870 is not set | ||
958 | 1010 | ||
959 | # | 1011 | # |
960 | # Display device support | 1012 | # Display device support |
@@ -963,19 +1015,27 @@ CONFIG_BACKLIGHT_CORGI=m | |||
963 | # CONFIG_LOGO is not set | 1015 | # CONFIG_LOGO is not set |
964 | CONFIG_SOUND=m | 1016 | CONFIG_SOUND=m |
965 | CONFIG_SOUND_OSS_CORE=y | 1017 | CONFIG_SOUND_OSS_CORE=y |
1018 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
966 | CONFIG_SND=m | 1019 | CONFIG_SND=m |
967 | CONFIG_SND_TIMER=m | 1020 | CONFIG_SND_TIMER=m |
968 | CONFIG_SND_PCM=m | 1021 | CONFIG_SND_PCM=m |
1022 | CONFIG_SND_JACK=y | ||
969 | # CONFIG_SND_SEQUENCER is not set | 1023 | # CONFIG_SND_SEQUENCER is not set |
970 | CONFIG_SND_OSSEMUL=y | 1024 | CONFIG_SND_OSSEMUL=y |
971 | CONFIG_SND_MIXER_OSS=m | 1025 | CONFIG_SND_MIXER_OSS=m |
972 | CONFIG_SND_PCM_OSS=m | 1026 | CONFIG_SND_PCM_OSS=m |
973 | CONFIG_SND_PCM_OSS_PLUGINS=y | 1027 | CONFIG_SND_PCM_OSS_PLUGINS=y |
1028 | # CONFIG_SND_HRTIMER is not set | ||
974 | # CONFIG_SND_DYNAMIC_MINORS is not set | 1029 | # CONFIG_SND_DYNAMIC_MINORS is not set |
975 | CONFIG_SND_SUPPORT_OLD_API=y | 1030 | CONFIG_SND_SUPPORT_OLD_API=y |
976 | CONFIG_SND_VERBOSE_PROCFS=y | 1031 | CONFIG_SND_VERBOSE_PROCFS=y |
977 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1032 | # CONFIG_SND_VERBOSE_PRINTK is not set |
978 | # CONFIG_SND_DEBUG is not set | 1033 | # CONFIG_SND_DEBUG is not set |
1034 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
1035 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
1036 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
1037 | # CONFIG_SND_SBAWE_SEQ is not set | ||
1038 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
979 | CONFIG_SND_DRIVERS=y | 1039 | CONFIG_SND_DRIVERS=y |
980 | # CONFIG_SND_DUMMY is not set | 1040 | # CONFIG_SND_DUMMY is not set |
981 | # CONFIG_SND_MTPAV is not set | 1041 | # CONFIG_SND_MTPAV is not set |
@@ -986,13 +1046,6 @@ CONFIG_SND_SPI=y | |||
986 | # | 1046 | # |
987 | # ALSA Blackfin devices | 1047 | # ALSA Blackfin devices |
988 | # | 1048 | # |
989 | CONFIG_SND_BLACKFIN_AD1836=m | ||
990 | CONFIG_SND_BLACKFIN_AD1836_TDM=y | ||
991 | # CONFIG_SND_BLACKFIN_AD1836_I2S is not set | ||
992 | CONFIG_SND_BLACKFIN_AD1836_MULSUB=y | ||
993 | # CONFIG_SND_BLACKFIN_AD1836_5P1 is not set | ||
994 | CONFIG_SND_BLACKFIN_SPORT=0 | ||
995 | CONFIG_SND_BLACKFIN_SPI_PFBIT=4 | ||
996 | CONFIG_SND_BFIN_SPORT=0 | 1049 | CONFIG_SND_BFIN_SPORT=0 |
997 | CONFIG_SND_BFIN_AD73322=m | 1050 | CONFIG_SND_BFIN_AD73322=m |
998 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 | 1051 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 |
@@ -1003,16 +1056,20 @@ CONFIG_SND_SOC_AC97_BUS=y | |||
1003 | CONFIG_SND_BF5XX_I2S=m | 1056 | CONFIG_SND_BF5XX_I2S=m |
1004 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set | 1057 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set |
1005 | CONFIG_SND_BF5XX_SOC_AD73311=m | 1058 | CONFIG_SND_BF5XX_SOC_AD73311=m |
1059 | # CONFIG_SND_BF5XX_SOC_ADAU1371 is not set | ||
1060 | # CONFIG_SND_BF5XX_SOC_ADAU1761 is not set | ||
1006 | CONFIG_SND_BFIN_AD73311_SE=4 | 1061 | CONFIG_SND_BFIN_AD73311_SE=4 |
1062 | # CONFIG_SND_BF5XX_TDM is not set | ||
1007 | CONFIG_SND_BF5XX_AC97=m | 1063 | CONFIG_SND_BF5XX_AC97=m |
1008 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y | 1064 | CONFIG_SND_BF5XX_MMAP_SUPPORT=y |
1009 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set | 1065 | # CONFIG_SND_BF5XX_MULTICHAN_SUPPORT is not set |
1066 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
1067 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
1010 | CONFIG_SND_BF5XX_SOC_SPORT=m | 1068 | CONFIG_SND_BF5XX_SOC_SPORT=m |
1011 | CONFIG_SND_BF5XX_SOC_I2S=m | 1069 | CONFIG_SND_BF5XX_SOC_I2S=m |
1012 | CONFIG_SND_BF5XX_SOC_AC97=m | 1070 | CONFIG_SND_BF5XX_SOC_AC97=m |
1013 | CONFIG_SND_BF5XX_SOC_AD1980=m | ||
1014 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 1071 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
1015 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | 1072 | CONFIG_SND_SOC_I2C_AND_SPI=m |
1016 | # CONFIG_SND_SOC_ALL_CODECS is not set | 1073 | # CONFIG_SND_SOC_ALL_CODECS is not set |
1017 | CONFIG_SND_SOC_AD1980=m | 1074 | CONFIG_SND_SOC_AD1980=m |
1018 | CONFIG_SND_SOC_AD73311=m | 1075 | CONFIG_SND_SOC_AD73311=m |
@@ -1020,14 +1077,12 @@ CONFIG_SND_SOC_AD73311=m | |||
1020 | CONFIG_AC97_BUS=m | 1077 | CONFIG_AC97_BUS=m |
1021 | CONFIG_HID_SUPPORT=y | 1078 | CONFIG_HID_SUPPORT=y |
1022 | CONFIG_HID=y | 1079 | CONFIG_HID=y |
1023 | # CONFIG_HID_DEBUG is not set | ||
1024 | # CONFIG_HIDRAW is not set | 1080 | # CONFIG_HIDRAW is not set |
1025 | # CONFIG_HID_PID is not set | 1081 | # CONFIG_HID_PID is not set |
1026 | 1082 | ||
1027 | # | 1083 | # |
1028 | # Special HID drivers | 1084 | # Special HID drivers |
1029 | # | 1085 | # |
1030 | CONFIG_HID_COMPAT=y | ||
1031 | # CONFIG_USB_SUPPORT is not set | 1086 | # CONFIG_USB_SUPPORT is not set |
1032 | # CONFIG_MMC is not set | 1087 | # CONFIG_MMC is not set |
1033 | # CONFIG_MEMSTICK is not set | 1088 | # CONFIG_MEMSTICK is not set |
@@ -1064,6 +1119,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1064 | # CONFIG_RTC_DRV_S35390A is not set | 1119 | # CONFIG_RTC_DRV_S35390A is not set |
1065 | # CONFIG_RTC_DRV_FM3130 is not set | 1120 | # CONFIG_RTC_DRV_FM3130 is not set |
1066 | # CONFIG_RTC_DRV_RX8581 is not set | 1121 | # CONFIG_RTC_DRV_RX8581 is not set |
1122 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1067 | 1123 | ||
1068 | # | 1124 | # |
1069 | # SPI RTC drivers | 1125 | # SPI RTC drivers |
@@ -1075,6 +1131,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1075 | # CONFIG_RTC_DRV_R9701 is not set | 1131 | # CONFIG_RTC_DRV_R9701 is not set |
1076 | # CONFIG_RTC_DRV_RS5C348 is not set | 1132 | # CONFIG_RTC_DRV_RS5C348 is not set |
1077 | # CONFIG_RTC_DRV_DS3234 is not set | 1133 | # CONFIG_RTC_DRV_DS3234 is not set |
1134 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1078 | 1135 | ||
1079 | # | 1136 | # |
1080 | # Platform RTC drivers | 1137 | # Platform RTC drivers |
@@ -1095,10 +1152,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1095 | # | 1152 | # |
1096 | CONFIG_RTC_DRV_BFIN=y | 1153 | CONFIG_RTC_DRV_BFIN=y |
1097 | # CONFIG_DMADEVICES is not set | 1154 | # CONFIG_DMADEVICES is not set |
1155 | # CONFIG_AUXDISPLAY is not set | ||
1098 | # CONFIG_UIO is not set | 1156 | # CONFIG_UIO is not set |
1157 | |||
1158 | # | ||
1159 | # TI VLYNQ | ||
1160 | # | ||
1099 | # CONFIG_STAGING is not set | 1161 | # CONFIG_STAGING is not set |
1100 | 1162 | ||
1101 | # | 1163 | # |
1164 | # Firmware Drivers | ||
1165 | # | ||
1166 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1167 | # CONFIG_SIGMA is not set | ||
1168 | |||
1169 | # | ||
1102 | # File systems | 1170 | # File systems |
1103 | # | 1171 | # |
1104 | # CONFIG_EXT2_FS is not set | 1172 | # CONFIG_EXT2_FS is not set |
@@ -1107,9 +1175,13 @@ CONFIG_RTC_DRV_BFIN=y | |||
1107 | # CONFIG_REISERFS_FS is not set | 1175 | # CONFIG_REISERFS_FS is not set |
1108 | # CONFIG_JFS_FS is not set | 1176 | # CONFIG_JFS_FS is not set |
1109 | # CONFIG_FS_POSIX_ACL is not set | 1177 | # CONFIG_FS_POSIX_ACL is not set |
1110 | CONFIG_FILE_LOCKING=y | ||
1111 | # CONFIG_XFS_FS is not set | 1178 | # CONFIG_XFS_FS is not set |
1179 | # CONFIG_GFS2_FS is not set | ||
1112 | # CONFIG_OCFS2_FS is not set | 1180 | # CONFIG_OCFS2_FS is not set |
1181 | # CONFIG_BTRFS_FS is not set | ||
1182 | # CONFIG_NILFS2_FS is not set | ||
1183 | CONFIG_FILE_LOCKING=y | ||
1184 | CONFIG_FSNOTIFY=y | ||
1113 | # CONFIG_DNOTIFY is not set | 1185 | # CONFIG_DNOTIFY is not set |
1114 | CONFIG_INOTIFY=y | 1186 | CONFIG_INOTIFY=y |
1115 | CONFIG_INOTIFY_USER=y | 1187 | CONFIG_INOTIFY_USER=y |
@@ -1119,6 +1191,11 @@ CONFIG_INOTIFY_USER=y | |||
1119 | # CONFIG_FUSE_FS is not set | 1191 | # CONFIG_FUSE_FS is not set |
1120 | 1192 | ||
1121 | # | 1193 | # |
1194 | # Caches | ||
1195 | # | ||
1196 | # CONFIG_FSCACHE is not set | ||
1197 | |||
1198 | # | ||
1122 | # CD-ROM/DVD Filesystems | 1199 | # CD-ROM/DVD Filesystems |
1123 | # | 1200 | # |
1124 | # CONFIG_ISO9660_FS is not set | 1201 | # CONFIG_ISO9660_FS is not set |
@@ -1137,13 +1214,9 @@ CONFIG_INOTIFY_USER=y | |||
1137 | CONFIG_PROC_FS=y | 1214 | CONFIG_PROC_FS=y |
1138 | CONFIG_PROC_SYSCTL=y | 1215 | CONFIG_PROC_SYSCTL=y |
1139 | CONFIG_SYSFS=y | 1216 | CONFIG_SYSFS=y |
1140 | # CONFIG_TMPFS is not set | ||
1141 | # CONFIG_HUGETLB_PAGE is not set | 1217 | # CONFIG_HUGETLB_PAGE is not set |
1142 | # CONFIG_CONFIGFS_FS is not set | 1218 | # CONFIG_CONFIGFS_FS is not set |
1143 | 1219 | CONFIG_MISC_FILESYSTEMS=y | |
1144 | # | ||
1145 | # Miscellaneous filesystems | ||
1146 | # | ||
1147 | # CONFIG_ADFS_FS is not set | 1220 | # CONFIG_ADFS_FS is not set |
1148 | # CONFIG_AFFS_FS is not set | 1221 | # CONFIG_AFFS_FS is not set |
1149 | # CONFIG_HFS_FS is not set | 1222 | # CONFIG_HFS_FS is not set |
@@ -1162,17 +1235,8 @@ CONFIG_JFFS2_ZLIB=y | |||
1162 | # CONFIG_JFFS2_LZO is not set | 1235 | # CONFIG_JFFS2_LZO is not set |
1163 | CONFIG_JFFS2_RTIME=y | 1236 | CONFIG_JFFS2_RTIME=y |
1164 | # CONFIG_JFFS2_RUBIN is not set | 1237 | # CONFIG_JFFS2_RUBIN is not set |
1165 | CONFIG_YAFFS_FS=m | ||
1166 | CONFIG_YAFFS_YAFFS1=y | ||
1167 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1168 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1169 | CONFIG_YAFFS_YAFFS2=y | ||
1170 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1171 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1172 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1173 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1174 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1175 | # CONFIG_CRAMFS is not set | 1238 | # CONFIG_CRAMFS is not set |
1239 | # CONFIG_SQUASHFS is not set | ||
1176 | # CONFIG_VXFS_FS is not set | 1240 | # CONFIG_VXFS_FS is not set |
1177 | # CONFIG_MINIX_FS is not set | 1241 | # CONFIG_MINIX_FS is not set |
1178 | # CONFIG_OMFS_FS is not set | 1242 | # CONFIG_OMFS_FS is not set |
@@ -1191,7 +1255,6 @@ CONFIG_LOCKD=m | |||
1191 | CONFIG_LOCKD_V4=y | 1255 | CONFIG_LOCKD_V4=y |
1192 | CONFIG_NFS_COMMON=y | 1256 | CONFIG_NFS_COMMON=y |
1193 | CONFIG_SUNRPC=m | 1257 | CONFIG_SUNRPC=m |
1194 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1195 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1258 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1196 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1259 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1197 | CONFIG_SMB_FS=m | 1260 | CONFIG_SMB_FS=m |
@@ -1256,14 +1319,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1256 | CONFIG_ENABLE_MUST_CHECK=y | 1319 | CONFIG_ENABLE_MUST_CHECK=y |
1257 | CONFIG_FRAME_WARN=1024 | 1320 | CONFIG_FRAME_WARN=1024 |
1258 | # CONFIG_MAGIC_SYSRQ is not set | 1321 | # CONFIG_MAGIC_SYSRQ is not set |
1322 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1259 | # CONFIG_UNUSED_SYMBOLS is not set | 1323 | # CONFIG_UNUSED_SYMBOLS is not set |
1260 | CONFIG_DEBUG_FS=y | 1324 | CONFIG_DEBUG_FS=y |
1261 | # CONFIG_HEADERS_CHECK is not set | 1325 | # CONFIG_HEADERS_CHECK is not set |
1326 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1262 | CONFIG_DEBUG_KERNEL=y | 1327 | CONFIG_DEBUG_KERNEL=y |
1263 | CONFIG_DEBUG_SHIRQ=y | 1328 | CONFIG_DEBUG_SHIRQ=y |
1264 | CONFIG_DETECT_SOFTLOCKUP=y | 1329 | CONFIG_DETECT_SOFTLOCKUP=y |
1265 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1330 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1266 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1331 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1332 | CONFIG_DETECT_HUNG_TASK=y | ||
1333 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1334 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1267 | CONFIG_SCHED_DEBUG=y | 1335 | CONFIG_SCHED_DEBUG=y |
1268 | # CONFIG_SCHEDSTATS is not set | 1336 | # CONFIG_SCHEDSTATS is not set |
1269 | # CONFIG_TIMER_STATS is not set | 1337 | # CONFIG_TIMER_STATS is not set |
@@ -1271,31 +1339,39 @@ CONFIG_SCHED_DEBUG=y | |||
1271 | # CONFIG_DEBUG_SLAB is not set | 1339 | # CONFIG_DEBUG_SLAB is not set |
1272 | # CONFIG_DEBUG_SPINLOCK is not set | 1340 | # CONFIG_DEBUG_SPINLOCK is not set |
1273 | # CONFIG_DEBUG_MUTEXES is not set | 1341 | # CONFIG_DEBUG_MUTEXES is not set |
1342 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1343 | # CONFIG_PROVE_LOCKING is not set | ||
1344 | # CONFIG_LOCK_STAT is not set | ||
1274 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1345 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1275 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1346 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1276 | # CONFIG_DEBUG_KOBJECT is not set | 1347 | # CONFIG_DEBUG_KOBJECT is not set |
1277 | CONFIG_DEBUG_BUGVERBOSE=y | 1348 | CONFIG_DEBUG_BUGVERBOSE=y |
1278 | CONFIG_DEBUG_INFO=y | 1349 | CONFIG_DEBUG_INFO=y |
1279 | # CONFIG_DEBUG_VM is not set | 1350 | # CONFIG_DEBUG_VM is not set |
1351 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1280 | # CONFIG_DEBUG_WRITECOUNT is not set | 1352 | # CONFIG_DEBUG_WRITECOUNT is not set |
1281 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1353 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1282 | # CONFIG_DEBUG_LIST is not set | 1354 | # CONFIG_DEBUG_LIST is not set |
1283 | # CONFIG_DEBUG_SG is not set | 1355 | # CONFIG_DEBUG_SG is not set |
1356 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1357 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1284 | # CONFIG_FRAME_POINTER is not set | 1358 | # CONFIG_FRAME_POINTER is not set |
1285 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1359 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1286 | # CONFIG_RCU_TORTURE_TEST is not set | 1360 | # CONFIG_RCU_TORTURE_TEST is not set |
1287 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1361 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1288 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1362 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1289 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1363 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1364 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1290 | # CONFIG_FAULT_INJECTION is not set | 1365 | # CONFIG_FAULT_INJECTION is not set |
1291 | 1366 | # CONFIG_PAGE_POISONING is not set | |
1292 | # | 1367 | CONFIG_HAVE_FUNCTION_TRACER=y |
1293 | # Tracers | 1368 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1294 | # | 1369 | CONFIG_TRACING_SUPPORT=y |
1295 | # CONFIG_SCHED_TRACER is not set | 1370 | # CONFIG_FTRACE is not set |
1296 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1371 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1297 | # CONFIG_BOOT_TRACER is not set | 1372 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1298 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1373 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1374 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1299 | # CONFIG_SAMPLES is not set | 1375 | # CONFIG_SAMPLES is not set |
1300 | CONFIG_HAVE_ARCH_KGDB=y | 1376 | CONFIG_HAVE_ARCH_KGDB=y |
1301 | # CONFIG_KGDB is not set | 1377 | # CONFIG_KGDB is not set |
@@ -1320,6 +1396,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1320 | CONFIG_EARLY_PRINTK=y | 1396 | CONFIG_EARLY_PRINTK=y |
1321 | CONFIG_CPLB_INFO=y | 1397 | CONFIG_CPLB_INFO=y |
1322 | CONFIG_ACCESS_CHECK=y | 1398 | CONFIG_ACCESS_CHECK=y |
1399 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1323 | 1400 | ||
1324 | # | 1401 | # |
1325 | # Security options | 1402 | # Security options |
@@ -1328,14 +1405,14 @@ CONFIG_ACCESS_CHECK=y | |||
1328 | CONFIG_SECURITY=y | 1405 | CONFIG_SECURITY=y |
1329 | # CONFIG_SECURITYFS is not set | 1406 | # CONFIG_SECURITYFS is not set |
1330 | # CONFIG_SECURITY_NETWORK is not set | 1407 | # CONFIG_SECURITY_NETWORK is not set |
1408 | # CONFIG_SECURITY_PATH is not set | ||
1331 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1409 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1332 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1410 | # CONFIG_SECURITY_TOMOYO is not set |
1333 | CONFIG_CRYPTO=y | 1411 | CONFIG_CRYPTO=y |
1334 | 1412 | ||
1335 | # | 1413 | # |
1336 | # Crypto core or helper | 1414 | # Crypto core or helper |
1337 | # | 1415 | # |
1338 | # CONFIG_CRYPTO_FIPS is not set | ||
1339 | # CONFIG_CRYPTO_MANAGER is not set | 1416 | # CONFIG_CRYPTO_MANAGER is not set |
1340 | # CONFIG_CRYPTO_MANAGER2 is not set | 1417 | # CONFIG_CRYPTO_MANAGER2 is not set |
1341 | # CONFIG_CRYPTO_GF128MUL is not set | 1418 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1367,11 +1444,13 @@ CONFIG_CRYPTO=y | |||
1367 | # | 1444 | # |
1368 | # CONFIG_CRYPTO_HMAC is not set | 1445 | # CONFIG_CRYPTO_HMAC is not set |
1369 | # CONFIG_CRYPTO_XCBC is not set | 1446 | # CONFIG_CRYPTO_XCBC is not set |
1447 | # CONFIG_CRYPTO_VMAC is not set | ||
1370 | 1448 | ||
1371 | # | 1449 | # |
1372 | # Digest | 1450 | # Digest |
1373 | # | 1451 | # |
1374 | # CONFIG_CRYPTO_CRC32C is not set | 1452 | # CONFIG_CRYPTO_CRC32C is not set |
1453 | # CONFIG_CRYPTO_GHASH is not set | ||
1375 | # CONFIG_CRYPTO_MD4 is not set | 1454 | # CONFIG_CRYPTO_MD4 is not set |
1376 | # CONFIG_CRYPTO_MD5 is not set | 1455 | # CONFIG_CRYPTO_MD5 is not set |
1377 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1456 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1408,6 +1487,7 @@ CONFIG_CRYPTO=y | |||
1408 | # Compression | 1487 | # Compression |
1409 | # | 1488 | # |
1410 | # CONFIG_CRYPTO_DEFLATE is not set | 1489 | # CONFIG_CRYPTO_DEFLATE is not set |
1490 | # CONFIG_CRYPTO_ZLIB is not set | ||
1411 | # CONFIG_CRYPTO_LZO is not set | 1491 | # CONFIG_CRYPTO_LZO is not set |
1412 | 1492 | ||
1413 | # | 1493 | # |
@@ -1415,11 +1495,13 @@ CONFIG_CRYPTO=y | |||
1415 | # | 1495 | # |
1416 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1496 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1417 | CONFIG_CRYPTO_HW=y | 1497 | CONFIG_CRYPTO_HW=y |
1498 | # CONFIG_BINARY_PRINTF is not set | ||
1418 | 1499 | ||
1419 | # | 1500 | # |
1420 | # Library routines | 1501 | # Library routines |
1421 | # | 1502 | # |
1422 | CONFIG_BITREVERSE=y | 1503 | CONFIG_BITREVERSE=y |
1504 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1423 | CONFIG_CRC_CCITT=m | 1505 | CONFIG_CRC_CCITT=m |
1424 | # CONFIG_CRC16 is not set | 1506 | # CONFIG_CRC16 is not set |
1425 | # CONFIG_CRC_T10DIF is not set | 1507 | # CONFIG_CRC_T10DIF is not set |
@@ -1429,6 +1511,8 @@ CONFIG_CRC32=y | |||
1429 | # CONFIG_LIBCRC32C is not set | 1511 | # CONFIG_LIBCRC32C is not set |
1430 | CONFIG_ZLIB_INFLATE=y | 1512 | CONFIG_ZLIB_INFLATE=y |
1431 | CONFIG_ZLIB_DEFLATE=m | 1513 | CONFIG_ZLIB_DEFLATE=m |
1514 | CONFIG_DECOMPRESS_GZIP=y | ||
1432 | CONFIG_HAS_IOMEM=y | 1515 | CONFIG_HAS_IOMEM=y |
1433 | CONFIG_HAS_IOPORT=y | 1516 | CONFIG_HAS_IOPORT=y |
1434 | CONFIG_HAS_DMA=y | 1517 | CONFIG_HAS_DMA=y |
1518 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF538-EZKIT_defconfig b/arch/blackfin/configs/BF538-EZKIT_defconfig index 09ea2499555e..bc1871d89fd5 100644 --- a/arch/blackfin/configs/BF538-EZKIT_defconfig +++ b/arch/blackfin/configs/BF538-EZKIT_defconfig | |||
@@ -1,22 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Thu May 21 05:50:01 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
10 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
16 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
20 | 25 | ||
21 | # | 26 | # |
22 | # General setup | 27 | # General setup |
@@ -26,22 +31,41 @@ CONFIG_BROKEN_ON_SMP=y | |||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
29 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
30 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
31 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
35 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
36 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
37 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
38 | # CONFIG_CGROUPS is not set | ||
39 | # CONFIG_GROUP_SCHED is not set | 59 | # CONFIG_GROUP_SCHED is not set |
60 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
41 | # CONFIG_RELAY is not set | 62 | # CONFIG_RELAY is not set |
42 | # CONFIG_NAMESPACES is not set | 63 | # CONFIG_NAMESPACES is not set |
43 | CONFIG_BLK_DEV_INITRD=y | 64 | CONFIG_BLK_DEV_INITRD=y |
44 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_RD_GZIP=y | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | # CONFIG_RD_LZMA is not set | ||
45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 69 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
46 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
47 | CONFIG_ANON_INODES=y | 71 | CONFIG_ANON_INODES=y |
@@ -62,6 +86,10 @@ CONFIG_EPOLL=y | |||
62 | # CONFIG_TIMERFD is not set | 86 | # CONFIG_TIMERFD is not set |
63 | # CONFIG_EVENTFD is not set | 87 | # CONFIG_EVENTFD is not set |
64 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
66 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
67 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
@@ -69,11 +97,15 @@ CONFIG_SLAB=y | |||
69 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
70 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
71 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
72 | # CONFIG_MARKERS is not set | ||
73 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
74 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
75 | CONFIG_SLABINFO=y | 108 | CONFIG_SLABINFO=y |
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | 109 | CONFIG_BASE_SMALL=0 |
78 | CONFIG_MODULES=y | 110 | CONFIG_MODULES=y |
79 | # CONFIG_MODULE_FORCE_LOAD is not set | 111 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -81,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y | |||
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 113 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | ||
85 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
86 | # CONFIG_LBD is not set | 117 | # CONFIG_LBDAF is not set |
87 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
88 | # CONFIG_LSF is not set | ||
89 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
90 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
91 | 120 | ||
@@ -101,7 +130,6 @@ CONFIG_DEFAULT_AS=y | |||
101 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
102 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 132 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
104 | CONFIG_CLASSIC_RCU=y | ||
105 | # CONFIG_PREEMPT_NONE is not set | 133 | # CONFIG_PREEMPT_NONE is not set |
106 | CONFIG_PREEMPT_VOLUNTARY=y | 134 | CONFIG_PREEMPT_VOLUNTARY=y |
107 | # CONFIG_PREEMPT is not set | 135 | # CONFIG_PREEMPT is not set |
@@ -132,15 +160,15 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
132 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
133 | CONFIG_BF538=y | 161 | CONFIG_BF538=y |
134 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
135 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
136 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
137 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
138 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
139 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
140 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
141 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
142 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
143 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
144 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
145 | # CONFIG_BF561 is not set | 173 | # CONFIG_BF561 is not set |
146 | CONFIG_BF_REV_MIN=4 | 174 | CONFIG_BF_REV_MIN=4 |
@@ -246,7 +274,7 @@ CONFIG_GENERIC_TIME=y | |||
246 | CONFIG_GENERIC_CLOCKEVENTS=y | 274 | CONFIG_GENERIC_CLOCKEVENTS=y |
247 | # CONFIG_TICKSOURCE_GPTMR0 is not set | 275 | # CONFIG_TICKSOURCE_GPTMR0 is not set |
248 | CONFIG_TICKSOURCE_CORETMR=y | 276 | CONFIG_TICKSOURCE_CORETMR=y |
249 | # CONFIG_CYCLES_CLOCKSOURCE is not set | 277 | CONFIG_CYCLES_CLOCKSOURCE=y |
250 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | 278 | # CONFIG_GPTMR0_CLOCKSOURCE is not set |
251 | CONFIG_TICK_ONESHOT=y | 279 | CONFIG_TICK_ONESHOT=y |
252 | # CONFIG_NO_HZ is not set | 280 | # CONFIG_NO_HZ is not set |
@@ -298,7 +326,6 @@ CONFIG_FLATMEM=y | |||
298 | CONFIG_FLAT_NODE_MEM_MAP=y | 326 | CONFIG_FLAT_NODE_MEM_MAP=y |
299 | CONFIG_PAGEFLAGS_EXTENDED=y | 327 | CONFIG_PAGEFLAGS_EXTENDED=y |
300 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 328 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
301 | # CONFIG_RESOURCES_64BIT is not set | ||
302 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 329 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
303 | CONFIG_ZONE_DMA_FLAG=1 | 330 | CONFIG_ZONE_DMA_FLAG=1 |
304 | CONFIG_VIRT_TO_BUS=y | 331 | CONFIG_VIRT_TO_BUS=y |
@@ -307,16 +334,18 @@ CONFIG_BFIN_GPTIMERS=m | |||
307 | # CONFIG_DMA_UNCACHED_4M is not set | 334 | # CONFIG_DMA_UNCACHED_4M is not set |
308 | # CONFIG_DMA_UNCACHED_2M is not set | 335 | # CONFIG_DMA_UNCACHED_2M is not set |
309 | CONFIG_DMA_UNCACHED_1M=y | 336 | CONFIG_DMA_UNCACHED_1M=y |
337 | # CONFIG_DMA_UNCACHED_512K is not set | ||
338 | # CONFIG_DMA_UNCACHED_256K is not set | ||
339 | # CONFIG_DMA_UNCACHED_128K is not set | ||
310 | # CONFIG_DMA_UNCACHED_NONE is not set | 340 | # CONFIG_DMA_UNCACHED_NONE is not set |
311 | 341 | ||
312 | # | 342 | # |
313 | # Cache Support | 343 | # Cache Support |
314 | # | 344 | # |
315 | CONFIG_BFIN_ICACHE=y | 345 | CONFIG_BFIN_ICACHE=y |
316 | # CONFIG_BFIN_ICACHE_LOCK is not set | 346 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
317 | CONFIG_BFIN_DCACHE=y | 347 | CONFIG_BFIN_DCACHE=y |
318 | # CONFIG_BFIN_DCACHE_BANKA is not set | 348 | # CONFIG_BFIN_DCACHE_BANKA is not set |
319 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
320 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 349 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
321 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 350 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
322 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 351 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -327,7 +356,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
327 | # CONFIG_MPU is not set | 356 | # CONFIG_MPU is not set |
328 | 357 | ||
329 | # | 358 | # |
330 | # Asynchonous Memory Configuration | 359 | # Asynchronous Memory Configuration |
331 | # | 360 | # |
332 | 361 | ||
333 | # | 362 | # |
@@ -383,11 +412,6 @@ CONFIG_NET=y | |||
383 | CONFIG_PACKET=y | 412 | CONFIG_PACKET=y |
384 | # CONFIG_PACKET_MMAP is not set | 413 | # CONFIG_PACKET_MMAP is not set |
385 | CONFIG_UNIX=y | 414 | CONFIG_UNIX=y |
386 | CONFIG_XFRM=y | ||
387 | # CONFIG_XFRM_USER is not set | ||
388 | # CONFIG_XFRM_SUB_POLICY is not set | ||
389 | # CONFIG_XFRM_MIGRATE is not set | ||
390 | # CONFIG_XFRM_STATISTICS is not set | ||
391 | # CONFIG_NET_KEY is not set | 415 | # CONFIG_NET_KEY is not set |
392 | CONFIG_INET=y | 416 | CONFIG_INET=y |
393 | # CONFIG_IP_MULTICAST is not set | 417 | # CONFIG_IP_MULTICAST is not set |
@@ -411,7 +435,6 @@ CONFIG_IP_PNP=y | |||
411 | # CONFIG_INET_XFRM_MODE_BEET is not set | 435 | # CONFIG_INET_XFRM_MODE_BEET is not set |
412 | # CONFIG_INET_LRO is not set | 436 | # CONFIG_INET_LRO is not set |
413 | # CONFIG_INET_DIAG is not set | 437 | # CONFIG_INET_DIAG is not set |
414 | CONFIG_INET_TCP_DIAG=y | ||
415 | # CONFIG_TCP_CONG_ADVANCED is not set | 438 | # CONFIG_TCP_CONG_ADVANCED is not set |
416 | CONFIG_TCP_CONG_CUBIC=y | 439 | CONFIG_TCP_CONG_CUBIC=y |
417 | CONFIG_DEFAULT_TCP_CONG="cubic" | 440 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -422,6 +445,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
422 | # CONFIG_NETFILTER is not set | 445 | # CONFIG_NETFILTER is not set |
423 | # CONFIG_IP_DCCP is not set | 446 | # CONFIG_IP_DCCP is not set |
424 | # CONFIG_IP_SCTP is not set | 447 | # CONFIG_IP_SCTP is not set |
448 | # CONFIG_RDS is not set | ||
425 | # CONFIG_TIPC is not set | 449 | # CONFIG_TIPC is not set |
426 | # CONFIG_ATM is not set | 450 | # CONFIG_ATM is not set |
427 | # CONFIG_BRIDGE is not set | 451 | # CONFIG_BRIDGE is not set |
@@ -435,14 +459,34 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
435 | # CONFIG_LAPB is not set | 459 | # CONFIG_LAPB is not set |
436 | # CONFIG_ECONET is not set | 460 | # CONFIG_ECONET is not set |
437 | # CONFIG_WAN_ROUTER is not set | 461 | # CONFIG_WAN_ROUTER is not set |
462 | # CONFIG_PHONET is not set | ||
463 | # CONFIG_IEEE802154 is not set | ||
438 | # CONFIG_NET_SCHED is not set | 464 | # CONFIG_NET_SCHED is not set |
465 | # CONFIG_DCB is not set | ||
439 | 466 | ||
440 | # | 467 | # |
441 | # Network testing | 468 | # Network testing |
442 | # | 469 | # |
443 | # CONFIG_NET_PKTGEN is not set | 470 | # CONFIG_NET_PKTGEN is not set |
444 | # CONFIG_HAMRADIO is not set | 471 | # CONFIG_HAMRADIO is not set |
445 | # CONFIG_CAN is not set | 472 | CONFIG_CAN=m |
473 | CONFIG_CAN_RAW=m | ||
474 | CONFIG_CAN_BCM=m | ||
475 | |||
476 | # | ||
477 | # CAN Device Drivers | ||
478 | # | ||
479 | # CONFIG_CAN_VCAN is not set | ||
480 | CONFIG_CAN_DEV=m | ||
481 | # CONFIG_CAN_CALC_BITTIMING is not set | ||
482 | CONFIG_CAN_BFIN=m | ||
483 | # CONFIG_CAN_SJA1000 is not set | ||
484 | |||
485 | # | ||
486 | # CAN USB interfaces | ||
487 | # | ||
488 | # CONFIG_CAN_EMS_USB is not set | ||
489 | # CONFIG_CAN_DEBUG_DEVICES is not set | ||
446 | CONFIG_IRDA=m | 490 | CONFIG_IRDA=m |
447 | 491 | ||
448 | # | 492 | # |
@@ -481,13 +525,8 @@ CONFIG_SIR_BFIN_DMA=y | |||
481 | # | 525 | # |
482 | # CONFIG_BT is not set | 526 | # CONFIG_BT is not set |
483 | # CONFIG_AF_RXRPC is not set | 527 | # CONFIG_AF_RXRPC is not set |
484 | # CONFIG_PHONET is not set | 528 | # CONFIG_WIRELESS is not set |
485 | CONFIG_WIRELESS=y | 529 | # CONFIG_WIMAX is not set |
486 | # CONFIG_CFG80211 is not set | ||
487 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
488 | # CONFIG_WIRELESS_EXT is not set | ||
489 | # CONFIG_MAC80211 is not set | ||
490 | # CONFIG_IEEE80211 is not set | ||
491 | # CONFIG_RFKILL is not set | 530 | # CONFIG_RFKILL is not set |
492 | # CONFIG_NET_9P is not set | 531 | # CONFIG_NET_9P is not set |
493 | 532 | ||
@@ -508,6 +547,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
508 | # CONFIG_CONNECTOR is not set | 547 | # CONFIG_CONNECTOR is not set |
509 | CONFIG_MTD=y | 548 | CONFIG_MTD=y |
510 | # CONFIG_MTD_DEBUG is not set | 549 | # CONFIG_MTD_DEBUG is not set |
550 | # CONFIG_MTD_TESTS is not set | ||
511 | # CONFIG_MTD_CONCAT is not set | 551 | # CONFIG_MTD_CONCAT is not set |
512 | CONFIG_MTD_PARTITIONS=y | 552 | CONFIG_MTD_PARTITIONS=y |
513 | # CONFIG_MTD_REDBOOT_PARTS is not set | 553 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -566,6 +606,7 @@ CONFIG_MTD_PHYSMAP=m | |||
566 | # | 606 | # |
567 | # CONFIG_MTD_DATAFLASH is not set | 607 | # CONFIG_MTD_DATAFLASH is not set |
568 | # CONFIG_MTD_M25P80 is not set | 608 | # CONFIG_MTD_M25P80 is not set |
609 | # CONFIG_MTD_SST25L is not set | ||
569 | # CONFIG_MTD_SLRAM is not set | 610 | # CONFIG_MTD_SLRAM is not set |
570 | # CONFIG_MTD_PHRAM is not set | 611 | # CONFIG_MTD_PHRAM is not set |
571 | # CONFIG_MTD_MTDRAM is not set | 612 | # CONFIG_MTD_MTDRAM is not set |
@@ -581,11 +622,6 @@ CONFIG_MTD_NAND=m | |||
581 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 622 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
582 | # CONFIG_MTD_NAND_ECC_SMC is not set | 623 | # CONFIG_MTD_NAND_ECC_SMC is not set |
583 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 624 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
584 | CONFIG_MTD_NAND_BFIN=m | ||
585 | CONFIG_BFIN_NAND_BASE=0x20212000 | ||
586 | CONFIG_BFIN_NAND_CLE=2 | ||
587 | CONFIG_BFIN_NAND_ALE=1 | ||
588 | CONFIG_BFIN_NAND_READY=3 | ||
589 | CONFIG_MTD_NAND_IDS=m | 625 | CONFIG_MTD_NAND_IDS=m |
590 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 626 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
591 | # CONFIG_MTD_NAND_NANDSIM is not set | 627 | # CONFIG_MTD_NAND_NANDSIM is not set |
@@ -593,6 +629,11 @@ CONFIG_MTD_NAND_IDS=m | |||
593 | # CONFIG_MTD_ONENAND is not set | 629 | # CONFIG_MTD_ONENAND is not set |
594 | 630 | ||
595 | # | 631 | # |
632 | # LPDDR flash memory drivers | ||
633 | # | ||
634 | # CONFIG_MTD_LPDDR is not set | ||
635 | |||
636 | # | ||
596 | # UBI - Unsorted block images | 637 | # UBI - Unsorted block images |
597 | # | 638 | # |
598 | # CONFIG_MTD_UBI is not set | 639 | # CONFIG_MTD_UBI is not set |
@@ -643,14 +684,20 @@ CONFIG_SMSC_PHY=y | |||
643 | # CONFIG_BROADCOM_PHY is not set | 684 | # CONFIG_BROADCOM_PHY is not set |
644 | # CONFIG_ICPLUS_PHY is not set | 685 | # CONFIG_ICPLUS_PHY is not set |
645 | # CONFIG_REALTEK_PHY is not set | 686 | # CONFIG_REALTEK_PHY is not set |
687 | # CONFIG_NATIONAL_PHY is not set | ||
688 | # CONFIG_STE10XP is not set | ||
689 | # CONFIG_LSI_ET1011C_PHY is not set | ||
646 | # CONFIG_FIXED_PHY is not set | 690 | # CONFIG_FIXED_PHY is not set |
647 | # CONFIG_MDIO_BITBANG is not set | 691 | # CONFIG_MDIO_BITBANG is not set |
648 | CONFIG_NET_ETHERNET=y | 692 | CONFIG_NET_ETHERNET=y |
649 | CONFIG_MII=y | 693 | CONFIG_MII=y |
650 | CONFIG_SMC91X=y | 694 | CONFIG_SMC91X=y |
651 | # CONFIG_SMSC911X is not set | ||
652 | # CONFIG_DM9000 is not set | 695 | # CONFIG_DM9000 is not set |
653 | # CONFIG_ENC28J60 is not set | 696 | # CONFIG_ENC28J60 is not set |
697 | # CONFIG_ETHOC is not set | ||
698 | # CONFIG_SMSC911X is not set | ||
699 | # CONFIG_DNET is not set | ||
700 | # CONFIG_ADF702X is not set | ||
654 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 701 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
655 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 702 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
656 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 703 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -659,15 +706,16 @@ CONFIG_SMC91X=y | |||
659 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 706 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
660 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 707 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
661 | # CONFIG_B44 is not set | 708 | # CONFIG_B44 is not set |
709 | # CONFIG_KS8842 is not set | ||
710 | # CONFIG_KS8851 is not set | ||
711 | # CONFIG_KS8851_MLL is not set | ||
662 | # CONFIG_NETDEV_1000 is not set | 712 | # CONFIG_NETDEV_1000 is not set |
663 | # CONFIG_NETDEV_10000 is not set | 713 | # CONFIG_NETDEV_10000 is not set |
714 | # CONFIG_WLAN is not set | ||
664 | 715 | ||
665 | # | 716 | # |
666 | # Wireless LAN | 717 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
667 | # | 718 | # |
668 | # CONFIG_WLAN_PRE80211 is not set | ||
669 | # CONFIG_WLAN_80211 is not set | ||
670 | # CONFIG_IWLWIFI_LEDS is not set | ||
671 | # CONFIG_WAN is not set | 719 | # CONFIG_WAN is not set |
672 | # CONFIG_PPP is not set | 720 | # CONFIG_PPP is not set |
673 | # CONFIG_SLIP is not set | 721 | # CONFIG_SLIP is not set |
@@ -700,14 +748,17 @@ CONFIG_INPUT_EVDEV=m | |||
700 | # CONFIG_INPUT_JOYSTICK is not set | 748 | # CONFIG_INPUT_JOYSTICK is not set |
701 | # CONFIG_INPUT_TABLET is not set | 749 | # CONFIG_INPUT_TABLET is not set |
702 | CONFIG_INPUT_TOUCHSCREEN=y | 750 | CONFIG_INPUT_TOUCHSCREEN=y |
751 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
703 | # CONFIG_TOUCHSCREEN_AD7877 is not set | 752 | # CONFIG_TOUCHSCREEN_AD7877 is not set |
704 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | 753 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set |
705 | CONFIG_TOUCHSCREEN_AD7879_SPI=y | 754 | CONFIG_TOUCHSCREEN_AD7879_SPI=y |
706 | CONFIG_TOUCHSCREEN_AD7879=y | 755 | CONFIG_TOUCHSCREEN_AD7879=y |
707 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 756 | # CONFIG_TOUCHSCREEN_EETI is not set |
708 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 757 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
709 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 758 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
710 | # CONFIG_TOUCHSCREEN_ELO is not set | 759 | # CONFIG_TOUCHSCREEN_ELO is not set |
760 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
761 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
711 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 762 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
712 | # CONFIG_TOUCHSCREEN_INEXIO is not set | 763 | # CONFIG_TOUCHSCREEN_INEXIO is not set |
713 | # CONFIG_TOUCHSCREEN_MK712 is not set | 764 | # CONFIG_TOUCHSCREEN_MK712 is not set |
@@ -715,9 +766,13 @@ CONFIG_TOUCHSCREEN_AD7879=y | |||
715 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 766 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
716 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 767 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
717 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | 768 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
769 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
718 | CONFIG_INPUT_MISC=y | 770 | CONFIG_INPUT_MISC=y |
719 | # CONFIG_INPUT_UINPUT is not set | 771 | # CONFIG_INPUT_UINPUT is not set |
720 | # CONFIG_CONFIG_INPUT_PCF8574 is not set | 772 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set |
773 | # CONFIG_INPUT_AD714X is not set | ||
774 | # CONFIG_INPUT_ADXL34X is not set | ||
775 | # CONFIG_INPUT_PCF8574 is not set | ||
721 | 776 | ||
722 | # | 777 | # |
723 | # Hardware I/O ports | 778 | # Hardware I/O ports |
@@ -728,16 +783,13 @@ CONFIG_INPUT_MISC=y | |||
728 | # | 783 | # |
729 | # Character devices | 784 | # Character devices |
730 | # | 785 | # |
731 | # CONFIG_AD9960 is not set | ||
732 | CONFIG_BFIN_DMA_INTERFACE=m | 786 | CONFIG_BFIN_DMA_INTERFACE=m |
733 | # CONFIG_BFIN_PPI is not set | 787 | # CONFIG_BFIN_PPI is not set |
734 | # CONFIG_BFIN_PPIFCD is not set | 788 | # CONFIG_BFIN_PPIFCD is not set |
735 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 789 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
736 | # CONFIG_BFIN_SPI_ADC is not set | 790 | # CONFIG_BFIN_SPI_ADC is not set |
737 | CONFIG_BFIN_SPORT=m | 791 | CONFIG_BFIN_SPORT=m |
738 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
739 | # CONFIG_BFIN_TWI_LCD is not set | 792 | # CONFIG_BFIN_TWI_LCD is not set |
740 | CONFIG_SIMPLE_GPIO=m | ||
741 | # CONFIG_VT is not set | 793 | # CONFIG_VT is not set |
742 | # CONFIG_DEVKMEM is not set | 794 | # CONFIG_DEVKMEM is not set |
743 | CONFIG_BFIN_JTAG_COMM=m | 795 | CONFIG_BFIN_JTAG_COMM=m |
@@ -751,6 +803,7 @@ CONFIG_BFIN_JTAG_COMM=m | |||
751 | # | 803 | # |
752 | # Non-8250 serial port support | 804 | # Non-8250 serial port support |
753 | # | 805 | # |
806 | # CONFIG_SERIAL_MAX3100 is not set | ||
754 | CONFIG_SERIAL_BFIN=y | 807 | CONFIG_SERIAL_BFIN=y |
755 | CONFIG_SERIAL_BFIN_CONSOLE=y | 808 | CONFIG_SERIAL_BFIN_CONSOLE=y |
756 | CONFIG_SERIAL_BFIN_DMA=y | 809 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -765,12 +818,8 @@ CONFIG_SERIAL_CORE=y | |||
765 | CONFIG_SERIAL_CORE_CONSOLE=y | 818 | CONFIG_SERIAL_CORE_CONSOLE=y |
766 | # CONFIG_SERIAL_BFIN_SPORT is not set | 819 | # CONFIG_SERIAL_BFIN_SPORT is not set |
767 | CONFIG_UNIX98_PTYS=y | 820 | CONFIG_UNIX98_PTYS=y |
821 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
768 | # CONFIG_LEGACY_PTYS is not set | 822 | # CONFIG_LEGACY_PTYS is not set |
769 | |||
770 | # | ||
771 | # CAN, the car bus and industrial fieldbus | ||
772 | # | ||
773 | # CONFIG_CAN4LINUX is not set | ||
774 | # CONFIG_IPMI_HANDLER is not set | 823 | # CONFIG_IPMI_HANDLER is not set |
775 | # CONFIG_HW_RANDOM is not set | 824 | # CONFIG_HW_RANDOM is not set |
776 | # CONFIG_R3964 is not set | 825 | # CONFIG_R3964 is not set |
@@ -778,6 +827,7 @@ CONFIG_UNIX98_PTYS=y | |||
778 | # CONFIG_TCG_TPM is not set | 827 | # CONFIG_TCG_TPM is not set |
779 | CONFIG_I2C=m | 828 | CONFIG_I2C=m |
780 | CONFIG_I2C_BOARDINFO=y | 829 | CONFIG_I2C_BOARDINFO=y |
830 | CONFIG_I2C_COMPAT=y | ||
781 | # CONFIG_I2C_CHARDEV is not set | 831 | # CONFIG_I2C_CHARDEV is not set |
782 | CONFIG_I2C_HELPER_AUTO=y | 832 | CONFIG_I2C_HELPER_AUTO=y |
783 | 833 | ||
@@ -810,14 +860,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
810 | # Miscellaneous I2C Chip support | 860 | # Miscellaneous I2C Chip support |
811 | # | 861 | # |
812 | # CONFIG_DS1682 is not set | 862 | # CONFIG_DS1682 is not set |
813 | # CONFIG_EEPROM_AT24 is not set | ||
814 | # CONFIG_SENSORS_AD5252 is not set | ||
815 | # CONFIG_EEPROM_LEGACY is not set | ||
816 | # CONFIG_SENSORS_PCF8574 is not set | ||
817 | # CONFIG_PCF8575 is not set | ||
818 | # CONFIG_SENSORS_PCA9539 is not set | ||
819 | # CONFIG_SENSORS_PCF8591 is not set | ||
820 | # CONFIG_SENSORS_MAX6875 is not set | ||
821 | # CONFIG_SENSORS_TSL2550 is not set | 863 | # CONFIG_SENSORS_TSL2550 is not set |
822 | # CONFIG_I2C_DEBUG_CORE is not set | 864 | # CONFIG_I2C_DEBUG_CORE is not set |
823 | # CONFIG_I2C_DEBUG_ALGO is not set | 865 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -834,13 +876,18 @@ CONFIG_SPI_BFIN=y | |||
834 | # CONFIG_SPI_BFIN_LOCK is not set | 876 | # CONFIG_SPI_BFIN_LOCK is not set |
835 | # CONFIG_SPI_BFIN_SPORT is not set | 877 | # CONFIG_SPI_BFIN_SPORT is not set |
836 | # CONFIG_SPI_BITBANG is not set | 878 | # CONFIG_SPI_BITBANG is not set |
879 | # CONFIG_SPI_GPIO is not set | ||
837 | 880 | ||
838 | # | 881 | # |
839 | # SPI Protocol Masters | 882 | # SPI Protocol Masters |
840 | # | 883 | # |
841 | # CONFIG_EEPROM_AT25 is not set | ||
842 | # CONFIG_SPI_SPIDEV is not set | 884 | # CONFIG_SPI_SPIDEV is not set |
843 | # CONFIG_SPI_TLE62X0 is not set | 885 | # CONFIG_SPI_TLE62X0 is not set |
886 | |||
887 | # | ||
888 | # PPS support | ||
889 | # | ||
890 | # CONFIG_PPS is not set | ||
844 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 891 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
845 | CONFIG_GPIOLIB=y | 892 | CONFIG_GPIOLIB=y |
846 | # CONFIG_DEBUG_GPIO is not set | 893 | # CONFIG_DEBUG_GPIO is not set |
@@ -856,6 +903,7 @@ CONFIG_GPIO_SYSFS=y | |||
856 | # CONFIG_GPIO_MAX732X is not set | 903 | # CONFIG_GPIO_MAX732X is not set |
857 | # CONFIG_GPIO_PCA953X is not set | 904 | # CONFIG_GPIO_PCA953X is not set |
858 | # CONFIG_GPIO_PCF857X is not set | 905 | # CONFIG_GPIO_PCF857X is not set |
906 | # CONFIG_GPIO_ADP5588 is not set | ||
859 | 907 | ||
860 | # | 908 | # |
861 | # PCI GPIO expanders: | 909 | # PCI GPIO expanders: |
@@ -866,11 +914,15 @@ CONFIG_GPIO_SYSFS=y | |||
866 | # | 914 | # |
867 | # CONFIG_GPIO_MAX7301 is not set | 915 | # CONFIG_GPIO_MAX7301 is not set |
868 | # CONFIG_GPIO_MCP23S08 is not set | 916 | # CONFIG_GPIO_MCP23S08 is not set |
917 | # CONFIG_GPIO_MC33880 is not set | ||
918 | |||
919 | # | ||
920 | # AC97 GPIO expanders: | ||
921 | # | ||
869 | # CONFIG_W1 is not set | 922 | # CONFIG_W1 is not set |
870 | # CONFIG_POWER_SUPPLY is not set | 923 | # CONFIG_POWER_SUPPLY is not set |
871 | # CONFIG_HWMON is not set | 924 | # CONFIG_HWMON is not set |
872 | # CONFIG_THERMAL is not set | 925 | # CONFIG_THERMAL is not set |
873 | # CONFIG_THERMAL_HWMON is not set | ||
874 | CONFIG_WATCHDOG=y | 926 | CONFIG_WATCHDOG=y |
875 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 927 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
876 | 928 | ||
@@ -892,26 +944,17 @@ CONFIG_SSB_POSSIBLE=y | |||
892 | # CONFIG_MFD_CORE is not set | 944 | # CONFIG_MFD_CORE is not set |
893 | # CONFIG_MFD_SM501 is not set | 945 | # CONFIG_MFD_SM501 is not set |
894 | # CONFIG_HTC_PASIC3 is not set | 946 | # CONFIG_HTC_PASIC3 is not set |
947 | # CONFIG_TPS65010 is not set | ||
895 | # CONFIG_MFD_TMIO is not set | 948 | # CONFIG_MFD_TMIO is not set |
896 | # CONFIG_MFD_WM8400 is not set | 949 | # CONFIG_MFD_WM8400 is not set |
950 | # CONFIG_MFD_WM831X is not set | ||
897 | # CONFIG_MFD_WM8350_I2C is not set | 951 | # CONFIG_MFD_WM8350_I2C is not set |
952 | # CONFIG_MFD_PCF50633 is not set | ||
953 | # CONFIG_MFD_MC13783 is not set | ||
954 | # CONFIG_AB3100_CORE is not set | ||
955 | # CONFIG_EZX_PCAP is not set | ||
898 | # CONFIG_REGULATOR is not set | 956 | # CONFIG_REGULATOR is not set |
899 | 957 | # CONFIG_MEDIA_SUPPORT is not set | |
900 | # | ||
901 | # Multimedia devices | ||
902 | # | ||
903 | |||
904 | # | ||
905 | # Multimedia core support | ||
906 | # | ||
907 | # CONFIG_VIDEO_DEV is not set | ||
908 | # CONFIG_DVB_CORE is not set | ||
909 | # CONFIG_VIDEO_MEDIA is not set | ||
910 | |||
911 | # | ||
912 | # Multimedia drivers | ||
913 | # | ||
914 | # CONFIG_DAB is not set | ||
915 | 958 | ||
916 | # | 959 | # |
917 | # Graphics support | 960 | # Graphics support |
@@ -947,6 +990,7 @@ CONFIG_FB_BFIN_LQ035Q1=m | |||
947 | # CONFIG_FB_VIRTUAL is not set | 990 | # CONFIG_FB_VIRTUAL is not set |
948 | # CONFIG_FB_METRONOME is not set | 991 | # CONFIG_FB_METRONOME is not set |
949 | # CONFIG_FB_MB862XX is not set | 992 | # CONFIG_FB_MB862XX is not set |
993 | # CONFIG_FB_BROADSHEET is not set | ||
950 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 994 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
951 | 995 | ||
952 | # | 996 | # |
@@ -957,14 +1001,12 @@ CONFIG_FB_BFIN_LQ035Q1=m | |||
957 | # CONFIG_SOUND is not set | 1001 | # CONFIG_SOUND is not set |
958 | CONFIG_HID_SUPPORT=y | 1002 | CONFIG_HID_SUPPORT=y |
959 | CONFIG_HID=y | 1003 | CONFIG_HID=y |
960 | # CONFIG_HID_DEBUG is not set | ||
961 | # CONFIG_HIDRAW is not set | 1004 | # CONFIG_HIDRAW is not set |
962 | # CONFIG_HID_PID is not set | 1005 | # CONFIG_HID_PID is not set |
963 | 1006 | ||
964 | # | 1007 | # |
965 | # Special HID drivers | 1008 | # Special HID drivers |
966 | # | 1009 | # |
967 | CONFIG_HID_COMPAT=y | ||
968 | # CONFIG_USB_SUPPORT is not set | 1010 | # CONFIG_USB_SUPPORT is not set |
969 | # CONFIG_MMC is not set | 1011 | # CONFIG_MMC is not set |
970 | # CONFIG_MEMSTICK is not set | 1012 | # CONFIG_MEMSTICK is not set |
@@ -1001,6 +1043,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1001 | # CONFIG_RTC_DRV_S35390A is not set | 1043 | # CONFIG_RTC_DRV_S35390A is not set |
1002 | # CONFIG_RTC_DRV_FM3130 is not set | 1044 | # CONFIG_RTC_DRV_FM3130 is not set |
1003 | # CONFIG_RTC_DRV_RX8581 is not set | 1045 | # CONFIG_RTC_DRV_RX8581 is not set |
1046 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1004 | 1047 | ||
1005 | # | 1048 | # |
1006 | # SPI RTC drivers | 1049 | # SPI RTC drivers |
@@ -1012,6 +1055,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1012 | # CONFIG_RTC_DRV_R9701 is not set | 1055 | # CONFIG_RTC_DRV_R9701 is not set |
1013 | # CONFIG_RTC_DRV_RS5C348 is not set | 1056 | # CONFIG_RTC_DRV_RS5C348 is not set |
1014 | # CONFIG_RTC_DRV_DS3234 is not set | 1057 | # CONFIG_RTC_DRV_DS3234 is not set |
1058 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1015 | 1059 | ||
1016 | # | 1060 | # |
1017 | # Platform RTC drivers | 1061 | # Platform RTC drivers |
@@ -1032,10 +1076,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1032 | # | 1076 | # |
1033 | CONFIG_RTC_DRV_BFIN=y | 1077 | CONFIG_RTC_DRV_BFIN=y |
1034 | # CONFIG_DMADEVICES is not set | 1078 | # CONFIG_DMADEVICES is not set |
1079 | # CONFIG_AUXDISPLAY is not set | ||
1035 | # CONFIG_UIO is not set | 1080 | # CONFIG_UIO is not set |
1081 | |||
1082 | # | ||
1083 | # TI VLYNQ | ||
1084 | # | ||
1036 | # CONFIG_STAGING is not set | 1085 | # CONFIG_STAGING is not set |
1037 | 1086 | ||
1038 | # | 1087 | # |
1088 | # Firmware Drivers | ||
1089 | # | ||
1090 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1091 | # CONFIG_SIGMA is not set | ||
1092 | |||
1093 | # | ||
1039 | # File systems | 1094 | # File systems |
1040 | # | 1095 | # |
1041 | # CONFIG_EXT2_FS is not set | 1096 | # CONFIG_EXT2_FS is not set |
@@ -1044,9 +1099,13 @@ CONFIG_RTC_DRV_BFIN=y | |||
1044 | # CONFIG_REISERFS_FS is not set | 1099 | # CONFIG_REISERFS_FS is not set |
1045 | # CONFIG_JFS_FS is not set | 1100 | # CONFIG_JFS_FS is not set |
1046 | # CONFIG_FS_POSIX_ACL is not set | 1101 | # CONFIG_FS_POSIX_ACL is not set |
1047 | CONFIG_FILE_LOCKING=y | ||
1048 | # CONFIG_XFS_FS is not set | 1102 | # CONFIG_XFS_FS is not set |
1103 | # CONFIG_GFS2_FS is not set | ||
1049 | # CONFIG_OCFS2_FS is not set | 1104 | # CONFIG_OCFS2_FS is not set |
1105 | # CONFIG_BTRFS_FS is not set | ||
1106 | # CONFIG_NILFS2_FS is not set | ||
1107 | CONFIG_FILE_LOCKING=y | ||
1108 | CONFIG_FSNOTIFY=y | ||
1050 | # CONFIG_DNOTIFY is not set | 1109 | # CONFIG_DNOTIFY is not set |
1051 | CONFIG_INOTIFY=y | 1110 | CONFIG_INOTIFY=y |
1052 | CONFIG_INOTIFY_USER=y | 1111 | CONFIG_INOTIFY_USER=y |
@@ -1056,6 +1115,11 @@ CONFIG_INOTIFY_USER=y | |||
1056 | # CONFIG_FUSE_FS is not set | 1115 | # CONFIG_FUSE_FS is not set |
1057 | 1116 | ||
1058 | # | 1117 | # |
1118 | # Caches | ||
1119 | # | ||
1120 | # CONFIG_FSCACHE is not set | ||
1121 | |||
1122 | # | ||
1059 | # CD-ROM/DVD Filesystems | 1123 | # CD-ROM/DVD Filesystems |
1060 | # | 1124 | # |
1061 | # CONFIG_ISO9660_FS is not set | 1125 | # CONFIG_ISO9660_FS is not set |
@@ -1074,13 +1138,9 @@ CONFIG_INOTIFY_USER=y | |||
1074 | CONFIG_PROC_FS=y | 1138 | CONFIG_PROC_FS=y |
1075 | CONFIG_PROC_SYSCTL=y | 1139 | CONFIG_PROC_SYSCTL=y |
1076 | CONFIG_SYSFS=y | 1140 | CONFIG_SYSFS=y |
1077 | # CONFIG_TMPFS is not set | ||
1078 | # CONFIG_HUGETLB_PAGE is not set | 1141 | # CONFIG_HUGETLB_PAGE is not set |
1079 | # CONFIG_CONFIGFS_FS is not set | 1142 | # CONFIG_CONFIGFS_FS is not set |
1080 | 1143 | CONFIG_MISC_FILESYSTEMS=y | |
1081 | # | ||
1082 | # Miscellaneous filesystems | ||
1083 | # | ||
1084 | # CONFIG_ADFS_FS is not set | 1144 | # CONFIG_ADFS_FS is not set |
1085 | # CONFIG_AFFS_FS is not set | 1145 | # CONFIG_AFFS_FS is not set |
1086 | # CONFIG_HFS_FS is not set | 1146 | # CONFIG_HFS_FS is not set |
@@ -1099,17 +1159,8 @@ CONFIG_JFFS2_ZLIB=y | |||
1099 | # CONFIG_JFFS2_LZO is not set | 1159 | # CONFIG_JFFS2_LZO is not set |
1100 | CONFIG_JFFS2_RTIME=y | 1160 | CONFIG_JFFS2_RTIME=y |
1101 | # CONFIG_JFFS2_RUBIN is not set | 1161 | # CONFIG_JFFS2_RUBIN is not set |
1102 | CONFIG_YAFFS_FS=m | ||
1103 | CONFIG_YAFFS_YAFFS1=y | ||
1104 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1105 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1106 | CONFIG_YAFFS_YAFFS2=y | ||
1107 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1108 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1109 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1110 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1111 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1112 | # CONFIG_CRAMFS is not set | 1162 | # CONFIG_CRAMFS is not set |
1163 | # CONFIG_SQUASHFS is not set | ||
1113 | # CONFIG_VXFS_FS is not set | 1164 | # CONFIG_VXFS_FS is not set |
1114 | # CONFIG_MINIX_FS is not set | 1165 | # CONFIG_MINIX_FS is not set |
1115 | # CONFIG_OMFS_FS is not set | 1166 | # CONFIG_OMFS_FS is not set |
@@ -1128,7 +1179,6 @@ CONFIG_LOCKD=m | |||
1128 | CONFIG_LOCKD_V4=y | 1179 | CONFIG_LOCKD_V4=y |
1129 | CONFIG_NFS_COMMON=y | 1180 | CONFIG_NFS_COMMON=y |
1130 | CONFIG_SUNRPC=m | 1181 | CONFIG_SUNRPC=m |
1131 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1132 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1182 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1133 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1183 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1134 | CONFIG_SMB_FS=m | 1184 | CONFIG_SMB_FS=m |
@@ -1193,14 +1243,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1193 | CONFIG_ENABLE_MUST_CHECK=y | 1243 | CONFIG_ENABLE_MUST_CHECK=y |
1194 | CONFIG_FRAME_WARN=1024 | 1244 | CONFIG_FRAME_WARN=1024 |
1195 | # CONFIG_MAGIC_SYSRQ is not set | 1245 | # CONFIG_MAGIC_SYSRQ is not set |
1246 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1196 | # CONFIG_UNUSED_SYMBOLS is not set | 1247 | # CONFIG_UNUSED_SYMBOLS is not set |
1197 | CONFIG_DEBUG_FS=y | 1248 | CONFIG_DEBUG_FS=y |
1198 | # CONFIG_HEADERS_CHECK is not set | 1249 | # CONFIG_HEADERS_CHECK is not set |
1250 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1199 | CONFIG_DEBUG_KERNEL=y | 1251 | CONFIG_DEBUG_KERNEL=y |
1200 | CONFIG_DEBUG_SHIRQ=y | 1252 | CONFIG_DEBUG_SHIRQ=y |
1201 | CONFIG_DETECT_SOFTLOCKUP=y | 1253 | CONFIG_DETECT_SOFTLOCKUP=y |
1202 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1254 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1203 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1255 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1256 | CONFIG_DETECT_HUNG_TASK=y | ||
1257 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1258 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1204 | CONFIG_SCHED_DEBUG=y | 1259 | CONFIG_SCHED_DEBUG=y |
1205 | # CONFIG_SCHEDSTATS is not set | 1260 | # CONFIG_SCHEDSTATS is not set |
1206 | # CONFIG_TIMER_STATS is not set | 1261 | # CONFIG_TIMER_STATS is not set |
@@ -1208,31 +1263,39 @@ CONFIG_SCHED_DEBUG=y | |||
1208 | # CONFIG_DEBUG_SLAB is not set | 1263 | # CONFIG_DEBUG_SLAB is not set |
1209 | # CONFIG_DEBUG_SPINLOCK is not set | 1264 | # CONFIG_DEBUG_SPINLOCK is not set |
1210 | # CONFIG_DEBUG_MUTEXES is not set | 1265 | # CONFIG_DEBUG_MUTEXES is not set |
1266 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1267 | # CONFIG_PROVE_LOCKING is not set | ||
1268 | # CONFIG_LOCK_STAT is not set | ||
1211 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1269 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1212 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1270 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1213 | # CONFIG_DEBUG_KOBJECT is not set | 1271 | # CONFIG_DEBUG_KOBJECT is not set |
1214 | CONFIG_DEBUG_BUGVERBOSE=y | 1272 | CONFIG_DEBUG_BUGVERBOSE=y |
1215 | CONFIG_DEBUG_INFO=y | 1273 | CONFIG_DEBUG_INFO=y |
1216 | # CONFIG_DEBUG_VM is not set | 1274 | # CONFIG_DEBUG_VM is not set |
1275 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1217 | # CONFIG_DEBUG_WRITECOUNT is not set | 1276 | # CONFIG_DEBUG_WRITECOUNT is not set |
1218 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1277 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1219 | # CONFIG_DEBUG_LIST is not set | 1278 | # CONFIG_DEBUG_LIST is not set |
1220 | # CONFIG_DEBUG_SG is not set | 1279 | # CONFIG_DEBUG_SG is not set |
1280 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1281 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1221 | # CONFIG_FRAME_POINTER is not set | 1282 | # CONFIG_FRAME_POINTER is not set |
1222 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1283 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1223 | # CONFIG_RCU_TORTURE_TEST is not set | 1284 | # CONFIG_RCU_TORTURE_TEST is not set |
1224 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1285 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1225 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1286 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1226 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1287 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1288 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1227 | # CONFIG_FAULT_INJECTION is not set | 1289 | # CONFIG_FAULT_INJECTION is not set |
1228 | 1290 | # CONFIG_PAGE_POISONING is not set | |
1229 | # | 1291 | CONFIG_HAVE_FUNCTION_TRACER=y |
1230 | # Tracers | 1292 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1231 | # | 1293 | CONFIG_TRACING_SUPPORT=y |
1232 | # CONFIG_SCHED_TRACER is not set | 1294 | # CONFIG_FTRACE is not set |
1233 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1295 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1234 | # CONFIG_BOOT_TRACER is not set | 1296 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1235 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1297 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1298 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1236 | # CONFIG_SAMPLES is not set | 1299 | # CONFIG_SAMPLES is not set |
1237 | CONFIG_HAVE_ARCH_KGDB=y | 1300 | CONFIG_HAVE_ARCH_KGDB=y |
1238 | # CONFIG_KGDB is not set | 1301 | # CONFIG_KGDB is not set |
@@ -1257,6 +1320,7 @@ CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | |||
1257 | CONFIG_EARLY_PRINTK=y | 1320 | CONFIG_EARLY_PRINTK=y |
1258 | CONFIG_CPLB_INFO=y | 1321 | CONFIG_CPLB_INFO=y |
1259 | CONFIG_ACCESS_CHECK=y | 1322 | CONFIG_ACCESS_CHECK=y |
1323 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1260 | 1324 | ||
1261 | # | 1325 | # |
1262 | # Security options | 1326 | # Security options |
@@ -1265,14 +1329,14 @@ CONFIG_ACCESS_CHECK=y | |||
1265 | CONFIG_SECURITY=y | 1329 | CONFIG_SECURITY=y |
1266 | # CONFIG_SECURITYFS is not set | 1330 | # CONFIG_SECURITYFS is not set |
1267 | # CONFIG_SECURITY_NETWORK is not set | 1331 | # CONFIG_SECURITY_NETWORK is not set |
1332 | # CONFIG_SECURITY_PATH is not set | ||
1268 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1333 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1269 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1334 | # CONFIG_SECURITY_TOMOYO is not set |
1270 | CONFIG_CRYPTO=y | 1335 | CONFIG_CRYPTO=y |
1271 | 1336 | ||
1272 | # | 1337 | # |
1273 | # Crypto core or helper | 1338 | # Crypto core or helper |
1274 | # | 1339 | # |
1275 | # CONFIG_CRYPTO_FIPS is not set | ||
1276 | # CONFIG_CRYPTO_MANAGER is not set | 1340 | # CONFIG_CRYPTO_MANAGER is not set |
1277 | # CONFIG_CRYPTO_MANAGER2 is not set | 1341 | # CONFIG_CRYPTO_MANAGER2 is not set |
1278 | # CONFIG_CRYPTO_GF128MUL is not set | 1342 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1304,11 +1368,13 @@ CONFIG_CRYPTO=y | |||
1304 | # | 1368 | # |
1305 | # CONFIG_CRYPTO_HMAC is not set | 1369 | # CONFIG_CRYPTO_HMAC is not set |
1306 | # CONFIG_CRYPTO_XCBC is not set | 1370 | # CONFIG_CRYPTO_XCBC is not set |
1371 | # CONFIG_CRYPTO_VMAC is not set | ||
1307 | 1372 | ||
1308 | # | 1373 | # |
1309 | # Digest | 1374 | # Digest |
1310 | # | 1375 | # |
1311 | # CONFIG_CRYPTO_CRC32C is not set | 1376 | # CONFIG_CRYPTO_CRC32C is not set |
1377 | # CONFIG_CRYPTO_GHASH is not set | ||
1312 | # CONFIG_CRYPTO_MD4 is not set | 1378 | # CONFIG_CRYPTO_MD4 is not set |
1313 | # CONFIG_CRYPTO_MD5 is not set | 1379 | # CONFIG_CRYPTO_MD5 is not set |
1314 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1380 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1345,6 +1411,7 @@ CONFIG_CRYPTO=y | |||
1345 | # Compression | 1411 | # Compression |
1346 | # | 1412 | # |
1347 | # CONFIG_CRYPTO_DEFLATE is not set | 1413 | # CONFIG_CRYPTO_DEFLATE is not set |
1414 | # CONFIG_CRYPTO_ZLIB is not set | ||
1348 | # CONFIG_CRYPTO_LZO is not set | 1415 | # CONFIG_CRYPTO_LZO is not set |
1349 | 1416 | ||
1350 | # | 1417 | # |
@@ -1352,11 +1419,13 @@ CONFIG_CRYPTO=y | |||
1352 | # | 1419 | # |
1353 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1420 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1354 | CONFIG_CRYPTO_HW=y | 1421 | CONFIG_CRYPTO_HW=y |
1422 | # CONFIG_BINARY_PRINTF is not set | ||
1355 | 1423 | ||
1356 | # | 1424 | # |
1357 | # Library routines | 1425 | # Library routines |
1358 | # | 1426 | # |
1359 | CONFIG_BITREVERSE=y | 1427 | CONFIG_BITREVERSE=y |
1428 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1360 | CONFIG_CRC_CCITT=m | 1429 | CONFIG_CRC_CCITT=m |
1361 | # CONFIG_CRC16 is not set | 1430 | # CONFIG_CRC16 is not set |
1362 | # CONFIG_CRC_T10DIF is not set | 1431 | # CONFIG_CRC_T10DIF is not set |
@@ -1366,6 +1435,8 @@ CONFIG_CRC32=y | |||
1366 | # CONFIG_LIBCRC32C is not set | 1435 | # CONFIG_LIBCRC32C is not set |
1367 | CONFIG_ZLIB_INFLATE=y | 1436 | CONFIG_ZLIB_INFLATE=y |
1368 | CONFIG_ZLIB_DEFLATE=m | 1437 | CONFIG_ZLIB_DEFLATE=m |
1438 | CONFIG_DECOMPRESS_GZIP=y | ||
1369 | CONFIG_HAS_IOMEM=y | 1439 | CONFIG_HAS_IOMEM=y |
1370 | CONFIG_HAS_IOPORT=y | 1440 | CONFIG_HAS_IOPORT=y |
1371 | CONFIG_HAS_DMA=y | 1441 | CONFIG_HAS_DMA=y |
1442 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig index eb3e98b6f3f0..ca309cfc6ac4 100644 --- a/arch/blackfin/configs/BF548-EZKIT_defconfig +++ b/arch/blackfin/configs/BF548-EZKIT_defconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31.5 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Mon Nov 2 22:02:56 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -12,7 +11,6 @@ CONFIG_GENERIC_CSUM=y | |||
12 | CONFIG_GENERIC_BUG=y | 11 | CONFIG_GENERIC_BUG=y |
13 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
14 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
15 | CONFIG_GENERIC_HWEIGHT=y | ||
16 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
17 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
18 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
@@ -49,11 +47,12 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
49 | # | 47 | # |
50 | # RCU Subsystem | 48 | # RCU Subsystem |
51 | # | 49 | # |
52 | CONFIG_CLASSIC_RCU=y | 50 | CONFIG_TREE_RCU=y |
53 | # CONFIG_TREE_RCU is not set | 51 | # CONFIG_TREE_PREEMPT_RCU is not set |
54 | # CONFIG_PREEMPT_RCU is not set | 52 | # CONFIG_RCU_TRACE is not set |
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | 55 | # CONFIG_TREE_RCU_TRACE is not set |
56 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
57 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
58 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
59 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -89,24 +88,23 @@ CONFIG_EPOLL=y | |||
89 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
90 | 89 | ||
91 | # | 90 | # |
92 | # Performance Counters | 91 | # Kernel Performance Events And Counters |
93 | # | 92 | # |
94 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
95 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
97 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
98 | # CONFIG_SLUB is not set | 96 | # CONFIG_SLUB is not set |
99 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
100 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
101 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
102 | # CONFIG_MARKERS is not set | ||
103 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
104 | 101 | ||
105 | # | 102 | # |
106 | # GCOV-based kernel profiling | 103 | # GCOV-based kernel profiling |
107 | # | 104 | # |
108 | # CONFIG_GCOV_KERNEL is not set | 105 | # CONFIG_GCOV_KERNEL is not set |
109 | # CONFIG_SLOW_WORK is not set | 106 | CONFIG_SLOW_WORK=y |
107 | # CONFIG_SLOW_WORK_DEBUG is not set | ||
110 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 108 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
111 | CONFIG_SLABINFO=y | 109 | CONFIG_SLABINFO=y |
112 | CONFIG_BASE_SMALL=0 | 110 | CONFIG_BASE_SMALL=0 |
@@ -163,15 +161,15 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
163 | # CONFIG_BF537 is not set | 161 | # CONFIG_BF537 is not set |
164 | # CONFIG_BF538 is not set | 162 | # CONFIG_BF538 is not set |
165 | # CONFIG_BF539 is not set | 163 | # CONFIG_BF539 is not set |
166 | # CONFIG_BF542 is not set | 164 | # CONFIG_BF542_std is not set |
167 | # CONFIG_BF542M is not set | 165 | # CONFIG_BF542M is not set |
168 | # CONFIG_BF544 is not set | 166 | # CONFIG_BF544_std is not set |
169 | # CONFIG_BF544M is not set | 167 | # CONFIG_BF544M is not set |
170 | # CONFIG_BF547 is not set | 168 | # CONFIG_BF547_std is not set |
171 | # CONFIG_BF547M is not set | 169 | # CONFIG_BF547M is not set |
172 | CONFIG_BF548_std=y | 170 | CONFIG_BF548_std=y |
173 | # CONFIG_BF548M is not set | 171 | # CONFIG_BF548M is not set |
174 | # CONFIG_BF549 is not set | 172 | # CONFIG_BF549_std is not set |
175 | # CONFIG_BF549M is not set | 173 | # CONFIG_BF549M is not set |
176 | # CONFIG_BF561 is not set | 174 | # CONFIG_BF561 is not set |
177 | CONFIG_BF_REV_MIN=0 | 175 | CONFIG_BF_REV_MIN=0 |
@@ -185,7 +183,6 @@ CONFIG_BF_REV_0_2=y | |||
185 | # CONFIG_BF_REV_0_6 is not set | 183 | # CONFIG_BF_REV_0_6 is not set |
186 | # CONFIG_BF_REV_ANY is not set | 184 | # CONFIG_BF_REV_ANY is not set |
187 | # CONFIG_BF_REV_NONE is not set | 185 | # CONFIG_BF_REV_NONE is not set |
188 | CONFIG_BF54x=y | ||
189 | CONFIG_IRQ_PLL_WAKEUP=7 | 186 | CONFIG_IRQ_PLL_WAKEUP=7 |
190 | CONFIG_IRQ_RTC=8 | 187 | CONFIG_IRQ_RTC=8 |
191 | CONFIG_IRQ_SPORT0_RX=9 | 188 | CONFIG_IRQ_SPORT0_RX=9 |
@@ -221,6 +218,8 @@ CONFIG_IRQ_SPI1=10 | |||
221 | CONFIG_IRQ_SPI2=10 | 218 | CONFIG_IRQ_SPI2=10 |
222 | CONFIG_IRQ_TWI0=11 | 219 | CONFIG_IRQ_TWI0=11 |
223 | CONFIG_IRQ_TWI1=11 | 220 | CONFIG_IRQ_TWI1=11 |
221 | CONFIG_BF548=y | ||
222 | CONFIG_BF54x=y | ||
224 | CONFIG_BFIN548_EZKIT=y | 223 | CONFIG_BFIN548_EZKIT=y |
225 | # CONFIG_BFIN548_BLUETECHNIX_CM is not set | 224 | # CONFIG_BFIN548_BLUETECHNIX_CM is not set |
226 | 225 | ||
@@ -387,12 +386,14 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
387 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 386 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
388 | CONFIG_ZONE_DMA_FLAG=1 | 387 | CONFIG_ZONE_DMA_FLAG=1 |
389 | CONFIG_VIRT_TO_BUS=y | 388 | CONFIG_VIRT_TO_BUS=y |
390 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
391 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 | 389 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |
392 | CONFIG_BFIN_GPTIMERS=m | 390 | CONFIG_BFIN_GPTIMERS=m |
393 | # CONFIG_DMA_UNCACHED_4M is not set | 391 | # CONFIG_DMA_UNCACHED_4M is not set |
394 | CONFIG_DMA_UNCACHED_2M=y | 392 | CONFIG_DMA_UNCACHED_2M=y |
395 | # CONFIG_DMA_UNCACHED_1M is not set | 393 | # CONFIG_DMA_UNCACHED_1M is not set |
394 | # CONFIG_DMA_UNCACHED_512K is not set | ||
395 | # CONFIG_DMA_UNCACHED_256K is not set | ||
396 | # CONFIG_DMA_UNCACHED_128K is not set | ||
396 | # CONFIG_DMA_UNCACHED_NONE is not set | 397 | # CONFIG_DMA_UNCACHED_NONE is not set |
397 | 398 | ||
398 | # | 399 | # |
@@ -505,6 +506,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
505 | # CONFIG_NETFILTER is not set | 506 | # CONFIG_NETFILTER is not set |
506 | # CONFIG_IP_DCCP is not set | 507 | # CONFIG_IP_DCCP is not set |
507 | # CONFIG_IP_SCTP is not set | 508 | # CONFIG_IP_SCTP is not set |
509 | # CONFIG_RDS is not set | ||
508 | # CONFIG_TIPC is not set | 510 | # CONFIG_TIPC is not set |
509 | # CONFIG_ATM is not set | 511 | # CONFIG_ATM is not set |
510 | # CONFIG_BRIDGE is not set | 512 | # CONFIG_BRIDGE is not set |
@@ -528,7 +530,24 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
528 | # | 530 | # |
529 | # CONFIG_NET_PKTGEN is not set | 531 | # CONFIG_NET_PKTGEN is not set |
530 | # CONFIG_HAMRADIO is not set | 532 | # CONFIG_HAMRADIO is not set |
531 | # CONFIG_CAN is not set | 533 | CONFIG_CAN=m |
534 | CONFIG_CAN_RAW=m | ||
535 | CONFIG_CAN_BCM=m | ||
536 | |||
537 | # | ||
538 | # CAN Device Drivers | ||
539 | # | ||
540 | # CONFIG_CAN_VCAN is not set | ||
541 | CONFIG_CAN_DEV=m | ||
542 | # CONFIG_CAN_CALC_BITTIMING is not set | ||
543 | CONFIG_CAN_BFIN=m | ||
544 | # CONFIG_CAN_SJA1000 is not set | ||
545 | |||
546 | # | ||
547 | # CAN USB interfaces | ||
548 | # | ||
549 | # CONFIG_CAN_EMS_USB is not set | ||
550 | # CONFIG_CAN_DEBUG_DEVICES is not set | ||
532 | CONFIG_IRDA=m | 551 | CONFIG_IRDA=m |
533 | 552 | ||
534 | # | 553 | # |
@@ -663,6 +682,7 @@ CONFIG_MTD_PHYSMAP=y | |||
663 | # CONFIG_MTD_DATAFLASH is not set | 682 | # CONFIG_MTD_DATAFLASH is not set |
664 | CONFIG_MTD_M25P80=y | 683 | CONFIG_MTD_M25P80=y |
665 | CONFIG_M25PXX_USE_FAST_READ=y | 684 | CONFIG_M25PXX_USE_FAST_READ=y |
685 | # CONFIG_MTD_SST25L is not set | ||
666 | # CONFIG_MTD_SLRAM is not set | 686 | # CONFIG_MTD_SLRAM is not set |
667 | # CONFIG_MTD_PHRAM is not set | 687 | # CONFIG_MTD_PHRAM is not set |
668 | # CONFIG_MTD_MTDRAM is not set | 688 | # CONFIG_MTD_MTDRAM is not set |
@@ -711,10 +731,10 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
711 | # CONFIG_ATA_OVER_ETH is not set | 731 | # CONFIG_ATA_OVER_ETH is not set |
712 | # CONFIG_BLK_DEV_HD is not set | 732 | # CONFIG_BLK_DEV_HD is not set |
713 | CONFIG_MISC_DEVICES=y | 733 | CONFIG_MISC_DEVICES=y |
734 | # CONFIG_AD525X_DPOT is not set | ||
714 | # CONFIG_ICS932S401 is not set | 735 | # CONFIG_ICS932S401 is not set |
715 | # CONFIG_ENCLOSURE_SERVICES is not set | 736 | # CONFIG_ENCLOSURE_SERVICES is not set |
716 | # CONFIG_ISL29003 is not set | 737 | # CONFIG_ISL29003 is not set |
717 | # CONFIG_AD525X_DPOT is not set | ||
718 | # CONFIG_C2PORT is not set | 738 | # CONFIG_C2PORT is not set |
719 | 739 | ||
720 | # | 740 | # |
@@ -767,7 +787,8 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
767 | # CONFIG_SCSI_OSD_INITIATOR is not set | 787 | # CONFIG_SCSI_OSD_INITIATOR is not set |
768 | CONFIG_ATA=y | 788 | CONFIG_ATA=y |
769 | # CONFIG_ATA_NONSTANDARD is not set | 789 | # CONFIG_ATA_NONSTANDARD is not set |
770 | CONFIG_SATA_PMP=y | 790 | CONFIG_ATA_VERBOSE_ERROR=y |
791 | # CONFIG_SATA_PMP is not set | ||
771 | CONFIG_ATA_SFF=y | 792 | CONFIG_ATA_SFF=y |
772 | # CONFIG_SATA_MV is not set | 793 | # CONFIG_SATA_MV is not set |
773 | # CONFIG_PATA_PLATFORM is not set | 794 | # CONFIG_PATA_PLATFORM is not set |
@@ -808,6 +829,7 @@ CONFIG_MII=y | |||
808 | # CONFIG_ETHOC is not set | 829 | # CONFIG_ETHOC is not set |
809 | CONFIG_SMSC911X=y | 830 | CONFIG_SMSC911X=y |
810 | # CONFIG_DNET is not set | 831 | # CONFIG_DNET is not set |
832 | # CONFIG_ADF702X is not set | ||
811 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 833 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
812 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 834 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
813 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 835 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -818,12 +840,10 @@ CONFIG_SMSC911X=y | |||
818 | # CONFIG_B44 is not set | 840 | # CONFIG_B44 is not set |
819 | # CONFIG_KS8842 is not set | 841 | # CONFIG_KS8842 is not set |
820 | # CONFIG_KS8851 is not set | 842 | # CONFIG_KS8851 is not set |
843 | # CONFIG_KS8851_MLL is not set | ||
821 | # CONFIG_NETDEV_1000 is not set | 844 | # CONFIG_NETDEV_1000 is not set |
822 | # CONFIG_NETDEV_10000 is not set | 845 | # CONFIG_NETDEV_10000 is not set |
823 | 846 | CONFIG_WLAN=y | |
824 | # | ||
825 | # Wireless LAN | ||
826 | # | ||
827 | # CONFIG_WLAN_PRE80211 is not set | 847 | # CONFIG_WLAN_PRE80211 is not set |
828 | CONFIG_WLAN_80211=y | 848 | CONFIG_WLAN_80211=y |
829 | CONFIG_LIBERTAS=m | 849 | CONFIG_LIBERTAS=m |
@@ -877,10 +897,12 @@ CONFIG_INPUT_EVBUG=m | |||
877 | CONFIG_INPUT_KEYBOARD=y | 897 | CONFIG_INPUT_KEYBOARD=y |
878 | # CONFIG_KEYBOARD_ADP5588 is not set | 898 | # CONFIG_KEYBOARD_ADP5588 is not set |
879 | # CONFIG_KEYBOARD_ATKBD is not set | 899 | # CONFIG_KEYBOARD_ATKBD is not set |
900 | # CONFIG_QT2160 is not set | ||
880 | CONFIG_KEYBOARD_BFIN=y | 901 | CONFIG_KEYBOARD_BFIN=y |
881 | # CONFIG_KEYBOARD_LKKBD is not set | 902 | # CONFIG_KEYBOARD_LKKBD is not set |
882 | # CONFIG_KEYBOARD_GPIO is not set | 903 | # CONFIG_KEYBOARD_GPIO is not set |
883 | # CONFIG_KEYBOARD_MATRIX is not set | 904 | # CONFIG_KEYBOARD_MATRIX is not set |
905 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
884 | # CONFIG_KEYBOARD_NEWTON is not set | 906 | # CONFIG_KEYBOARD_NEWTON is not set |
885 | # CONFIG_KEYBOARD_OPENCORES is not set | 907 | # CONFIG_KEYBOARD_OPENCORES is not set |
886 | # CONFIG_KEYBOARD_STOWAWAY is not set | 908 | # CONFIG_KEYBOARD_STOWAWAY is not set |
@@ -900,6 +922,7 @@ CONFIG_TOUCHSCREEN_AD7877=m | |||
900 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 922 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
901 | # CONFIG_TOUCHSCREEN_ELO is not set | 923 | # CONFIG_TOUCHSCREEN_ELO is not set |
902 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | 924 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set |
925 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
903 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 926 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
904 | # CONFIG_TOUCHSCREEN_INEXIO is not set | 927 | # CONFIG_TOUCHSCREEN_INEXIO is not set |
905 | # CONFIG_TOUCHSCREEN_MK712 is not set | 928 | # CONFIG_TOUCHSCREEN_MK712 is not set |
@@ -910,7 +933,6 @@ CONFIG_TOUCHSCREEN_AD7877=m | |||
910 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | 933 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set |
911 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | 934 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
912 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | 935 | # CONFIG_TOUCHSCREEN_TSC2007 is not set |
913 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
914 | CONFIG_INPUT_MISC=y | 936 | CONFIG_INPUT_MISC=y |
915 | # CONFIG_INPUT_ATI_REMOTE is not set | 937 | # CONFIG_INPUT_ATI_REMOTE is not set |
916 | # CONFIG_INPUT_ATI_REMOTE2 is not set | 938 | # CONFIG_INPUT_ATI_REMOTE2 is not set |
@@ -976,11 +998,6 @@ CONFIG_UNIX98_PTYS=y | |||
976 | # CONFIG_LEGACY_PTYS is not set | 998 | # CONFIG_LEGACY_PTYS is not set |
977 | CONFIG_BFIN_OTP=y | 999 | CONFIG_BFIN_OTP=y |
978 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | 1000 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set |
979 | |||
980 | # | ||
981 | # CAN, the car bus and industrial fieldbus | ||
982 | # | ||
983 | # CONFIG_CAN4LINUX is not set | ||
984 | # CONFIG_IPMI_HANDLER is not set | 1001 | # CONFIG_IPMI_HANDLER is not set |
985 | # CONFIG_HW_RANDOM is not set | 1002 | # CONFIG_HW_RANDOM is not set |
986 | # CONFIG_R3964 is not set | 1003 | # CONFIG_R3964 is not set |
@@ -988,6 +1005,7 @@ CONFIG_BFIN_OTP=y | |||
988 | # CONFIG_TCG_TPM is not set | 1005 | # CONFIG_TCG_TPM is not set |
989 | CONFIG_I2C=y | 1006 | CONFIG_I2C=y |
990 | CONFIG_I2C_BOARDINFO=y | 1007 | CONFIG_I2C_BOARDINFO=y |
1008 | CONFIG_I2C_COMPAT=y | ||
991 | CONFIG_I2C_CHARDEV=y | 1009 | CONFIG_I2C_CHARDEV=y |
992 | CONFIG_I2C_HELPER_AUTO=y | 1010 | CONFIG_I2C_HELPER_AUTO=y |
993 | 1011 | ||
@@ -1021,9 +1039,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
1021 | # Miscellaneous I2C Chip support | 1039 | # Miscellaneous I2C Chip support |
1022 | # | 1040 | # |
1023 | # CONFIG_DS1682 is not set | 1041 | # CONFIG_DS1682 is not set |
1024 | # CONFIG_SENSORS_PCF8574 is not set | ||
1025 | # CONFIG_PCF8575 is not set | ||
1026 | # CONFIG_SENSORS_PCA9539 is not set | ||
1027 | # CONFIG_SENSORS_TSL2550 is not set | 1042 | # CONFIG_SENSORS_TSL2550 is not set |
1028 | # CONFIG_I2C_DEBUG_CORE is not set | 1043 | # CONFIG_I2C_DEBUG_CORE is not set |
1029 | # CONFIG_I2C_DEBUG_ALGO is not set | 1044 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -1078,11 +1093,15 @@ CONFIG_GPIO_SYSFS=y | |||
1078 | # | 1093 | # |
1079 | # CONFIG_GPIO_MAX7301 is not set | 1094 | # CONFIG_GPIO_MAX7301 is not set |
1080 | # CONFIG_GPIO_MCP23S08 is not set | 1095 | # CONFIG_GPIO_MCP23S08 is not set |
1096 | # CONFIG_GPIO_MC33880 is not set | ||
1097 | |||
1098 | # | ||
1099 | # AC97 GPIO expanders: | ||
1100 | # | ||
1081 | # CONFIG_W1 is not set | 1101 | # CONFIG_W1 is not set |
1082 | # CONFIG_POWER_SUPPLY is not set | 1102 | # CONFIG_POWER_SUPPLY is not set |
1083 | # CONFIG_HWMON is not set | 1103 | # CONFIG_HWMON is not set |
1084 | # CONFIG_THERMAL is not set | 1104 | # CONFIG_THERMAL is not set |
1085 | # CONFIG_THERMAL_HWMON is not set | ||
1086 | CONFIG_WATCHDOG=y | 1105 | CONFIG_WATCHDOG=y |
1087 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 1106 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
1088 | 1107 | ||
@@ -1116,8 +1135,10 @@ CONFIG_SSB_POSSIBLE=y | |||
1116 | # CONFIG_PMIC_DA903X is not set | 1135 | # CONFIG_PMIC_DA903X is not set |
1117 | # CONFIG_PMIC_ADP5520 is not set | 1136 | # CONFIG_PMIC_ADP5520 is not set |
1118 | # CONFIG_MFD_WM8400 is not set | 1137 | # CONFIG_MFD_WM8400 is not set |
1138 | # CONFIG_MFD_WM831X is not set | ||
1119 | # CONFIG_MFD_WM8350_I2C is not set | 1139 | # CONFIG_MFD_WM8350_I2C is not set |
1120 | # CONFIG_MFD_PCF50633 is not set | 1140 | # CONFIG_MFD_PCF50633 is not set |
1141 | # CONFIG_MFD_MC13783 is not set | ||
1121 | # CONFIG_AB3100_CORE is not set | 1142 | # CONFIG_AB3100_CORE is not set |
1122 | # CONFIG_EZX_PCAP is not set | 1143 | # CONFIG_EZX_PCAP is not set |
1123 | # CONFIG_REGULATOR is not set | 1144 | # CONFIG_REGULATOR is not set |
@@ -1192,6 +1213,7 @@ CONFIG_LOGO=y | |||
1192 | CONFIG_LOGO_BLACKFIN_CLUT224=y | 1213 | CONFIG_LOGO_BLACKFIN_CLUT224=y |
1193 | CONFIG_SOUND=y | 1214 | CONFIG_SOUND=y |
1194 | CONFIG_SOUND_OSS_CORE=y | 1215 | CONFIG_SOUND_OSS_CORE=y |
1216 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
1195 | CONFIG_SND=y | 1217 | CONFIG_SND=y |
1196 | CONFIG_SND_TIMER=y | 1218 | CONFIG_SND_TIMER=y |
1197 | CONFIG_SND_PCM=y | 1219 | CONFIG_SND_PCM=y |
@@ -1245,7 +1267,6 @@ CONFIG_SND_SOC_AD1980=y | |||
1245 | CONFIG_AC97_BUS=y | 1267 | CONFIG_AC97_BUS=y |
1246 | CONFIG_HID_SUPPORT=y | 1268 | CONFIG_HID_SUPPORT=y |
1247 | CONFIG_HID=y | 1269 | CONFIG_HID=y |
1248 | # CONFIG_HID_DEBUG is not set | ||
1249 | # CONFIG_HIDRAW is not set | 1270 | # CONFIG_HIDRAW is not set |
1250 | 1271 | ||
1251 | # | 1272 | # |
@@ -1268,6 +1289,7 @@ CONFIG_HID_CYPRESS=y | |||
1268 | CONFIG_HID_EZKEY=y | 1289 | CONFIG_HID_EZKEY=y |
1269 | # CONFIG_HID_KYE is not set | 1290 | # CONFIG_HID_KYE is not set |
1270 | CONFIG_HID_GYRATION=y | 1291 | CONFIG_HID_GYRATION=y |
1292 | # CONFIG_HID_TWINHAN is not set | ||
1271 | # CONFIG_HID_KENSINGTON is not set | 1293 | # CONFIG_HID_KENSINGTON is not set |
1272 | CONFIG_HID_LOGITECH=y | 1294 | CONFIG_HID_LOGITECH=y |
1273 | # CONFIG_LOGITECH_FF is not set | 1295 | # CONFIG_LOGITECH_FF is not set |
@@ -1422,10 +1444,11 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
1422 | # MMC/SD/SDIO Host Controller Drivers | 1444 | # MMC/SD/SDIO Host Controller Drivers |
1423 | # | 1445 | # |
1424 | # CONFIG_MMC_SDHCI is not set | 1446 | # CONFIG_MMC_SDHCI is not set |
1447 | # CONFIG_MMC_AT91 is not set | ||
1448 | # CONFIG_MMC_ATMELMCI is not set | ||
1449 | # CONFIG_MMC_SPI is not set | ||
1425 | CONFIG_SDH_BFIN=y | 1450 | CONFIG_SDH_BFIN=y |
1426 | # CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND is not set | 1451 | # CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND is not set |
1427 | # CONFIG_SDH_BFIN_ENABLE_SDIO_IRQ is not set | ||
1428 | # CONFIG_MMC_SPI is not set | ||
1429 | # CONFIG_MEMSTICK is not set | 1452 | # CONFIG_MEMSTICK is not set |
1430 | # CONFIG_NEW_LEDS is not set | 1453 | # CONFIG_NEW_LEDS is not set |
1431 | # CONFIG_ACCESSIBILITY is not set | 1454 | # CONFIG_ACCESSIBILITY is not set |
@@ -1472,6 +1495,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1472 | # CONFIG_RTC_DRV_R9701 is not set | 1495 | # CONFIG_RTC_DRV_R9701 is not set |
1473 | # CONFIG_RTC_DRV_RS5C348 is not set | 1496 | # CONFIG_RTC_DRV_RS5C348 is not set |
1474 | # CONFIG_RTC_DRV_DS3234 is not set | 1497 | # CONFIG_RTC_DRV_DS3234 is not set |
1498 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1475 | 1499 | ||
1476 | # | 1500 | # |
1477 | # Platform RTC drivers | 1501 | # Platform RTC drivers |
@@ -1522,6 +1546,7 @@ CONFIG_FS_MBCACHE=y | |||
1522 | # CONFIG_XFS_FS is not set | 1546 | # CONFIG_XFS_FS is not set |
1523 | # CONFIG_OCFS2_FS is not set | 1547 | # CONFIG_OCFS2_FS is not set |
1524 | # CONFIG_BTRFS_FS is not set | 1548 | # CONFIG_BTRFS_FS is not set |
1549 | # CONFIG_NILFS2_FS is not set | ||
1525 | CONFIG_FILE_LOCKING=y | 1550 | CONFIG_FILE_LOCKING=y |
1526 | CONFIG_FSNOTIFY=y | 1551 | CONFIG_FSNOTIFY=y |
1527 | # CONFIG_DNOTIFY is not set | 1552 | # CONFIG_DNOTIFY is not set |
@@ -1563,7 +1588,6 @@ CONFIG_NTFS_RW=y | |||
1563 | CONFIG_PROC_FS=y | 1588 | CONFIG_PROC_FS=y |
1564 | CONFIG_PROC_SYSCTL=y | 1589 | CONFIG_PROC_SYSCTL=y |
1565 | CONFIG_SYSFS=y | 1590 | CONFIG_SYSFS=y |
1566 | # CONFIG_TMPFS is not set | ||
1567 | # CONFIG_HUGETLB_PAGE is not set | 1591 | # CONFIG_HUGETLB_PAGE is not set |
1568 | # CONFIG_CONFIGFS_FS is not set | 1592 | # CONFIG_CONFIGFS_FS is not set |
1569 | CONFIG_MISC_FILESYSTEMS=y | 1593 | CONFIG_MISC_FILESYSTEMS=y |
@@ -1595,7 +1619,6 @@ CONFIG_JFFS2_RTIME=y | |||
1595 | # CONFIG_ROMFS_FS is not set | 1619 | # CONFIG_ROMFS_FS is not set |
1596 | # CONFIG_SYSV_FS is not set | 1620 | # CONFIG_SYSV_FS is not set |
1597 | # CONFIG_UFS_FS is not set | 1621 | # CONFIG_UFS_FS is not set |
1598 | # CONFIG_NILFS2_FS is not set | ||
1599 | CONFIG_NETWORK_FILESYSTEMS=y | 1622 | CONFIG_NETWORK_FILESYSTEMS=y |
1600 | CONFIG_NFS_FS=m | 1623 | CONFIG_NFS_FS=m |
1601 | CONFIG_NFS_V3=y | 1624 | CONFIG_NFS_V3=y |
@@ -1680,6 +1703,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1680 | CONFIG_ENABLE_MUST_CHECK=y | 1703 | CONFIG_ENABLE_MUST_CHECK=y |
1681 | CONFIG_FRAME_WARN=1024 | 1704 | CONFIG_FRAME_WARN=1024 |
1682 | # CONFIG_MAGIC_SYSRQ is not set | 1705 | # CONFIG_MAGIC_SYSRQ is not set |
1706 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1683 | # CONFIG_UNUSED_SYMBOLS is not set | 1707 | # CONFIG_UNUSED_SYMBOLS is not set |
1684 | CONFIG_DEBUG_FS=y | 1708 | CONFIG_DEBUG_FS=y |
1685 | # CONFIG_HEADERS_CHECK is not set | 1709 | # CONFIG_HEADERS_CHECK is not set |
@@ -1714,12 +1738,14 @@ CONFIG_DEBUG_INFO=y | |||
1714 | # CONFIG_DEBUG_LIST is not set | 1738 | # CONFIG_DEBUG_LIST is not set |
1715 | # CONFIG_DEBUG_SG is not set | 1739 | # CONFIG_DEBUG_SG is not set |
1716 | # CONFIG_DEBUG_NOTIFIERS is not set | 1740 | # CONFIG_DEBUG_NOTIFIERS is not set |
1741 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1717 | # CONFIG_FRAME_POINTER is not set | 1742 | # CONFIG_FRAME_POINTER is not set |
1718 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1743 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1719 | # CONFIG_RCU_TORTURE_TEST is not set | 1744 | # CONFIG_RCU_TORTURE_TEST is not set |
1720 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1745 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1721 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1746 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1722 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1747 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1748 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1723 | # CONFIG_FAULT_INJECTION is not set | 1749 | # CONFIG_FAULT_INJECTION is not set |
1724 | # CONFIG_PAGE_POISONING is not set | 1750 | # CONFIG_PAGE_POISONING is not set |
1725 | CONFIG_HAVE_FUNCTION_TRACER=y | 1751 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -1730,7 +1756,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1730 | # CONFIG_SAMPLES is not set | 1756 | # CONFIG_SAMPLES is not set |
1731 | CONFIG_HAVE_ARCH_KGDB=y | 1757 | CONFIG_HAVE_ARCH_KGDB=y |
1732 | # CONFIG_KGDB is not set | 1758 | # CONFIG_KGDB is not set |
1733 | # CONFIG_KMEMCHECK is not set | ||
1734 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1759 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1735 | # CONFIG_DEBUG_STACK_USAGE is not set | 1760 | # CONFIG_DEBUG_STACK_USAGE is not set |
1736 | CONFIG_DEBUG_VERBOSE=y | 1761 | CONFIG_DEBUG_VERBOSE=y |
@@ -1766,7 +1791,6 @@ CONFIG_CRYPTO=y | |||
1766 | # | 1791 | # |
1767 | # Crypto core or helper | 1792 | # Crypto core or helper |
1768 | # | 1793 | # |
1769 | # CONFIG_CRYPTO_FIPS is not set | ||
1770 | # CONFIG_CRYPTO_MANAGER is not set | 1794 | # CONFIG_CRYPTO_MANAGER is not set |
1771 | # CONFIG_CRYPTO_MANAGER2 is not set | 1795 | # CONFIG_CRYPTO_MANAGER2 is not set |
1772 | # CONFIG_CRYPTO_GF128MUL is not set | 1796 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1798,11 +1822,13 @@ CONFIG_CRYPTO=y | |||
1798 | # | 1822 | # |
1799 | # CONFIG_CRYPTO_HMAC is not set | 1823 | # CONFIG_CRYPTO_HMAC is not set |
1800 | # CONFIG_CRYPTO_XCBC is not set | 1824 | # CONFIG_CRYPTO_XCBC is not set |
1825 | # CONFIG_CRYPTO_VMAC is not set | ||
1801 | 1826 | ||
1802 | # | 1827 | # |
1803 | # Digest | 1828 | # Digest |
1804 | # | 1829 | # |
1805 | # CONFIG_CRYPTO_CRC32C is not set | 1830 | # CONFIG_CRYPTO_CRC32C is not set |
1831 | # CONFIG_CRYPTO_GHASH is not set | ||
1806 | # CONFIG_CRYPTO_MD4 is not set | 1832 | # CONFIG_CRYPTO_MD4 is not set |
1807 | # CONFIG_CRYPTO_MD5 is not set | 1833 | # CONFIG_CRYPTO_MD5 is not set |
1808 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1834 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
diff --git a/arch/blackfin/configs/BF561-ACVILON_defconfig b/arch/blackfin/configs/BF561-ACVILON_defconfig index b9b0f93d0bd3..6a776ce75e9c 100644 --- a/arch/blackfin/configs/BF561-ACVILON_defconfig +++ b/arch/blackfin/configs/BF561-ACVILON_defconfig | |||
@@ -114,7 +114,7 @@ CONFIG_MODULE_UNLOAD=y | |||
114 | # CONFIG_MODVERSIONS is not set | 114 | # CONFIG_MODVERSIONS is not set |
115 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
116 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
117 | CONFIG_LBDAF=y | 117 | # CONFIG_LBDAF is not set |
118 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
119 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
120 | 120 | ||
@@ -1486,19 +1486,10 @@ CONFIG_DEBUG_INFO=y | |||
1486 | CONFIG_HAVE_FUNCTION_TRACER=y | 1486 | CONFIG_HAVE_FUNCTION_TRACER=y |
1487 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1487 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1488 | CONFIG_TRACING_SUPPORT=y | 1488 | CONFIG_TRACING_SUPPORT=y |
1489 | CONFIG_FTRACE=y | 1489 | # CONFIG_FTRACE is not set |
1490 | # CONFIG_FUNCTION_TRACER is not set | 1490 | # CONFIG_BRANCH_PROFILE_NONE is not set |
1491 | # CONFIG_IRQSOFF_TRACER is not set | ||
1492 | # CONFIG_SCHED_TRACER is not set | ||
1493 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1494 | # CONFIG_BOOT_TRACER is not set | ||
1495 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1496 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | 1491 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
1497 | # CONFIG_PROFILE_ALL_BRANCHES is not set | 1492 | # CONFIG_PROFILE_ALL_BRANCHES is not set |
1498 | # CONFIG_STACK_TRACER is not set | ||
1499 | # CONFIG_KMEMTRACE is not set | ||
1500 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1501 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1502 | # CONFIG_DYNAMIC_DEBUG is not set | 1493 | # CONFIG_DYNAMIC_DEBUG is not set |
1503 | # CONFIG_SAMPLES is not set | 1494 | # CONFIG_SAMPLES is not set |
1504 | CONFIG_HAVE_ARCH_KGDB=y | 1495 | CONFIG_HAVE_ARCH_KGDB=y |
diff --git a/arch/blackfin/configs/BF561-EZKIT_defconfig b/arch/blackfin/configs/BF561-EZKIT_defconfig index e3ecdcc3e76b..792ff0938835 100644 --- a/arch/blackfin/configs/BF561-EZKIT_defconfig +++ b/arch/blackfin/configs/BF561-EZKIT_defconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31.5 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # Mon Nov 2 21:59:31 2009 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -12,7 +11,6 @@ CONFIG_GENERIC_CSUM=y | |||
12 | CONFIG_GENERIC_BUG=y | 11 | CONFIG_GENERIC_BUG=y |
13 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
14 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
15 | CONFIG_GENERIC_HWEIGHT=y | ||
16 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
17 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
18 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
@@ -49,11 +47,12 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
49 | # | 47 | # |
50 | # RCU Subsystem | 48 | # RCU Subsystem |
51 | # | 49 | # |
52 | CONFIG_CLASSIC_RCU=y | 50 | CONFIG_TREE_RCU=y |
53 | # CONFIG_TREE_RCU is not set | 51 | # CONFIG_TREE_PREEMPT_RCU is not set |
54 | # CONFIG_PREEMPT_RCU is not set | 52 | # CONFIG_RCU_TRACE is not set |
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | 55 | # CONFIG_TREE_RCU_TRACE is not set |
56 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
57 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y |
58 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y |
59 | CONFIG_LOG_BUF_SHIFT=14 | 58 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -89,17 +88,15 @@ CONFIG_EPOLL=y | |||
89 | # CONFIG_AIO is not set | 88 | # CONFIG_AIO is not set |
90 | 89 | ||
91 | # | 90 | # |
92 | # Performance Counters | 91 | # Kernel Performance Events And Counters |
93 | # | 92 | # |
94 | CONFIG_VM_EVENT_COUNTERS=y | 93 | CONFIG_VM_EVENT_COUNTERS=y |
95 | # CONFIG_STRIP_ASM_SYMS is not set | ||
96 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
97 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
98 | # CONFIG_SLUB is not set | 96 | # CONFIG_SLUB is not set |
99 | # CONFIG_SLOB is not set | 97 | # CONFIG_SLOB is not set |
100 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
101 | # CONFIG_PROFILING is not set | 99 | # CONFIG_PROFILING is not set |
102 | # CONFIG_MARKERS is not set | ||
103 | CONFIG_HAVE_OPROFILE=y | 100 | CONFIG_HAVE_OPROFILE=y |
104 | 101 | ||
105 | # | 102 | # |
@@ -163,15 +160,15 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
163 | # CONFIG_BF537 is not set | 160 | # CONFIG_BF537 is not set |
164 | # CONFIG_BF538 is not set | 161 | # CONFIG_BF538 is not set |
165 | # CONFIG_BF539 is not set | 162 | # CONFIG_BF539 is not set |
166 | # CONFIG_BF542 is not set | 163 | # CONFIG_BF542_std is not set |
167 | # CONFIG_BF542M is not set | 164 | # CONFIG_BF542M is not set |
168 | # CONFIG_BF544 is not set | 165 | # CONFIG_BF544_std is not set |
169 | # CONFIG_BF544M is not set | 166 | # CONFIG_BF544M is not set |
170 | # CONFIG_BF547 is not set | 167 | # CONFIG_BF547_std is not set |
171 | # CONFIG_BF547M is not set | 168 | # CONFIG_BF547M is not set |
172 | # CONFIG_BF548 is not set | 169 | # CONFIG_BF548_std is not set |
173 | # CONFIG_BF548M is not set | 170 | # CONFIG_BF548M is not set |
174 | # CONFIG_BF549 is not set | 171 | # CONFIG_BF549_std is not set |
175 | # CONFIG_BF549M is not set | 172 | # CONFIG_BF549M is not set |
176 | CONFIG_BF561=y | 173 | CONFIG_BF561=y |
177 | # CONFIG_SMP is not set | 174 | # CONFIG_SMP is not set |
@@ -180,9 +177,9 @@ CONFIG_BF_REV_MAX=5 | |||
180 | # CONFIG_BF_REV_0_0 is not set | 177 | # CONFIG_BF_REV_0_0 is not set |
181 | # CONFIG_BF_REV_0_1 is not set | 178 | # CONFIG_BF_REV_0_1 is not set |
182 | # CONFIG_BF_REV_0_2 is not set | 179 | # CONFIG_BF_REV_0_2 is not set |
183 | # CONFIG_BF_REV_0_3 is not set | 180 | CONFIG_BF_REV_0_3=y |
184 | # CONFIG_BF_REV_0_4 is not set | 181 | # CONFIG_BF_REV_0_4 is not set |
185 | CONFIG_BF_REV_0_5=y | 182 | # CONFIG_BF_REV_0_5 is not set |
186 | # CONFIG_BF_REV_0_6 is not set | 183 | # CONFIG_BF_REV_0_6 is not set |
187 | # CONFIG_BF_REV_ANY is not set | 184 | # CONFIG_BF_REV_ANY is not set |
188 | # CONFIG_BF_REV_NONE is not set | 185 | # CONFIG_BF_REV_NONE is not set |
@@ -298,7 +295,7 @@ CONFIG_GENERIC_TIME=y | |||
298 | CONFIG_GENERIC_CLOCKEVENTS=y | 295 | CONFIG_GENERIC_CLOCKEVENTS=y |
299 | # CONFIG_TICKSOURCE_GPTMR0 is not set | 296 | # CONFIG_TICKSOURCE_GPTMR0 is not set |
300 | CONFIG_TICKSOURCE_CORETMR=y | 297 | CONFIG_TICKSOURCE_CORETMR=y |
301 | # CONFIG_CYCLES_CLOCKSOURCE is not set | 298 | CONFIG_CYCLES_CLOCKSOURCE=y |
302 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | 299 | # CONFIG_GPTMR0_CLOCKSOURCE is not set |
303 | CONFIG_TICK_ONESHOT=y | 300 | CONFIG_TICK_ONESHOT=y |
304 | # CONFIG_NO_HZ is not set | 301 | # CONFIG_NO_HZ is not set |
@@ -353,12 +350,14 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
353 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 350 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
354 | CONFIG_ZONE_DMA_FLAG=1 | 351 | CONFIG_ZONE_DMA_FLAG=1 |
355 | CONFIG_VIRT_TO_BUS=y | 352 | CONFIG_VIRT_TO_BUS=y |
356 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
357 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 | 353 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |
358 | CONFIG_BFIN_GPTIMERS=m | 354 | CONFIG_BFIN_GPTIMERS=m |
359 | # CONFIG_DMA_UNCACHED_4M is not set | 355 | # CONFIG_DMA_UNCACHED_4M is not set |
360 | # CONFIG_DMA_UNCACHED_2M is not set | 356 | # CONFIG_DMA_UNCACHED_2M is not set |
361 | CONFIG_DMA_UNCACHED_1M=y | 357 | CONFIG_DMA_UNCACHED_1M=y |
358 | # CONFIG_DMA_UNCACHED_512K is not set | ||
359 | # CONFIG_DMA_UNCACHED_256K is not set | ||
360 | # CONFIG_DMA_UNCACHED_128K is not set | ||
362 | # CONFIG_DMA_UNCACHED_NONE is not set | 361 | # CONFIG_DMA_UNCACHED_NONE is not set |
363 | 362 | ||
364 | # | 363 | # |
@@ -370,9 +369,11 @@ CONFIG_BFIN_EXTMEM_ICACHEABLE=y | |||
370 | CONFIG_BFIN_DCACHE=y | 369 | CONFIG_BFIN_DCACHE=y |
371 | # CONFIG_BFIN_DCACHE_BANKA is not set | 370 | # CONFIG_BFIN_DCACHE_BANKA is not set |
372 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 371 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
373 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 372 | # CONFIG_BFIN_EXTMEM_WRITEBACK is not set |
374 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 373 | CONFIG_BFIN_EXTMEM_WRITETHROUGH=y |
375 | # CONFIG_BFIN_L2_DCACHEABLE is not set | 374 | CONFIG_BFIN_L2_DCACHEABLE=y |
375 | # CONFIG_BFIN_L2_WRITEBACK is not set | ||
376 | CONFIG_BFIN_L2_WRITETHROUGH=y | ||
376 | 377 | ||
377 | # | 378 | # |
378 | # Memory Protection Unit | 379 | # Memory Protection Unit |
@@ -472,6 +473,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
472 | # CONFIG_NETFILTER is not set | 473 | # CONFIG_NETFILTER is not set |
473 | # CONFIG_IP_DCCP is not set | 474 | # CONFIG_IP_DCCP is not set |
474 | # CONFIG_IP_SCTP is not set | 475 | # CONFIG_IP_SCTP is not set |
476 | # CONFIG_RDS is not set | ||
475 | # CONFIG_TIPC is not set | 477 | # CONFIG_TIPC is not set |
476 | # CONFIG_ATM is not set | 478 | # CONFIG_ATM is not set |
477 | # CONFIG_BRIDGE is not set | 479 | # CONFIG_BRIDGE is not set |
@@ -613,6 +615,7 @@ CONFIG_MTD_PHYSMAP=m | |||
613 | # | 615 | # |
614 | # CONFIG_MTD_DATAFLASH is not set | 616 | # CONFIG_MTD_DATAFLASH is not set |
615 | # CONFIG_MTD_M25P80 is not set | 617 | # CONFIG_MTD_M25P80 is not set |
618 | # CONFIG_MTD_SST25L is not set | ||
616 | # CONFIG_MTD_SLRAM is not set | 619 | # CONFIG_MTD_SLRAM is not set |
617 | # CONFIG_MTD_PHRAM is not set | 620 | # CONFIG_MTD_PHRAM is not set |
618 | # CONFIG_MTD_MTDRAM is not set | 621 | # CONFIG_MTD_MTDRAM is not set |
@@ -685,6 +688,7 @@ CONFIG_SMC91X=y | |||
685 | # CONFIG_ETHOC is not set | 688 | # CONFIG_ETHOC is not set |
686 | # CONFIG_SMSC911X is not set | 689 | # CONFIG_SMSC911X is not set |
687 | # CONFIG_DNET is not set | 690 | # CONFIG_DNET is not set |
691 | # CONFIG_ADF702X is not set | ||
688 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 692 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
689 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 693 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
690 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 694 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -695,14 +699,10 @@ CONFIG_SMC91X=y | |||
695 | # CONFIG_B44 is not set | 699 | # CONFIG_B44 is not set |
696 | # CONFIG_KS8842 is not set | 700 | # CONFIG_KS8842 is not set |
697 | # CONFIG_KS8851 is not set | 701 | # CONFIG_KS8851 is not set |
702 | # CONFIG_KS8851_MLL is not set | ||
698 | # CONFIG_NETDEV_1000 is not set | 703 | # CONFIG_NETDEV_1000 is not set |
699 | # CONFIG_NETDEV_10000 is not set | 704 | # CONFIG_NETDEV_10000 is not set |
700 | 705 | # CONFIG_WLAN is not set | |
701 | # | ||
702 | # Wireless LAN | ||
703 | # | ||
704 | # CONFIG_WLAN_PRE80211 is not set | ||
705 | # CONFIG_WLAN_80211 is not set | ||
706 | 706 | ||
707 | # | 707 | # |
708 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 708 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -782,11 +782,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
782 | CONFIG_UNIX98_PTYS=y | 782 | CONFIG_UNIX98_PTYS=y |
783 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 783 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
784 | # CONFIG_LEGACY_PTYS is not set | 784 | # CONFIG_LEGACY_PTYS is not set |
785 | |||
786 | # | ||
787 | # CAN, the car bus and industrial fieldbus | ||
788 | # | ||
789 | # CONFIG_CAN4LINUX is not set | ||
790 | # CONFIG_IPMI_HANDLER is not set | 785 | # CONFIG_IPMI_HANDLER is not set |
791 | # CONFIG_HW_RANDOM is not set | 786 | # CONFIG_HW_RANDOM is not set |
792 | # CONFIG_R3964 is not set | 787 | # CONFIG_R3964 is not set |
@@ -838,11 +833,15 @@ CONFIG_GPIO_SYSFS=y | |||
838 | # | 833 | # |
839 | # CONFIG_GPIO_MAX7301 is not set | 834 | # CONFIG_GPIO_MAX7301 is not set |
840 | # CONFIG_GPIO_MCP23S08 is not set | 835 | # CONFIG_GPIO_MCP23S08 is not set |
836 | # CONFIG_GPIO_MC33880 is not set | ||
837 | |||
838 | # | ||
839 | # AC97 GPIO expanders: | ||
840 | # | ||
841 | # CONFIG_W1 is not set | 841 | # CONFIG_W1 is not set |
842 | # CONFIG_POWER_SUPPLY is not set | 842 | # CONFIG_POWER_SUPPLY is not set |
843 | # CONFIG_HWMON is not set | 843 | # CONFIG_HWMON is not set |
844 | # CONFIG_THERMAL is not set | 844 | # CONFIG_THERMAL is not set |
845 | # CONFIG_THERMAL_HWMON is not set | ||
846 | CONFIG_WATCHDOG=y | 845 | CONFIG_WATCHDOG=y |
847 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 846 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
848 | 847 | ||
@@ -865,6 +864,7 @@ CONFIG_SSB_POSSIBLE=y | |||
865 | # CONFIG_MFD_SM501 is not set | 864 | # CONFIG_MFD_SM501 is not set |
866 | # CONFIG_HTC_PASIC3 is not set | 865 | # CONFIG_HTC_PASIC3 is not set |
867 | # CONFIG_MFD_TMIO is not set | 866 | # CONFIG_MFD_TMIO is not set |
867 | # CONFIG_MFD_MC13783 is not set | ||
868 | # CONFIG_EZX_PCAP is not set | 868 | # CONFIG_EZX_PCAP is not set |
869 | # CONFIG_REGULATOR is not set | 869 | # CONFIG_REGULATOR is not set |
870 | # CONFIG_MEDIA_SUPPORT is not set | 870 | # CONFIG_MEDIA_SUPPORT is not set |
@@ -884,7 +884,6 @@ CONFIG_SSB_POSSIBLE=y | |||
884 | # CONFIG_SOUND is not set | 884 | # CONFIG_SOUND is not set |
885 | CONFIG_HID_SUPPORT=y | 885 | CONFIG_HID_SUPPORT=y |
886 | CONFIG_HID=m | 886 | CONFIG_HID=m |
887 | # CONFIG_HID_DEBUG is not set | ||
888 | # CONFIG_HIDRAW is not set | 887 | # CONFIG_HIDRAW is not set |
889 | # CONFIG_HID_PID is not set | 888 | # CONFIG_HID_PID is not set |
890 | 889 | ||
@@ -923,6 +922,7 @@ CONFIG_HID=m | |||
923 | # CONFIG_XFS_FS is not set | 922 | # CONFIG_XFS_FS is not set |
924 | # CONFIG_OCFS2_FS is not set | 923 | # CONFIG_OCFS2_FS is not set |
925 | # CONFIG_BTRFS_FS is not set | 924 | # CONFIG_BTRFS_FS is not set |
925 | # CONFIG_NILFS2_FS is not set | ||
926 | CONFIG_FILE_LOCKING=y | 926 | CONFIG_FILE_LOCKING=y |
927 | CONFIG_FSNOTIFY=y | 927 | CONFIG_FSNOTIFY=y |
928 | # CONFIG_DNOTIFY is not set | 928 | # CONFIG_DNOTIFY is not set |
@@ -957,7 +957,6 @@ CONFIG_INOTIFY_USER=y | |||
957 | CONFIG_PROC_FS=y | 957 | CONFIG_PROC_FS=y |
958 | CONFIG_PROC_SYSCTL=y | 958 | CONFIG_PROC_SYSCTL=y |
959 | CONFIG_SYSFS=y | 959 | CONFIG_SYSFS=y |
960 | # CONFIG_TMPFS is not set | ||
961 | # CONFIG_HUGETLB_PAGE is not set | 960 | # CONFIG_HUGETLB_PAGE is not set |
962 | # CONFIG_CONFIGFS_FS is not set | 961 | # CONFIG_CONFIGFS_FS is not set |
963 | CONFIG_MISC_FILESYSTEMS=y | 962 | CONFIG_MISC_FILESYSTEMS=y |
@@ -989,7 +988,6 @@ CONFIG_JFFS2_RTIME=y | |||
989 | # CONFIG_ROMFS_FS is not set | 988 | # CONFIG_ROMFS_FS is not set |
990 | # CONFIG_SYSV_FS is not set | 989 | # CONFIG_SYSV_FS is not set |
991 | # CONFIG_UFS_FS is not set | 990 | # CONFIG_UFS_FS is not set |
992 | # CONFIG_NILFS2_FS is not set | ||
993 | CONFIG_NETWORK_FILESYSTEMS=y | 991 | CONFIG_NETWORK_FILESYSTEMS=y |
994 | CONFIG_NFS_FS=m | 992 | CONFIG_NFS_FS=m |
995 | CONFIG_NFS_V3=y | 993 | CONFIG_NFS_V3=y |
@@ -1064,6 +1062,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1064 | CONFIG_ENABLE_MUST_CHECK=y | 1062 | CONFIG_ENABLE_MUST_CHECK=y |
1065 | CONFIG_FRAME_WARN=1024 | 1063 | CONFIG_FRAME_WARN=1024 |
1066 | # CONFIG_MAGIC_SYSRQ is not set | 1064 | # CONFIG_MAGIC_SYSRQ is not set |
1065 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1067 | # CONFIG_UNUSED_SYMBOLS is not set | 1066 | # CONFIG_UNUSED_SYMBOLS is not set |
1068 | CONFIG_DEBUG_FS=y | 1067 | CONFIG_DEBUG_FS=y |
1069 | # CONFIG_HEADERS_CHECK is not set | 1068 | # CONFIG_HEADERS_CHECK is not set |
@@ -1098,26 +1097,24 @@ CONFIG_DEBUG_INFO=y | |||
1098 | # CONFIG_DEBUG_LIST is not set | 1097 | # CONFIG_DEBUG_LIST is not set |
1099 | # CONFIG_DEBUG_SG is not set | 1098 | # CONFIG_DEBUG_SG is not set |
1100 | # CONFIG_DEBUG_NOTIFIERS is not set | 1099 | # CONFIG_DEBUG_NOTIFIERS is not set |
1100 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1101 | # CONFIG_FRAME_POINTER is not set | 1101 | # CONFIG_FRAME_POINTER is not set |
1102 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1102 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1103 | # CONFIG_RCU_TORTURE_TEST is not set | 1103 | # CONFIG_RCU_TORTURE_TEST is not set |
1104 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1104 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1105 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1105 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1106 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1106 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1107 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1107 | # CONFIG_FAULT_INJECTION is not set | 1108 | # CONFIG_FAULT_INJECTION is not set |
1108 | # CONFIG_PAGE_POISONING is not set | 1109 | # CONFIG_PAGE_POISONING is not set |
1109 | CONFIG_HAVE_FUNCTION_TRACER=y | 1110 | CONFIG_HAVE_FUNCTION_TRACER=y |
1110 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1111 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1111 | CONFIG_TRACING_SUPPORT=y | 1112 | CONFIG_TRACING_SUPPORT=y |
1112 | # CONFIG_FTRACE is not set | 1113 | # CONFIG_FTRACE is not set |
1113 | # CONFIG_BRANCH_PROFILE_NONE is not set | ||
1114 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1115 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1116 | # CONFIG_DYNAMIC_DEBUG is not set | 1114 | # CONFIG_DYNAMIC_DEBUG is not set |
1117 | # CONFIG_SAMPLES is not set | 1115 | # CONFIG_SAMPLES is not set |
1118 | CONFIG_HAVE_ARCH_KGDB=y | 1116 | CONFIG_HAVE_ARCH_KGDB=y |
1119 | # CONFIG_KGDB is not set | 1117 | # CONFIG_KGDB is not set |
1120 | # CONFIG_KMEMCHECK is not set | ||
1121 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1118 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1122 | # CONFIG_DEBUG_STACK_USAGE is not set | 1119 | # CONFIG_DEBUG_STACK_USAGE is not set |
1123 | CONFIG_DEBUG_VERBOSE=y | 1120 | CONFIG_DEBUG_VERBOSE=y |
@@ -1153,7 +1150,6 @@ CONFIG_CRYPTO=y | |||
1153 | # | 1150 | # |
1154 | # Crypto core or helper | 1151 | # Crypto core or helper |
1155 | # | 1152 | # |
1156 | # CONFIG_CRYPTO_FIPS is not set | ||
1157 | # CONFIG_CRYPTO_MANAGER is not set | 1153 | # CONFIG_CRYPTO_MANAGER is not set |
1158 | # CONFIG_CRYPTO_MANAGER2 is not set | 1154 | # CONFIG_CRYPTO_MANAGER2 is not set |
1159 | # CONFIG_CRYPTO_GF128MUL is not set | 1155 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1185,11 +1181,13 @@ CONFIG_CRYPTO=y | |||
1185 | # | 1181 | # |
1186 | # CONFIG_CRYPTO_HMAC is not set | 1182 | # CONFIG_CRYPTO_HMAC is not set |
1187 | # CONFIG_CRYPTO_XCBC is not set | 1183 | # CONFIG_CRYPTO_XCBC is not set |
1184 | # CONFIG_CRYPTO_VMAC is not set | ||
1188 | 1185 | ||
1189 | # | 1186 | # |
1190 | # Digest | 1187 | # Digest |
1191 | # | 1188 | # |
1192 | # CONFIG_CRYPTO_CRC32C is not set | 1189 | # CONFIG_CRYPTO_CRC32C is not set |
1190 | # CONFIG_CRYPTO_GHASH is not set | ||
1193 | # CONFIG_CRYPTO_MD4 is not set | 1191 | # CONFIG_CRYPTO_MD4 is not set |
1194 | # CONFIG_CRYPTO_MD5 is not set | 1192 | # CONFIG_CRYPTO_MD5 is not set |
1195 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1193 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index bc7fae3d8b83..ed0a7ebeb85c 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig | |||
@@ -834,13 +834,6 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
834 | # | 834 | # |
835 | # ALSA Blackfin devices | 835 | # ALSA Blackfin devices |
836 | # | 836 | # |
837 | CONFIG_SND_BLACKFIN_AD1836=m | ||
838 | CONFIG_SND_BLACKFIN_AD1836_TDM=y | ||
839 | # CONFIG_SND_BLACKFIN_AD1836_I2S is not set | ||
840 | CONFIG_SND_BLACKFIN_AD1836_MULSUB=y | ||
841 | # CONFIG_SND_BLACKFIN_AD1836_5P1 is not set | ||
842 | CONFIG_SND_BLACKFIN_SPORT=0 | ||
843 | CONFIG_SND_BLACKFIN_SPI_PFBIT=4 | ||
844 | # CONFIG_SND_BFIN_AD73311 is not set | 837 | # CONFIG_SND_BFIN_AD73311 is not set |
845 | 838 | ||
846 | # | 839 | # |
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index 67d12768602a..ad58fede1f41 100644 --- a/arch/blackfin/configs/PNAV-10_defconfig +++ b/arch/blackfin/configs/PNAV-10_defconfig | |||
@@ -1,21 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28.10 | 3 | # Linux kernel version: 2.6.32.2 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | 8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |
9 | CONFIG_BLACKFIN=y | 9 | CONFIG_BLACKFIN=y |
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
10 | CONFIG_ZONE_DMA=y | 12 | CONFIG_ZONE_DMA=y |
11 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 13 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
13 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
15 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
16 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
17 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
18 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
19 | 25 | ||
20 | # | 26 | # |
21 | # General setup | 27 | # General setup |
@@ -25,16 +31,32 @@ CONFIG_BROKEN_ON_SMP=y | |||
25 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
26 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
27 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | CONFIG_KERNEL_GZIP=y | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | # CONFIG_KERNEL_LZMA is not set | ||
28 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
29 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
30 | # CONFIG_POSIX_MQUEUE is not set | 42 | # CONFIG_POSIX_MQUEUE is not set |
31 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
32 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
33 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
34 | # CONFIG_IKCONFIG is not set | 56 | # CONFIG_IKCONFIG is not set |
35 | CONFIG_LOG_BUF_SHIFT=14 | 57 | CONFIG_LOG_BUF_SHIFT=14 |
36 | # CONFIG_CGROUPS is not set | ||
37 | # CONFIG_GROUP_SCHED is not set | 58 | # CONFIG_GROUP_SCHED is not set |
59 | # CONFIG_CGROUPS is not set | ||
38 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 60 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
39 | # CONFIG_RELAY is not set | 61 | # CONFIG_RELAY is not set |
40 | # CONFIG_NAMESPACES is not set | 62 | # CONFIG_NAMESPACES is not set |
@@ -58,6 +80,10 @@ CONFIG_SIGNALFD=y | |||
58 | CONFIG_TIMERFD=y | 80 | CONFIG_TIMERFD=y |
59 | CONFIG_EVENTFD=y | 81 | CONFIG_EVENTFD=y |
60 | # CONFIG_AIO is not set | 82 | # CONFIG_AIO is not set |
83 | |||
84 | # | ||
85 | # Kernel Performance Events And Counters | ||
86 | # | ||
61 | CONFIG_VM_EVENT_COUNTERS=y | 87 | CONFIG_VM_EVENT_COUNTERS=y |
62 | CONFIG_COMPAT_BRK=y | 88 | CONFIG_COMPAT_BRK=y |
63 | CONFIG_SLAB=y | 89 | CONFIG_SLAB=y |
@@ -65,11 +91,14 @@ CONFIG_SLAB=y | |||
65 | # CONFIG_SLOB is not set | 91 | # CONFIG_SLOB is not set |
66 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | 92 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y |
67 | # CONFIG_PROFILING is not set | 93 | # CONFIG_PROFILING is not set |
68 | # CONFIG_MARKERS is not set | ||
69 | CONFIG_HAVE_OPROFILE=y | 94 | CONFIG_HAVE_OPROFILE=y |
95 | |||
96 | # | ||
97 | # GCOV-based kernel profiling | ||
98 | # | ||
99 | # CONFIG_SLOW_WORK is not set | ||
70 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 100 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
71 | CONFIG_SLABINFO=y | 101 | CONFIG_SLABINFO=y |
72 | CONFIG_TINY_SHMEM=y | ||
73 | CONFIG_BASE_SMALL=0 | 102 | CONFIG_BASE_SMALL=0 |
74 | CONFIG_MODULES=y | 103 | CONFIG_MODULES=y |
75 | # CONFIG_MODULE_FORCE_LOAD is not set | 104 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -77,11 +106,8 @@ CONFIG_MODULE_UNLOAD=y | |||
77 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 106 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
78 | # CONFIG_MODVERSIONS is not set | 107 | # CONFIG_MODVERSIONS is not set |
79 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 108 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
80 | CONFIG_KMOD=y | ||
81 | CONFIG_BLOCK=y | 109 | CONFIG_BLOCK=y |
82 | # CONFIG_LBD is not set | 110 | # CONFIG_LBDAF is not set |
83 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
84 | # CONFIG_LSF is not set | ||
85 | # CONFIG_BLK_DEV_BSG is not set | 111 | # CONFIG_BLK_DEV_BSG is not set |
86 | # CONFIG_BLK_DEV_INTEGRITY is not set | 112 | # CONFIG_BLK_DEV_INTEGRITY is not set |
87 | 113 | ||
@@ -97,7 +123,6 @@ CONFIG_DEFAULT_AS=y | |||
97 | # CONFIG_DEFAULT_CFQ is not set | 123 | # CONFIG_DEFAULT_CFQ is not set |
98 | # CONFIG_DEFAULT_NOOP is not set | 124 | # CONFIG_DEFAULT_NOOP is not set |
99 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 125 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
100 | CONFIG_CLASSIC_RCU=y | ||
101 | # CONFIG_PREEMPT_NONE is not set | 126 | # CONFIG_PREEMPT_NONE is not set |
102 | CONFIG_PREEMPT_VOLUNTARY=y | 127 | CONFIG_PREEMPT_VOLUNTARY=y |
103 | # CONFIG_PREEMPT is not set | 128 | # CONFIG_PREEMPT is not set |
@@ -128,15 +153,15 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
128 | CONFIG_BF537=y | 153 | CONFIG_BF537=y |
129 | # CONFIG_BF538 is not set | 154 | # CONFIG_BF538 is not set |
130 | # CONFIG_BF539 is not set | 155 | # CONFIG_BF539 is not set |
131 | # CONFIG_BF542 is not set | 156 | # CONFIG_BF542_std is not set |
132 | # CONFIG_BF542M is not set | 157 | # CONFIG_BF542M is not set |
133 | # CONFIG_BF544 is not set | 158 | # CONFIG_BF544_std is not set |
134 | # CONFIG_BF544M is not set | 159 | # CONFIG_BF544M is not set |
135 | # CONFIG_BF547 is not set | 160 | # CONFIG_BF547_std is not set |
136 | # CONFIG_BF547M is not set | 161 | # CONFIG_BF547M is not set |
137 | # CONFIG_BF548 is not set | 162 | # CONFIG_BF548_std is not set |
138 | # CONFIG_BF548M is not set | 163 | # CONFIG_BF548M is not set |
139 | # CONFIG_BF549 is not set | 164 | # CONFIG_BF549_std is not set |
140 | # CONFIG_BF549M is not set | 165 | # CONFIG_BF549M is not set |
141 | # CONFIG_BF561 is not set | 166 | # CONFIG_BF561 is not set |
142 | CONFIG_BF_REV_MIN=2 | 167 | CONFIG_BF_REV_MIN=2 |
@@ -180,7 +205,8 @@ CONFIG_IRQ_MEM_DMA1=13 | |||
180 | CONFIG_IRQ_WATCH=13 | 205 | CONFIG_IRQ_WATCH=13 |
181 | CONFIG_IRQ_SPI=10 | 206 | CONFIG_IRQ_SPI=10 |
182 | # CONFIG_BFIN537_STAMP is not set | 207 | # CONFIG_BFIN537_STAMP is not set |
183 | # CONFIG_BFIN537_BLUETECHNIX_CM is not set | 208 | # CONFIG_BFIN537_BLUETECHNIX_CM_E is not set |
209 | # CONFIG_BFIN537_BLUETECHNIX_CM_U is not set | ||
184 | # CONFIG_BFIN537_BLUETECHNIX_TCM is not set | 210 | # CONFIG_BFIN537_BLUETECHNIX_TCM is not set |
185 | CONFIG_PNAV10=y | 211 | CONFIG_PNAV10=y |
186 | # CONFIG_CAMSIG_MINOTAUR is not set | 212 | # CONFIG_CAMSIG_MINOTAUR is not set |
@@ -282,7 +308,6 @@ CONFIG_FLATMEM=y | |||
282 | CONFIG_FLAT_NODE_MEM_MAP=y | 308 | CONFIG_FLAT_NODE_MEM_MAP=y |
283 | CONFIG_PAGEFLAGS_EXTENDED=y | 309 | CONFIG_PAGEFLAGS_EXTENDED=y |
284 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 310 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
285 | # CONFIG_RESOURCES_64BIT is not set | ||
286 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 311 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
287 | CONFIG_ZONE_DMA_FLAG=1 | 312 | CONFIG_ZONE_DMA_FLAG=1 |
288 | CONFIG_VIRT_TO_BUS=y | 313 | CONFIG_VIRT_TO_BUS=y |
@@ -291,16 +316,18 @@ CONFIG_BFIN_GPTIMERS=y | |||
291 | # CONFIG_DMA_UNCACHED_4M is not set | 316 | # CONFIG_DMA_UNCACHED_4M is not set |
292 | # CONFIG_DMA_UNCACHED_2M is not set | 317 | # CONFIG_DMA_UNCACHED_2M is not set |
293 | CONFIG_DMA_UNCACHED_1M=y | 318 | CONFIG_DMA_UNCACHED_1M=y |
319 | # CONFIG_DMA_UNCACHED_512K is not set | ||
320 | # CONFIG_DMA_UNCACHED_256K is not set | ||
321 | # CONFIG_DMA_UNCACHED_128K is not set | ||
294 | # CONFIG_DMA_UNCACHED_NONE is not set | 322 | # CONFIG_DMA_UNCACHED_NONE is not set |
295 | 323 | ||
296 | # | 324 | # |
297 | # Cache Support | 325 | # Cache Support |
298 | # | 326 | # |
299 | CONFIG_BFIN_ICACHE=y | 327 | CONFIG_BFIN_ICACHE=y |
300 | # CONFIG_BFIN_ICACHE_LOCK is not set | 328 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y |
301 | CONFIG_BFIN_DCACHE=y | 329 | CONFIG_BFIN_DCACHE=y |
302 | # CONFIG_BFIN_DCACHE_BANKA is not set | 330 | # CONFIG_BFIN_DCACHE_BANKA is not set |
303 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
304 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | 331 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y |
305 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | 332 | CONFIG_BFIN_EXTMEM_WRITEBACK=y |
306 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | 333 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set |
@@ -311,7 +338,7 @@ CONFIG_BFIN_EXTMEM_WRITEBACK=y | |||
311 | # CONFIG_MPU is not set | 338 | # CONFIG_MPU is not set |
312 | 339 | ||
313 | # | 340 | # |
314 | # Asynchonous Memory Configuration | 341 | # Asynchronous Memory Configuration |
315 | # | 342 | # |
316 | 343 | ||
317 | # | 344 | # |
@@ -367,11 +394,6 @@ CONFIG_NET=y | |||
367 | CONFIG_PACKET=y | 394 | CONFIG_PACKET=y |
368 | # CONFIG_PACKET_MMAP is not set | 395 | # CONFIG_PACKET_MMAP is not set |
369 | CONFIG_UNIX=y | 396 | CONFIG_UNIX=y |
370 | CONFIG_XFRM=y | ||
371 | # CONFIG_XFRM_USER is not set | ||
372 | # CONFIG_XFRM_SUB_POLICY is not set | ||
373 | # CONFIG_XFRM_MIGRATE is not set | ||
374 | # CONFIG_XFRM_STATISTICS is not set | ||
375 | # CONFIG_NET_KEY is not set | 397 | # CONFIG_NET_KEY is not set |
376 | CONFIG_INET=y | 398 | CONFIG_INET=y |
377 | # CONFIG_IP_MULTICAST is not set | 399 | # CONFIG_IP_MULTICAST is not set |
@@ -395,7 +417,6 @@ CONFIG_IP_PNP=y | |||
395 | # CONFIG_INET_XFRM_MODE_BEET is not set | 417 | # CONFIG_INET_XFRM_MODE_BEET is not set |
396 | # CONFIG_INET_LRO is not set | 418 | # CONFIG_INET_LRO is not set |
397 | # CONFIG_INET_DIAG is not set | 419 | # CONFIG_INET_DIAG is not set |
398 | CONFIG_INET_TCP_DIAG=y | ||
399 | # CONFIG_TCP_CONG_ADVANCED is not set | 420 | # CONFIG_TCP_CONG_ADVANCED is not set |
400 | CONFIG_TCP_CONG_CUBIC=y | 421 | CONFIG_TCP_CONG_CUBIC=y |
401 | CONFIG_DEFAULT_TCP_CONG="cubic" | 422 | CONFIG_DEFAULT_TCP_CONG="cubic" |
@@ -406,6 +427,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
406 | # CONFIG_NETFILTER is not set | 427 | # CONFIG_NETFILTER is not set |
407 | # CONFIG_IP_DCCP is not set | 428 | # CONFIG_IP_DCCP is not set |
408 | # CONFIG_IP_SCTP is not set | 429 | # CONFIG_IP_SCTP is not set |
430 | # CONFIG_RDS is not set | ||
409 | # CONFIG_TIPC is not set | 431 | # CONFIG_TIPC is not set |
410 | # CONFIG_ATM is not set | 432 | # CONFIG_ATM is not set |
411 | # CONFIG_BRIDGE is not set | 433 | # CONFIG_BRIDGE is not set |
@@ -419,7 +441,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
419 | # CONFIG_LAPB is not set | 441 | # CONFIG_LAPB is not set |
420 | # CONFIG_ECONET is not set | 442 | # CONFIG_ECONET is not set |
421 | # CONFIG_WAN_ROUTER is not set | 443 | # CONFIG_WAN_ROUTER is not set |
444 | # CONFIG_PHONET is not set | ||
445 | # CONFIG_IEEE802154 is not set | ||
422 | # CONFIG_NET_SCHED is not set | 446 | # CONFIG_NET_SCHED is not set |
447 | # CONFIG_DCB is not set | ||
423 | 448 | ||
424 | # | 449 | # |
425 | # Network testing | 450 | # Network testing |
@@ -430,13 +455,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
430 | # CONFIG_IRDA is not set | 455 | # CONFIG_IRDA is not set |
431 | # CONFIG_BT is not set | 456 | # CONFIG_BT is not set |
432 | # CONFIG_AF_RXRPC is not set | 457 | # CONFIG_AF_RXRPC is not set |
433 | # CONFIG_PHONET is not set | 458 | # CONFIG_WIRELESS is not set |
434 | CONFIG_WIRELESS=y | 459 | # CONFIG_WIMAX is not set |
435 | # CONFIG_CFG80211 is not set | ||
436 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
437 | # CONFIG_WIRELESS_EXT is not set | ||
438 | # CONFIG_MAC80211 is not set | ||
439 | # CONFIG_IEEE80211 is not set | ||
440 | # CONFIG_RFKILL is not set | 460 | # CONFIG_RFKILL is not set |
441 | # CONFIG_NET_9P is not set | 461 | # CONFIG_NET_9P is not set |
442 | 462 | ||
@@ -455,6 +475,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
455 | # CONFIG_CONNECTOR is not set | 475 | # CONFIG_CONNECTOR is not set |
456 | CONFIG_MTD=y | 476 | CONFIG_MTD=y |
457 | # CONFIG_MTD_DEBUG is not set | 477 | # CONFIG_MTD_DEBUG is not set |
478 | # CONFIG_MTD_TESTS is not set | ||
458 | # CONFIG_MTD_CONCAT is not set | 479 | # CONFIG_MTD_CONCAT is not set |
459 | CONFIG_MTD_PARTITIONS=y | 480 | CONFIG_MTD_PARTITIONS=y |
460 | # CONFIG_MTD_REDBOOT_PARTS is not set | 481 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -506,6 +527,7 @@ CONFIG_MTD_UCLINUX=y | |||
506 | # | 527 | # |
507 | # CONFIG_MTD_DATAFLASH is not set | 528 | # CONFIG_MTD_DATAFLASH is not set |
508 | # CONFIG_MTD_M25P80 is not set | 529 | # CONFIG_MTD_M25P80 is not set |
530 | # CONFIG_MTD_SST25L is not set | ||
509 | # CONFIG_MTD_SLRAM is not set | 531 | # CONFIG_MTD_SLRAM is not set |
510 | # CONFIG_MTD_PHRAM is not set | 532 | # CONFIG_MTD_PHRAM is not set |
511 | # CONFIG_MTD_MTDRAM is not set | 533 | # CONFIG_MTD_MTDRAM is not set |
@@ -521,11 +543,6 @@ CONFIG_MTD_NAND=y | |||
521 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 543 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
522 | # CONFIG_MTD_NAND_ECC_SMC is not set | 544 | # CONFIG_MTD_NAND_ECC_SMC is not set |
523 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 545 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
524 | CONFIG_MTD_NAND_BFIN=y | ||
525 | CONFIG_BFIN_NAND_BASE=0x20100000 | ||
526 | CONFIG_BFIN_NAND_CLE=2 | ||
527 | CONFIG_BFIN_NAND_ALE=1 | ||
528 | CONFIG_BFIN_NAND_READY=44 | ||
529 | CONFIG_MTD_NAND_IDS=y | 546 | CONFIG_MTD_NAND_IDS=y |
530 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 547 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
531 | # CONFIG_MTD_NAND_NANDSIM is not set | 548 | # CONFIG_MTD_NAND_NANDSIM is not set |
@@ -533,6 +550,11 @@ CONFIG_MTD_NAND_IDS=y | |||
533 | # CONFIG_MTD_ONENAND is not set | 550 | # CONFIG_MTD_ONENAND is not set |
534 | 551 | ||
535 | # | 552 | # |
553 | # LPDDR flash memory drivers | ||
554 | # | ||
555 | # CONFIG_MTD_LPDDR is not set | ||
556 | |||
557 | # | ||
536 | # UBI - Unsorted block images | 558 | # UBI - Unsorted block images |
537 | # | 559 | # |
538 | # CONFIG_MTD_UBI is not set | 560 | # CONFIG_MTD_UBI is not set |
@@ -549,10 +571,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
549 | # CONFIG_ATA_OVER_ETH is not set | 571 | # CONFIG_ATA_OVER_ETH is not set |
550 | # CONFIG_BLK_DEV_HD is not set | 572 | # CONFIG_BLK_DEV_HD is not set |
551 | CONFIG_MISC_DEVICES=y | 573 | CONFIG_MISC_DEVICES=y |
552 | # CONFIG_EEPROM_93CX6 is not set | 574 | # CONFIG_AD525X_DPOT is not set |
553 | # CONFIG_ICS932S401 is not set | 575 | # CONFIG_ICS932S401 is not set |
554 | # CONFIG_ENCLOSURE_SERVICES is not set | 576 | # CONFIG_ENCLOSURE_SERVICES is not set |
577 | # CONFIG_ISL29003 is not set | ||
555 | # CONFIG_C2PORT is not set | 578 | # CONFIG_C2PORT is not set |
579 | |||
580 | # | ||
581 | # EEPROM support | ||
582 | # | ||
583 | # CONFIG_EEPROM_AT24 is not set | ||
584 | # CONFIG_EEPROM_AT25 is not set | ||
585 | # CONFIG_EEPROM_LEGACY is not set | ||
586 | # CONFIG_EEPROM_MAX6875 is not set | ||
587 | # CONFIG_EEPROM_93CX6 is not set | ||
556 | CONFIG_HAVE_IDE=y | 588 | CONFIG_HAVE_IDE=y |
557 | # CONFIG_IDE is not set | 589 | # CONFIG_IDE is not set |
558 | 590 | ||
@@ -587,6 +619,9 @@ CONFIG_PHYLIB=y | |||
587 | # CONFIG_BROADCOM_PHY is not set | 619 | # CONFIG_BROADCOM_PHY is not set |
588 | # CONFIG_ICPLUS_PHY is not set | 620 | # CONFIG_ICPLUS_PHY is not set |
589 | # CONFIG_REALTEK_PHY is not set | 621 | # CONFIG_REALTEK_PHY is not set |
622 | # CONFIG_NATIONAL_PHY is not set | ||
623 | # CONFIG_STE10XP is not set | ||
624 | # CONFIG_LSI_ET1011C_PHY is not set | ||
590 | # CONFIG_FIXED_PHY is not set | 625 | # CONFIG_FIXED_PHY is not set |
591 | # CONFIG_MDIO_BITBANG is not set | 626 | # CONFIG_MDIO_BITBANG is not set |
592 | CONFIG_NET_ETHERNET=y | 627 | CONFIG_NET_ETHERNET=y |
@@ -597,9 +632,12 @@ CONFIG_BFIN_TX_DESC_NUM=100 | |||
597 | CONFIG_BFIN_RX_DESC_NUM=100 | 632 | CONFIG_BFIN_RX_DESC_NUM=100 |
598 | CONFIG_BFIN_MAC_RMII=y | 633 | CONFIG_BFIN_MAC_RMII=y |
599 | # CONFIG_SMC91X is not set | 634 | # CONFIG_SMC91X is not set |
600 | # CONFIG_SMSC911X is not set | ||
601 | # CONFIG_DM9000 is not set | 635 | # CONFIG_DM9000 is not set |
602 | # CONFIG_ENC28J60 is not set | 636 | # CONFIG_ENC28J60 is not set |
637 | # CONFIG_ETHOC is not set | ||
638 | # CONFIG_SMSC911X is not set | ||
639 | # CONFIG_DNET is not set | ||
640 | # CONFIG_ADF702X is not set | ||
603 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 641 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
604 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 642 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
605 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 643 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -608,15 +646,16 @@ CONFIG_BFIN_MAC_RMII=y | |||
608 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 646 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
609 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 647 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
610 | # CONFIG_B44 is not set | 648 | # CONFIG_B44 is not set |
649 | # CONFIG_KS8842 is not set | ||
650 | # CONFIG_KS8851 is not set | ||
651 | # CONFIG_KS8851_MLL is not set | ||
611 | # CONFIG_NETDEV_1000 is not set | 652 | # CONFIG_NETDEV_1000 is not set |
612 | # CONFIG_NETDEV_10000 is not set | 653 | # CONFIG_NETDEV_10000 is not set |
654 | # CONFIG_WLAN is not set | ||
613 | 655 | ||
614 | # | 656 | # |
615 | # Wireless LAN | 657 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
616 | # | 658 | # |
617 | # CONFIG_WLAN_PRE80211 is not set | ||
618 | # CONFIG_WLAN_80211 is not set | ||
619 | # CONFIG_IWLWIFI_LEDS is not set | ||
620 | # CONFIG_WAN is not set | 659 | # CONFIG_WAN is not set |
621 | # CONFIG_PPP is not set | 660 | # CONFIG_PPP is not set |
622 | # CONFIG_SLIP is not set | 661 | # CONFIG_SLIP is not set |
@@ -649,14 +688,17 @@ CONFIG_INPUT_EVDEV=y | |||
649 | # CONFIG_INPUT_JOYSTICK is not set | 688 | # CONFIG_INPUT_JOYSTICK is not set |
650 | # CONFIG_INPUT_TABLET is not set | 689 | # CONFIG_INPUT_TABLET is not set |
651 | CONFIG_INPUT_TOUCHSCREEN=y | 690 | CONFIG_INPUT_TOUCHSCREEN=y |
691 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
652 | CONFIG_TOUCHSCREEN_AD7877=y | 692 | CONFIG_TOUCHSCREEN_AD7877=y |
653 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | 693 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set |
654 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | 694 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set |
655 | # CONFIG_TOUCHSCREEN_AD7879 is not set | 695 | # CONFIG_TOUCHSCREEN_AD7879 is not set |
656 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 696 | # CONFIG_TOUCHSCREEN_EETI is not set |
657 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 697 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
658 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 698 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
659 | # CONFIG_TOUCHSCREEN_ELO is not set | 699 | # CONFIG_TOUCHSCREEN_ELO is not set |
700 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
701 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
660 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 702 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
661 | # CONFIG_TOUCHSCREEN_INEXIO is not set | 703 | # CONFIG_TOUCHSCREEN_INEXIO is not set |
662 | # CONFIG_TOUCHSCREEN_MK712 is not set | 704 | # CONFIG_TOUCHSCREEN_MK712 is not set |
@@ -665,6 +707,7 @@ CONFIG_TOUCHSCREEN_AD7877=y | |||
665 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 707 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
666 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | 708 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set |
667 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | 709 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
710 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
668 | CONFIG_INPUT_MISC=y | 711 | CONFIG_INPUT_MISC=y |
669 | # CONFIG_INPUT_ATI_REMOTE is not set | 712 | # CONFIG_INPUT_ATI_REMOTE is not set |
670 | # CONFIG_INPUT_ATI_REMOTE2 is not set | 713 | # CONFIG_INPUT_ATI_REMOTE2 is not set |
@@ -673,7 +716,9 @@ CONFIG_INPUT_MISC=y | |||
673 | # CONFIG_INPUT_YEALINK is not set | 716 | # CONFIG_INPUT_YEALINK is not set |
674 | # CONFIG_INPUT_CM109 is not set | 717 | # CONFIG_INPUT_CM109 is not set |
675 | CONFIG_INPUT_UINPUT=y | 718 | CONFIG_INPUT_UINPUT=y |
676 | # CONFIG_CONFIG_INPUT_PCF8574 is not set | 719 | # CONFIG_INPUT_AD714X is not set |
720 | # CONFIG_INPUT_ADXL34X is not set | ||
721 | # CONFIG_INPUT_PCF8574 is not set | ||
677 | 722 | ||
678 | # | 723 | # |
679 | # Hardware I/O ports | 724 | # Hardware I/O ports |
@@ -684,16 +729,13 @@ CONFIG_INPUT_UINPUT=y | |||
684 | # | 729 | # |
685 | # Character devices | 730 | # Character devices |
686 | # | 731 | # |
687 | # CONFIG_AD9960 is not set | ||
688 | CONFIG_BFIN_DMA_INTERFACE=m | 732 | CONFIG_BFIN_DMA_INTERFACE=m |
689 | # CONFIG_BFIN_PPI is not set | 733 | # CONFIG_BFIN_PPI is not set |
690 | # CONFIG_BFIN_PPIFCD is not set | 734 | # CONFIG_BFIN_PPIFCD is not set |
691 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 735 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
692 | # CONFIG_BFIN_SPI_ADC is not set | 736 | # CONFIG_BFIN_SPI_ADC is not set |
693 | CONFIG_BFIN_SPORT=y | 737 | CONFIG_BFIN_SPORT=y |
694 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
695 | # CONFIG_BFIN_TWI_LCD is not set | 738 | # CONFIG_BFIN_TWI_LCD is not set |
696 | # CONFIG_SIMPLE_GPIO is not set | ||
697 | # CONFIG_VT is not set | 739 | # CONFIG_VT is not set |
698 | CONFIG_DEVKMEM=y | 740 | CONFIG_DEVKMEM=y |
699 | # CONFIG_BFIN_JTAG_COMM is not set | 741 | # CONFIG_BFIN_JTAG_COMM is not set |
@@ -707,6 +749,7 @@ CONFIG_DEVKMEM=y | |||
707 | # | 749 | # |
708 | # Non-8250 serial port support | 750 | # Non-8250 serial port support |
709 | # | 751 | # |
752 | # CONFIG_SERIAL_MAX3100 is not set | ||
710 | CONFIG_SERIAL_BFIN=y | 753 | CONFIG_SERIAL_BFIN=y |
711 | CONFIG_SERIAL_BFIN_CONSOLE=y | 754 | CONFIG_SERIAL_BFIN_CONSOLE=y |
712 | CONFIG_SERIAL_BFIN_DMA=y | 755 | CONFIG_SERIAL_BFIN_DMA=y |
@@ -719,24 +762,17 @@ CONFIG_SERIAL_CORE=y | |||
719 | CONFIG_SERIAL_CORE_CONSOLE=y | 762 | CONFIG_SERIAL_CORE_CONSOLE=y |
720 | # CONFIG_SERIAL_BFIN_SPORT is not set | 763 | # CONFIG_SERIAL_BFIN_SPORT is not set |
721 | CONFIG_UNIX98_PTYS=y | 764 | CONFIG_UNIX98_PTYS=y |
765 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
722 | # CONFIG_LEGACY_PTYS is not set | 766 | # CONFIG_LEGACY_PTYS is not set |
723 | |||
724 | # | ||
725 | # CAN, the car bus and industrial fieldbus | ||
726 | # | ||
727 | CONFIG_CAN4LINUX=y | ||
728 | |||
729 | # | ||
730 | # linux embedded drivers | ||
731 | # | ||
732 | CONFIG_CAN_BLACKFIN=m | ||
733 | # CONFIG_IPMI_HANDLER is not set | 767 | # CONFIG_IPMI_HANDLER is not set |
734 | CONFIG_HW_RANDOM=y | 768 | CONFIG_HW_RANDOM=y |
769 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
735 | # CONFIG_R3964 is not set | 770 | # CONFIG_R3964 is not set |
736 | # CONFIG_RAW_DRIVER is not set | 771 | # CONFIG_RAW_DRIVER is not set |
737 | # CONFIG_TCG_TPM is not set | 772 | # CONFIG_TCG_TPM is not set |
738 | CONFIG_I2C=y | 773 | CONFIG_I2C=y |
739 | CONFIG_I2C_BOARDINFO=y | 774 | CONFIG_I2C_BOARDINFO=y |
775 | CONFIG_I2C_COMPAT=y | ||
740 | CONFIG_I2C_CHARDEV=y | 776 | CONFIG_I2C_CHARDEV=y |
741 | CONFIG_I2C_HELPER_AUTO=y | 777 | CONFIG_I2C_HELPER_AUTO=y |
742 | 778 | ||
@@ -769,14 +805,6 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | |||
769 | # Miscellaneous I2C Chip support | 805 | # Miscellaneous I2C Chip support |
770 | # | 806 | # |
771 | # CONFIG_DS1682 is not set | 807 | # CONFIG_DS1682 is not set |
772 | # CONFIG_EEPROM_AT24 is not set | ||
773 | # CONFIG_SENSORS_AD5252 is not set | ||
774 | # CONFIG_EEPROM_LEGACY is not set | ||
775 | CONFIG_SENSORS_PCF8574=m | ||
776 | # CONFIG_PCF8575 is not set | ||
777 | # CONFIG_SENSORS_PCA9539 is not set | ||
778 | # CONFIG_SENSORS_PCF8591 is not set | ||
779 | # CONFIG_SENSORS_MAX6875 is not set | ||
780 | # CONFIG_SENSORS_TSL2550 is not set | 808 | # CONFIG_SENSORS_TSL2550 is not set |
781 | # CONFIG_I2C_DEBUG_CORE is not set | 809 | # CONFIG_I2C_DEBUG_CORE is not set |
782 | # CONFIG_I2C_DEBUG_ALGO is not set | 810 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -792,20 +820,29 @@ CONFIG_SPI_BFIN=y | |||
792 | # CONFIG_SPI_BFIN_LOCK is not set | 820 | # CONFIG_SPI_BFIN_LOCK is not set |
793 | # CONFIG_SPI_BFIN_SPORT is not set | 821 | # CONFIG_SPI_BFIN_SPORT is not set |
794 | # CONFIG_SPI_BITBANG is not set | 822 | # CONFIG_SPI_BITBANG is not set |
823 | # CONFIG_SPI_GPIO is not set | ||
795 | 824 | ||
796 | # | 825 | # |
797 | # SPI Protocol Masters | 826 | # SPI Protocol Masters |
798 | # | 827 | # |
799 | # CONFIG_EEPROM_AT25 is not set | ||
800 | # CONFIG_SPI_SPIDEV is not set | 828 | # CONFIG_SPI_SPIDEV is not set |
801 | # CONFIG_SPI_TLE62X0 is not set | 829 | # CONFIG_SPI_TLE62X0 is not set |
830 | |||
831 | # | ||
832 | # PPS support | ||
833 | # | ||
834 | # CONFIG_PPS is not set | ||
802 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 835 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
803 | # CONFIG_GPIOLIB is not set | 836 | # CONFIG_GPIOLIB is not set |
804 | # CONFIG_W1 is not set | 837 | # CONFIG_W1 is not set |
805 | # CONFIG_POWER_SUPPLY is not set | 838 | # CONFIG_POWER_SUPPLY is not set |
806 | CONFIG_HWMON=y | 839 | CONFIG_HWMON=y |
807 | # CONFIG_HWMON_VID is not set | 840 | # CONFIG_HWMON_VID is not set |
808 | # CONFIG_SENSORS_AD5252 is not set | 841 | # CONFIG_HWMON_DEBUG_CHIP is not set |
842 | |||
843 | # | ||
844 | # Native drivers | ||
845 | # | ||
809 | # CONFIG_SENSORS_AD7414 is not set | 846 | # CONFIG_SENSORS_AD7414 is not set |
810 | # CONFIG_SENSORS_AD7418 is not set | 847 | # CONFIG_SENSORS_AD7418 is not set |
811 | # CONFIG_SENSORS_ADCXX is not set | 848 | # CONFIG_SENSORS_ADCXX is not set |
@@ -818,11 +855,13 @@ CONFIG_HWMON=y | |||
818 | # CONFIG_SENSORS_ADT7462 is not set | 855 | # CONFIG_SENSORS_ADT7462 is not set |
819 | # CONFIG_SENSORS_ADT7470 is not set | 856 | # CONFIG_SENSORS_ADT7470 is not set |
820 | # CONFIG_SENSORS_ADT7473 is not set | 857 | # CONFIG_SENSORS_ADT7473 is not set |
858 | # CONFIG_SENSORS_ADT7475 is not set | ||
821 | # CONFIG_SENSORS_ATXP1 is not set | 859 | # CONFIG_SENSORS_ATXP1 is not set |
822 | # CONFIG_SENSORS_DS1621 is not set | 860 | # CONFIG_SENSORS_DS1621 is not set |
823 | # CONFIG_SENSORS_F71805F is not set | 861 | # CONFIG_SENSORS_F71805F is not set |
824 | # CONFIG_SENSORS_F71882FG is not set | 862 | # CONFIG_SENSORS_F71882FG is not set |
825 | # CONFIG_SENSORS_F75375S is not set | 863 | # CONFIG_SENSORS_F75375S is not set |
864 | # CONFIG_SENSORS_G760A is not set | ||
826 | # CONFIG_SENSORS_GL518SM is not set | 865 | # CONFIG_SENSORS_GL518SM is not set |
827 | # CONFIG_SENSORS_GL520SM is not set | 866 | # CONFIG_SENSORS_GL520SM is not set |
828 | # CONFIG_SENSORS_IT87 is not set | 867 | # CONFIG_SENSORS_IT87 is not set |
@@ -838,17 +877,24 @@ CONFIG_HWMON=y | |||
838 | # CONFIG_SENSORS_LM90 is not set | 877 | # CONFIG_SENSORS_LM90 is not set |
839 | # CONFIG_SENSORS_LM92 is not set | 878 | # CONFIG_SENSORS_LM92 is not set |
840 | # CONFIG_SENSORS_LM93 is not set | 879 | # CONFIG_SENSORS_LM93 is not set |
880 | # CONFIG_SENSORS_LTC4215 is not set | ||
881 | # CONFIG_SENSORS_LTC4245 is not set | ||
882 | # CONFIG_SENSORS_LM95241 is not set | ||
841 | # CONFIG_SENSORS_MAX1111 is not set | 883 | # CONFIG_SENSORS_MAX1111 is not set |
842 | # CONFIG_SENSORS_MAX1619 is not set | 884 | # CONFIG_SENSORS_MAX1619 is not set |
843 | # CONFIG_SENSORS_MAX6650 is not set | 885 | # CONFIG_SENSORS_MAX6650 is not set |
844 | # CONFIG_SENSORS_PC87360 is not set | 886 | # CONFIG_SENSORS_PC87360 is not set |
845 | # CONFIG_SENSORS_PC87427 is not set | 887 | # CONFIG_SENSORS_PC87427 is not set |
888 | # CONFIG_SENSORS_PCF8591 is not set | ||
889 | # CONFIG_SENSORS_SHT15 is not set | ||
846 | # CONFIG_SENSORS_DME1737 is not set | 890 | # CONFIG_SENSORS_DME1737 is not set |
847 | # CONFIG_SENSORS_SMSC47M1 is not set | 891 | # CONFIG_SENSORS_SMSC47M1 is not set |
848 | # CONFIG_SENSORS_SMSC47M192 is not set | 892 | # CONFIG_SENSORS_SMSC47M192 is not set |
849 | # CONFIG_SENSORS_SMSC47B397 is not set | 893 | # CONFIG_SENSORS_SMSC47B397 is not set |
850 | # CONFIG_SENSORS_ADS7828 is not set | 894 | # CONFIG_SENSORS_ADS7828 is not set |
851 | # CONFIG_SENSORS_THMC50 is not set | 895 | # CONFIG_SENSORS_THMC50 is not set |
896 | # CONFIG_SENSORS_TMP401 is not set | ||
897 | # CONFIG_SENSORS_TMP421 is not set | ||
852 | # CONFIG_SENSORS_VT1211 is not set | 898 | # CONFIG_SENSORS_VT1211 is not set |
853 | # CONFIG_SENSORS_W83781D is not set | 899 | # CONFIG_SENSORS_W83781D is not set |
854 | # CONFIG_SENSORS_W83791D is not set | 900 | # CONFIG_SENSORS_W83791D is not set |
@@ -858,9 +904,8 @@ CONFIG_HWMON=y | |||
858 | # CONFIG_SENSORS_W83L786NG is not set | 904 | # CONFIG_SENSORS_W83L786NG is not set |
859 | # CONFIG_SENSORS_W83627HF is not set | 905 | # CONFIG_SENSORS_W83627HF is not set |
860 | # CONFIG_SENSORS_W83627EHF is not set | 906 | # CONFIG_SENSORS_W83627EHF is not set |
861 | # CONFIG_HWMON_DEBUG_CHIP is not set | 907 | # CONFIG_SENSORS_LIS3_SPI is not set |
862 | # CONFIG_THERMAL is not set | 908 | # CONFIG_THERMAL is not set |
863 | # CONFIG_THERMAL_HWMON is not set | ||
864 | # CONFIG_WATCHDOG is not set | 909 | # CONFIG_WATCHDOG is not set |
865 | CONFIG_SSB_POSSIBLE=y | 910 | CONFIG_SSB_POSSIBLE=y |
866 | 911 | ||
@@ -875,28 +920,19 @@ CONFIG_SSB_POSSIBLE=y | |||
875 | # CONFIG_MFD_CORE is not set | 920 | # CONFIG_MFD_CORE is not set |
876 | # CONFIG_MFD_SM501 is not set | 921 | # CONFIG_MFD_SM501 is not set |
877 | # CONFIG_HTC_PASIC3 is not set | 922 | # CONFIG_HTC_PASIC3 is not set |
923 | # CONFIG_TWL4030_CORE is not set | ||
878 | # CONFIG_MFD_TMIO is not set | 924 | # CONFIG_MFD_TMIO is not set |
879 | # CONFIG_PMIC_DA903X is not set | 925 | # CONFIG_PMIC_DA903X is not set |
880 | # CONFIG_PMIC_ADP5520 is not set | 926 | # CONFIG_PMIC_ADP5520 is not set |
881 | # CONFIG_MFD_WM8400 is not set | 927 | # CONFIG_MFD_WM8400 is not set |
928 | # CONFIG_MFD_WM831X is not set | ||
882 | # CONFIG_MFD_WM8350_I2C is not set | 929 | # CONFIG_MFD_WM8350_I2C is not set |
930 | # CONFIG_MFD_PCF50633 is not set | ||
931 | # CONFIG_MFD_MC13783 is not set | ||
932 | # CONFIG_AB3100_CORE is not set | ||
933 | # CONFIG_EZX_PCAP is not set | ||
883 | # CONFIG_REGULATOR is not set | 934 | # CONFIG_REGULATOR is not set |
884 | 935 | # CONFIG_MEDIA_SUPPORT is not set | |
885 | # | ||
886 | # Multimedia devices | ||
887 | # | ||
888 | |||
889 | # | ||
890 | # Multimedia core support | ||
891 | # | ||
892 | # CONFIG_VIDEO_DEV is not set | ||
893 | # CONFIG_DVB_CORE is not set | ||
894 | # CONFIG_VIDEO_MEDIA is not set | ||
895 | |||
896 | # | ||
897 | # Multimedia drivers | ||
898 | # | ||
899 | CONFIG_DAB=y | ||
900 | 936 | ||
901 | # | 937 | # |
902 | # Graphics support | 938 | # Graphics support |
@@ -928,24 +964,24 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
928 | # CONFIG_FB_BFIN_T350MCQB is not set | 964 | # CONFIG_FB_BFIN_T350MCQB is not set |
929 | # CONFIG_FB_BFIN_LQ035Q1 is not set | 965 | # CONFIG_FB_BFIN_LQ035Q1 is not set |
930 | CONFIG_FB_BF537_LQ035=y | 966 | CONFIG_FB_BF537_LQ035=y |
931 | CONFIG_LQ035_SLAVE_ADDR=0x58 | ||
932 | CONFIG_FB_BFIN_LANDSCAPE=y | ||
933 | # CONFIG_FB_BFIN_BGR is not set | ||
934 | # CONFIG_FB_BFIN_7393 is not set | 967 | # CONFIG_FB_BFIN_7393 is not set |
935 | # CONFIG_FB_HITACHI_TX09 is not set | 968 | # CONFIG_FB_HITACHI_TX09 is not set |
936 | # CONFIG_FB_S1D13XXX is not set | 969 | # CONFIG_FB_S1D13XXX is not set |
937 | # CONFIG_FB_VIRTUAL is not set | 970 | # CONFIG_FB_VIRTUAL is not set |
938 | # CONFIG_FB_METRONOME is not set | 971 | # CONFIG_FB_METRONOME is not set |
939 | # CONFIG_FB_MB862XX is not set | 972 | # CONFIG_FB_MB862XX is not set |
973 | # CONFIG_FB_BROADSHEET is not set | ||
940 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 974 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
941 | CONFIG_LCD_CLASS_DEVICE=y | 975 | CONFIG_LCD_CLASS_DEVICE=y |
976 | # CONFIG_LCD_LMS283GF05 is not set | ||
942 | # CONFIG_LCD_LTV350QV is not set | 977 | # CONFIG_LCD_LTV350QV is not set |
943 | # CONFIG_LCD_ILI9320 is not set | 978 | # CONFIG_LCD_ILI9320 is not set |
944 | # CONFIG_LCD_TDO24M is not set | 979 | # CONFIG_LCD_TDO24M is not set |
945 | # CONFIG_LCD_VGG2432A4 is not set | 980 | # CONFIG_LCD_VGG2432A4 is not set |
946 | # CONFIG_LCD_PLATFORM is not set | 981 | # CONFIG_LCD_PLATFORM is not set |
947 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 982 | CONFIG_BACKLIGHT_CLASS_DEVICE=y |
948 | # CONFIG_BACKLIGHT_CORGI is not set | 983 | CONFIG_BACKLIGHT_GENERIC=y |
984 | # CONFIG_BACKLIGHT_ADP8870 is not set | ||
949 | 985 | ||
950 | # | 986 | # |
951 | # Display device support | 987 | # Display device support |
@@ -954,6 +990,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y | |||
954 | # CONFIG_LOGO is not set | 990 | # CONFIG_LOGO is not set |
955 | CONFIG_SOUND=y | 991 | CONFIG_SOUND=y |
956 | CONFIG_SOUND_OSS_CORE=y | 992 | CONFIG_SOUND_OSS_CORE=y |
993 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
957 | CONFIG_SND=m | 994 | CONFIG_SND=m |
958 | # CONFIG_SND_SEQUENCER is not set | 995 | # CONFIG_SND_SEQUENCER is not set |
959 | # CONFIG_SND_MIXER_OSS is not set | 996 | # CONFIG_SND_MIXER_OSS is not set |
@@ -963,6 +1000,11 @@ CONFIG_SND=m | |||
963 | # CONFIG_SND_VERBOSE_PROCFS is not set | 1000 | # CONFIG_SND_VERBOSE_PROCFS is not set |
964 | # CONFIG_SND_VERBOSE_PRINTK is not set | 1001 | # CONFIG_SND_VERBOSE_PRINTK is not set |
965 | # CONFIG_SND_DEBUG is not set | 1002 | # CONFIG_SND_DEBUG is not set |
1003 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
1004 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
1005 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
1006 | # CONFIG_SND_SBAWE_SEQ is not set | ||
1007 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
966 | CONFIG_SND_DRIVERS=y | 1008 | CONFIG_SND_DRIVERS=y |
967 | # CONFIG_SND_DUMMY is not set | 1009 | # CONFIG_SND_DUMMY is not set |
968 | # CONFIG_SND_MTPAV is not set | 1010 | # CONFIG_SND_MTPAV is not set |
@@ -973,7 +1015,6 @@ CONFIG_SND_SPI=y | |||
973 | # | 1015 | # |
974 | # ALSA Blackfin devices | 1016 | # ALSA Blackfin devices |
975 | # | 1017 | # |
976 | # CONFIG_SND_BLACKFIN_AD1836 is not set | ||
977 | # CONFIG_SND_BFIN_AD73322 is not set | 1018 | # CONFIG_SND_BFIN_AD73322 is not set |
978 | # CONFIG_SND_SOC is not set | 1019 | # CONFIG_SND_SOC is not set |
979 | CONFIG_SOUND_PRIME=y | 1020 | CONFIG_SOUND_PRIME=y |
@@ -993,9 +1034,13 @@ CONFIG_USB_ARCH_HAS_HCD=y | |||
993 | # | 1034 | # |
994 | 1035 | ||
995 | # | 1036 | # |
996 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1037 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
997 | # | 1038 | # |
998 | # CONFIG_USB_GADGET is not set | 1039 | # CONFIG_USB_GADGET is not set |
1040 | |||
1041 | # | ||
1042 | # OTG and related infrastructure | ||
1043 | # | ||
999 | # CONFIG_MMC is not set | 1044 | # CONFIG_MMC is not set |
1000 | # CONFIG_MEMSTICK is not set | 1045 | # CONFIG_MEMSTICK is not set |
1001 | # CONFIG_NEW_LEDS is not set | 1046 | # CONFIG_NEW_LEDS is not set |
@@ -1031,6 +1076,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1031 | # CONFIG_RTC_DRV_S35390A is not set | 1076 | # CONFIG_RTC_DRV_S35390A is not set |
1032 | # CONFIG_RTC_DRV_FM3130 is not set | 1077 | # CONFIG_RTC_DRV_FM3130 is not set |
1033 | # CONFIG_RTC_DRV_RX8581 is not set | 1078 | # CONFIG_RTC_DRV_RX8581 is not set |
1079 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1034 | 1080 | ||
1035 | # | 1081 | # |
1036 | # SPI RTC drivers | 1082 | # SPI RTC drivers |
@@ -1042,6 +1088,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1042 | # CONFIG_RTC_DRV_R9701 is not set | 1088 | # CONFIG_RTC_DRV_R9701 is not set |
1043 | # CONFIG_RTC_DRV_RS5C348 is not set | 1089 | # CONFIG_RTC_DRV_RS5C348 is not set |
1044 | # CONFIG_RTC_DRV_DS3234 is not set | 1090 | # CONFIG_RTC_DRV_DS3234 is not set |
1091 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1045 | 1092 | ||
1046 | # | 1093 | # |
1047 | # Platform RTC drivers | 1094 | # Platform RTC drivers |
@@ -1062,10 +1109,21 @@ CONFIG_RTC_INTF_DEV=y | |||
1062 | # | 1109 | # |
1063 | CONFIG_RTC_DRV_BFIN=y | 1110 | CONFIG_RTC_DRV_BFIN=y |
1064 | # CONFIG_DMADEVICES is not set | 1111 | # CONFIG_DMADEVICES is not set |
1112 | # CONFIG_AUXDISPLAY is not set | ||
1065 | # CONFIG_UIO is not set | 1113 | # CONFIG_UIO is not set |
1114 | |||
1115 | # | ||
1116 | # TI VLYNQ | ||
1117 | # | ||
1066 | # CONFIG_STAGING is not set | 1118 | # CONFIG_STAGING is not set |
1067 | 1119 | ||
1068 | # | 1120 | # |
1121 | # Firmware Drivers | ||
1122 | # | ||
1123 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1124 | # CONFIG_SIGMA is not set | ||
1125 | |||
1126 | # | ||
1069 | # File systems | 1127 | # File systems |
1070 | # | 1128 | # |
1071 | CONFIG_EXT2_FS=y | 1129 | CONFIG_EXT2_FS=y |
@@ -1078,9 +1136,13 @@ CONFIG_FS_MBCACHE=y | |||
1078 | # CONFIG_REISERFS_FS is not set | 1136 | # CONFIG_REISERFS_FS is not set |
1079 | # CONFIG_JFS_FS is not set | 1137 | # CONFIG_JFS_FS is not set |
1080 | # CONFIG_FS_POSIX_ACL is not set | 1138 | # CONFIG_FS_POSIX_ACL is not set |
1081 | CONFIG_FILE_LOCKING=y | ||
1082 | # CONFIG_XFS_FS is not set | 1139 | # CONFIG_XFS_FS is not set |
1140 | # CONFIG_GFS2_FS is not set | ||
1083 | # CONFIG_OCFS2_FS is not set | 1141 | # CONFIG_OCFS2_FS is not set |
1142 | # CONFIG_BTRFS_FS is not set | ||
1143 | # CONFIG_NILFS2_FS is not set | ||
1144 | CONFIG_FILE_LOCKING=y | ||
1145 | CONFIG_FSNOTIFY=y | ||
1084 | # CONFIG_DNOTIFY is not set | 1146 | # CONFIG_DNOTIFY is not set |
1085 | CONFIG_INOTIFY=y | 1147 | CONFIG_INOTIFY=y |
1086 | CONFIG_INOTIFY_USER=y | 1148 | CONFIG_INOTIFY_USER=y |
@@ -1090,6 +1152,11 @@ CONFIG_INOTIFY_USER=y | |||
1090 | # CONFIG_FUSE_FS is not set | 1152 | # CONFIG_FUSE_FS is not set |
1091 | 1153 | ||
1092 | # | 1154 | # |
1155 | # Caches | ||
1156 | # | ||
1157 | # CONFIG_FSCACHE is not set | ||
1158 | |||
1159 | # | ||
1093 | # CD-ROM/DVD Filesystems | 1160 | # CD-ROM/DVD Filesystems |
1094 | # | 1161 | # |
1095 | # CONFIG_ISO9660_FS is not set | 1162 | # CONFIG_ISO9660_FS is not set |
@@ -1108,13 +1175,9 @@ CONFIG_INOTIFY_USER=y | |||
1108 | CONFIG_PROC_FS=y | 1175 | CONFIG_PROC_FS=y |
1109 | CONFIG_PROC_SYSCTL=y | 1176 | CONFIG_PROC_SYSCTL=y |
1110 | CONFIG_SYSFS=y | 1177 | CONFIG_SYSFS=y |
1111 | # CONFIG_TMPFS is not set | ||
1112 | # CONFIG_HUGETLB_PAGE is not set | 1178 | # CONFIG_HUGETLB_PAGE is not set |
1113 | # CONFIG_CONFIGFS_FS is not set | 1179 | # CONFIG_CONFIGFS_FS is not set |
1114 | 1180 | CONFIG_MISC_FILESYSTEMS=y | |
1115 | # | ||
1116 | # Miscellaneous filesystems | ||
1117 | # | ||
1118 | # CONFIG_ADFS_FS is not set | 1181 | # CONFIG_ADFS_FS is not set |
1119 | # CONFIG_AFFS_FS is not set | 1182 | # CONFIG_AFFS_FS is not set |
1120 | # CONFIG_HFS_FS is not set | 1183 | # CONFIG_HFS_FS is not set |
@@ -1123,17 +1186,8 @@ CONFIG_SYSFS=y | |||
1123 | # CONFIG_BFS_FS is not set | 1186 | # CONFIG_BFS_FS is not set |
1124 | # CONFIG_EFS_FS is not set | 1187 | # CONFIG_EFS_FS is not set |
1125 | # CONFIG_JFFS2_FS is not set | 1188 | # CONFIG_JFFS2_FS is not set |
1126 | CONFIG_YAFFS_FS=y | ||
1127 | CONFIG_YAFFS_YAFFS1=y | ||
1128 | # CONFIG_YAFFS_9BYTE_TAGS is not set | ||
1129 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1130 | CONFIG_YAFFS_YAFFS2=y | ||
1131 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1132 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1133 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1134 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1135 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1136 | # CONFIG_CRAMFS is not set | 1189 | # CONFIG_CRAMFS is not set |
1190 | # CONFIG_SQUASHFS is not set | ||
1137 | # CONFIG_VXFS_FS is not set | 1191 | # CONFIG_VXFS_FS is not set |
1138 | # CONFIG_MINIX_FS is not set | 1192 | # CONFIG_MINIX_FS is not set |
1139 | # CONFIG_OMFS_FS is not set | 1193 | # CONFIG_OMFS_FS is not set |
@@ -1152,7 +1206,6 @@ CONFIG_LOCKD=m | |||
1152 | CONFIG_LOCKD_V4=y | 1206 | CONFIG_LOCKD_V4=y |
1153 | CONFIG_NFS_COMMON=y | 1207 | CONFIG_NFS_COMMON=y |
1154 | CONFIG_SUNRPC=m | 1208 | CONFIG_SUNRPC=m |
1155 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1156 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1209 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1157 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1210 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1158 | CONFIG_SMB_FS=m | 1211 | CONFIG_SMB_FS=m |
@@ -1217,18 +1270,19 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1217 | CONFIG_ENABLE_MUST_CHECK=y | 1270 | CONFIG_ENABLE_MUST_CHECK=y |
1218 | CONFIG_FRAME_WARN=1024 | 1271 | CONFIG_FRAME_WARN=1024 |
1219 | # CONFIG_MAGIC_SYSRQ is not set | 1272 | # CONFIG_MAGIC_SYSRQ is not set |
1273 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1220 | # CONFIG_UNUSED_SYMBOLS is not set | 1274 | # CONFIG_UNUSED_SYMBOLS is not set |
1221 | # CONFIG_DEBUG_FS is not set | 1275 | # CONFIG_DEBUG_FS is not set |
1222 | # CONFIG_HEADERS_CHECK is not set | 1276 | # CONFIG_HEADERS_CHECK is not set |
1277 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1223 | # CONFIG_DEBUG_KERNEL is not set | 1278 | # CONFIG_DEBUG_KERNEL is not set |
1224 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1279 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1225 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1280 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1226 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1281 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1227 | 1282 | CONFIG_HAVE_FUNCTION_TRACER=y | |
1228 | # | 1283 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1229 | # Tracers | 1284 | CONFIG_TRACING_SUPPORT=y |
1230 | # | 1285 | # CONFIG_FTRACE is not set |
1231 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1232 | # CONFIG_SAMPLES is not set | 1286 | # CONFIG_SAMPLES is not set |
1233 | CONFIG_HAVE_ARCH_KGDB=y | 1287 | CONFIG_HAVE_ARCH_KGDB=y |
1234 | CONFIG_DEBUG_VERBOSE=y | 1288 | CONFIG_DEBUG_VERBOSE=y |
@@ -1245,6 +1299,7 @@ CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | |||
1245 | # CONFIG_EARLY_PRINTK is not set | 1299 | # CONFIG_EARLY_PRINTK is not set |
1246 | # CONFIG_CPLB_INFO is not set | 1300 | # CONFIG_CPLB_INFO is not set |
1247 | # CONFIG_ACCESS_CHECK is not set | 1301 | # CONFIG_ACCESS_CHECK is not set |
1302 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1248 | 1303 | ||
1249 | # | 1304 | # |
1250 | # Security options | 1305 | # Security options |
@@ -1253,14 +1308,14 @@ CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | |||
1253 | CONFIG_SECURITY=y | 1308 | CONFIG_SECURITY=y |
1254 | # CONFIG_SECURITYFS is not set | 1309 | # CONFIG_SECURITYFS is not set |
1255 | # CONFIG_SECURITY_NETWORK is not set | 1310 | # CONFIG_SECURITY_NETWORK is not set |
1311 | # CONFIG_SECURITY_PATH is not set | ||
1256 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1312 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1257 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | 1313 | # CONFIG_SECURITY_TOMOYO is not set |
1258 | CONFIG_CRYPTO=y | 1314 | CONFIG_CRYPTO=y |
1259 | 1315 | ||
1260 | # | 1316 | # |
1261 | # Crypto core or helper | 1317 | # Crypto core or helper |
1262 | # | 1318 | # |
1263 | # CONFIG_CRYPTO_FIPS is not set | ||
1264 | # CONFIG_CRYPTO_MANAGER is not set | 1319 | # CONFIG_CRYPTO_MANAGER is not set |
1265 | # CONFIG_CRYPTO_MANAGER2 is not set | 1320 | # CONFIG_CRYPTO_MANAGER2 is not set |
1266 | # CONFIG_CRYPTO_GF128MUL is not set | 1321 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1292,11 +1347,13 @@ CONFIG_CRYPTO=y | |||
1292 | # | 1347 | # |
1293 | # CONFIG_CRYPTO_HMAC is not set | 1348 | # CONFIG_CRYPTO_HMAC is not set |
1294 | # CONFIG_CRYPTO_XCBC is not set | 1349 | # CONFIG_CRYPTO_XCBC is not set |
1350 | # CONFIG_CRYPTO_VMAC is not set | ||
1295 | 1351 | ||
1296 | # | 1352 | # |
1297 | # Digest | 1353 | # Digest |
1298 | # | 1354 | # |
1299 | # CONFIG_CRYPTO_CRC32C is not set | 1355 | # CONFIG_CRYPTO_CRC32C is not set |
1356 | # CONFIG_CRYPTO_GHASH is not set | ||
1300 | # CONFIG_CRYPTO_MD4 is not set | 1357 | # CONFIG_CRYPTO_MD4 is not set |
1301 | # CONFIG_CRYPTO_MD5 is not set | 1358 | # CONFIG_CRYPTO_MD5 is not set |
1302 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1359 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1333,6 +1390,7 @@ CONFIG_CRYPTO=y | |||
1333 | # Compression | 1390 | # Compression |
1334 | # | 1391 | # |
1335 | # CONFIG_CRYPTO_DEFLATE is not set | 1392 | # CONFIG_CRYPTO_DEFLATE is not set |
1393 | # CONFIG_CRYPTO_ZLIB is not set | ||
1336 | # CONFIG_CRYPTO_LZO is not set | 1394 | # CONFIG_CRYPTO_LZO is not set |
1337 | 1395 | ||
1338 | # | 1396 | # |
@@ -1340,11 +1398,13 @@ CONFIG_CRYPTO=y | |||
1340 | # | 1398 | # |
1341 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1399 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1342 | CONFIG_CRYPTO_HW=y | 1400 | CONFIG_CRYPTO_HW=y |
1401 | # CONFIG_BINARY_PRINTF is not set | ||
1343 | 1402 | ||
1344 | # | 1403 | # |
1345 | # Library routines | 1404 | # Library routines |
1346 | # | 1405 | # |
1347 | CONFIG_BITREVERSE=y | 1406 | CONFIG_BITREVERSE=y |
1407 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1348 | CONFIG_CRC_CCITT=m | 1408 | CONFIG_CRC_CCITT=m |
1349 | # CONFIG_CRC16 is not set | 1409 | # CONFIG_CRC16 is not set |
1350 | # CONFIG_CRC_T10DIF is not set | 1410 | # CONFIG_CRC_T10DIF is not set |
@@ -1356,3 +1416,4 @@ CONFIG_ZLIB_INFLATE=y | |||
1356 | CONFIG_HAS_IOMEM=y | 1416 | CONFIG_HAS_IOMEM=y |
1357 | CONFIG_HAS_IOPORT=y | 1417 | CONFIG_HAS_IOPORT=y |
1358 | CONFIG_HAS_DMA=y | 1418 | CONFIG_HAS_DMA=y |
1419 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/configs/TCM-BF518_defconfig b/arch/blackfin/configs/TCM-BF518_defconfig new file mode 100644 index 000000000000..4d31e2a4ed46 --- /dev/null +++ b/arch/blackfin/configs/TCM-BF518_defconfig | |||
@@ -0,0 +1,1375 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32.3 | ||
4 | # | ||
5 | # CONFIG_MMU is not set | ||
6 | # CONFIG_FPU is not set | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
8 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
9 | CONFIG_BLACKFIN=y | ||
10 | CONFIG_GENERIC_CSUM=y | ||
11 | CONFIG_GENERIC_BUG=y | ||
12 | CONFIG_ZONE_DMA=y | ||
13 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_LOCKDEP_SUPPORT=y | ||
21 | CONFIG_STACKTRACE_SUPPORT=y | ||
22 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | CONFIG_CONSTRUCTORS=y | ||
25 | |||
26 | # | ||
27 | # General setup | ||
28 | # | ||
29 | CONFIG_EXPERIMENTAL=y | ||
30 | CONFIG_BROKEN_ON_SMP=y | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_HAVE_KERNEL_GZIP=y | ||
35 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
36 | CONFIG_HAVE_KERNEL_LZMA=y | ||
37 | # CONFIG_KERNEL_GZIP is not set | ||
38 | # CONFIG_KERNEL_BZIP2 is not set | ||
39 | CONFIG_KERNEL_LZMA=y | ||
40 | CONFIG_SYSVIPC=y | ||
41 | CONFIG_SYSVIPC_SYSCTL=y | ||
42 | # CONFIG_POSIX_MQUEUE is not set | ||
43 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
44 | # CONFIG_TASKSTATS is not set | ||
45 | # CONFIG_AUDIT is not set | ||
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_TREE_RCU=y | ||
51 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
52 | # CONFIG_RCU_TRACE is not set | ||
53 | CONFIG_RCU_FANOUT=32 | ||
54 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
55 | # CONFIG_TREE_RCU_TRACE is not set | ||
56 | CONFIG_IKCONFIG=y | ||
57 | CONFIG_IKCONFIG_PROC=y | ||
58 | CONFIG_LOG_BUF_SHIFT=14 | ||
59 | # CONFIG_GROUP_SCHED is not set | ||
60 | # CONFIG_CGROUPS is not set | ||
61 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
62 | # CONFIG_RELAY is not set | ||
63 | # CONFIG_NAMESPACES is not set | ||
64 | CONFIG_BLK_DEV_INITRD=y | ||
65 | CONFIG_INITRAMFS_SOURCE="" | ||
66 | # CONFIG_RD_GZIP is not set | ||
67 | # CONFIG_RD_BZIP2 is not set | ||
68 | CONFIG_RD_LZMA=y | ||
69 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
70 | CONFIG_SYSCTL=y | ||
71 | CONFIG_ANON_INODES=y | ||
72 | CONFIG_EMBEDDED=y | ||
73 | CONFIG_UID16=y | ||
74 | # CONFIG_SYSCTL_SYSCALL is not set | ||
75 | CONFIG_KALLSYMS=y | ||
76 | # CONFIG_KALLSYMS_ALL is not set | ||
77 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
78 | CONFIG_HOTPLUG=y | ||
79 | CONFIG_PRINTK=y | ||
80 | CONFIG_BUG=y | ||
81 | # CONFIG_ELF_CORE is not set | ||
82 | CONFIG_BASE_FULL=y | ||
83 | # CONFIG_FUTEX is not set | ||
84 | CONFIG_EPOLL=y | ||
85 | # CONFIG_SIGNALFD is not set | ||
86 | # CONFIG_TIMERFD is not set | ||
87 | # CONFIG_EVENTFD is not set | ||
88 | # CONFIG_AIO is not set | ||
89 | |||
90 | # | ||
91 | # Kernel Performance Events And Counters | ||
92 | # | ||
93 | CONFIG_VM_EVENT_COUNTERS=y | ||
94 | CONFIG_COMPAT_BRK=y | ||
95 | CONFIG_SLAB=y | ||
96 | # CONFIG_SLUB is not set | ||
97 | # CONFIG_SLOB is not set | ||
98 | CONFIG_MMAP_ALLOW_UNINITIALIZED=y | ||
99 | # CONFIG_PROFILING is not set | ||
100 | CONFIG_HAVE_OPROFILE=y | ||
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | ||
107 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
108 | CONFIG_SLABINFO=y | ||
109 | CONFIG_BASE_SMALL=0 | ||
110 | CONFIG_MODULES=y | ||
111 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
112 | CONFIG_MODULE_UNLOAD=y | ||
113 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
114 | # CONFIG_MODVERSIONS is not set | ||
115 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
116 | CONFIG_BLOCK=y | ||
117 | # CONFIG_LBDAF is not set | ||
118 | # CONFIG_BLK_DEV_BSG is not set | ||
119 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
120 | |||
121 | # | ||
122 | # IO Schedulers | ||
123 | # | ||
124 | CONFIG_IOSCHED_NOOP=y | ||
125 | # CONFIG_IOSCHED_AS is not set | ||
126 | # CONFIG_IOSCHED_DEADLINE is not set | ||
127 | # CONFIG_IOSCHED_CFQ is not set | ||
128 | # CONFIG_DEFAULT_AS is not set | ||
129 | # CONFIG_DEFAULT_DEADLINE is not set | ||
130 | # CONFIG_DEFAULT_CFQ is not set | ||
131 | CONFIG_DEFAULT_NOOP=y | ||
132 | CONFIG_DEFAULT_IOSCHED="noop" | ||
133 | # CONFIG_PREEMPT_NONE is not set | ||
134 | CONFIG_PREEMPT_VOLUNTARY=y | ||
135 | # CONFIG_PREEMPT is not set | ||
136 | # CONFIG_FREEZER is not set | ||
137 | |||
138 | # | ||
139 | # Blackfin Processor Options | ||
140 | # | ||
141 | |||
142 | # | ||
143 | # Processor and Board Settings | ||
144 | # | ||
145 | # CONFIG_BF512 is not set | ||
146 | # CONFIG_BF514 is not set | ||
147 | # CONFIG_BF516 is not set | ||
148 | CONFIG_BF518=y | ||
149 | # CONFIG_BF522 is not set | ||
150 | # CONFIG_BF523 is not set | ||
151 | # CONFIG_BF524 is not set | ||
152 | # CONFIG_BF525 is not set | ||
153 | # CONFIG_BF526 is not set | ||
154 | # CONFIG_BF527 is not set | ||
155 | # CONFIG_BF531 is not set | ||
156 | # CONFIG_BF532 is not set | ||
157 | # CONFIG_BF533 is not set | ||
158 | # CONFIG_BF534 is not set | ||
159 | # CONFIG_BF536 is not set | ||
160 | # CONFIG_BF537 is not set | ||
161 | # CONFIG_BF538 is not set | ||
162 | # CONFIG_BF539 is not set | ||
163 | # CONFIG_BF542_std is not set | ||
164 | # CONFIG_BF542M is not set | ||
165 | # CONFIG_BF544_std is not set | ||
166 | # CONFIG_BF544M is not set | ||
167 | # CONFIG_BF547_std is not set | ||
168 | # CONFIG_BF547M is not set | ||
169 | # CONFIG_BF548_std is not set | ||
170 | # CONFIG_BF548M is not set | ||
171 | # CONFIG_BF549_std is not set | ||
172 | # CONFIG_BF549M is not set | ||
173 | # CONFIG_BF561 is not set | ||
174 | CONFIG_BF_REV_MIN=0 | ||
175 | CONFIG_BF_REV_MAX=2 | ||
176 | # CONFIG_BF_REV_0_0 is not set | ||
177 | CONFIG_BF_REV_0_1=y | ||
178 | # CONFIG_BF_REV_0_2 is not set | ||
179 | # CONFIG_BF_REV_0_3 is not set | ||
180 | # CONFIG_BF_REV_0_4 is not set | ||
181 | # CONFIG_BF_REV_0_5 is not set | ||
182 | # CONFIG_BF_REV_0_6 is not set | ||
183 | # CONFIG_BF_REV_ANY is not set | ||
184 | # CONFIG_BF_REV_NONE is not set | ||
185 | CONFIG_BF51x=y | ||
186 | # CONFIG_BFIN518F_EZBRD is not set | ||
187 | CONFIG_BFIN518F_TCM=y | ||
188 | |||
189 | # | ||
190 | # BF518 Specific Configuration | ||
191 | # | ||
192 | |||
193 | # | ||
194 | # Alternative Multiplexing Scheme | ||
195 | # | ||
196 | # CONFIG_BF518_SPORT0_PORTF is not set | ||
197 | CONFIG_BF518_SPORT0_PORTG=y | ||
198 | CONFIG_BF518_SPORT0_TSCLK_PG10=y | ||
199 | # CONFIG_BF518_SPORT0_TSCLK_PG14 is not set | ||
200 | CONFIG_BF518_UART1_PORTF=y | ||
201 | # CONFIG_BF518_UART1_PORTG is not set | ||
202 | |||
203 | # | ||
204 | # Interrupt Priority Assignment | ||
205 | # | ||
206 | |||
207 | # | ||
208 | # Priority | ||
209 | # | ||
210 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
211 | CONFIG_IRQ_DMA0_ERROR=7 | ||
212 | CONFIG_IRQ_DMAR0_BLK=7 | ||
213 | CONFIG_IRQ_DMAR1_BLK=7 | ||
214 | CONFIG_IRQ_DMAR0_OVR=7 | ||
215 | CONFIG_IRQ_DMAR1_OVR=7 | ||
216 | CONFIG_IRQ_PPI_ERROR=7 | ||
217 | CONFIG_IRQ_MAC_ERROR=7 | ||
218 | CONFIG_IRQ_SPORT0_ERROR=7 | ||
219 | CONFIG_IRQ_SPORT1_ERROR=7 | ||
220 | CONFIG_IRQ_PTP_ERROR=7 | ||
221 | CONFIG_IRQ_UART0_ERROR=7 | ||
222 | CONFIG_IRQ_UART1_ERROR=7 | ||
223 | CONFIG_IRQ_RTC=8 | ||
224 | CONFIG_IRQ_PPI=8 | ||
225 | CONFIG_IRQ_SPORT0_RX=9 | ||
226 | CONFIG_IRQ_SPORT0_TX=9 | ||
227 | CONFIG_IRQ_SPORT1_RX=9 | ||
228 | CONFIG_IRQ_SPORT1_TX=9 | ||
229 | CONFIG_IRQ_TWI=10 | ||
230 | CONFIG_IRQ_SPI0=10 | ||
231 | CONFIG_IRQ_UART0_RX=10 | ||
232 | CONFIG_IRQ_UART0_TX=10 | ||
233 | CONFIG_IRQ_UART1_RX=10 | ||
234 | CONFIG_IRQ_UART1_TX=10 | ||
235 | CONFIG_IRQ_OPTSEC=11 | ||
236 | CONFIG_IRQ_CNT=11 | ||
237 | CONFIG_IRQ_MAC_RX=11 | ||
238 | CONFIG_IRQ_PORTH_INTA=11 | ||
239 | CONFIG_IRQ_MAC_TX=11 | ||
240 | CONFIG_IRQ_PORTH_INTB=11 | ||
241 | CONFIG_IRQ_TIMER0=12 | ||
242 | CONFIG_IRQ_TIMER1=12 | ||
243 | CONFIG_IRQ_TIMER2=12 | ||
244 | CONFIG_IRQ_TIMER3=12 | ||
245 | CONFIG_IRQ_TIMER4=12 | ||
246 | CONFIG_IRQ_TIMER5=12 | ||
247 | CONFIG_IRQ_TIMER6=12 | ||
248 | CONFIG_IRQ_TIMER7=12 | ||
249 | CONFIG_IRQ_PORTG_INTA=12 | ||
250 | CONFIG_IRQ_PORTG_INTB=12 | ||
251 | CONFIG_IRQ_MEM_DMA0=13 | ||
252 | CONFIG_IRQ_MEM_DMA1=13 | ||
253 | CONFIG_IRQ_WATCH=13 | ||
254 | CONFIG_IRQ_PORTF_INTA=13 | ||
255 | CONFIG_IRQ_PORTF_INTB=13 | ||
256 | CONFIG_IRQ_SPI0_ERROR=7 | ||
257 | CONFIG_IRQ_SPI1_ERROR=7 | ||
258 | CONFIG_IRQ_RSI_INT0=7 | ||
259 | CONFIG_IRQ_RSI_INT1=7 | ||
260 | CONFIG_IRQ_PWM_TRIP=10 | ||
261 | CONFIG_IRQ_PWM_SYNC=10 | ||
262 | CONFIG_IRQ_PTP_STAT=10 | ||
263 | |||
264 | # | ||
265 | # Board customizations | ||
266 | # | ||
267 | # CONFIG_CMDLINE_BOOL is not set | ||
268 | CONFIG_BOOT_LOAD=0x1000 | ||
269 | |||
270 | # | ||
271 | # Clock/PLL Setup | ||
272 | # | ||
273 | CONFIG_CLKIN_HZ=25000000 | ||
274 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
275 | CONFIG_MAX_VCO_HZ=400000000 | ||
276 | CONFIG_MIN_VCO_HZ=50000000 | ||
277 | CONFIG_MAX_SCLK_HZ=133333333 | ||
278 | CONFIG_MIN_SCLK_HZ=27000000 | ||
279 | |||
280 | # | ||
281 | # Kernel Timer/Scheduler | ||
282 | # | ||
283 | # CONFIG_HZ_100 is not set | ||
284 | CONFIG_HZ_250=y | ||
285 | # CONFIG_HZ_300 is not set | ||
286 | # CONFIG_HZ_1000 is not set | ||
287 | CONFIG_HZ=250 | ||
288 | # CONFIG_SCHED_HRTICK is not set | ||
289 | CONFIG_GENERIC_TIME=y | ||
290 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
291 | |||
292 | # | ||
293 | # Clock event device | ||
294 | # | ||
295 | # CONFIG_TICKSOURCE_GPTMR0 is not set | ||
296 | CONFIG_TICKSOURCE_CORETMR=y | ||
297 | |||
298 | # | ||
299 | # Clock souce | ||
300 | # | ||
301 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
302 | # CONFIG_GPTMR0_CLOCKSOURCE is not set | ||
303 | # CONFIG_NO_HZ is not set | ||
304 | # CONFIG_HIGH_RES_TIMERS is not set | ||
305 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
306 | |||
307 | # | ||
308 | # Misc | ||
309 | # | ||
310 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
311 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
312 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
313 | |||
314 | # | ||
315 | # Blackfin Kernel Optimizations | ||
316 | # | ||
317 | |||
318 | # | ||
319 | # Memory Optimizations | ||
320 | # | ||
321 | CONFIG_I_ENTRY_L1=y | ||
322 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
323 | CONFIG_DO_IRQ_L1=y | ||
324 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
325 | CONFIG_IDLE_L1=y | ||
326 | # CONFIG_SCHEDULE_L1 is not set | ||
327 | CONFIG_ARITHMETIC_OPS_L1=y | ||
328 | CONFIG_ACCESS_OK_L1=y | ||
329 | # CONFIG_MEMSET_L1 is not set | ||
330 | # CONFIG_MEMCPY_L1 is not set | ||
331 | # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set | ||
332 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
333 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
334 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
335 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
336 | CONFIG_APP_STACK_L1=y | ||
337 | |||
338 | # | ||
339 | # Speed Optimizations | ||
340 | # | ||
341 | CONFIG_BFIN_INS_LOWOVERHEAD=y | ||
342 | CONFIG_RAMKERNEL=y | ||
343 | # CONFIG_ROMKERNEL is not set | ||
344 | CONFIG_SELECT_MEMORY_MODEL=y | ||
345 | CONFIG_FLATMEM_MANUAL=y | ||
346 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
347 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
348 | CONFIG_FLATMEM=y | ||
349 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
350 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
351 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
352 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
353 | CONFIG_ZONE_DMA_FLAG=1 | ||
354 | CONFIG_VIRT_TO_BUS=y | ||
355 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 | ||
356 | CONFIG_BFIN_GPTIMERS=m | ||
357 | # CONFIG_DMA_UNCACHED_4M is not set | ||
358 | # CONFIG_DMA_UNCACHED_2M is not set | ||
359 | CONFIG_DMA_UNCACHED_1M=y | ||
360 | # CONFIG_DMA_UNCACHED_512K is not set | ||
361 | # CONFIG_DMA_UNCACHED_256K is not set | ||
362 | # CONFIG_DMA_UNCACHED_128K is not set | ||
363 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
364 | |||
365 | # | ||
366 | # Cache Support | ||
367 | # | ||
368 | CONFIG_BFIN_ICACHE=y | ||
369 | CONFIG_BFIN_EXTMEM_ICACHEABLE=y | ||
370 | CONFIG_BFIN_DCACHE=y | ||
371 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
372 | CONFIG_BFIN_EXTMEM_DCACHEABLE=y | ||
373 | CONFIG_BFIN_EXTMEM_WRITEBACK=y | ||
374 | # CONFIG_BFIN_EXTMEM_WRITETHROUGH is not set | ||
375 | |||
376 | # | ||
377 | # Memory Protection Unit | ||
378 | # | ||
379 | # CONFIG_MPU is not set | ||
380 | |||
381 | # | ||
382 | # Asynchronous Memory Configuration | ||
383 | # | ||
384 | |||
385 | # | ||
386 | # EBIU_AMGCTL Global Control | ||
387 | # | ||
388 | CONFIG_C_AMCKEN=y | ||
389 | CONFIG_C_CDPRIO=y | ||
390 | # CONFIG_C_AMBEN is not set | ||
391 | # CONFIG_C_AMBEN_B0 is not set | ||
392 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
393 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
394 | CONFIG_C_AMBEN_ALL=y | ||
395 | |||
396 | # | ||
397 | # EBIU_AMBCTL Control | ||
398 | # | ||
399 | CONFIG_BANK_0=0x7BB0 | ||
400 | CONFIG_BANK_1=0x7BB0 | ||
401 | CONFIG_BANK_2=0x7BB0 | ||
402 | CONFIG_BANK_3=0x99B2 | ||
403 | |||
404 | # | ||
405 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
406 | # | ||
407 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
408 | # CONFIG_PCCARD is not set | ||
409 | |||
410 | # | ||
411 | # Executable file formats | ||
412 | # | ||
413 | CONFIG_BINFMT_ELF_FDPIC=y | ||
414 | CONFIG_BINFMT_FLAT=y | ||
415 | CONFIG_BINFMT_ZFLAT=y | ||
416 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
417 | # CONFIG_HAVE_AOUT is not set | ||
418 | # CONFIG_BINFMT_MISC is not set | ||
419 | |||
420 | # | ||
421 | # Power management options | ||
422 | # | ||
423 | # CONFIG_PM is not set | ||
424 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
425 | |||
426 | # | ||
427 | # CPU Frequency scaling | ||
428 | # | ||
429 | # CONFIG_CPU_FREQ is not set | ||
430 | CONFIG_NET=y | ||
431 | |||
432 | # | ||
433 | # Networking options | ||
434 | # | ||
435 | CONFIG_PACKET=y | ||
436 | # CONFIG_PACKET_MMAP is not set | ||
437 | CONFIG_UNIX=y | ||
438 | # CONFIG_NET_KEY is not set | ||
439 | CONFIG_INET=y | ||
440 | # CONFIG_IP_MULTICAST is not set | ||
441 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
442 | CONFIG_IP_FIB_HASH=y | ||
443 | CONFIG_IP_PNP=y | ||
444 | # CONFIG_IP_PNP_DHCP is not set | ||
445 | # CONFIG_IP_PNP_BOOTP is not set | ||
446 | # CONFIG_IP_PNP_RARP is not set | ||
447 | # CONFIG_NET_IPIP is not set | ||
448 | # CONFIG_NET_IPGRE is not set | ||
449 | # CONFIG_ARPD is not set | ||
450 | # CONFIG_SYN_COOKIES is not set | ||
451 | # CONFIG_INET_AH is not set | ||
452 | # CONFIG_INET_ESP is not set | ||
453 | # CONFIG_INET_IPCOMP is not set | ||
454 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
455 | # CONFIG_INET_TUNNEL is not set | ||
456 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
457 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
458 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
459 | # CONFIG_INET_LRO is not set | ||
460 | # CONFIG_INET_DIAG is not set | ||
461 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
462 | CONFIG_TCP_CONG_CUBIC=y | ||
463 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
464 | # CONFIG_TCP_MD5SIG is not set | ||
465 | # CONFIG_IPV6 is not set | ||
466 | # CONFIG_NETLABEL is not set | ||
467 | # CONFIG_NETWORK_SECMARK is not set | ||
468 | # CONFIG_NETFILTER is not set | ||
469 | # CONFIG_IP_DCCP is not set | ||
470 | # CONFIG_IP_SCTP is not set | ||
471 | # CONFIG_RDS is not set | ||
472 | # CONFIG_TIPC is not set | ||
473 | # CONFIG_ATM is not set | ||
474 | # CONFIG_BRIDGE is not set | ||
475 | # CONFIG_NET_DSA is not set | ||
476 | # CONFIG_VLAN_8021Q is not set | ||
477 | # CONFIG_DECNET is not set | ||
478 | # CONFIG_LLC2 is not set | ||
479 | # CONFIG_IPX is not set | ||
480 | # CONFIG_ATALK is not set | ||
481 | # CONFIG_X25 is not set | ||
482 | # CONFIG_LAPB is not set | ||
483 | # CONFIG_ECONET is not set | ||
484 | # CONFIG_WAN_ROUTER is not set | ||
485 | # CONFIG_PHONET is not set | ||
486 | # CONFIG_IEEE802154 is not set | ||
487 | # CONFIG_NET_SCHED is not set | ||
488 | # CONFIG_DCB is not set | ||
489 | |||
490 | # | ||
491 | # Network testing | ||
492 | # | ||
493 | # CONFIG_NET_PKTGEN is not set | ||
494 | # CONFIG_HAMRADIO is not set | ||
495 | # CONFIG_CAN is not set | ||
496 | # CONFIG_IRDA is not set | ||
497 | # CONFIG_BT is not set | ||
498 | # CONFIG_AF_RXRPC is not set | ||
499 | # CONFIG_WIRELESS is not set | ||
500 | # CONFIG_WIMAX is not set | ||
501 | # CONFIG_RFKILL is not set | ||
502 | # CONFIG_NET_9P is not set | ||
503 | |||
504 | # | ||
505 | # Device Drivers | ||
506 | # | ||
507 | |||
508 | # | ||
509 | # Generic Driver Options | ||
510 | # | ||
511 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
512 | CONFIG_STANDALONE=y | ||
513 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
514 | # CONFIG_FW_LOADER is not set | ||
515 | # CONFIG_DEBUG_DRIVER is not set | ||
516 | # CONFIG_DEBUG_DEVRES is not set | ||
517 | # CONFIG_SYS_HYPERVISOR is not set | ||
518 | # CONFIG_CONNECTOR is not set | ||
519 | CONFIG_MTD=y | ||
520 | # CONFIG_MTD_DEBUG is not set | ||
521 | # CONFIG_MTD_TESTS is not set | ||
522 | # CONFIG_MTD_CONCAT is not set | ||
523 | CONFIG_MTD_PARTITIONS=y | ||
524 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
525 | CONFIG_MTD_CMDLINE_PARTS=y | ||
526 | # CONFIG_MTD_AR7_PARTS is not set | ||
527 | |||
528 | # | ||
529 | # User Modules And Translation Layers | ||
530 | # | ||
531 | CONFIG_MTD_CHAR=y | ||
532 | CONFIG_MTD_BLKDEVS=y | ||
533 | CONFIG_MTD_BLOCK=y | ||
534 | # CONFIG_FTL is not set | ||
535 | # CONFIG_NFTL is not set | ||
536 | # CONFIG_INFTL is not set | ||
537 | # CONFIG_RFD_FTL is not set | ||
538 | # CONFIG_SSFDC is not set | ||
539 | # CONFIG_MTD_OOPS is not set | ||
540 | |||
541 | # | ||
542 | # RAM/ROM/Flash chip drivers | ||
543 | # | ||
544 | CONFIG_MTD_CFI=y | ||
545 | # CONFIG_MTD_JEDECPROBE is not set | ||
546 | CONFIG_MTD_GEN_PROBE=y | ||
547 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
548 | CONFIG_MTD_CFI_NOSWAP=y | ||
549 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
550 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
551 | CONFIG_MTD_CFI_GEOMETRY=y | ||
552 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
553 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
554 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
555 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
556 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
557 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
558 | CONFIG_MTD_CFI_I1=y | ||
559 | # CONFIG_MTD_CFI_I2 is not set | ||
560 | # CONFIG_MTD_CFI_I4 is not set | ||
561 | # CONFIG_MTD_CFI_I8 is not set | ||
562 | # CONFIG_MTD_OTP is not set | ||
563 | CONFIG_MTD_CFI_INTELEXT=y | ||
564 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
565 | # CONFIG_MTD_CFI_STAA is not set | ||
566 | CONFIG_MTD_CFI_UTIL=y | ||
567 | CONFIG_MTD_RAM=y | ||
568 | CONFIG_MTD_ROM=m | ||
569 | # CONFIG_MTD_ABSENT is not set | ||
570 | |||
571 | # | ||
572 | # Mapping drivers for chip access | ||
573 | # | ||
574 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
575 | CONFIG_MTD_PHYSMAP=y | ||
576 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
577 | # CONFIG_MTD_UCLINUX is not set | ||
578 | # CONFIG_MTD_PLATRAM is not set | ||
579 | |||
580 | # | ||
581 | # Self-contained MTD device drivers | ||
582 | # | ||
583 | # CONFIG_MTD_DATAFLASH is not set | ||
584 | # CONFIG_MTD_M25P80 is not set | ||
585 | # CONFIG_MTD_SST25L is not set | ||
586 | # CONFIG_MTD_SLRAM is not set | ||
587 | # CONFIG_MTD_PHRAM is not set | ||
588 | # CONFIG_MTD_MTDRAM is not set | ||
589 | # CONFIG_MTD_BLOCK2MTD is not set | ||
590 | |||
591 | # | ||
592 | # Disk-On-Chip Device Drivers | ||
593 | # | ||
594 | # CONFIG_MTD_DOC2000 is not set | ||
595 | # CONFIG_MTD_DOC2001 is not set | ||
596 | # CONFIG_MTD_DOC2001PLUS is not set | ||
597 | # CONFIG_MTD_NAND is not set | ||
598 | # CONFIG_MTD_ONENAND is not set | ||
599 | |||
600 | # | ||
601 | # LPDDR flash memory drivers | ||
602 | # | ||
603 | # CONFIG_MTD_LPDDR is not set | ||
604 | |||
605 | # | ||
606 | # UBI - Unsorted block images | ||
607 | # | ||
608 | # CONFIG_MTD_UBI is not set | ||
609 | # CONFIG_PARPORT is not set | ||
610 | CONFIG_BLK_DEV=y | ||
611 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
612 | # CONFIG_BLK_DEV_LOOP is not set | ||
613 | # CONFIG_BLK_DEV_NBD is not set | ||
614 | CONFIG_BLK_DEV_RAM=y | ||
615 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
616 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
617 | # CONFIG_BLK_DEV_XIP is not set | ||
618 | # CONFIG_CDROM_PKTCDVD is not set | ||
619 | # CONFIG_ATA_OVER_ETH is not set | ||
620 | # CONFIG_BLK_DEV_HD is not set | ||
621 | CONFIG_MISC_DEVICES=y | ||
622 | # CONFIG_AD525X_DPOT is not set | ||
623 | # CONFIG_ICS932S401 is not set | ||
624 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
625 | # CONFIG_ISL29003 is not set | ||
626 | # CONFIG_C2PORT is not set | ||
627 | |||
628 | # | ||
629 | # EEPROM support | ||
630 | # | ||
631 | # CONFIG_EEPROM_AT24 is not set | ||
632 | # CONFIG_EEPROM_AT25 is not set | ||
633 | # CONFIG_EEPROM_LEGACY is not set | ||
634 | # CONFIG_EEPROM_MAX6875 is not set | ||
635 | # CONFIG_EEPROM_93CX6 is not set | ||
636 | CONFIG_HAVE_IDE=y | ||
637 | # CONFIG_IDE is not set | ||
638 | |||
639 | # | ||
640 | # SCSI device support | ||
641 | # | ||
642 | # CONFIG_RAID_ATTRS is not set | ||
643 | # CONFIG_SCSI is not set | ||
644 | # CONFIG_SCSI_DMA is not set | ||
645 | # CONFIG_SCSI_NETLINK is not set | ||
646 | # CONFIG_ATA is not set | ||
647 | # CONFIG_MD is not set | ||
648 | CONFIG_NETDEVICES=y | ||
649 | # CONFIG_DUMMY is not set | ||
650 | # CONFIG_BONDING is not set | ||
651 | # CONFIG_MACVLAN is not set | ||
652 | # CONFIG_EQUALIZER is not set | ||
653 | # CONFIG_TUN is not set | ||
654 | # CONFIG_VETH is not set | ||
655 | CONFIG_PHYLIB=y | ||
656 | |||
657 | # | ||
658 | # MII PHY device drivers | ||
659 | # | ||
660 | # CONFIG_MARVELL_PHY is not set | ||
661 | # CONFIG_DAVICOM_PHY is not set | ||
662 | # CONFIG_QSEMI_PHY is not set | ||
663 | # CONFIG_LXT_PHY is not set | ||
664 | # CONFIG_CICADA_PHY is not set | ||
665 | # CONFIG_VITESSE_PHY is not set | ||
666 | # CONFIG_SMSC_PHY is not set | ||
667 | # CONFIG_BROADCOM_PHY is not set | ||
668 | # CONFIG_ICPLUS_PHY is not set | ||
669 | # CONFIG_REALTEK_PHY is not set | ||
670 | # CONFIG_NATIONAL_PHY is not set | ||
671 | # CONFIG_STE10XP is not set | ||
672 | # CONFIG_LSI_ET1011C_PHY is not set | ||
673 | # CONFIG_FIXED_PHY is not set | ||
674 | # CONFIG_MDIO_BITBANG is not set | ||
675 | CONFIG_NET_ETHERNET=y | ||
676 | CONFIG_MII=y | ||
677 | CONFIG_BFIN_MAC=y | ||
678 | CONFIG_BFIN_TX_DESC_NUM=10 | ||
679 | CONFIG_BFIN_RX_DESC_NUM=20 | ||
680 | # CONFIG_BFIN_MAC_RMII is not set | ||
681 | CONFIG_BFIN_MAC_USE_HWSTAMP=y | ||
682 | # CONFIG_SMC91X is not set | ||
683 | # CONFIG_DM9000 is not set | ||
684 | # CONFIG_ENC28J60 is not set | ||
685 | # CONFIG_ETHOC is not set | ||
686 | # CONFIG_SMSC911X is not set | ||
687 | # CONFIG_DNET is not set | ||
688 | # CONFIG_ADF702X is not set | ||
689 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
690 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
691 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
692 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
693 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
694 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
695 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
696 | # CONFIG_B44 is not set | ||
697 | # CONFIG_KS8842 is not set | ||
698 | # CONFIG_KS8851 is not set | ||
699 | # CONFIG_KS8851_MLL is not set | ||
700 | # CONFIG_NETDEV_1000 is not set | ||
701 | # CONFIG_NETDEV_10000 is not set | ||
702 | # CONFIG_WLAN is not set | ||
703 | |||
704 | # | ||
705 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
706 | # | ||
707 | # CONFIG_WAN is not set | ||
708 | # CONFIG_PPP is not set | ||
709 | # CONFIG_SLIP is not set | ||
710 | # CONFIG_NETCONSOLE is not set | ||
711 | # CONFIG_NETPOLL is not set | ||
712 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
713 | # CONFIG_ISDN is not set | ||
714 | # CONFIG_PHONE is not set | ||
715 | |||
716 | # | ||
717 | # Input device support | ||
718 | # | ||
719 | CONFIG_INPUT=y | ||
720 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
721 | # CONFIG_INPUT_POLLDEV is not set | ||
722 | |||
723 | # | ||
724 | # Userland interfaces | ||
725 | # | ||
726 | # CONFIG_INPUT_MOUSEDEV is not set | ||
727 | # CONFIG_INPUT_JOYDEV is not set | ||
728 | # CONFIG_INPUT_EVDEV is not set | ||
729 | # CONFIG_INPUT_EVBUG is not set | ||
730 | |||
731 | # | ||
732 | # Input Device Drivers | ||
733 | # | ||
734 | # CONFIG_INPUT_KEYBOARD is not set | ||
735 | # CONFIG_INPUT_MOUSE is not set | ||
736 | # CONFIG_INPUT_JOYSTICK is not set | ||
737 | # CONFIG_INPUT_TABLET is not set | ||
738 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
739 | CONFIG_INPUT_MISC=y | ||
740 | # CONFIG_INPUT_UINPUT is not set | ||
741 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
742 | # CONFIG_INPUT_AD714X is not set | ||
743 | # CONFIG_INPUT_ADXL34X is not set | ||
744 | # CONFIG_INPUT_PCF8574 is not set | ||
745 | |||
746 | # | ||
747 | # Hardware I/O ports | ||
748 | # | ||
749 | # CONFIG_SERIO is not set | ||
750 | # CONFIG_GAMEPORT is not set | ||
751 | |||
752 | # | ||
753 | # Character devices | ||
754 | # | ||
755 | CONFIG_BFIN_DMA_INTERFACE=m | ||
756 | # CONFIG_BFIN_PPI is not set | ||
757 | # CONFIG_BFIN_PPIFCD is not set | ||
758 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
759 | # CONFIG_BFIN_SPI_ADC is not set | ||
760 | # CONFIG_BFIN_SPORT is not set | ||
761 | # CONFIG_BFIN_TWI_LCD is not set | ||
762 | CONFIG_VT=y | ||
763 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
764 | CONFIG_VT_CONSOLE=y | ||
765 | CONFIG_HW_CONSOLE=y | ||
766 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
767 | # CONFIG_DEVKMEM is not set | ||
768 | CONFIG_BFIN_JTAG_COMM=m | ||
769 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
770 | |||
771 | # | ||
772 | # Serial drivers | ||
773 | # | ||
774 | # CONFIG_SERIAL_8250 is not set | ||
775 | |||
776 | # | ||
777 | # Non-8250 serial port support | ||
778 | # | ||
779 | # CONFIG_SERIAL_MAX3100 is not set | ||
780 | CONFIG_SERIAL_BFIN=y | ||
781 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
782 | CONFIG_SERIAL_BFIN_DMA=y | ||
783 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
784 | CONFIG_SERIAL_BFIN_UART0=y | ||
785 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
786 | # CONFIG_SERIAL_BFIN_UART1 is not set | ||
787 | CONFIG_SERIAL_CORE=y | ||
788 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
789 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
790 | CONFIG_UNIX98_PTYS=y | ||
791 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
792 | # CONFIG_LEGACY_PTYS is not set | ||
793 | CONFIG_BFIN_OTP=y | ||
794 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | ||
795 | # CONFIG_IPMI_HANDLER is not set | ||
796 | # CONFIG_HW_RANDOM is not set | ||
797 | # CONFIG_R3964 is not set | ||
798 | # CONFIG_RAW_DRIVER is not set | ||
799 | # CONFIG_TCG_TPM is not set | ||
800 | CONFIG_I2C=y | ||
801 | CONFIG_I2C_BOARDINFO=y | ||
802 | CONFIG_I2C_COMPAT=y | ||
803 | CONFIG_I2C_CHARDEV=y | ||
804 | CONFIG_I2C_HELPER_AUTO=y | ||
805 | |||
806 | # | ||
807 | # I2C Hardware Bus support | ||
808 | # | ||
809 | |||
810 | # | ||
811 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
812 | # | ||
813 | CONFIG_I2C_BLACKFIN_TWI=y | ||
814 | CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 | ||
815 | # CONFIG_I2C_GPIO is not set | ||
816 | # CONFIG_I2C_OCORES is not set | ||
817 | # CONFIG_I2C_SIMTEC is not set | ||
818 | |||
819 | # | ||
820 | # External I2C/SMBus adapter drivers | ||
821 | # | ||
822 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
823 | # CONFIG_I2C_TAOS_EVM is not set | ||
824 | |||
825 | # | ||
826 | # Other I2C/SMBus bus drivers | ||
827 | # | ||
828 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
829 | # CONFIG_I2C_STUB is not set | ||
830 | |||
831 | # | ||
832 | # Miscellaneous I2C Chip support | ||
833 | # | ||
834 | # CONFIG_DS1682 is not set | ||
835 | # CONFIG_SENSORS_TSL2550 is not set | ||
836 | # CONFIG_I2C_DEBUG_CORE is not set | ||
837 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
838 | # CONFIG_I2C_DEBUG_BUS is not set | ||
839 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
840 | CONFIG_SPI=y | ||
841 | # CONFIG_SPI_DEBUG is not set | ||
842 | CONFIG_SPI_MASTER=y | ||
843 | |||
844 | # | ||
845 | # SPI Master Controller Drivers | ||
846 | # | ||
847 | CONFIG_SPI_BFIN=y | ||
848 | CONFIG_SPI_BFIN_LOCK=y | ||
849 | # CONFIG_SPI_BFIN_SPORT is not set | ||
850 | # CONFIG_SPI_BITBANG is not set | ||
851 | # CONFIG_SPI_GPIO is not set | ||
852 | |||
853 | # | ||
854 | # SPI Protocol Masters | ||
855 | # | ||
856 | # CONFIG_SPI_SPIDEV is not set | ||
857 | # CONFIG_SPI_TLE62X0 is not set | ||
858 | |||
859 | # | ||
860 | # PPS support | ||
861 | # | ||
862 | # CONFIG_PPS is not set | ||
863 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
864 | CONFIG_GPIOLIB=y | ||
865 | # CONFIG_DEBUG_GPIO is not set | ||
866 | CONFIG_GPIO_SYSFS=y | ||
867 | |||
868 | # | ||
869 | # Memory mapped GPIO expanders: | ||
870 | # | ||
871 | |||
872 | # | ||
873 | # I2C GPIO expanders: | ||
874 | # | ||
875 | # CONFIG_GPIO_MAX732X is not set | ||
876 | # CONFIG_GPIO_PCA953X is not set | ||
877 | # CONFIG_GPIO_PCF857X is not set | ||
878 | # CONFIG_GPIO_ADP5588 is not set | ||
879 | |||
880 | # | ||
881 | # PCI GPIO expanders: | ||
882 | # | ||
883 | |||
884 | # | ||
885 | # SPI GPIO expanders: | ||
886 | # | ||
887 | # CONFIG_GPIO_MAX7301 is not set | ||
888 | # CONFIG_GPIO_MCP23S08 is not set | ||
889 | # CONFIG_GPIO_MC33880 is not set | ||
890 | |||
891 | # | ||
892 | # AC97 GPIO expanders: | ||
893 | # | ||
894 | # CONFIG_W1 is not set | ||
895 | # CONFIG_POWER_SUPPLY is not set | ||
896 | # CONFIG_HWMON is not set | ||
897 | # CONFIG_THERMAL is not set | ||
898 | CONFIG_WATCHDOG=y | ||
899 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
900 | |||
901 | # | ||
902 | # Watchdog Device Drivers | ||
903 | # | ||
904 | # CONFIG_SOFT_WATCHDOG is not set | ||
905 | CONFIG_BFIN_WDT=y | ||
906 | CONFIG_SSB_POSSIBLE=y | ||
907 | |||
908 | # | ||
909 | # Sonics Silicon Backplane | ||
910 | # | ||
911 | # CONFIG_SSB is not set | ||
912 | |||
913 | # | ||
914 | # Multifunction device drivers | ||
915 | # | ||
916 | # CONFIG_MFD_CORE is not set | ||
917 | # CONFIG_MFD_SM501 is not set | ||
918 | # CONFIG_HTC_PASIC3 is not set | ||
919 | # CONFIG_TPS65010 is not set | ||
920 | # CONFIG_TWL4030_CORE is not set | ||
921 | # CONFIG_MFD_TMIO is not set | ||
922 | # CONFIG_PMIC_DA903X is not set | ||
923 | # CONFIG_PMIC_ADP5520 is not set | ||
924 | # CONFIG_MFD_WM8400 is not set | ||
925 | # CONFIG_MFD_WM831X is not set | ||
926 | # CONFIG_MFD_WM8350_I2C is not set | ||
927 | # CONFIG_MFD_PCF50633 is not set | ||
928 | # CONFIG_MFD_MC13783 is not set | ||
929 | # CONFIG_AB3100_CORE is not set | ||
930 | # CONFIG_EZX_PCAP is not set | ||
931 | # CONFIG_REGULATOR is not set | ||
932 | # CONFIG_MEDIA_SUPPORT is not set | ||
933 | |||
934 | # | ||
935 | # Graphics support | ||
936 | # | ||
937 | # CONFIG_VGASTATE is not set | ||
938 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
939 | # CONFIG_FB is not set | ||
940 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
941 | |||
942 | # | ||
943 | # Display device support | ||
944 | # | ||
945 | # CONFIG_DISPLAY_SUPPORT is not set | ||
946 | |||
947 | # | ||
948 | # Console display driver support | ||
949 | # | ||
950 | CONFIG_DUMMY_CONSOLE=y | ||
951 | # CONFIG_SOUND is not set | ||
952 | # CONFIG_HID_SUPPORT is not set | ||
953 | # CONFIG_USB_SUPPORT is not set | ||
954 | CONFIG_MMC=y | ||
955 | CONFIG_MMC_DEBUG=y | ||
956 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
957 | |||
958 | # | ||
959 | # MMC/SD/SDIO Card Drivers | ||
960 | # | ||
961 | CONFIG_MMC_BLOCK=y | ||
962 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
963 | # CONFIG_SDIO_UART is not set | ||
964 | # CONFIG_MMC_TEST is not set | ||
965 | |||
966 | # | ||
967 | # MMC/SD/SDIO Host Controller Drivers | ||
968 | # | ||
969 | # CONFIG_MMC_SDHCI is not set | ||
970 | # CONFIG_MMC_AT91 is not set | ||
971 | # CONFIG_MMC_ATMELMCI is not set | ||
972 | CONFIG_MMC_SPI=y | ||
973 | # CONFIG_SDH_BFIN is not set | ||
974 | # CONFIG_MEMSTICK is not set | ||
975 | # CONFIG_NEW_LEDS is not set | ||
976 | # CONFIG_ACCESSIBILITY is not set | ||
977 | CONFIG_RTC_LIB=y | ||
978 | CONFIG_RTC_CLASS=y | ||
979 | CONFIG_RTC_HCTOSYS=y | ||
980 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
981 | # CONFIG_RTC_DEBUG is not set | ||
982 | |||
983 | # | ||
984 | # RTC interfaces | ||
985 | # | ||
986 | CONFIG_RTC_INTF_SYSFS=y | ||
987 | CONFIG_RTC_INTF_PROC=y | ||
988 | CONFIG_RTC_INTF_DEV=y | ||
989 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
990 | # CONFIG_RTC_DRV_TEST is not set | ||
991 | |||
992 | # | ||
993 | # I2C RTC drivers | ||
994 | # | ||
995 | # CONFIG_RTC_DRV_DS1307 is not set | ||
996 | # CONFIG_RTC_DRV_DS1374 is not set | ||
997 | # CONFIG_RTC_DRV_DS1672 is not set | ||
998 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
999 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1000 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1001 | # CONFIG_RTC_DRV_X1205 is not set | ||
1002 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1003 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1004 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1005 | # CONFIG_RTC_DRV_S35390A is not set | ||
1006 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1007 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1008 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1009 | |||
1010 | # | ||
1011 | # SPI RTC drivers | ||
1012 | # | ||
1013 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1014 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1015 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1016 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1017 | # CONFIG_RTC_DRV_R9701 is not set | ||
1018 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1019 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1020 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1021 | |||
1022 | # | ||
1023 | # Platform RTC drivers | ||
1024 | # | ||
1025 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1026 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1027 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1028 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1029 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1030 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1031 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1032 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1033 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1034 | # CONFIG_RTC_DRV_V3020 is not set | ||
1035 | |||
1036 | # | ||
1037 | # on-CPU RTC drivers | ||
1038 | # | ||
1039 | CONFIG_RTC_DRV_BFIN=y | ||
1040 | # CONFIG_DMADEVICES is not set | ||
1041 | # CONFIG_AUXDISPLAY is not set | ||
1042 | # CONFIG_UIO is not set | ||
1043 | |||
1044 | # | ||
1045 | # TI VLYNQ | ||
1046 | # | ||
1047 | # CONFIG_STAGING is not set | ||
1048 | |||
1049 | # | ||
1050 | # Firmware Drivers | ||
1051 | # | ||
1052 | # CONFIG_FIRMWARE_MEMMAP is not set | ||
1053 | # CONFIG_SIGMA is not set | ||
1054 | |||
1055 | # | ||
1056 | # File systems | ||
1057 | # | ||
1058 | CONFIG_EXT2_FS=y | ||
1059 | # CONFIG_EXT2_FS_XATTR is not set | ||
1060 | # CONFIG_EXT3_FS is not set | ||
1061 | # CONFIG_EXT4_FS is not set | ||
1062 | # CONFIG_REISERFS_FS is not set | ||
1063 | # CONFIG_JFS_FS is not set | ||
1064 | # CONFIG_FS_POSIX_ACL is not set | ||
1065 | # CONFIG_XFS_FS is not set | ||
1066 | # CONFIG_OCFS2_FS is not set | ||
1067 | # CONFIG_BTRFS_FS is not set | ||
1068 | # CONFIG_NILFS2_FS is not set | ||
1069 | CONFIG_FILE_LOCKING=y | ||
1070 | CONFIG_FSNOTIFY=y | ||
1071 | # CONFIG_DNOTIFY is not set | ||
1072 | CONFIG_INOTIFY=y | ||
1073 | CONFIG_INOTIFY_USER=y | ||
1074 | # CONFIG_QUOTA is not set | ||
1075 | # CONFIG_AUTOFS_FS is not set | ||
1076 | # CONFIG_AUTOFS4_FS is not set | ||
1077 | # CONFIG_FUSE_FS is not set | ||
1078 | |||
1079 | # | ||
1080 | # Caches | ||
1081 | # | ||
1082 | # CONFIG_FSCACHE is not set | ||
1083 | |||
1084 | # | ||
1085 | # CD-ROM/DVD Filesystems | ||
1086 | # | ||
1087 | # CONFIG_ISO9660_FS is not set | ||
1088 | # CONFIG_UDF_FS is not set | ||
1089 | |||
1090 | # | ||
1091 | # DOS/FAT/NT Filesystems | ||
1092 | # | ||
1093 | CONFIG_FAT_FS=m | ||
1094 | # CONFIG_MSDOS_FS is not set | ||
1095 | CONFIG_VFAT_FS=m | ||
1096 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1097 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1098 | # CONFIG_NTFS_FS is not set | ||
1099 | |||
1100 | # | ||
1101 | # Pseudo filesystems | ||
1102 | # | ||
1103 | CONFIG_PROC_FS=y | ||
1104 | CONFIG_PROC_SYSCTL=y | ||
1105 | CONFIG_SYSFS=y | ||
1106 | # CONFIG_HUGETLB_PAGE is not set | ||
1107 | # CONFIG_CONFIGFS_FS is not set | ||
1108 | # CONFIG_MISC_FILESYSTEMS is not set | ||
1109 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1110 | CONFIG_NFS_FS=y | ||
1111 | CONFIG_NFS_V3=y | ||
1112 | # CONFIG_NFS_V3_ACL is not set | ||
1113 | # CONFIG_NFS_V4 is not set | ||
1114 | CONFIG_ROOT_NFS=y | ||
1115 | # CONFIG_NFSD is not set | ||
1116 | CONFIG_LOCKD=y | ||
1117 | CONFIG_LOCKD_V4=y | ||
1118 | CONFIG_NFS_COMMON=y | ||
1119 | CONFIG_SUNRPC=y | ||
1120 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1121 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1122 | # CONFIG_SMB_FS is not set | ||
1123 | # CONFIG_CIFS is not set | ||
1124 | # CONFIG_NCP_FS is not set | ||
1125 | # CONFIG_CODA_FS is not set | ||
1126 | # CONFIG_AFS_FS is not set | ||
1127 | |||
1128 | # | ||
1129 | # Partition Types | ||
1130 | # | ||
1131 | # CONFIG_PARTITION_ADVANCED is not set | ||
1132 | CONFIG_MSDOS_PARTITION=y | ||
1133 | CONFIG_NLS=m | ||
1134 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1135 | CONFIG_NLS_CODEPAGE_437=m | ||
1136 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1137 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1138 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1139 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1140 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1141 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1142 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1143 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1144 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1145 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1146 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1147 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1148 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1149 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1150 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1151 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1152 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1153 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1154 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1155 | # CONFIG_NLS_ISO8859_8 is not set | ||
1156 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1157 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1158 | # CONFIG_NLS_ASCII is not set | ||
1159 | CONFIG_NLS_ISO8859_1=m | ||
1160 | # CONFIG_NLS_ISO8859_2 is not set | ||
1161 | # CONFIG_NLS_ISO8859_3 is not set | ||
1162 | # CONFIG_NLS_ISO8859_4 is not set | ||
1163 | # CONFIG_NLS_ISO8859_5 is not set | ||
1164 | # CONFIG_NLS_ISO8859_6 is not set | ||
1165 | # CONFIG_NLS_ISO8859_7 is not set | ||
1166 | # CONFIG_NLS_ISO8859_9 is not set | ||
1167 | # CONFIG_NLS_ISO8859_13 is not set | ||
1168 | # CONFIG_NLS_ISO8859_14 is not set | ||
1169 | # CONFIG_NLS_ISO8859_15 is not set | ||
1170 | # CONFIG_NLS_KOI8_R is not set | ||
1171 | # CONFIG_NLS_KOI8_U is not set | ||
1172 | CONFIG_NLS_UTF8=m | ||
1173 | # CONFIG_DLM is not set | ||
1174 | |||
1175 | # | ||
1176 | # Kernel hacking | ||
1177 | # | ||
1178 | # CONFIG_PRINTK_TIME is not set | ||
1179 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1180 | CONFIG_ENABLE_MUST_CHECK=y | ||
1181 | CONFIG_FRAME_WARN=1024 | ||
1182 | # CONFIG_MAGIC_SYSRQ is not set | ||
1183 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1184 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1185 | CONFIG_DEBUG_FS=y | ||
1186 | # CONFIG_HEADERS_CHECK is not set | ||
1187 | CONFIG_DEBUG_SECTION_MISMATCH=y | ||
1188 | CONFIG_DEBUG_KERNEL=y | ||
1189 | CONFIG_DEBUG_SHIRQ=y | ||
1190 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1191 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1192 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1193 | CONFIG_DETECT_HUNG_TASK=y | ||
1194 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1195 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1196 | CONFIG_SCHED_DEBUG=y | ||
1197 | # CONFIG_SCHEDSTATS is not set | ||
1198 | # CONFIG_TIMER_STATS is not set | ||
1199 | # CONFIG_DEBUG_OBJECTS is not set | ||
1200 | # CONFIG_DEBUG_SLAB is not set | ||
1201 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1202 | # CONFIG_DEBUG_MUTEXES is not set | ||
1203 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1204 | # CONFIG_PROVE_LOCKING is not set | ||
1205 | # CONFIG_LOCK_STAT is not set | ||
1206 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1207 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1208 | # CONFIG_DEBUG_KOBJECT is not set | ||
1209 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1210 | CONFIG_DEBUG_INFO=y | ||
1211 | # CONFIG_DEBUG_VM is not set | ||
1212 | # CONFIG_DEBUG_NOMMU_REGIONS is not set | ||
1213 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1214 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1215 | # CONFIG_DEBUG_LIST is not set | ||
1216 | # CONFIG_DEBUG_SG is not set | ||
1217 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1218 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1219 | # CONFIG_FRAME_POINTER is not set | ||
1220 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1221 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1222 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1223 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1224 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1225 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1226 | # CONFIG_FAULT_INJECTION is not set | ||
1227 | # CONFIG_PAGE_POISONING is not set | ||
1228 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1229 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1230 | CONFIG_TRACING_SUPPORT=y | ||
1231 | # CONFIG_FTRACE is not set | ||
1232 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1233 | # CONFIG_SAMPLES is not set | ||
1234 | CONFIG_HAVE_ARCH_KGDB=y | ||
1235 | # CONFIG_KGDB is not set | ||
1236 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
1237 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1238 | CONFIG_DEBUG_VERBOSE=y | ||
1239 | CONFIG_DEBUG_MMRS=y | ||
1240 | CONFIG_DEBUG_HWERR=y | ||
1241 | CONFIG_EXACT_HWERR=y | ||
1242 | CONFIG_DEBUG_DOUBLEFAULT=y | ||
1243 | CONFIG_DEBUG_DOUBLEFAULT_PRINT=y | ||
1244 | # CONFIG_DEBUG_DOUBLEFAULT_RESET is not set | ||
1245 | # CONFIG_DEBUG_ICACHE_CHECK is not set | ||
1246 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1247 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1248 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF is not set | ||
1249 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y | ||
1250 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1251 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=1 | ||
1252 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1253 | CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE=y | ||
1254 | CONFIG_EARLY_PRINTK=y | ||
1255 | CONFIG_CPLB_INFO=y | ||
1256 | CONFIG_ACCESS_CHECK=y | ||
1257 | # CONFIG_BFIN_ISRAM_SELF_TEST is not set | ||
1258 | |||
1259 | # | ||
1260 | # Security options | ||
1261 | # | ||
1262 | # CONFIG_KEYS is not set | ||
1263 | CONFIG_SECURITY=y | ||
1264 | # CONFIG_SECURITYFS is not set | ||
1265 | # CONFIG_SECURITY_NETWORK is not set | ||
1266 | # CONFIG_SECURITY_PATH is not set | ||
1267 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1268 | # CONFIG_SECURITY_TOMOYO is not set | ||
1269 | CONFIG_CRYPTO=y | ||
1270 | |||
1271 | # | ||
1272 | # Crypto core or helper | ||
1273 | # | ||
1274 | # CONFIG_CRYPTO_MANAGER is not set | ||
1275 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
1276 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1277 | # CONFIG_CRYPTO_NULL is not set | ||
1278 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1279 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1280 | # CONFIG_CRYPTO_TEST is not set | ||
1281 | |||
1282 | # | ||
1283 | # Authenticated Encryption with Associated Data | ||
1284 | # | ||
1285 | # CONFIG_CRYPTO_CCM is not set | ||
1286 | # CONFIG_CRYPTO_GCM is not set | ||
1287 | # CONFIG_CRYPTO_SEQIV is not set | ||
1288 | |||
1289 | # | ||
1290 | # Block modes | ||
1291 | # | ||
1292 | # CONFIG_CRYPTO_CBC is not set | ||
1293 | # CONFIG_CRYPTO_CTR is not set | ||
1294 | # CONFIG_CRYPTO_CTS is not set | ||
1295 | # CONFIG_CRYPTO_ECB is not set | ||
1296 | # CONFIG_CRYPTO_LRW is not set | ||
1297 | # CONFIG_CRYPTO_PCBC is not set | ||
1298 | # CONFIG_CRYPTO_XTS is not set | ||
1299 | |||
1300 | # | ||
1301 | # Hash modes | ||
1302 | # | ||
1303 | # CONFIG_CRYPTO_HMAC is not set | ||
1304 | # CONFIG_CRYPTO_XCBC is not set | ||
1305 | # CONFIG_CRYPTO_VMAC is not set | ||
1306 | |||
1307 | # | ||
1308 | # Digest | ||
1309 | # | ||
1310 | # CONFIG_CRYPTO_CRC32C is not set | ||
1311 | # CONFIG_CRYPTO_GHASH is not set | ||
1312 | # CONFIG_CRYPTO_MD4 is not set | ||
1313 | # CONFIG_CRYPTO_MD5 is not set | ||
1314 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1315 | # CONFIG_CRYPTO_RMD128 is not set | ||
1316 | # CONFIG_CRYPTO_RMD160 is not set | ||
1317 | # CONFIG_CRYPTO_RMD256 is not set | ||
1318 | # CONFIG_CRYPTO_RMD320 is not set | ||
1319 | # CONFIG_CRYPTO_SHA1 is not set | ||
1320 | # CONFIG_CRYPTO_SHA256 is not set | ||
1321 | # CONFIG_CRYPTO_SHA512 is not set | ||
1322 | # CONFIG_CRYPTO_TGR192 is not set | ||
1323 | # CONFIG_CRYPTO_WP512 is not set | ||
1324 | |||
1325 | # | ||
1326 | # Ciphers | ||
1327 | # | ||
1328 | # CONFIG_CRYPTO_AES is not set | ||
1329 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1330 | # CONFIG_CRYPTO_ARC4 is not set | ||
1331 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1332 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1333 | # CONFIG_CRYPTO_CAST5 is not set | ||
1334 | # CONFIG_CRYPTO_CAST6 is not set | ||
1335 | # CONFIG_CRYPTO_DES is not set | ||
1336 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1337 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1338 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1339 | # CONFIG_CRYPTO_SEED is not set | ||
1340 | # CONFIG_CRYPTO_SERPENT is not set | ||
1341 | # CONFIG_CRYPTO_TEA is not set | ||
1342 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1343 | |||
1344 | # | ||
1345 | # Compression | ||
1346 | # | ||
1347 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1348 | # CONFIG_CRYPTO_ZLIB is not set | ||
1349 | # CONFIG_CRYPTO_LZO is not set | ||
1350 | |||
1351 | # | ||
1352 | # Random Number Generation | ||
1353 | # | ||
1354 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1355 | CONFIG_CRYPTO_HW=y | ||
1356 | # CONFIG_BINARY_PRINTF is not set | ||
1357 | |||
1358 | # | ||
1359 | # Library routines | ||
1360 | # | ||
1361 | CONFIG_BITREVERSE=y | ||
1362 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1363 | CONFIG_CRC_CCITT=m | ||
1364 | # CONFIG_CRC16 is not set | ||
1365 | # CONFIG_CRC_T10DIF is not set | ||
1366 | CONFIG_CRC_ITU_T=y | ||
1367 | CONFIG_CRC32=y | ||
1368 | CONFIG_CRC7=y | ||
1369 | # CONFIG_LIBCRC32C is not set | ||
1370 | CONFIG_ZLIB_INFLATE=y | ||
1371 | CONFIG_DECOMPRESS_LZMA=y | ||
1372 | CONFIG_HAS_IOMEM=y | ||
1373 | CONFIG_HAS_IOPORT=y | ||
1374 | CONFIG_HAS_DMA=y | ||
1375 | CONFIG_NLATTR=y | ||
diff --git a/arch/blackfin/include/asm/bfin-lq035q1.h b/arch/blackfin/include/asm/bfin-lq035q1.h index 57bc21ac2296..836895156b5b 100644 --- a/arch/blackfin/include/asm/bfin-lq035q1.h +++ b/arch/blackfin/include/asm/bfin-lq035q1.h | |||
@@ -8,6 +8,9 @@ | |||
8 | #ifndef BFIN_LQ035Q1_H | 8 | #ifndef BFIN_LQ035Q1_H |
9 | #define BFIN_LQ035Q1_H | 9 | #define BFIN_LQ035Q1_H |
10 | 10 | ||
11 | /* | ||
12 | * LCD Modes | ||
13 | */ | ||
11 | #define LQ035_RL (0 << 8) /* Right -> Left Scan */ | 14 | #define LQ035_RL (0 << 8) /* Right -> Left Scan */ |
12 | #define LQ035_LR (1 << 8) /* Left -> Right Scan */ | 15 | #define LQ035_LR (1 << 8) /* Left -> Right Scan */ |
13 | #define LQ035_TB (1 << 9) /* Top -> Botton Scan */ | 16 | #define LQ035_TB (1 << 9) /* Top -> Botton Scan */ |
@@ -17,9 +20,18 @@ | |||
17 | #define LQ035_NORM (1 << 13) /* Reversal */ | 20 | #define LQ035_NORM (1 << 13) /* Reversal */ |
18 | #define LQ035_REV (0 << 13) /* Reversal */ | 21 | #define LQ035_REV (0 << 13) /* Reversal */ |
19 | 22 | ||
23 | /* | ||
24 | * PPI Modes | ||
25 | */ | ||
26 | |||
27 | #define USE_RGB565_16_BIT_PPI 1 | ||
28 | #define USE_RGB565_8_BIT_PPI 2 | ||
29 | #define USE_RGB888_8_BIT_PPI 3 | ||
30 | |||
20 | struct bfin_lq035q1fb_disp_info { | 31 | struct bfin_lq035q1fb_disp_info { |
21 | 32 | ||
22 | unsigned mode; | 33 | unsigned mode; |
34 | unsigned ppi_mode; | ||
23 | /* GPIOs */ | 35 | /* GPIOs */ |
24 | int use_bl; | 36 | int use_bl; |
25 | unsigned gpio_bl; | 37 | unsigned gpio_bl; |
diff --git a/arch/blackfin/include/asm/bfin_can.h b/arch/blackfin/include/asm/bfin_can.h new file mode 100644 index 000000000000..eec0076a385b --- /dev/null +++ b/arch/blackfin/include/asm/bfin_can.h | |||
@@ -0,0 +1,725 @@ | |||
1 | /* | ||
2 | * bfin_can.h - interface to Blackfin CANs | ||
3 | * | ||
4 | * Copyright 2004-2009 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_BFIN_CAN_H__ | ||
10 | #define __ASM_BFIN_CAN_H__ | ||
11 | |||
12 | /* | ||
13 | * transmit and receive channels | ||
14 | */ | ||
15 | #define TRANSMIT_CHL 24 | ||
16 | #define RECEIVE_STD_CHL 0 | ||
17 | #define RECEIVE_EXT_CHL 4 | ||
18 | #define RECEIVE_RTR_CHL 8 | ||
19 | #define RECEIVE_EXT_RTR_CHL 12 | ||
20 | #define MAX_CHL_NUMBER 32 | ||
21 | |||
22 | /* | ||
23 | * All Blackfin system MMRs are padded to 32bits even if the register | ||
24 | * itself is only 16bits. So use a helper macro to streamline this. | ||
25 | */ | ||
26 | #define __BFP(m) u16 m; u16 __pad_##m | ||
27 | |||
28 | /* | ||
29 | * bfin can registers layout | ||
30 | */ | ||
31 | struct bfin_can_mask_regs { | ||
32 | __BFP(aml); | ||
33 | __BFP(amh); | ||
34 | }; | ||
35 | |||
36 | struct bfin_can_channel_regs { | ||
37 | u16 data[8]; | ||
38 | __BFP(dlc); | ||
39 | __BFP(tsv); | ||
40 | __BFP(id0); | ||
41 | __BFP(id1); | ||
42 | }; | ||
43 | |||
44 | struct bfin_can_regs { | ||
45 | /* | ||
46 | * global control and status registers | ||
47 | */ | ||
48 | __BFP(mc1); /* offset 0x00 */ | ||
49 | __BFP(md1); /* offset 0x04 */ | ||
50 | __BFP(trs1); /* offset 0x08 */ | ||
51 | __BFP(trr1); /* offset 0x0c */ | ||
52 | __BFP(ta1); /* offset 0x10 */ | ||
53 | __BFP(aa1); /* offset 0x14 */ | ||
54 | __BFP(rmp1); /* offset 0x18 */ | ||
55 | __BFP(rml1); /* offset 0x1c */ | ||
56 | __BFP(mbtif1); /* offset 0x20 */ | ||
57 | __BFP(mbrif1); /* offset 0x24 */ | ||
58 | __BFP(mbim1); /* offset 0x28 */ | ||
59 | __BFP(rfh1); /* offset 0x2c */ | ||
60 | __BFP(opss1); /* offset 0x30 */ | ||
61 | u32 __pad1[3]; | ||
62 | __BFP(mc2); /* offset 0x40 */ | ||
63 | __BFP(md2); /* offset 0x44 */ | ||
64 | __BFP(trs2); /* offset 0x48 */ | ||
65 | __BFP(trr2); /* offset 0x4c */ | ||
66 | __BFP(ta2); /* offset 0x50 */ | ||
67 | __BFP(aa2); /* offset 0x54 */ | ||
68 | __BFP(rmp2); /* offset 0x58 */ | ||
69 | __BFP(rml2); /* offset 0x5c */ | ||
70 | __BFP(mbtif2); /* offset 0x60 */ | ||
71 | __BFP(mbrif2); /* offset 0x64 */ | ||
72 | __BFP(mbim2); /* offset 0x68 */ | ||
73 | __BFP(rfh2); /* offset 0x6c */ | ||
74 | __BFP(opss2); /* offset 0x70 */ | ||
75 | u32 __pad2[3]; | ||
76 | __BFP(clock); /* offset 0x80 */ | ||
77 | __BFP(timing); /* offset 0x84 */ | ||
78 | __BFP(debug); /* offset 0x88 */ | ||
79 | __BFP(status); /* offset 0x8c */ | ||
80 | __BFP(cec); /* offset 0x90 */ | ||
81 | __BFP(gis); /* offset 0x94 */ | ||
82 | __BFP(gim); /* offset 0x98 */ | ||
83 | __BFP(gif); /* offset 0x9c */ | ||
84 | __BFP(control); /* offset 0xa0 */ | ||
85 | __BFP(intr); /* offset 0xa4 */ | ||
86 | u32 __pad3[1]; | ||
87 | __BFP(mbtd); /* offset 0xac */ | ||
88 | __BFP(ewr); /* offset 0xb0 */ | ||
89 | __BFP(esr); /* offset 0xb4 */ | ||
90 | u32 __pad4[2]; | ||
91 | __BFP(ucreg); /* offset 0xc0 */ | ||
92 | __BFP(uccnt); /* offset 0xc4 */ | ||
93 | __BFP(ucrc); /* offset 0xc8 */ | ||
94 | __BFP(uccnf); /* offset 0xcc */ | ||
95 | u32 __pad5[12]; | ||
96 | |||
97 | /* | ||
98 | * channel(mailbox) mask and message registers | ||
99 | */ | ||
100 | struct bfin_can_mask_regs msk[MAX_CHL_NUMBER]; /* offset 0x100 */ | ||
101 | struct bfin_can_channel_regs chl[MAX_CHL_NUMBER]; /* offset 0x200 */ | ||
102 | }; | ||
103 | |||
104 | #undef __BFP | ||
105 | |||
106 | /* CAN_CONTROL Masks */ | ||
107 | #define SRS 0x0001 /* Software Reset */ | ||
108 | #define DNM 0x0002 /* Device Net Mode */ | ||
109 | #define ABO 0x0004 /* Auto-Bus On Enable */ | ||
110 | #define TXPRIO 0x0008 /* TX Priority (Priority/Mailbox*) */ | ||
111 | #define WBA 0x0010 /* Wake-Up On CAN Bus Activity Enable */ | ||
112 | #define SMR 0x0020 /* Sleep Mode Request */ | ||
113 | #define CSR 0x0040 /* CAN Suspend Mode Request */ | ||
114 | #define CCR 0x0080 /* CAN Configuration Mode Request */ | ||
115 | |||
116 | /* CAN_STATUS Masks */ | ||
117 | #define WT 0x0001 /* TX Warning Flag */ | ||
118 | #define WR 0x0002 /* RX Warning Flag */ | ||
119 | #define EP 0x0004 /* Error Passive Mode */ | ||
120 | #define EBO 0x0008 /* Error Bus Off Mode */ | ||
121 | #define SMA 0x0020 /* Sleep Mode Acknowledge */ | ||
122 | #define CSA 0x0040 /* Suspend Mode Acknowledge */ | ||
123 | #define CCA 0x0080 /* Configuration Mode Acknowledge */ | ||
124 | #define MBPTR 0x1F00 /* Mailbox Pointer */ | ||
125 | #define TRM 0x4000 /* Transmit Mode */ | ||
126 | #define REC 0x8000 /* Receive Mode */ | ||
127 | |||
128 | /* CAN_CLOCK Masks */ | ||
129 | #define BRP 0x03FF /* Bit-Rate Pre-Scaler */ | ||
130 | |||
131 | /* CAN_TIMING Masks */ | ||
132 | #define TSEG1 0x000F /* Time Segment 1 */ | ||
133 | #define TSEG2 0x0070 /* Time Segment 2 */ | ||
134 | #define SAM 0x0080 /* Sampling */ | ||
135 | #define SJW 0x0300 /* Synchronization Jump Width */ | ||
136 | |||
137 | /* CAN_DEBUG Masks */ | ||
138 | #define DEC 0x0001 /* Disable CAN Error Counters */ | ||
139 | #define DRI 0x0002 /* Disable CAN RX Input */ | ||
140 | #define DTO 0x0004 /* Disable CAN TX Output */ | ||
141 | #define DIL 0x0008 /* Disable CAN Internal Loop */ | ||
142 | #define MAA 0x0010 /* Mode Auto-Acknowledge Enable */ | ||
143 | #define MRB 0x0020 /* Mode Read Back Enable */ | ||
144 | #define CDE 0x8000 /* CAN Debug Enable */ | ||
145 | |||
146 | /* CAN_CEC Masks */ | ||
147 | #define RXECNT 0x00FF /* Receive Error Counter */ | ||
148 | #define TXECNT 0xFF00 /* Transmit Error Counter */ | ||
149 | |||
150 | /* CAN_INTR Masks */ | ||
151 | #define MBRIRQ 0x0001 /* Mailbox Receive Interrupt */ | ||
152 | #define MBTIRQ 0x0002 /* Mailbox Transmit Interrupt */ | ||
153 | #define GIRQ 0x0004 /* Global Interrupt */ | ||
154 | #define SMACK 0x0008 /* Sleep Mode Acknowledge */ | ||
155 | #define CANTX 0x0040 /* CAN TX Bus Value */ | ||
156 | #define CANRX 0x0080 /* CAN RX Bus Value */ | ||
157 | |||
158 | /* CAN_MBxx_ID1 and CAN_MBxx_ID0 Masks */ | ||
159 | #define DFC 0xFFFF /* Data Filtering Code (If Enabled) (ID0) */ | ||
160 | #define EXTID_LO 0xFFFF /* Lower 16 Bits of Extended Identifier (ID0) */ | ||
161 | #define EXTID_HI 0x0003 /* Upper 2 Bits of Extended Identifier (ID1) */ | ||
162 | #define BASEID 0x1FFC /* Base Identifier */ | ||
163 | #define IDE 0x2000 /* Identifier Extension */ | ||
164 | #define RTR 0x4000 /* Remote Frame Transmission Request */ | ||
165 | #define AME 0x8000 /* Acceptance Mask Enable */ | ||
166 | |||
167 | /* CAN_MBxx_TIMESTAMP Masks */ | ||
168 | #define TSV 0xFFFF /* Timestamp */ | ||
169 | |||
170 | /* CAN_MBxx_LENGTH Masks */ | ||
171 | #define DLC 0x000F /* Data Length Code */ | ||
172 | |||
173 | /* CAN_AMxxH and CAN_AMxxL Masks */ | ||
174 | #define DFM 0xFFFF /* Data Field Mask (If Enabled) (CAN_AMxxL) */ | ||
175 | #define EXTID_LO 0xFFFF /* Lower 16 Bits of Extended Identifier (CAN_AMxxL) */ | ||
176 | #define EXTID_HI 0x0003 /* Upper 2 Bits of Extended Identifier (CAN_AMxxH) */ | ||
177 | #define BASEID 0x1FFC /* Base Identifier */ | ||
178 | #define AMIDE 0x2000 /* Acceptance Mask ID Extension Enable */ | ||
179 | #define FMD 0x4000 /* Full Mask Data Field Enable */ | ||
180 | #define FDF 0x8000 /* Filter On Data Field Enable */ | ||
181 | |||
182 | /* CAN_MC1 Masks */ | ||
183 | #define MC0 0x0001 /* Enable Mailbox 0 */ | ||
184 | #define MC1 0x0002 /* Enable Mailbox 1 */ | ||
185 | #define MC2 0x0004 /* Enable Mailbox 2 */ | ||
186 | #define MC3 0x0008 /* Enable Mailbox 3 */ | ||
187 | #define MC4 0x0010 /* Enable Mailbox 4 */ | ||
188 | #define MC5 0x0020 /* Enable Mailbox 5 */ | ||
189 | #define MC6 0x0040 /* Enable Mailbox 6 */ | ||
190 | #define MC7 0x0080 /* Enable Mailbox 7 */ | ||
191 | #define MC8 0x0100 /* Enable Mailbox 8 */ | ||
192 | #define MC9 0x0200 /* Enable Mailbox 9 */ | ||
193 | #define MC10 0x0400 /* Enable Mailbox 10 */ | ||
194 | #define MC11 0x0800 /* Enable Mailbox 11 */ | ||
195 | #define MC12 0x1000 /* Enable Mailbox 12 */ | ||
196 | #define MC13 0x2000 /* Enable Mailbox 13 */ | ||
197 | #define MC14 0x4000 /* Enable Mailbox 14 */ | ||
198 | #define MC15 0x8000 /* Enable Mailbox 15 */ | ||
199 | |||
200 | /* CAN_MC2 Masks */ | ||
201 | #define MC16 0x0001 /* Enable Mailbox 16 */ | ||
202 | #define MC17 0x0002 /* Enable Mailbox 17 */ | ||
203 | #define MC18 0x0004 /* Enable Mailbox 18 */ | ||
204 | #define MC19 0x0008 /* Enable Mailbox 19 */ | ||
205 | #define MC20 0x0010 /* Enable Mailbox 20 */ | ||
206 | #define MC21 0x0020 /* Enable Mailbox 21 */ | ||
207 | #define MC22 0x0040 /* Enable Mailbox 22 */ | ||
208 | #define MC23 0x0080 /* Enable Mailbox 23 */ | ||
209 | #define MC24 0x0100 /* Enable Mailbox 24 */ | ||
210 | #define MC25 0x0200 /* Enable Mailbox 25 */ | ||
211 | #define MC26 0x0400 /* Enable Mailbox 26 */ | ||
212 | #define MC27 0x0800 /* Enable Mailbox 27 */ | ||
213 | #define MC28 0x1000 /* Enable Mailbox 28 */ | ||
214 | #define MC29 0x2000 /* Enable Mailbox 29 */ | ||
215 | #define MC30 0x4000 /* Enable Mailbox 30 */ | ||
216 | #define MC31 0x8000 /* Enable Mailbox 31 */ | ||
217 | |||
218 | /* CAN_MD1 Masks */ | ||
219 | #define MD0 0x0001 /* Enable Mailbox 0 For Receive */ | ||
220 | #define MD1 0x0002 /* Enable Mailbox 1 For Receive */ | ||
221 | #define MD2 0x0004 /* Enable Mailbox 2 For Receive */ | ||
222 | #define MD3 0x0008 /* Enable Mailbox 3 For Receive */ | ||
223 | #define MD4 0x0010 /* Enable Mailbox 4 For Receive */ | ||
224 | #define MD5 0x0020 /* Enable Mailbox 5 For Receive */ | ||
225 | #define MD6 0x0040 /* Enable Mailbox 6 For Receive */ | ||
226 | #define MD7 0x0080 /* Enable Mailbox 7 For Receive */ | ||
227 | #define MD8 0x0100 /* Enable Mailbox 8 For Receive */ | ||
228 | #define MD9 0x0200 /* Enable Mailbox 9 For Receive */ | ||
229 | #define MD10 0x0400 /* Enable Mailbox 10 For Receive */ | ||
230 | #define MD11 0x0800 /* Enable Mailbox 11 For Receive */ | ||
231 | #define MD12 0x1000 /* Enable Mailbox 12 For Receive */ | ||
232 | #define MD13 0x2000 /* Enable Mailbox 13 For Receive */ | ||
233 | #define MD14 0x4000 /* Enable Mailbox 14 For Receive */ | ||
234 | #define MD15 0x8000 /* Enable Mailbox 15 For Receive */ | ||
235 | |||
236 | /* CAN_MD2 Masks */ | ||
237 | #define MD16 0x0001 /* Enable Mailbox 16 For Receive */ | ||
238 | #define MD17 0x0002 /* Enable Mailbox 17 For Receive */ | ||
239 | #define MD18 0x0004 /* Enable Mailbox 18 For Receive */ | ||
240 | #define MD19 0x0008 /* Enable Mailbox 19 For Receive */ | ||
241 | #define MD20 0x0010 /* Enable Mailbox 20 For Receive */ | ||
242 | #define MD21 0x0020 /* Enable Mailbox 21 For Receive */ | ||
243 | #define MD22 0x0040 /* Enable Mailbox 22 For Receive */ | ||
244 | #define MD23 0x0080 /* Enable Mailbox 23 For Receive */ | ||
245 | #define MD24 0x0100 /* Enable Mailbox 24 For Receive */ | ||
246 | #define MD25 0x0200 /* Enable Mailbox 25 For Receive */ | ||
247 | #define MD26 0x0400 /* Enable Mailbox 26 For Receive */ | ||
248 | #define MD27 0x0800 /* Enable Mailbox 27 For Receive */ | ||
249 | #define MD28 0x1000 /* Enable Mailbox 28 For Receive */ | ||
250 | #define MD29 0x2000 /* Enable Mailbox 29 For Receive */ | ||
251 | #define MD30 0x4000 /* Enable Mailbox 30 For Receive */ | ||
252 | #define MD31 0x8000 /* Enable Mailbox 31 For Receive */ | ||
253 | |||
254 | /* CAN_RMP1 Masks */ | ||
255 | #define RMP0 0x0001 /* RX Message Pending In Mailbox 0 */ | ||
256 | #define RMP1 0x0002 /* RX Message Pending In Mailbox 1 */ | ||
257 | #define RMP2 0x0004 /* RX Message Pending In Mailbox 2 */ | ||
258 | #define RMP3 0x0008 /* RX Message Pending In Mailbox 3 */ | ||
259 | #define RMP4 0x0010 /* RX Message Pending In Mailbox 4 */ | ||
260 | #define RMP5 0x0020 /* RX Message Pending In Mailbox 5 */ | ||
261 | #define RMP6 0x0040 /* RX Message Pending In Mailbox 6 */ | ||
262 | #define RMP7 0x0080 /* RX Message Pending In Mailbox 7 */ | ||
263 | #define RMP8 0x0100 /* RX Message Pending In Mailbox 8 */ | ||
264 | #define RMP9 0x0200 /* RX Message Pending In Mailbox 9 */ | ||
265 | #define RMP10 0x0400 /* RX Message Pending In Mailbox 10 */ | ||
266 | #define RMP11 0x0800 /* RX Message Pending In Mailbox 11 */ | ||
267 | #define RMP12 0x1000 /* RX Message Pending In Mailbox 12 */ | ||
268 | #define RMP13 0x2000 /* RX Message Pending In Mailbox 13 */ | ||
269 | #define RMP14 0x4000 /* RX Message Pending In Mailbox 14 */ | ||
270 | #define RMP15 0x8000 /* RX Message Pending In Mailbox 15 */ | ||
271 | |||
272 | /* CAN_RMP2 Masks */ | ||
273 | #define RMP16 0x0001 /* RX Message Pending In Mailbox 16 */ | ||
274 | #define RMP17 0x0002 /* RX Message Pending In Mailbox 17 */ | ||
275 | #define RMP18 0x0004 /* RX Message Pending In Mailbox 18 */ | ||
276 | #define RMP19 0x0008 /* RX Message Pending In Mailbox 19 */ | ||
277 | #define RMP20 0x0010 /* RX Message Pending In Mailbox 20 */ | ||
278 | #define RMP21 0x0020 /* RX Message Pending In Mailbox 21 */ | ||
279 | #define RMP22 0x0040 /* RX Message Pending In Mailbox 22 */ | ||
280 | #define RMP23 0x0080 /* RX Message Pending In Mailbox 23 */ | ||
281 | #define RMP24 0x0100 /* RX Message Pending In Mailbox 24 */ | ||
282 | #define RMP25 0x0200 /* RX Message Pending In Mailbox 25 */ | ||
283 | #define RMP26 0x0400 /* RX Message Pending In Mailbox 26 */ | ||
284 | #define RMP27 0x0800 /* RX Message Pending In Mailbox 27 */ | ||
285 | #define RMP28 0x1000 /* RX Message Pending In Mailbox 28 */ | ||
286 | #define RMP29 0x2000 /* RX Message Pending In Mailbox 29 */ | ||
287 | #define RMP30 0x4000 /* RX Message Pending In Mailbox 30 */ | ||
288 | #define RMP31 0x8000 /* RX Message Pending In Mailbox 31 */ | ||
289 | |||
290 | /* CAN_RML1 Masks */ | ||
291 | #define RML0 0x0001 /* RX Message Lost In Mailbox 0 */ | ||
292 | #define RML1 0x0002 /* RX Message Lost In Mailbox 1 */ | ||
293 | #define RML2 0x0004 /* RX Message Lost In Mailbox 2 */ | ||
294 | #define RML3 0x0008 /* RX Message Lost In Mailbox 3 */ | ||
295 | #define RML4 0x0010 /* RX Message Lost In Mailbox 4 */ | ||
296 | #define RML5 0x0020 /* RX Message Lost In Mailbox 5 */ | ||
297 | #define RML6 0x0040 /* RX Message Lost In Mailbox 6 */ | ||
298 | #define RML7 0x0080 /* RX Message Lost In Mailbox 7 */ | ||
299 | #define RML8 0x0100 /* RX Message Lost In Mailbox 8 */ | ||
300 | #define RML9 0x0200 /* RX Message Lost In Mailbox 9 */ | ||
301 | #define RML10 0x0400 /* RX Message Lost In Mailbox 10 */ | ||
302 | #define RML11 0x0800 /* RX Message Lost In Mailbox 11 */ | ||
303 | #define RML12 0x1000 /* RX Message Lost In Mailbox 12 */ | ||
304 | #define RML13 0x2000 /* RX Message Lost In Mailbox 13 */ | ||
305 | #define RML14 0x4000 /* RX Message Lost In Mailbox 14 */ | ||
306 | #define RML15 0x8000 /* RX Message Lost In Mailbox 15 */ | ||
307 | |||
308 | /* CAN_RML2 Masks */ | ||
309 | #define RML16 0x0001 /* RX Message Lost In Mailbox 16 */ | ||
310 | #define RML17 0x0002 /* RX Message Lost In Mailbox 17 */ | ||
311 | #define RML18 0x0004 /* RX Message Lost In Mailbox 18 */ | ||
312 | #define RML19 0x0008 /* RX Message Lost In Mailbox 19 */ | ||
313 | #define RML20 0x0010 /* RX Message Lost In Mailbox 20 */ | ||
314 | #define RML21 0x0020 /* RX Message Lost In Mailbox 21 */ | ||
315 | #define RML22 0x0040 /* RX Message Lost In Mailbox 22 */ | ||
316 | #define RML23 0x0080 /* RX Message Lost In Mailbox 23 */ | ||
317 | #define RML24 0x0100 /* RX Message Lost In Mailbox 24 */ | ||
318 | #define RML25 0x0200 /* RX Message Lost In Mailbox 25 */ | ||
319 | #define RML26 0x0400 /* RX Message Lost In Mailbox 26 */ | ||
320 | #define RML27 0x0800 /* RX Message Lost In Mailbox 27 */ | ||
321 | #define RML28 0x1000 /* RX Message Lost In Mailbox 28 */ | ||
322 | #define RML29 0x2000 /* RX Message Lost In Mailbox 29 */ | ||
323 | #define RML30 0x4000 /* RX Message Lost In Mailbox 30 */ | ||
324 | #define RML31 0x8000 /* RX Message Lost In Mailbox 31 */ | ||
325 | |||
326 | /* CAN_OPSS1 Masks */ | ||
327 | #define OPSS0 0x0001 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 0 */ | ||
328 | #define OPSS1 0x0002 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 1 */ | ||
329 | #define OPSS2 0x0004 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 2 */ | ||
330 | #define OPSS3 0x0008 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 3 */ | ||
331 | #define OPSS4 0x0010 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 4 */ | ||
332 | #define OPSS5 0x0020 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 5 */ | ||
333 | #define OPSS6 0x0040 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 6 */ | ||
334 | #define OPSS7 0x0080 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 7 */ | ||
335 | #define OPSS8 0x0100 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 8 */ | ||
336 | #define OPSS9 0x0200 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 9 */ | ||
337 | #define OPSS10 0x0400 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 10 */ | ||
338 | #define OPSS11 0x0800 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 11 */ | ||
339 | #define OPSS12 0x1000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 12 */ | ||
340 | #define OPSS13 0x2000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 13 */ | ||
341 | #define OPSS14 0x4000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 14 */ | ||
342 | #define OPSS15 0x8000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 15 */ | ||
343 | |||
344 | /* CAN_OPSS2 Masks */ | ||
345 | #define OPSS16 0x0001 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 16 */ | ||
346 | #define OPSS17 0x0002 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 17 */ | ||
347 | #define OPSS18 0x0004 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 18 */ | ||
348 | #define OPSS19 0x0008 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 19 */ | ||
349 | #define OPSS20 0x0010 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 20 */ | ||
350 | #define OPSS21 0x0020 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 21 */ | ||
351 | #define OPSS22 0x0040 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 22 */ | ||
352 | #define OPSS23 0x0080 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 23 */ | ||
353 | #define OPSS24 0x0100 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 24 */ | ||
354 | #define OPSS25 0x0200 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 25 */ | ||
355 | #define OPSS26 0x0400 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 26 */ | ||
356 | #define OPSS27 0x0800 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 27 */ | ||
357 | #define OPSS28 0x1000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 28 */ | ||
358 | #define OPSS29 0x2000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 29 */ | ||
359 | #define OPSS30 0x4000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 30 */ | ||
360 | #define OPSS31 0x8000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 31 */ | ||
361 | |||
362 | /* CAN_TRR1 Masks */ | ||
363 | #define TRR0 0x0001 /* Deny But Don't Lock Access To Mailbox 0 */ | ||
364 | #define TRR1 0x0002 /* Deny But Don't Lock Access To Mailbox 1 */ | ||
365 | #define TRR2 0x0004 /* Deny But Don't Lock Access To Mailbox 2 */ | ||
366 | #define TRR3 0x0008 /* Deny But Don't Lock Access To Mailbox 3 */ | ||
367 | #define TRR4 0x0010 /* Deny But Don't Lock Access To Mailbox 4 */ | ||
368 | #define TRR5 0x0020 /* Deny But Don't Lock Access To Mailbox 5 */ | ||
369 | #define TRR6 0x0040 /* Deny But Don't Lock Access To Mailbox 6 */ | ||
370 | #define TRR7 0x0080 /* Deny But Don't Lock Access To Mailbox 7 */ | ||
371 | #define TRR8 0x0100 /* Deny But Don't Lock Access To Mailbox 8 */ | ||
372 | #define TRR9 0x0200 /* Deny But Don't Lock Access To Mailbox 9 */ | ||
373 | #define TRR10 0x0400 /* Deny But Don't Lock Access To Mailbox 10 */ | ||
374 | #define TRR11 0x0800 /* Deny But Don't Lock Access To Mailbox 11 */ | ||
375 | #define TRR12 0x1000 /* Deny But Don't Lock Access To Mailbox 12 */ | ||
376 | #define TRR13 0x2000 /* Deny But Don't Lock Access To Mailbox 13 */ | ||
377 | #define TRR14 0x4000 /* Deny But Don't Lock Access To Mailbox 14 */ | ||
378 | #define TRR15 0x8000 /* Deny But Don't Lock Access To Mailbox 15 */ | ||
379 | |||
380 | /* CAN_TRR2 Masks */ | ||
381 | #define TRR16 0x0001 /* Deny But Don't Lock Access To Mailbox 16 */ | ||
382 | #define TRR17 0x0002 /* Deny But Don't Lock Access To Mailbox 17 */ | ||
383 | #define TRR18 0x0004 /* Deny But Don't Lock Access To Mailbox 18 */ | ||
384 | #define TRR19 0x0008 /* Deny But Don't Lock Access To Mailbox 19 */ | ||
385 | #define TRR20 0x0010 /* Deny But Don't Lock Access To Mailbox 20 */ | ||
386 | #define TRR21 0x0020 /* Deny But Don't Lock Access To Mailbox 21 */ | ||
387 | #define TRR22 0x0040 /* Deny But Don't Lock Access To Mailbox 22 */ | ||
388 | #define TRR23 0x0080 /* Deny But Don't Lock Access To Mailbox 23 */ | ||
389 | #define TRR24 0x0100 /* Deny But Don't Lock Access To Mailbox 24 */ | ||
390 | #define TRR25 0x0200 /* Deny But Don't Lock Access To Mailbox 25 */ | ||
391 | #define TRR26 0x0400 /* Deny But Don't Lock Access To Mailbox 26 */ | ||
392 | #define TRR27 0x0800 /* Deny But Don't Lock Access To Mailbox 27 */ | ||
393 | #define TRR28 0x1000 /* Deny But Don't Lock Access To Mailbox 28 */ | ||
394 | #define TRR29 0x2000 /* Deny But Don't Lock Access To Mailbox 29 */ | ||
395 | #define TRR30 0x4000 /* Deny But Don't Lock Access To Mailbox 30 */ | ||
396 | #define TRR31 0x8000 /* Deny But Don't Lock Access To Mailbox 31 */ | ||
397 | |||
398 | /* CAN_TRS1 Masks */ | ||
399 | #define TRS0 0x0001 /* Remote Frame Request For Mailbox 0 */ | ||
400 | #define TRS1 0x0002 /* Remote Frame Request For Mailbox 1 */ | ||
401 | #define TRS2 0x0004 /* Remote Frame Request For Mailbox 2 */ | ||
402 | #define TRS3 0x0008 /* Remote Frame Request For Mailbox 3 */ | ||
403 | #define TRS4 0x0010 /* Remote Frame Request For Mailbox 4 */ | ||
404 | #define TRS5 0x0020 /* Remote Frame Request For Mailbox 5 */ | ||
405 | #define TRS6 0x0040 /* Remote Frame Request For Mailbox 6 */ | ||
406 | #define TRS7 0x0080 /* Remote Frame Request For Mailbox 7 */ | ||
407 | #define TRS8 0x0100 /* Remote Frame Request For Mailbox 8 */ | ||
408 | #define TRS9 0x0200 /* Remote Frame Request For Mailbox 9 */ | ||
409 | #define TRS10 0x0400 /* Remote Frame Request For Mailbox 10 */ | ||
410 | #define TRS11 0x0800 /* Remote Frame Request For Mailbox 11 */ | ||
411 | #define TRS12 0x1000 /* Remote Frame Request For Mailbox 12 */ | ||
412 | #define TRS13 0x2000 /* Remote Frame Request For Mailbox 13 */ | ||
413 | #define TRS14 0x4000 /* Remote Frame Request For Mailbox 14 */ | ||
414 | #define TRS15 0x8000 /* Remote Frame Request For Mailbox 15 */ | ||
415 | |||
416 | /* CAN_TRS2 Masks */ | ||
417 | #define TRS16 0x0001 /* Remote Frame Request For Mailbox 16 */ | ||
418 | #define TRS17 0x0002 /* Remote Frame Request For Mailbox 17 */ | ||
419 | #define TRS18 0x0004 /* Remote Frame Request For Mailbox 18 */ | ||
420 | #define TRS19 0x0008 /* Remote Frame Request For Mailbox 19 */ | ||
421 | #define TRS20 0x0010 /* Remote Frame Request For Mailbox 20 */ | ||
422 | #define TRS21 0x0020 /* Remote Frame Request For Mailbox 21 */ | ||
423 | #define TRS22 0x0040 /* Remote Frame Request For Mailbox 22 */ | ||
424 | #define TRS23 0x0080 /* Remote Frame Request For Mailbox 23 */ | ||
425 | #define TRS24 0x0100 /* Remote Frame Request For Mailbox 24 */ | ||
426 | #define TRS25 0x0200 /* Remote Frame Request For Mailbox 25 */ | ||
427 | #define TRS26 0x0400 /* Remote Frame Request For Mailbox 26 */ | ||
428 | #define TRS27 0x0800 /* Remote Frame Request For Mailbox 27 */ | ||
429 | #define TRS28 0x1000 /* Remote Frame Request For Mailbox 28 */ | ||
430 | #define TRS29 0x2000 /* Remote Frame Request For Mailbox 29 */ | ||
431 | #define TRS30 0x4000 /* Remote Frame Request For Mailbox 30 */ | ||
432 | #define TRS31 0x8000 /* Remote Frame Request For Mailbox 31 */ | ||
433 | |||
434 | /* CAN_AA1 Masks */ | ||
435 | #define AA0 0x0001 /* Aborted Message In Mailbox 0 */ | ||
436 | #define AA1 0x0002 /* Aborted Message In Mailbox 1 */ | ||
437 | #define AA2 0x0004 /* Aborted Message In Mailbox 2 */ | ||
438 | #define AA3 0x0008 /* Aborted Message In Mailbox 3 */ | ||
439 | #define AA4 0x0010 /* Aborted Message In Mailbox 4 */ | ||
440 | #define AA5 0x0020 /* Aborted Message In Mailbox 5 */ | ||
441 | #define AA6 0x0040 /* Aborted Message In Mailbox 6 */ | ||
442 | #define AA7 0x0080 /* Aborted Message In Mailbox 7 */ | ||
443 | #define AA8 0x0100 /* Aborted Message In Mailbox 8 */ | ||
444 | #define AA9 0x0200 /* Aborted Message In Mailbox 9 */ | ||
445 | #define AA10 0x0400 /* Aborted Message In Mailbox 10 */ | ||
446 | #define AA11 0x0800 /* Aborted Message In Mailbox 11 */ | ||
447 | #define AA12 0x1000 /* Aborted Message In Mailbox 12 */ | ||
448 | #define AA13 0x2000 /* Aborted Message In Mailbox 13 */ | ||
449 | #define AA14 0x4000 /* Aborted Message In Mailbox 14 */ | ||
450 | #define AA15 0x8000 /* Aborted Message In Mailbox 15 */ | ||
451 | |||
452 | /* CAN_AA2 Masks */ | ||
453 | #define AA16 0x0001 /* Aborted Message In Mailbox 16 */ | ||
454 | #define AA17 0x0002 /* Aborted Message In Mailbox 17 */ | ||
455 | #define AA18 0x0004 /* Aborted Message In Mailbox 18 */ | ||
456 | #define AA19 0x0008 /* Aborted Message In Mailbox 19 */ | ||
457 | #define AA20 0x0010 /* Aborted Message In Mailbox 20 */ | ||
458 | #define AA21 0x0020 /* Aborted Message In Mailbox 21 */ | ||
459 | #define AA22 0x0040 /* Aborted Message In Mailbox 22 */ | ||
460 | #define AA23 0x0080 /* Aborted Message In Mailbox 23 */ | ||
461 | #define AA24 0x0100 /* Aborted Message In Mailbox 24 */ | ||
462 | #define AA25 0x0200 /* Aborted Message In Mailbox 25 */ | ||
463 | #define AA26 0x0400 /* Aborted Message In Mailbox 26 */ | ||
464 | #define AA27 0x0800 /* Aborted Message In Mailbox 27 */ | ||
465 | #define AA28 0x1000 /* Aborted Message In Mailbox 28 */ | ||
466 | #define AA29 0x2000 /* Aborted Message In Mailbox 29 */ | ||
467 | #define AA30 0x4000 /* Aborted Message In Mailbox 30 */ | ||
468 | #define AA31 0x8000 /* Aborted Message In Mailbox 31 */ | ||
469 | |||
470 | /* CAN_TA1 Masks */ | ||
471 | #define TA0 0x0001 /* Transmit Successful From Mailbox 0 */ | ||
472 | #define TA1 0x0002 /* Transmit Successful From Mailbox 1 */ | ||
473 | #define TA2 0x0004 /* Transmit Successful From Mailbox 2 */ | ||
474 | #define TA3 0x0008 /* Transmit Successful From Mailbox 3 */ | ||
475 | #define TA4 0x0010 /* Transmit Successful From Mailbox 4 */ | ||
476 | #define TA5 0x0020 /* Transmit Successful From Mailbox 5 */ | ||
477 | #define TA6 0x0040 /* Transmit Successful From Mailbox 6 */ | ||
478 | #define TA7 0x0080 /* Transmit Successful From Mailbox 7 */ | ||
479 | #define TA8 0x0100 /* Transmit Successful From Mailbox 8 */ | ||
480 | #define TA9 0x0200 /* Transmit Successful From Mailbox 9 */ | ||
481 | #define TA10 0x0400 /* Transmit Successful From Mailbox 10 */ | ||
482 | #define TA11 0x0800 /* Transmit Successful From Mailbox 11 */ | ||
483 | #define TA12 0x1000 /* Transmit Successful From Mailbox 12 */ | ||
484 | #define TA13 0x2000 /* Transmit Successful From Mailbox 13 */ | ||
485 | #define TA14 0x4000 /* Transmit Successful From Mailbox 14 */ | ||
486 | #define TA15 0x8000 /* Transmit Successful From Mailbox 15 */ | ||
487 | |||
488 | /* CAN_TA2 Masks */ | ||
489 | #define TA16 0x0001 /* Transmit Successful From Mailbox 16 */ | ||
490 | #define TA17 0x0002 /* Transmit Successful From Mailbox 17 */ | ||
491 | #define TA18 0x0004 /* Transmit Successful From Mailbox 18 */ | ||
492 | #define TA19 0x0008 /* Transmit Successful From Mailbox 19 */ | ||
493 | #define TA20 0x0010 /* Transmit Successful From Mailbox 20 */ | ||
494 | #define TA21 0x0020 /* Transmit Successful From Mailbox 21 */ | ||
495 | #define TA22 0x0040 /* Transmit Successful From Mailbox 22 */ | ||
496 | #define TA23 0x0080 /* Transmit Successful From Mailbox 23 */ | ||
497 | #define TA24 0x0100 /* Transmit Successful From Mailbox 24 */ | ||
498 | #define TA25 0x0200 /* Transmit Successful From Mailbox 25 */ | ||
499 | #define TA26 0x0400 /* Transmit Successful From Mailbox 26 */ | ||
500 | #define TA27 0x0800 /* Transmit Successful From Mailbox 27 */ | ||
501 | #define TA28 0x1000 /* Transmit Successful From Mailbox 28 */ | ||
502 | #define TA29 0x2000 /* Transmit Successful From Mailbox 29 */ | ||
503 | #define TA30 0x4000 /* Transmit Successful From Mailbox 30 */ | ||
504 | #define TA31 0x8000 /* Transmit Successful From Mailbox 31 */ | ||
505 | |||
506 | /* CAN_MBTD Masks */ | ||
507 | #define TDPTR 0x001F /* Mailbox To Temporarily Disable */ | ||
508 | #define TDA 0x0040 /* Temporary Disable Acknowledge */ | ||
509 | #define TDR 0x0080 /* Temporary Disable Request */ | ||
510 | |||
511 | /* CAN_RFH1 Masks */ | ||
512 | #define RFH0 0x0001 /* Enable Automatic Remote Frame Handling For Mailbox 0 */ | ||
513 | #define RFH1 0x0002 /* Enable Automatic Remote Frame Handling For Mailbox 1 */ | ||
514 | #define RFH2 0x0004 /* Enable Automatic Remote Frame Handling For Mailbox 2 */ | ||
515 | #define RFH3 0x0008 /* Enable Automatic Remote Frame Handling For Mailbox 3 */ | ||
516 | #define RFH4 0x0010 /* Enable Automatic Remote Frame Handling For Mailbox 4 */ | ||
517 | #define RFH5 0x0020 /* Enable Automatic Remote Frame Handling For Mailbox 5 */ | ||
518 | #define RFH6 0x0040 /* Enable Automatic Remote Frame Handling For Mailbox 6 */ | ||
519 | #define RFH7 0x0080 /* Enable Automatic Remote Frame Handling For Mailbox 7 */ | ||
520 | #define RFH8 0x0100 /* Enable Automatic Remote Frame Handling For Mailbox 8 */ | ||
521 | #define RFH9 0x0200 /* Enable Automatic Remote Frame Handling For Mailbox 9 */ | ||
522 | #define RFH10 0x0400 /* Enable Automatic Remote Frame Handling For Mailbox 10 */ | ||
523 | #define RFH11 0x0800 /* Enable Automatic Remote Frame Handling For Mailbox 11 */ | ||
524 | #define RFH12 0x1000 /* Enable Automatic Remote Frame Handling For Mailbox 12 */ | ||
525 | #define RFH13 0x2000 /* Enable Automatic Remote Frame Handling For Mailbox 13 */ | ||
526 | #define RFH14 0x4000 /* Enable Automatic Remote Frame Handling For Mailbox 14 */ | ||
527 | #define RFH15 0x8000 /* Enable Automatic Remote Frame Handling For Mailbox 15 */ | ||
528 | |||
529 | /* CAN_RFH2 Masks */ | ||
530 | #define RFH16 0x0001 /* Enable Automatic Remote Frame Handling For Mailbox 16 */ | ||
531 | #define RFH17 0x0002 /* Enable Automatic Remote Frame Handling For Mailbox 17 */ | ||
532 | #define RFH18 0x0004 /* Enable Automatic Remote Frame Handling For Mailbox 18 */ | ||
533 | #define RFH19 0x0008 /* Enable Automatic Remote Frame Handling For Mailbox 19 */ | ||
534 | #define RFH20 0x0010 /* Enable Automatic Remote Frame Handling For Mailbox 20 */ | ||
535 | #define RFH21 0x0020 /* Enable Automatic Remote Frame Handling For Mailbox 21 */ | ||
536 | #define RFH22 0x0040 /* Enable Automatic Remote Frame Handling For Mailbox 22 */ | ||
537 | #define RFH23 0x0080 /* Enable Automatic Remote Frame Handling For Mailbox 23 */ | ||
538 | #define RFH24 0x0100 /* Enable Automatic Remote Frame Handling For Mailbox 24 */ | ||
539 | #define RFH25 0x0200 /* Enable Automatic Remote Frame Handling For Mailbox 25 */ | ||
540 | #define RFH26 0x0400 /* Enable Automatic Remote Frame Handling For Mailbox 26 */ | ||
541 | #define RFH27 0x0800 /* Enable Automatic Remote Frame Handling For Mailbox 27 */ | ||
542 | #define RFH28 0x1000 /* Enable Automatic Remote Frame Handling For Mailbox 28 */ | ||
543 | #define RFH29 0x2000 /* Enable Automatic Remote Frame Handling For Mailbox 29 */ | ||
544 | #define RFH30 0x4000 /* Enable Automatic Remote Frame Handling For Mailbox 30 */ | ||
545 | #define RFH31 0x8000 /* Enable Automatic Remote Frame Handling For Mailbox 31 */ | ||
546 | |||
547 | /* CAN_MBTIF1 Masks */ | ||
548 | #define MBTIF0 0x0001 /* TX Interrupt Active In Mailbox 0 */ | ||
549 | #define MBTIF1 0x0002 /* TX Interrupt Active In Mailbox 1 */ | ||
550 | #define MBTIF2 0x0004 /* TX Interrupt Active In Mailbox 2 */ | ||
551 | #define MBTIF3 0x0008 /* TX Interrupt Active In Mailbox 3 */ | ||
552 | #define MBTIF4 0x0010 /* TX Interrupt Active In Mailbox 4 */ | ||
553 | #define MBTIF5 0x0020 /* TX Interrupt Active In Mailbox 5 */ | ||
554 | #define MBTIF6 0x0040 /* TX Interrupt Active In Mailbox 6 */ | ||
555 | #define MBTIF7 0x0080 /* TX Interrupt Active In Mailbox 7 */ | ||
556 | #define MBTIF8 0x0100 /* TX Interrupt Active In Mailbox 8 */ | ||
557 | #define MBTIF9 0x0200 /* TX Interrupt Active In Mailbox 9 */ | ||
558 | #define MBTIF10 0x0400 /* TX Interrupt Active In Mailbox 10 */ | ||
559 | #define MBTIF11 0x0800 /* TX Interrupt Active In Mailbox 11 */ | ||
560 | #define MBTIF12 0x1000 /* TX Interrupt Active In Mailbox 12 */ | ||
561 | #define MBTIF13 0x2000 /* TX Interrupt Active In Mailbox 13 */ | ||
562 | #define MBTIF14 0x4000 /* TX Interrupt Active In Mailbox 14 */ | ||
563 | #define MBTIF15 0x8000 /* TX Interrupt Active In Mailbox 15 */ | ||
564 | |||
565 | /* CAN_MBTIF2 Masks */ | ||
566 | #define MBTIF16 0x0001 /* TX Interrupt Active In Mailbox 16 */ | ||
567 | #define MBTIF17 0x0002 /* TX Interrupt Active In Mailbox 17 */ | ||
568 | #define MBTIF18 0x0004 /* TX Interrupt Active In Mailbox 18 */ | ||
569 | #define MBTIF19 0x0008 /* TX Interrupt Active In Mailbox 19 */ | ||
570 | #define MBTIF20 0x0010 /* TX Interrupt Active In Mailbox 20 */ | ||
571 | #define MBTIF21 0x0020 /* TX Interrupt Active In Mailbox 21 */ | ||
572 | #define MBTIF22 0x0040 /* TX Interrupt Active In Mailbox 22 */ | ||
573 | #define MBTIF23 0x0080 /* TX Interrupt Active In Mailbox 23 */ | ||
574 | #define MBTIF24 0x0100 /* TX Interrupt Active In Mailbox 24 */ | ||
575 | #define MBTIF25 0x0200 /* TX Interrupt Active In Mailbox 25 */ | ||
576 | #define MBTIF26 0x0400 /* TX Interrupt Active In Mailbox 26 */ | ||
577 | #define MBTIF27 0x0800 /* TX Interrupt Active In Mailbox 27 */ | ||
578 | #define MBTIF28 0x1000 /* TX Interrupt Active In Mailbox 28 */ | ||
579 | #define MBTIF29 0x2000 /* TX Interrupt Active In Mailbox 29 */ | ||
580 | #define MBTIF30 0x4000 /* TX Interrupt Active In Mailbox 30 */ | ||
581 | #define MBTIF31 0x8000 /* TX Interrupt Active In Mailbox 31 */ | ||
582 | |||
583 | /* CAN_MBRIF1 Masks */ | ||
584 | #define MBRIF0 0x0001 /* RX Interrupt Active In Mailbox 0 */ | ||
585 | #define MBRIF1 0x0002 /* RX Interrupt Active In Mailbox 1 */ | ||
586 | #define MBRIF2 0x0004 /* RX Interrupt Active In Mailbox 2 */ | ||
587 | #define MBRIF3 0x0008 /* RX Interrupt Active In Mailbox 3 */ | ||
588 | #define MBRIF4 0x0010 /* RX Interrupt Active In Mailbox 4 */ | ||
589 | #define MBRIF5 0x0020 /* RX Interrupt Active In Mailbox 5 */ | ||
590 | #define MBRIF6 0x0040 /* RX Interrupt Active In Mailbox 6 */ | ||
591 | #define MBRIF7 0x0080 /* RX Interrupt Active In Mailbox 7 */ | ||
592 | #define MBRIF8 0x0100 /* RX Interrupt Active In Mailbox 8 */ | ||
593 | #define MBRIF9 0x0200 /* RX Interrupt Active In Mailbox 9 */ | ||
594 | #define MBRIF10 0x0400 /* RX Interrupt Active In Mailbox 10 */ | ||
595 | #define MBRIF11 0x0800 /* RX Interrupt Active In Mailbox 11 */ | ||
596 | #define MBRIF12 0x1000 /* RX Interrupt Active In Mailbox 12 */ | ||
597 | #define MBRIF13 0x2000 /* RX Interrupt Active In Mailbox 13 */ | ||
598 | #define MBRIF14 0x4000 /* RX Interrupt Active In Mailbox 14 */ | ||
599 | #define MBRIF15 0x8000 /* RX Interrupt Active In Mailbox 15 */ | ||
600 | |||
601 | /* CAN_MBRIF2 Masks */ | ||
602 | #define MBRIF16 0x0001 /* RX Interrupt Active In Mailbox 16 */ | ||
603 | #define MBRIF17 0x0002 /* RX Interrupt Active In Mailbox 17 */ | ||
604 | #define MBRIF18 0x0004 /* RX Interrupt Active In Mailbox 18 */ | ||
605 | #define MBRIF19 0x0008 /* RX Interrupt Active In Mailbox 19 */ | ||
606 | #define MBRIF20 0x0010 /* RX Interrupt Active In Mailbox 20 */ | ||
607 | #define MBRIF21 0x0020 /* RX Interrupt Active In Mailbox 21 */ | ||
608 | #define MBRIF22 0x0040 /* RX Interrupt Active In Mailbox 22 */ | ||
609 | #define MBRIF23 0x0080 /* RX Interrupt Active In Mailbox 23 */ | ||
610 | #define MBRIF24 0x0100 /* RX Interrupt Active In Mailbox 24 */ | ||
611 | #define MBRIF25 0x0200 /* RX Interrupt Active In Mailbox 25 */ | ||
612 | #define MBRIF26 0x0400 /* RX Interrupt Active In Mailbox 26 */ | ||
613 | #define MBRIF27 0x0800 /* RX Interrupt Active In Mailbox 27 */ | ||
614 | #define MBRIF28 0x1000 /* RX Interrupt Active In Mailbox 28 */ | ||
615 | #define MBRIF29 0x2000 /* RX Interrupt Active In Mailbox 29 */ | ||
616 | #define MBRIF30 0x4000 /* RX Interrupt Active In Mailbox 30 */ | ||
617 | #define MBRIF31 0x8000 /* RX Interrupt Active In Mailbox 31 */ | ||
618 | |||
619 | /* CAN_MBIM1 Masks */ | ||
620 | #define MBIM0 0x0001 /* Enable Interrupt For Mailbox 0 */ | ||
621 | #define MBIM1 0x0002 /* Enable Interrupt For Mailbox 1 */ | ||
622 | #define MBIM2 0x0004 /* Enable Interrupt For Mailbox 2 */ | ||
623 | #define MBIM3 0x0008 /* Enable Interrupt For Mailbox 3 */ | ||
624 | #define MBIM4 0x0010 /* Enable Interrupt For Mailbox 4 */ | ||
625 | #define MBIM5 0x0020 /* Enable Interrupt For Mailbox 5 */ | ||
626 | #define MBIM6 0x0040 /* Enable Interrupt For Mailbox 6 */ | ||
627 | #define MBIM7 0x0080 /* Enable Interrupt For Mailbox 7 */ | ||
628 | #define MBIM8 0x0100 /* Enable Interrupt For Mailbox 8 */ | ||
629 | #define MBIM9 0x0200 /* Enable Interrupt For Mailbox 9 */ | ||
630 | #define MBIM10 0x0400 /* Enable Interrupt For Mailbox 10 */ | ||
631 | #define MBIM11 0x0800 /* Enable Interrupt For Mailbox 11 */ | ||
632 | #define MBIM12 0x1000 /* Enable Interrupt For Mailbox 12 */ | ||
633 | #define MBIM13 0x2000 /* Enable Interrupt For Mailbox 13 */ | ||
634 | #define MBIM14 0x4000 /* Enable Interrupt For Mailbox 14 */ | ||
635 | #define MBIM15 0x8000 /* Enable Interrupt For Mailbox 15 */ | ||
636 | |||
637 | /* CAN_MBIM2 Masks */ | ||
638 | #define MBIM16 0x0001 /* Enable Interrupt For Mailbox 16 */ | ||
639 | #define MBIM17 0x0002 /* Enable Interrupt For Mailbox 17 */ | ||
640 | #define MBIM18 0x0004 /* Enable Interrupt For Mailbox 18 */ | ||
641 | #define MBIM19 0x0008 /* Enable Interrupt For Mailbox 19 */ | ||
642 | #define MBIM20 0x0010 /* Enable Interrupt For Mailbox 20 */ | ||
643 | #define MBIM21 0x0020 /* Enable Interrupt For Mailbox 21 */ | ||
644 | #define MBIM22 0x0040 /* Enable Interrupt For Mailbox 22 */ | ||
645 | #define MBIM23 0x0080 /* Enable Interrupt For Mailbox 23 */ | ||
646 | #define MBIM24 0x0100 /* Enable Interrupt For Mailbox 24 */ | ||
647 | #define MBIM25 0x0200 /* Enable Interrupt For Mailbox 25 */ | ||
648 | #define MBIM26 0x0400 /* Enable Interrupt For Mailbox 26 */ | ||
649 | #define MBIM27 0x0800 /* Enable Interrupt For Mailbox 27 */ | ||
650 | #define MBIM28 0x1000 /* Enable Interrupt For Mailbox 28 */ | ||
651 | #define MBIM29 0x2000 /* Enable Interrupt For Mailbox 29 */ | ||
652 | #define MBIM30 0x4000 /* Enable Interrupt For Mailbox 30 */ | ||
653 | #define MBIM31 0x8000 /* Enable Interrupt For Mailbox 31 */ | ||
654 | |||
655 | /* CAN_GIM Masks */ | ||
656 | #define EWTIM 0x0001 /* Enable TX Error Count Interrupt */ | ||
657 | #define EWRIM 0x0002 /* Enable RX Error Count Interrupt */ | ||
658 | #define EPIM 0x0004 /* Enable Error-Passive Mode Interrupt */ | ||
659 | #define BOIM 0x0008 /* Enable Bus Off Interrupt */ | ||
660 | #define WUIM 0x0010 /* Enable Wake-Up Interrupt */ | ||
661 | #define UIAIM 0x0020 /* Enable Access To Unimplemented Address Interrupt */ | ||
662 | #define AAIM 0x0040 /* Enable Abort Acknowledge Interrupt */ | ||
663 | #define RMLIM 0x0080 /* Enable RX Message Lost Interrupt */ | ||
664 | #define UCEIM 0x0100 /* Enable Universal Counter Overflow Interrupt */ | ||
665 | #define EXTIM 0x0200 /* Enable External Trigger Output Interrupt */ | ||
666 | #define ADIM 0x0400 /* Enable Access Denied Interrupt */ | ||
667 | |||
668 | /* CAN_GIS Masks */ | ||
669 | #define EWTIS 0x0001 /* TX Error Count IRQ Status */ | ||
670 | #define EWRIS 0x0002 /* RX Error Count IRQ Status */ | ||
671 | #define EPIS 0x0004 /* Error-Passive Mode IRQ Status */ | ||
672 | #define BOIS 0x0008 /* Bus Off IRQ Status */ | ||
673 | #define WUIS 0x0010 /* Wake-Up IRQ Status */ | ||
674 | #define UIAIS 0x0020 /* Access To Unimplemented Address IRQ Status */ | ||
675 | #define AAIS 0x0040 /* Abort Acknowledge IRQ Status */ | ||
676 | #define RMLIS 0x0080 /* RX Message Lost IRQ Status */ | ||
677 | #define UCEIS 0x0100 /* Universal Counter Overflow IRQ Status */ | ||
678 | #define EXTIS 0x0200 /* External Trigger Output IRQ Status */ | ||
679 | #define ADIS 0x0400 /* Access Denied IRQ Status */ | ||
680 | |||
681 | /* CAN_GIF Masks */ | ||
682 | #define EWTIF 0x0001 /* TX Error Count IRQ Flag */ | ||
683 | #define EWRIF 0x0002 /* RX Error Count IRQ Flag */ | ||
684 | #define EPIF 0x0004 /* Error-Passive Mode IRQ Flag */ | ||
685 | #define BOIF 0x0008 /* Bus Off IRQ Flag */ | ||
686 | #define WUIF 0x0010 /* Wake-Up IRQ Flag */ | ||
687 | #define UIAIF 0x0020 /* Access To Unimplemented Address IRQ Flag */ | ||
688 | #define AAIF 0x0040 /* Abort Acknowledge IRQ Flag */ | ||
689 | #define RMLIF 0x0080 /* RX Message Lost IRQ Flag */ | ||
690 | #define UCEIF 0x0100 /* Universal Counter Overflow IRQ Flag */ | ||
691 | #define EXTIF 0x0200 /* External Trigger Output IRQ Flag */ | ||
692 | #define ADIF 0x0400 /* Access Denied IRQ Flag */ | ||
693 | |||
694 | /* CAN_UCCNF Masks */ | ||
695 | #define UCCNF 0x000F /* Universal Counter Mode */ | ||
696 | #define UC_STAMP 0x0001 /* Timestamp Mode */ | ||
697 | #define UC_WDOG 0x0002 /* Watchdog Mode */ | ||
698 | #define UC_AUTOTX 0x0003 /* Auto-Transmit Mode */ | ||
699 | #define UC_ERROR 0x0006 /* CAN Error Frame Count */ | ||
700 | #define UC_OVER 0x0007 /* CAN Overload Frame Count */ | ||
701 | #define UC_LOST 0x0008 /* Arbitration Lost During TX Count */ | ||
702 | #define UC_AA 0x0009 /* TX Abort Count */ | ||
703 | #define UC_TA 0x000A /* TX Successful Count */ | ||
704 | #define UC_REJECT 0x000B /* RX Message Rejected Count */ | ||
705 | #define UC_RML 0x000C /* RX Message Lost Count */ | ||
706 | #define UC_RX 0x000D /* Total Successful RX Messages Count */ | ||
707 | #define UC_RMP 0x000E /* Successful RX W/Matching ID Count */ | ||
708 | #define UC_ALL 0x000F /* Correct Message On CAN Bus Line Count */ | ||
709 | #define UCRC 0x0020 /* Universal Counter Reload/Clear */ | ||
710 | #define UCCT 0x0040 /* Universal Counter CAN Trigger */ | ||
711 | #define UCE 0x0080 /* Universal Counter Enable */ | ||
712 | |||
713 | /* CAN_ESR Masks */ | ||
714 | #define ACKE 0x0004 /* Acknowledge Error */ | ||
715 | #define SER 0x0008 /* Stuff Error */ | ||
716 | #define CRCE 0x0010 /* CRC Error */ | ||
717 | #define SA0 0x0020 /* Stuck At Dominant Error */ | ||
718 | #define BEF 0x0040 /* Bit Error Flag */ | ||
719 | #define FER 0x0080 /* Form Error Flag */ | ||
720 | |||
721 | /* CAN_EWR Masks */ | ||
722 | #define EWLREC 0x00FF /* RX Error Count Limit (For EWRIS) */ | ||
723 | #define EWLTEC 0xFF00 /* TX Error Count Limit (For EWTIS) */ | ||
724 | |||
725 | #endif | ||
diff --git a/arch/blackfin/include/asm/bfin_sport.h b/arch/blackfin/include/asm/bfin_sport.h index b558908e1c79..9626cf7e4251 100644 --- a/arch/blackfin/include/asm/bfin_sport.h +++ b/arch/blackfin/include/asm/bfin_sport.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * bfin_sport.h - userspace header for bfin sport driver | 2 | * bfin_sport.h - interface to Blackfin SPORTs |
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2009 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
7 | */ | 7 | */ |
@@ -9,16 +9,6 @@ | |||
9 | #ifndef __BFIN_SPORT_H__ | 9 | #ifndef __BFIN_SPORT_H__ |
10 | #define __BFIN_SPORT_H__ | 10 | #define __BFIN_SPORT_H__ |
11 | 11 | ||
12 | #ifdef __KERNEL__ | ||
13 | #include <linux/cdev.h> | ||
14 | #include <linux/mutex.h> | ||
15 | #include <linux/sched.h> | ||
16 | #include <linux/wait.h> | ||
17 | #endif | ||
18 | |||
19 | #define SPORT_MAJOR 237 | ||
20 | #define SPORT_NR_DEVS 2 | ||
21 | |||
22 | /* Sport mode: it can be set to TDM, i2s or others */ | 12 | /* Sport mode: it can be set to TDM, i2s or others */ |
23 | #define NORM_MODE 0x0 | 13 | #define NORM_MODE 0x0 |
24 | #define TDM_MODE 0x1 | 14 | #define TDM_MODE 0x1 |
@@ -35,7 +25,7 @@ struct sport_config { | |||
35 | unsigned int mode:3; | 25 | unsigned int mode:3; |
36 | 26 | ||
37 | /* if TDM mode is selected, channels must be set */ | 27 | /* if TDM mode is selected, channels must be set */ |
38 | int channels; /* Must be in 8 units */ | 28 | int channels; /* Must be in 8 units */ |
39 | unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */ | 29 | unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */ |
40 | 30 | ||
41 | /* I2S mode */ | 31 | /* I2S mode */ |
@@ -69,94 +59,137 @@ struct sport_config { | |||
69 | 59 | ||
70 | #ifdef __KERNEL__ | 60 | #ifdef __KERNEL__ |
71 | 61 | ||
72 | struct sport_register { | 62 | #include <linux/types.h> |
73 | unsigned short tcr1; | ||
74 | unsigned short reserved0; | ||
75 | unsigned short tcr2; | ||
76 | unsigned short reserved1; | ||
77 | unsigned short tclkdiv; | ||
78 | unsigned short reserved2; | ||
79 | unsigned short tfsdiv; | ||
80 | unsigned short reserved3; | ||
81 | unsigned long tx; | ||
82 | unsigned long reserved_l0; | ||
83 | unsigned long rx; | ||
84 | unsigned long reserved_l1; | ||
85 | unsigned short rcr1; | ||
86 | unsigned short reserved4; | ||
87 | unsigned short rcr2; | ||
88 | unsigned short reserved5; | ||
89 | unsigned short rclkdiv; | ||
90 | unsigned short reserved6; | ||
91 | unsigned short rfsdiv; | ||
92 | unsigned short reserved7; | ||
93 | unsigned short stat; | ||
94 | unsigned short reserved8; | ||
95 | unsigned short chnl; | ||
96 | unsigned short reserved9; | ||
97 | unsigned short mcmc1; | ||
98 | unsigned short reserved10; | ||
99 | unsigned short mcmc2; | ||
100 | unsigned short reserved11; | ||
101 | unsigned long mtcs0; | ||
102 | unsigned long mtcs1; | ||
103 | unsigned long mtcs2; | ||
104 | unsigned long mtcs3; | ||
105 | unsigned long mrcs0; | ||
106 | unsigned long mrcs1; | ||
107 | unsigned long mrcs2; | ||
108 | unsigned long mrcs3; | ||
109 | }; | ||
110 | |||
111 | struct sport_dev { | ||
112 | struct cdev cdev; /* Char device structure */ | ||
113 | |||
114 | int sport_num; | ||
115 | 63 | ||
116 | int dma_rx_chan; | 64 | /* |
117 | int dma_tx_chan; | 65 | * All Blackfin system MMRs are padded to 32bits even if the register |
118 | 66 | * itself is only 16bits. So use a helper macro to streamline this. | |
119 | int rx_irq; | 67 | */ |
120 | unsigned char *rx_buf; /* Buffer store the received data */ | 68 | #define __BFP(m) u16 m; u16 __pad_##m |
121 | int rx_len; /* How many bytes will be received */ | 69 | struct sport_register { |
122 | int rx_received; /* How many bytes has been received */ | 70 | __BFP(tcr1); |
123 | 71 | __BFP(tcr2); | |
124 | int tx_irq; | 72 | __BFP(tclkdiv); |
125 | const unsigned char *tx_buf; | 73 | __BFP(tfsdiv); |
126 | int tx_len; | 74 | union { |
127 | int tx_sent; | 75 | u32 tx32; |
128 | 76 | u16 tx16; | |
129 | int err_irq; | 77 | }; |
130 | 78 | u32 __pad_tx; | |
131 | struct mutex mutex; /* mutual exclusion semaphore */ | 79 | union { |
132 | struct task_struct *task; | 80 | u32 rx32; /* use the anomaly wrapper below */ |
133 | 81 | u16 rx16; | |
134 | wait_queue_head_t waitq; | 82 | }; |
135 | int wait_con; | 83 | u32 __pad_rx; |
136 | struct sport_register *regs; | 84 | __BFP(rcr1); |
137 | struct sport_config config; | 85 | __BFP(rcr2); |
86 | __BFP(rclkdiv); | ||
87 | __BFP(rfsdiv); | ||
88 | __BFP(stat); | ||
89 | __BFP(chnl); | ||
90 | __BFP(mcmc1); | ||
91 | __BFP(mcmc2); | ||
92 | u32 mtcs0; | ||
93 | u32 mtcs1; | ||
94 | u32 mtcs2; | ||
95 | u32 mtcs3; | ||
96 | u32 mrcs0; | ||
97 | u32 mrcs1; | ||
98 | u32 mrcs2; | ||
99 | u32 mrcs3; | ||
138 | }; | 100 | }; |
101 | #undef __BFP | ||
102 | |||
103 | #define bfin_read_sport_rx32(base) \ | ||
104 | ({ \ | ||
105 | struct sport_register *__mmrs = (void *)base; \ | ||
106 | u32 __ret; \ | ||
107 | unsigned long flags; \ | ||
108 | if (ANOMALY_05000473) \ | ||
109 | local_irq_save(flags); \ | ||
110 | __ret = __mmrs->rx32; \ | ||
111 | if (ANOMALY_05000473) \ | ||
112 | local_irq_restore(flags); \ | ||
113 | __ret; \ | ||
114 | }) | ||
139 | 115 | ||
140 | #endif | 116 | #endif |
141 | 117 | ||
142 | #define SPORT_TCR1 0 | 118 | /* Workaround defBF*.h SPORT MMRs till they get cleansed */ |
143 | #define SPORT_TCR2 1 | 119 | #undef DTYPE_NORM |
144 | #define SPORT_TCLKDIV 2 | 120 | #undef SLEN |
145 | #define SPORT_TFSDIV 3 | 121 | #undef SP_WOFF |
146 | #define SPORT_RCR1 8 | 122 | #undef SP_WSIZE |
147 | #define SPORT_RCR2 9 | 123 | |
148 | #define SPORT_RCLKDIV 10 | 124 | /* SPORT_TCR1 Masks */ |
149 | #define SPORT_RFSDIV 11 | 125 | #define TSPEN 0x0001 /* TX enable */ |
150 | #define SPORT_CHANNEL 13 | 126 | #define ITCLK 0x0002 /* Internal TX Clock Select */ |
151 | #define SPORT_MCMC1 14 | 127 | #define TDTYPE 0x000C /* TX Data Formatting Select */ |
152 | #define SPORT_MCMC2 15 | 128 | #define DTYPE_NORM 0x0000 /* Data Format Normal */ |
153 | #define SPORT_MTCS0 16 | 129 | #define DTYPE_ULAW 0x0008 /* Compand Using u-Law */ |
154 | #define SPORT_MTCS1 17 | 130 | #define DTYPE_ALAW 0x000C /* Compand Using A-Law */ |
155 | #define SPORT_MTCS2 18 | 131 | #define TLSBIT 0x0010 /* TX Bit Order */ |
156 | #define SPORT_MTCS3 19 | 132 | #define ITFS 0x0200 /* Internal TX Frame Sync Select */ |
157 | #define SPORT_MRCS0 20 | 133 | #define TFSR 0x0400 /* TX Frame Sync Required Select */ |
158 | #define SPORT_MRCS1 21 | 134 | #define DITFS 0x0800 /* Data Independent TX Frame Sync Select */ |
159 | #define SPORT_MRCS2 22 | 135 | #define LTFS 0x1000 /* Low TX Frame Sync Select */ |
160 | #define SPORT_MRCS3 23 | 136 | #define LATFS 0x2000 /* Late TX Frame Sync Select */ |
137 | #define TCKFE 0x4000 /* TX Clock Falling Edge Select */ | ||
138 | |||
139 | /* SPORT_TCR2 Masks */ | ||
140 | #define SLEN 0x001F /* SPORT TX Word Length (2 - 31) */ | ||
141 | #define DP_SLEN(x) BFIN_DEPOSIT(SLEN, x) | ||
142 | #define EX_SLEN(x) BFIN_EXTRACT(SLEN, x) | ||
143 | #define TXSE 0x0100 /* TX Secondary Enable */ | ||
144 | #define TSFSE 0x0200 /* TX Stereo Frame Sync Enable */ | ||
145 | #define TRFST 0x0400 /* TX Right-First Data Order */ | ||
146 | |||
147 | /* SPORT_RCR1 Masks */ | ||
148 | #define RSPEN 0x0001 /* RX enable */ | ||
149 | #define IRCLK 0x0002 /* Internal RX Clock Select */ | ||
150 | #define RDTYPE 0x000C /* RX Data Formatting Select */ | ||
151 | /* DTYPE_* defined above */ | ||
152 | #define RLSBIT 0x0010 /* RX Bit Order */ | ||
153 | #define IRFS 0x0200 /* Internal RX Frame Sync Select */ | ||
154 | #define RFSR 0x0400 /* RX Frame Sync Required Select */ | ||
155 | #define LRFS 0x1000 /* Low RX Frame Sync Select */ | ||
156 | #define LARFS 0x2000 /* Late RX Frame Sync Select */ | ||
157 | #define RCKFE 0x4000 /* RX Clock Falling Edge Select */ | ||
158 | |||
159 | /* SPORT_RCR2 Masks */ | ||
160 | /* SLEN defined above */ | ||
161 | #define RXSE 0x0100 /* RX Secondary Enable */ | ||
162 | #define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */ | ||
163 | #define RRFST 0x0400 /* Right-First Data Order */ | ||
164 | |||
165 | /* SPORT_STAT Masks */ | ||
166 | #define RXNE 0x0001 /* RX FIFO Not Empty Status */ | ||
167 | #define RUVF 0x0002 /* RX Underflow Status */ | ||
168 | #define ROVF 0x0004 /* RX Overflow Status */ | ||
169 | #define TXF 0x0008 /* TX FIFO Full Status */ | ||
170 | #define TUVF 0x0010 /* TX Underflow Status */ | ||
171 | #define TOVF 0x0020 /* TX Overflow Status */ | ||
172 | #define TXHRE 0x0040 /* TX Hold Register Empty */ | ||
173 | |||
174 | /* SPORT_MCMC1 Masks */ | ||
175 | #define SP_WOFF 0x03FF /* Multichannel Window Offset Field */ | ||
176 | #define DP_SP_WOFF(x) BFIN_DEPOSIT(SP_WOFF, x) | ||
177 | #define EX_SP_WOFF(x) BFIN_EXTRACT(SP_WOFF, x) | ||
178 | #define SP_WSIZE 0xF000 /* Multichannel Window Size Field */ | ||
179 | #define DP_SP_WSIZE(x) BFIN_DEPOSIT(SP_WSIZE, x) | ||
180 | #define EX_SP_WSIZE(x) BFIN_EXTRACT(SP_WSIZE, x) | ||
181 | |||
182 | /* SPORT_MCMC2 Masks */ | ||
183 | #define MCCRM 0x0003 /* Multichannel Clock Recovery Mode */ | ||
184 | #define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */ | ||
185 | #define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */ | ||
186 | #define REC_8FROM16 0x0003 /* Recover 8 MHz Clock from 16 MHz Clock */ | ||
187 | #define MCDTXPE 0x0004 /* Multichannel DMA Transmit Packing */ | ||
188 | #define MCDRXPE 0x0008 /* Multichannel DMA Receive Packing */ | ||
189 | #define MCMEN 0x0010 /* Multichannel Frame Mode Enable */ | ||
190 | #define FSDR 0x0080 /* Multichannel Frame Sync to Data Relationship */ | ||
191 | #define MFD 0xF000 /* Multichannel Frame Delay */ | ||
192 | #define DP_MFD(x) BFIN_DEPOSIT(MFD, x) | ||
193 | #define EX_MFD(x) BFIN_EXTRACT(MFD, x) | ||
161 | 194 | ||
162 | #endif | 195 | #endif |
diff --git a/arch/blackfin/include/asm/bfin_watchdog.h b/arch/blackfin/include/asm/bfin_watchdog.h new file mode 100644 index 000000000000..dce09829a095 --- /dev/null +++ b/arch/blackfin/include/asm/bfin_watchdog.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * bfin_watchdog.h - Blackfin watchdog definitions | ||
3 | * | ||
4 | * Copyright 2006-2010 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef _BFIN_WATCHDOG_H | ||
10 | #define _BFIN_WATCHDOG_H | ||
11 | |||
12 | /* Bit in SWRST that indicates boot caused by watchdog */ | ||
13 | #define SWRST_RESET_WDOG 0x4000 | ||
14 | |||
15 | /* Bit in WDOG_CTL that indicates watchdog has expired (WDR0) */ | ||
16 | #define WDOG_EXPIRED 0x8000 | ||
17 | |||
18 | /* Masks for WDEV field in WDOG_CTL register */ | ||
19 | #define ICTL_RESET 0x0 | ||
20 | #define ICTL_NMI 0x2 | ||
21 | #define ICTL_GPI 0x4 | ||
22 | #define ICTL_NONE 0x6 | ||
23 | #define ICTL_MASK 0x6 | ||
24 | |||
25 | /* Masks for WDEN field in WDOG_CTL register */ | ||
26 | #define WDEN_MASK 0x0FF0 | ||
27 | #define WDEN_ENABLE 0x0000 | ||
28 | #define WDEN_DISABLE 0x0AD0 | ||
29 | |||
30 | #endif | ||
diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index a2ff3fb3568d..605ba8e9b2e4 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h | |||
@@ -7,22 +7,41 @@ | |||
7 | #ifndef _BLACKFIN_BITOPS_H | 7 | #ifndef _BLACKFIN_BITOPS_H |
8 | #define _BLACKFIN_BITOPS_H | 8 | #define _BLACKFIN_BITOPS_H |
9 | 9 | ||
10 | #ifndef CONFIG_SMP | 10 | #include <linux/compiler.h> |
11 | # include <asm-generic/bitops.h> | 11 | |
12 | #else | 12 | #include <asm-generic/bitops/__ffs.h> |
13 | #include <asm-generic/bitops/ffz.h> | ||
14 | #include <asm-generic/bitops/fls.h> | ||
15 | #include <asm-generic/bitops/__fls.h> | ||
16 | #include <asm-generic/bitops/fls64.h> | ||
17 | #include <asm-generic/bitops/find.h> | ||
13 | 18 | ||
14 | #ifndef _LINUX_BITOPS_H | 19 | #ifndef _LINUX_BITOPS_H |
15 | #error only <linux/bitops.h> can be included directly | 20 | #error only <linux/bitops.h> can be included directly |
16 | #endif | 21 | #endif |
17 | 22 | ||
18 | #include <linux/compiler.h> | ||
19 | #include <asm/byteorder.h> /* swab32 */ | ||
20 | |||
21 | #include <asm-generic/bitops/ffs.h> | ||
22 | #include <asm-generic/bitops/__ffs.h> | ||
23 | #include <asm-generic/bitops/sched.h> | 23 | #include <asm-generic/bitops/sched.h> |
24 | #include <asm-generic/bitops/ffz.h> | 24 | #include <asm-generic/bitops/ffs.h> |
25 | #include <asm-generic/bitops/lock.h> | ||
26 | #include <asm-generic/bitops/ext2-non-atomic.h> | ||
27 | #include <asm-generic/bitops/ext2-atomic.h> | ||
28 | #include <asm-generic/bitops/minix.h> | ||
29 | |||
30 | #ifndef CONFIG_SMP | ||
31 | #include <linux/irqflags.h> | ||
32 | |||
33 | /* | ||
34 | * clear_bit may not imply a memory barrier | ||
35 | */ | ||
36 | #ifndef smp_mb__before_clear_bit | ||
37 | #define smp_mb__before_clear_bit() smp_mb() | ||
38 | #define smp_mb__after_clear_bit() smp_mb() | ||
39 | #endif | ||
40 | #include <asm-generic/bitops/atomic.h> | ||
41 | #include <asm-generic/bitops/non-atomic.h> | ||
42 | #else | ||
25 | 43 | ||
44 | #include <asm/byteorder.h> /* swab32 */ | ||
26 | #include <linux/linkage.h> | 45 | #include <linux/linkage.h> |
27 | 46 | ||
28 | asmlinkage int __raw_bit_set_asm(volatile unsigned long *addr, int nr); | 47 | asmlinkage int __raw_bit_set_asm(volatile unsigned long *addr, int nr); |
@@ -89,19 +108,36 @@ static inline int test_and_change_bit(int nr, volatile unsigned long *addr) | |||
89 | 108 | ||
90 | #include <asm-generic/bitops/non-atomic.h> | 109 | #include <asm-generic/bitops/non-atomic.h> |
91 | 110 | ||
92 | #include <asm-generic/bitops/find.h> | 111 | #endif /* CONFIG_SMP */ |
93 | #include <asm-generic/bitops/hweight.h> | ||
94 | #include <asm-generic/bitops/lock.h> | ||
95 | 112 | ||
96 | #include <asm-generic/bitops/ext2-atomic.h> | 113 | /* |
97 | #include <asm-generic/bitops/ext2-non-atomic.h> | 114 | * hweightN: returns the hamming weight (i.e. the number |
115 | * of bits set) of a N-bit word | ||
116 | */ | ||
98 | 117 | ||
99 | #include <asm-generic/bitops/minix.h> | 118 | static inline unsigned int hweight32(unsigned int w) |
119 | { | ||
120 | unsigned int res; | ||
100 | 121 | ||
101 | #include <asm-generic/bitops/fls.h> | 122 | __asm__ ("%0.l = ONES %0;" |
102 | #include <asm-generic/bitops/__fls.h> | 123 | "%0 = %0.l (Z);" |
103 | #include <asm-generic/bitops/fls64.h> | 124 | : "=d" (res) : "d" (w)); |
125 | return res; | ||
126 | } | ||
104 | 127 | ||
105 | #endif /* CONFIG_SMP */ | 128 | static inline unsigned int hweight64(__u64 w) |
129 | { | ||
130 | return hweight32((unsigned int)(w >> 32)) + hweight32((unsigned int)w); | ||
131 | } | ||
132 | |||
133 | static inline unsigned int hweight16(unsigned int w) | ||
134 | { | ||
135 | return hweight32(w & 0xffff); | ||
136 | } | ||
137 | |||
138 | static inline unsigned int hweight8(unsigned int w) | ||
139 | { | ||
140 | return hweight32(w & 0xff); | ||
141 | } | ||
106 | 142 | ||
107 | #endif /* _BLACKFIN_BITOPS_H */ | 143 | #endif /* _BLACKFIN_BITOPS_H */ |
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S index 5dffaf582a22..1f9060395a0a 100644 --- a/arch/blackfin/include/asm/context.S +++ b/arch/blackfin/include/asm/context.S | |||
@@ -73,6 +73,11 @@ | |||
73 | #else | 73 | #else |
74 | cli r0; | 74 | cli r0; |
75 | #endif | 75 | #endif |
76 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
77 | sp += -12; | ||
78 | call _trace_hardirqs_off; | ||
79 | sp += 12; | ||
80 | #endif | ||
76 | [--sp] = RETI; /*orig_pc*/ | 81 | [--sp] = RETI; /*orig_pc*/ |
77 | /* Clear all L registers. */ | 82 | /* Clear all L registers. */ |
78 | r0 = 0 (x); | 83 | r0 = 0 (x); |
@@ -279,6 +284,13 @@ | |||
279 | RETN = [sp++]; | 284 | RETN = [sp++]; |
280 | RETX = [sp++]; | 285 | RETX = [sp++]; |
281 | RETI = [sp++]; | 286 | RETI = [sp++]; |
287 | |||
288 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
289 | sp += -12; | ||
290 | call _trace_hardirqs_on; | ||
291 | sp += 12; | ||
292 | #endif | ||
293 | |||
282 | RETS = [sp++]; | 294 | RETS = [sp++]; |
283 | 295 | ||
284 | #ifdef CONFIG_SMP | 296 | #ifdef CONFIG_SMP |
@@ -374,3 +386,13 @@ | |||
374 | 386 | ||
375 | (R7:0, P5:0) = [SP++]; | 387 | (R7:0, P5:0) = [SP++]; |
376 | .endm | 388 | .endm |
389 | |||
390 | .macro pseudo_long_call func:req, scratch:req | ||
391 | #ifdef CONFIG_ROMKERNEL | ||
392 | \scratch\().l = \func; | ||
393 | \scratch\().h = \func; | ||
394 | call (\scratch); | ||
395 | #else | ||
396 | call \func; | ||
397 | #endif | ||
398 | .endm | ||
diff --git a/arch/blackfin/include/asm/cpu.h b/arch/blackfin/include/asm/cpu.h index b191dc662bd8..16883e582e3c 100644 --- a/arch/blackfin/include/asm/cpu.h +++ b/arch/blackfin/include/asm/cpu.h | |||
@@ -17,8 +17,6 @@ struct blackfin_cpudata { | |||
17 | struct task_struct *idle; | 17 | struct task_struct *idle; |
18 | unsigned int imemctl; | 18 | unsigned int imemctl; |
19 | unsigned int dmemctl; | 19 | unsigned int dmemctl; |
20 | unsigned long dcache_invld_count; | ||
21 | unsigned long icache_invld_count; | ||
22 | }; | 20 | }; |
23 | 21 | ||
24 | DECLARE_PER_CPU(struct blackfin_cpudata, cpu_data); | 22 | DECLARE_PER_CPU(struct blackfin_cpudata, cpu_data); |
diff --git a/arch/blackfin/include/asm/def_LPBlackfin.h b/arch/blackfin/include/asm/def_LPBlackfin.h index 25906468622f..f342ff0319df 100644 --- a/arch/blackfin/include/asm/def_LPBlackfin.h +++ b/arch/blackfin/include/asm/def_LPBlackfin.h | |||
@@ -12,6 +12,8 @@ | |||
12 | #include <mach/anomaly.h> | 12 | #include <mach/anomaly.h> |
13 | 13 | ||
14 | #define MK_BMSK_(x) (1<<x) | 14 | #define MK_BMSK_(x) (1<<x) |
15 | #define BFIN_DEPOSIT(mask, x) (((x) << __ffs(mask)) & (mask)) | ||
16 | #define BFIN_EXTRACT(mask, x) (((x) & (mask)) >> __ffs(mask)) | ||
15 | 17 | ||
16 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
17 | 19 | ||
@@ -23,62 +25,30 @@ | |||
23 | # define NOP_PAD_ANOMALY_05000198 | 25 | # define NOP_PAD_ANOMALY_05000198 |
24 | #endif | 26 | #endif |
25 | 27 | ||
26 | #define bfin_read8(addr) ({ \ | 28 | #define _bfin_readX(addr, size, asm_size, asm_ext) ({ \ |
27 | uint32_t __v; \ | 29 | u32 __v; \ |
28 | __asm__ __volatile__( \ | 30 | __asm__ __volatile__( \ |
29 | NOP_PAD_ANOMALY_05000198 \ | 31 | NOP_PAD_ANOMALY_05000198 \ |
30 | "%0 = b[%1] (z);" \ | 32 | "%0 = " #asm_size "[%1]" #asm_ext ";" \ |
31 | : "=d" (__v) \ | 33 | : "=d" (__v) \ |
32 | : "a" (addr) \ | 34 | : "a" (addr) \ |
33 | ); \ | 35 | ); \ |
34 | __v; }) | 36 | __v; }) |
35 | 37 | #define _bfin_writeX(addr, val, size, asm_size) \ | |
36 | #define bfin_read16(addr) ({ \ | ||
37 | uint32_t __v; \ | ||
38 | __asm__ __volatile__( \ | ||
39 | NOP_PAD_ANOMALY_05000198 \ | ||
40 | "%0 = w[%1] (z);" \ | ||
41 | : "=d" (__v) \ | ||
42 | : "a" (addr) \ | ||
43 | ); \ | ||
44 | __v; }) | ||
45 | |||
46 | #define bfin_read32(addr) ({ \ | ||
47 | uint32_t __v; \ | ||
48 | __asm__ __volatile__( \ | ||
49 | NOP_PAD_ANOMALY_05000198 \ | ||
50 | "%0 = [%1];" \ | ||
51 | : "=d" (__v) \ | ||
52 | : "a" (addr) \ | ||
53 | ); \ | ||
54 | __v; }) | ||
55 | |||
56 | #define bfin_write8(addr, val) \ | ||
57 | __asm__ __volatile__( \ | 38 | __asm__ __volatile__( \ |
58 | NOP_PAD_ANOMALY_05000198 \ | 39 | NOP_PAD_ANOMALY_05000198 \ |
59 | "b[%0] = %1;" \ | 40 | #asm_size "[%0] = %1;" \ |
60 | : \ | 41 | : \ |
61 | : "a" (addr), "d" ((uint8_t)(val)) \ | 42 | : "a" (addr), "d" ((u##size)(val)) \ |
62 | : "memory" \ | 43 | : "memory" \ |
63 | ) | 44 | ) |
64 | 45 | ||
65 | #define bfin_write16(addr, val) \ | 46 | #define bfin_read8(addr) _bfin_readX(addr, 8, b, (z)) |
66 | __asm__ __volatile__( \ | 47 | #define bfin_read16(addr) _bfin_readX(addr, 16, w, (z)) |
67 | NOP_PAD_ANOMALY_05000198 \ | 48 | #define bfin_read32(addr) _bfin_readX(addr, 32, , ) |
68 | "w[%0] = %1;" \ | 49 | #define bfin_write8(addr, val) _bfin_writeX(addr, val, 8, b) |
69 | : \ | 50 | #define bfin_write16(addr, val) _bfin_writeX(addr, val, 16, w) |
70 | : "a" (addr), "d" ((uint16_t)(val)) \ | 51 | #define bfin_write32(addr, val) _bfin_writeX(addr, val, 32, ) |
71 | : "memory" \ | ||
72 | ) | ||
73 | |||
74 | #define bfin_write32(addr, val) \ | ||
75 | __asm__ __volatile__( \ | ||
76 | NOP_PAD_ANOMALY_05000198 \ | ||
77 | "[%0] = %1;" \ | ||
78 | : \ | ||
79 | : "a" (addr), "d" (val) \ | ||
80 | : "memory" \ | ||
81 | ) | ||
82 | 52 | ||
83 | #endif /* __ASSEMBLY__ */ | 53 | #endif /* __ASSEMBLY__ */ |
84 | 54 | ||
diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h index c31f91cc1d5d..171d8deb04a5 100644 --- a/arch/blackfin/include/asm/delay.h +++ b/arch/blackfin/include/asm/delay.h | |||
@@ -30,10 +30,22 @@ __asm__ __volatile__ ( | |||
30 | 30 | ||
31 | #define HZSCALE (268435456 / (1000000/HZ)) | 31 | #define HZSCALE (268435456 / (1000000/HZ)) |
32 | 32 | ||
33 | static inline void udelay(unsigned long usecs) | 33 | static inline unsigned long __to_delay(unsigned long scale) |
34 | { | 34 | { |
35 | extern unsigned long loops_per_jiffy; | 35 | extern unsigned long loops_per_jiffy; |
36 | __delay((((usecs * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6); | 36 | return (((scale * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6; |
37 | } | ||
38 | |||
39 | static inline void udelay(unsigned long usecs) | ||
40 | { | ||
41 | __delay(__to_delay(usecs)); | ||
37 | } | 42 | } |
38 | 43 | ||
44 | static inline void ndelay(unsigned long nsecs) | ||
45 | { | ||
46 | __delay(__to_delay(1) * nsecs / 1000); | ||
47 | } | ||
48 | |||
49 | #define ndelay ndelay | ||
50 | |||
39 | #endif | 51 | #endif |
diff --git a/arch/blackfin/include/asm/dma-mapping.h b/arch/blackfin/include/asm/dma-mapping.h index 413a30314a6f..212cb80fd74b 100644 --- a/arch/blackfin/include/asm/dma-mapping.h +++ b/arch/blackfin/include/asm/dma-mapping.h | |||
@@ -44,13 +44,8 @@ dma_mapping_error(struct device *dev, dma_addr_t dma_addr) | |||
44 | extern void | 44 | extern void |
45 | __dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir); | 45 | __dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir); |
46 | static inline void | 46 | static inline void |
47 | _dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir) | 47 | __dma_sync_inline(dma_addr_t addr, size_t size, enum dma_data_direction dir) |
48 | { | 48 | { |
49 | if (!__builtin_constant_p(dir)) { | ||
50 | __dma_sync(addr, size, dir); | ||
51 | return; | ||
52 | } | ||
53 | |||
54 | switch (dir) { | 49 | switch (dir) { |
55 | case DMA_NONE: | 50 | case DMA_NONE: |
56 | BUG(); | 51 | BUG(); |
@@ -64,6 +59,14 @@ _dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir) | |||
64 | break; | 59 | break; |
65 | } | 60 | } |
66 | } | 61 | } |
62 | static inline void | ||
63 | _dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir) | ||
64 | { | ||
65 | if (__builtin_constant_p(dir)) | ||
66 | __dma_sync_inline(addr, size, dir); | ||
67 | else | ||
68 | __dma_sync(addr, size, dir); | ||
69 | } | ||
67 | 70 | ||
68 | static inline dma_addr_t | 71 | static inline dma_addr_t |
69 | dma_map_single(struct device *dev, void *ptr, size_t size, | 72 | dma_map_single(struct device *dev, void *ptr, size_t size, |
diff --git a/arch/blackfin/include/asm/dma.h b/arch/blackfin/include/asm/dma.h index bd2e62243abe..2c09b1d50ec9 100644 --- a/arch/blackfin/include/asm/dma.h +++ b/arch/blackfin/include/asm/dma.h | |||
@@ -262,6 +262,10 @@ static inline void dma_disable_irq(unsigned int channel) | |||
262 | { | 262 | { |
263 | disable_irq(dma_ch[channel].irq); | 263 | disable_irq(dma_ch[channel].irq); |
264 | } | 264 | } |
265 | static inline void dma_disable_irq_nosync(unsigned int channel) | ||
266 | { | ||
267 | disable_irq_nosync(dma_ch[channel].irq); | ||
268 | } | ||
265 | static inline void dma_enable_irq(unsigned int channel) | 269 | static inline void dma_enable_irq(unsigned int channel) |
266 | { | 270 | { |
267 | enable_irq(dma_ch[channel].irq); | 271 | enable_irq(dma_ch[channel].irq); |
diff --git a/arch/blackfin/include/asm/dpmc.h b/arch/blackfin/include/asm/dpmc.h index 1597ae5041ee..efcc3aebeae4 100644 --- a/arch/blackfin/include/asm/dpmc.h +++ b/arch/blackfin/include/asm/dpmc.h | |||
@@ -75,7 +75,7 @@ | |||
75 | 75 | ||
76 | #define VLEV 0x00F0 /* Internal Voltage Level */ | 76 | #define VLEV 0x00F0 /* Internal Voltage Level */ |
77 | #ifdef __ADSPBF52x__ | 77 | #ifdef __ADSPBF52x__ |
78 | #define VLEV_085 0x0040 /* VLEV = 0.85 V (-5% - +10% Accuracy) */ | 78 | #define VLEV_085 0x0040 /* VLEV = 0.85 V (-5% - +10% Accuracy) */ |
79 | #define VLEV_090 0x0050 /* VLEV = 0.90 V (-5% - +10% Accuracy) */ | 79 | #define VLEV_090 0x0050 /* VLEV = 0.90 V (-5% - +10% Accuracy) */ |
80 | #define VLEV_095 0x0060 /* VLEV = 0.95 V (-5% - +10% Accuracy) */ | 80 | #define VLEV_095 0x0060 /* VLEV = 0.95 V (-5% - +10% Accuracy) */ |
81 | #define VLEV_100 0x0070 /* VLEV = 1.00 V (-5% - +10% Accuracy) */ | 81 | #define VLEV_100 0x0070 /* VLEV = 1.00 V (-5% - +10% Accuracy) */ |
@@ -84,7 +84,7 @@ | |||
84 | #define VLEV_115 0x00A0 /* VLEV = 1.15 V (-5% - +10% Accuracy) */ | 84 | #define VLEV_115 0x00A0 /* VLEV = 1.15 V (-5% - +10% Accuracy) */ |
85 | #define VLEV_120 0x00B0 /* VLEV = 1.20 V (-5% - +10% Accuracy) */ | 85 | #define VLEV_120 0x00B0 /* VLEV = 1.20 V (-5% - +10% Accuracy) */ |
86 | #else | 86 | #else |
87 | #define VLEV_085 0x0060 /* VLEV = 0.85 V (-5% - +10% Accuracy) */ | 87 | #define VLEV_085 0x0060 /* VLEV = 0.85 V (-5% - +10% Accuracy) */ |
88 | #define VLEV_090 0x0070 /* VLEV = 0.90 V (-5% - +10% Accuracy) */ | 88 | #define VLEV_090 0x0070 /* VLEV = 0.90 V (-5% - +10% Accuracy) */ |
89 | #define VLEV_095 0x0080 /* VLEV = 0.95 V (-5% - +10% Accuracy) */ | 89 | #define VLEV_095 0x0080 /* VLEV = 0.95 V (-5% - +10% Accuracy) */ |
90 | #define VLEV_100 0x0090 /* VLEV = 1.00 V (-5% - +10% Accuracy) */ | 90 | #define VLEV_100 0x0090 /* VLEV = 1.00 V (-5% - +10% Accuracy) */ |
diff --git a/arch/blackfin/include/asm/elf.h b/arch/blackfin/include/asm/elf.h index 5b50f0ecacf8..117713adea7f 100644 --- a/arch/blackfin/include/asm/elf.h +++ b/arch/blackfin/include/asm/elf.h | |||
@@ -22,12 +22,15 @@ | |||
22 | #define EF_BFIN_CODE_IN_L2 0x00000040 /* --code-in-l2 */ | 22 | #define EF_BFIN_CODE_IN_L2 0x00000040 /* --code-in-l2 */ |
23 | #define EF_BFIN_DATA_IN_L2 0x00000080 /* --data-in-l2 */ | 23 | #define EF_BFIN_DATA_IN_L2 0x00000080 /* --data-in-l2 */ |
24 | 24 | ||
25 | #if 1 /* core dumps not supported, but linux/elfcore.h needs these */ | ||
25 | typedef unsigned long elf_greg_t; | 26 | typedef unsigned long elf_greg_t; |
26 | 27 | ||
27 | #define ELF_NGREG 40 /* (sizeof(struct user_regs_struct) / sizeof(elf_greg_t)) */ | 28 | #define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t)) |
28 | typedef elf_greg_t elf_gregset_t[ELF_NGREG]; | 29 | typedef elf_greg_t elf_gregset_t[ELF_NGREG]; |
29 | 30 | ||
30 | typedef struct { } elf_fpregset_t; | 31 | typedef struct { } elf_fpregset_t; |
32 | #endif | ||
33 | |||
31 | /* | 34 | /* |
32 | * This is used to ensure we don't load something for the wrong architecture. | 35 | * This is used to ensure we don't load something for the wrong architecture. |
33 | */ | 36 | */ |
@@ -55,6 +58,9 @@ do { \ | |||
55 | _regs->p2 = _dynamic_addr; \ | 58 | _regs->p2 = _dynamic_addr; \ |
56 | } while(0) | 59 | } while(0) |
57 | 60 | ||
61 | #if 0 | ||
62 | #define CORE_DUMP_USE_REGSET | ||
63 | #endif | ||
58 | #define ELF_FDPIC_CORE_EFLAGS EF_BFIN_FDPIC | 64 | #define ELF_FDPIC_CORE_EFLAGS EF_BFIN_FDPIC |
59 | #define ELF_EXEC_PAGESIZE 4096 | 65 | #define ELF_EXEC_PAGESIZE 4096 |
60 | 66 | ||
diff --git a/arch/blackfin/include/asm/ftrace.h b/arch/blackfin/include/asm/ftrace.h index 90c9b400ba6d..4cfe2d9ba7e8 100644 --- a/arch/blackfin/include/asm/ftrace.h +++ b/arch/blackfin/include/asm/ftrace.h | |||
@@ -10,4 +10,57 @@ | |||
10 | 10 | ||
11 | #define MCOUNT_INSN_SIZE 6 /* sizeof "[++sp] = rets; call __mcount;" */ | 11 | #define MCOUNT_INSN_SIZE 6 /* sizeof "[++sp] = rets; call __mcount;" */ |
12 | 12 | ||
13 | #ifndef __ASSEMBLY__ | ||
14 | |||
15 | #ifdef CONFIG_FRAME_POINTER | ||
16 | #include <linux/mm.h> | ||
17 | |||
18 | extern inline void *return_address(unsigned int level) | ||
19 | { | ||
20 | unsigned long *endstack, *fp, *ret_addr; | ||
21 | unsigned int current_level = 0; | ||
22 | |||
23 | if (level == 0) | ||
24 | return __builtin_return_address(0); | ||
25 | |||
26 | fp = (unsigned long *)__builtin_frame_address(0); | ||
27 | endstack = (unsigned long *)PAGE_ALIGN((unsigned long)&level); | ||
28 | |||
29 | while (((unsigned long)fp & 0x3) == 0 && fp && | ||
30 | (fp + 1) < endstack && current_level < level) { | ||
31 | fp = (unsigned long *)*fp; | ||
32 | current_level++; | ||
33 | } | ||
34 | |||
35 | if (((unsigned long)fp & 0x3) == 0 && fp && | ||
36 | (fp + 1) < endstack) | ||
37 | ret_addr = (unsigned long *)*(fp + 1); | ||
38 | else | ||
39 | ret_addr = NULL; | ||
40 | |||
41 | return ret_addr; | ||
42 | } | ||
43 | |||
44 | #else | ||
45 | |||
46 | extern inline void *return_address(unsigned int level) | ||
47 | { | ||
48 | return NULL; | ||
49 | } | ||
50 | |||
51 | #endif /* CONFIG_FRAME_POINTER */ | ||
52 | |||
53 | #define HAVE_ARCH_CALLER_ADDR | ||
54 | |||
55 | /* inline function or macro may lead to unexpected result */ | ||
56 | #define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0)) | ||
57 | #define CALLER_ADDR1 ((unsigned long)return_address(1)) | ||
58 | #define CALLER_ADDR2 ((unsigned long)return_address(2)) | ||
59 | #define CALLER_ADDR3 ((unsigned long)return_address(3)) | ||
60 | #define CALLER_ADDR4 ((unsigned long)return_address(4)) | ||
61 | #define CALLER_ADDR5 ((unsigned long)return_address(5)) | ||
62 | #define CALLER_ADDR6 ((unsigned long)return_address(6)) | ||
63 | |||
64 | #endif /* __ASSEMBLY__ */ | ||
65 | |||
13 | #endif | 66 | #endif |
diff --git a/arch/blackfin/include/asm/gpio.h b/arch/blackfin/include/asm/gpio.h index 539468a05057..91bd2d7b9d55 100644 --- a/arch/blackfin/include/asm/gpio.h +++ b/arch/blackfin/include/asm/gpio.h | |||
@@ -70,6 +70,8 @@ | |||
70 | 70 | ||
71 | #ifndef __ASSEMBLY__ | 71 | #ifndef __ASSEMBLY__ |
72 | 72 | ||
73 | #include <linux/compiler.h> | ||
74 | |||
73 | /*********************************************************** | 75 | /*********************************************************** |
74 | * | 76 | * |
75 | * FUNCTIONS: Blackfin General Purpose Ports Access Functions | 77 | * FUNCTIONS: Blackfin General Purpose Ports Access Functions |
@@ -223,6 +225,9 @@ int bfin_gpio_direction_output(unsigned gpio, int value); | |||
223 | int bfin_gpio_get_value(unsigned gpio); | 225 | int bfin_gpio_get_value(unsigned gpio); |
224 | void bfin_gpio_set_value(unsigned gpio, int value); | 226 | void bfin_gpio_set_value(unsigned gpio, int value); |
225 | 227 | ||
228 | #include <asm/irq.h> | ||
229 | #include <asm/errno.h> | ||
230 | |||
226 | #ifdef CONFIG_GPIOLIB | 231 | #ifdef CONFIG_GPIOLIB |
227 | #include <asm-generic/gpio.h> /* cansleep wrappers */ | 232 | #include <asm-generic/gpio.h> /* cansleep wrappers */ |
228 | 233 | ||
@@ -247,6 +252,11 @@ static inline int gpio_cansleep(unsigned int gpio) | |||
247 | return __gpio_cansleep(gpio); | 252 | return __gpio_cansleep(gpio); |
248 | } | 253 | } |
249 | 254 | ||
255 | static inline int gpio_to_irq(unsigned gpio) | ||
256 | { | ||
257 | return __gpio_to_irq(gpio); | ||
258 | } | ||
259 | |||
250 | #else /* !CONFIG_GPIOLIB */ | 260 | #else /* !CONFIG_GPIOLIB */ |
251 | 261 | ||
252 | static inline int gpio_request(unsigned gpio, const char *label) | 262 | static inline int gpio_request(unsigned gpio, const char *label) |
@@ -279,10 +289,6 @@ static inline void gpio_set_value(unsigned gpio, int value) | |||
279 | return bfin_gpio_set_value(gpio, value); | 289 | return bfin_gpio_set_value(gpio, value); |
280 | } | 290 | } |
281 | 291 | ||
282 | #include <asm-generic/gpio.h> /* cansleep wrappers */ | ||
283 | #endif /* !CONFIG_GPIOLIB */ | ||
284 | #include <asm/irq.h> | ||
285 | |||
286 | static inline int gpio_to_irq(unsigned gpio) | 292 | static inline int gpio_to_irq(unsigned gpio) |
287 | { | 293 | { |
288 | if (likely(gpio < MAX_BLACKFIN_GPIOS)) | 294 | if (likely(gpio < MAX_BLACKFIN_GPIOS)) |
@@ -291,6 +297,9 @@ static inline int gpio_to_irq(unsigned gpio) | |||
291 | return -EINVAL; | 297 | return -EINVAL; |
292 | } | 298 | } |
293 | 299 | ||
300 | #include <asm-generic/gpio.h> /* cansleep wrappers */ | ||
301 | #endif /* !CONFIG_GPIOLIB */ | ||
302 | |||
294 | static inline int irq_to_gpio(unsigned irq) | 303 | static inline int irq_to_gpio(unsigned irq) |
295 | { | 304 | { |
296 | return (irq - GPIO_IRQ_BASE); | 305 | return (irq - GPIO_IRQ_BASE); |
diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h index e7c0623f9091..12f4060a31b0 100644 --- a/arch/blackfin/include/asm/irq.h +++ b/arch/blackfin/include/asm/irq.h | |||
@@ -12,6 +12,9 @@ | |||
12 | 12 | ||
13 | #include <linux/irqflags.h> | 13 | #include <linux/irqflags.h> |
14 | 14 | ||
15 | /* IRQs that may be used by external irq_chip controllers */ | ||
16 | #define NR_SPARE_IRQS 32 | ||
17 | |||
15 | #include <mach/anomaly.h> | 18 | #include <mach/anomaly.h> |
16 | 19 | ||
17 | /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */ | 20 | /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */ |
@@ -35,4 +38,8 @@ | |||
35 | 38 | ||
36 | #include <asm-generic/irq.h> | 39 | #include <asm-generic/irq.h> |
37 | 40 | ||
41 | #ifdef CONFIG_NMI_WATCHDOG | ||
42 | # define ARCH_HAS_NMI_WATCHDOG | ||
43 | #endif | ||
44 | |||
38 | #endif /* _BFIN_IRQ_H_ */ | 45 | #endif /* _BFIN_IRQ_H_ */ |
diff --git a/arch/blackfin/include/asm/mmu_context.h b/arch/blackfin/include/asm/mmu_context.h index ae8ef4ffd806..7f363d7e43a5 100644 --- a/arch/blackfin/include/asm/mmu_context.h +++ b/arch/blackfin/include/asm/mmu_context.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <asm/page.h> | 13 | #include <asm/page.h> |
14 | #include <asm/pgalloc.h> | 14 | #include <asm/pgalloc.h> |
15 | #include <asm/cplbinit.h> | 15 | #include <asm/cplbinit.h> |
16 | #include <asm/sections.h> | ||
16 | 17 | ||
17 | /* Note: L1 stacks are CPU-private things, so we bluntly disable this | 18 | /* Note: L1 stacks are CPU-private things, so we bluntly disable this |
18 | feature in SMP mode, and use the per-CPU scratch SRAM bank only to | 19 | feature in SMP mode, and use the per-CPU scratch SRAM bank only to |
@@ -117,9 +118,16 @@ static inline void protect_page(struct mm_struct *mm, unsigned long addr, | |||
117 | unsigned long flags) | 118 | unsigned long flags) |
118 | { | 119 | { |
119 | unsigned long *mask = mm->context.page_rwx_mask; | 120 | unsigned long *mask = mm->context.page_rwx_mask; |
120 | unsigned long page = addr >> 12; | 121 | unsigned long page; |
121 | unsigned long idx = page >> 5; | 122 | unsigned long idx; |
122 | unsigned long bit = 1 << (page & 31); | 123 | unsigned long bit; |
124 | |||
125 | if (unlikely(addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE)) | ||
126 | page = (addr - (ASYNC_BANK0_BASE - _ramend)) >> 12; | ||
127 | else | ||
128 | page = addr >> 12; | ||
129 | idx = page >> 5; | ||
130 | bit = 1 << (page & 31); | ||
123 | 131 | ||
124 | if (flags & VM_READ) | 132 | if (flags & VM_READ) |
125 | mask[idx] |= bit; | 133 | mask[idx] |= bit; |
diff --git a/arch/blackfin/include/asm/nmi.h b/arch/blackfin/include/asm/nmi.h new file mode 100644 index 000000000000..b9caac4fcfd8 --- /dev/null +++ b/arch/blackfin/include/asm/nmi.h | |||
@@ -0,0 +1,12 @@ | |||
1 | /* | ||
2 | * Copyright 2010 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 | ||
5 | */ | ||
6 | |||
7 | #ifndef _BFIN_NMI_H_ | ||
8 | #define _BFIN_NMI_H_ | ||
9 | |||
10 | #include <linux/nmi.h> | ||
11 | |||
12 | #endif | ||
diff --git a/arch/blackfin/include/asm/page.h b/arch/blackfin/include/asm/page.h index 1d04e4078340..d0ce975bcd48 100644 --- a/arch/blackfin/include/asm/page.h +++ b/arch/blackfin/include/asm/page.h | |||
@@ -15,4 +15,7 @@ | |||
15 | ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ | 15 | ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ |
16 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) | 16 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) |
17 | 17 | ||
18 | #include <asm-generic/memory_model.h> | ||
19 | #include <asm-generic/getorder.h> | ||
20 | |||
18 | #endif | 21 | #endif |
diff --git a/arch/blackfin/include/asm/ptrace.h b/arch/blackfin/include/asm/ptrace.h index b33a4488f498..aaa1c6c2bc19 100644 --- a/arch/blackfin/include/asm/ptrace.h +++ b/arch/blackfin/include/asm/ptrace.h | |||
@@ -24,6 +24,8 @@ | |||
24 | 24 | ||
25 | #ifndef __ASSEMBLY__ | 25 | #ifndef __ASSEMBLY__ |
26 | 26 | ||
27 | struct task_struct; | ||
28 | |||
27 | /* this struct defines the way the registers are stored on the | 29 | /* this struct defines the way the registers are stored on the |
28 | stack during a system call. */ | 30 | stack during a system call. */ |
29 | 31 | ||
@@ -101,9 +103,30 @@ struct pt_regs { | |||
101 | master interrupt enable. */ | 103 | master interrupt enable. */ |
102 | #define user_mode(regs) (!(((regs)->ipend & ~0x10) & (((regs)->ipend & ~0x10) - 1))) | 104 | #define user_mode(regs) (!(((regs)->ipend & ~0x10) & (((regs)->ipend & ~0x10) - 1))) |
103 | #define instruction_pointer(regs) ((regs)->pc) | 105 | #define instruction_pointer(regs) ((regs)->pc) |
106 | #define user_stack_pointer(regs) ((regs)->usp) | ||
104 | #define profile_pc(regs) instruction_pointer(regs) | 107 | #define profile_pc(regs) instruction_pointer(regs) |
105 | extern void show_regs(struct pt_regs *); | 108 | extern void show_regs(struct pt_regs *); |
106 | 109 | ||
110 | #define arch_has_single_step() (1) | ||
111 | extern void user_enable_single_step(struct task_struct *child); | ||
112 | extern void user_disable_single_step(struct task_struct *child); | ||
113 | /* common code demands this function */ | ||
114 | #define ptrace_disable(child) user_disable_single_step(child) | ||
115 | |||
116 | /* | ||
117 | * Get the address of the live pt_regs for the specified task. | ||
118 | * These are saved onto the top kernel stack when the process | ||
119 | * is not running. | ||
120 | * | ||
121 | * Note: if a user thread is execve'd from kernel space, the | ||
122 | * kernel stack will not be empty on entry to the kernel, so | ||
123 | * ptracing these tasks will fail. | ||
124 | */ | ||
125 | #define task_pt_regs(task) \ | ||
126 | (struct pt_regs *) \ | ||
127 | ((unsigned long)task_stack_page(task) + \ | ||
128 | (THREAD_SIZE - sizeof(struct pt_regs))) | ||
129 | |||
107 | #endif /* __KERNEL__ */ | 130 | #endif /* __KERNEL__ */ |
108 | 131 | ||
109 | #endif /* __ASSEMBLY__ */ | 132 | #endif /* __ASSEMBLY__ */ |
@@ -173,4 +196,6 @@ extern void show_regs(struct pt_regs *); | |||
173 | #define PT_FDPIC_EXEC 232 | 196 | #define PT_FDPIC_EXEC 232 |
174 | #define PT_FDPIC_INTERP 236 | 197 | #define PT_FDPIC_INTERP 236 |
175 | 198 | ||
199 | #define PT_LAST_PSEUDO PT_FDPIC_INTERP | ||
200 | |||
176 | #endif /* _BFIN_PTRACE_H */ | 201 | #endif /* _BFIN_PTRACE_H */ |
diff --git a/arch/blackfin/include/asm/sections.h b/arch/blackfin/include/asm/sections.h index 42f6c53c59c6..14a3e66d9167 100644 --- a/arch/blackfin/include/asm/sections.h +++ b/arch/blackfin/include/asm/sections.h | |||
@@ -21,6 +21,9 @@ extern unsigned long memory_start, memory_end, physical_mem_end; | |||
21 | extern char _stext_l1[], _etext_l1[], _text_l1_lma[], __weak _text_l1_len[]; | 21 | extern char _stext_l1[], _etext_l1[], _text_l1_lma[], __weak _text_l1_len[]; |
22 | extern char _sdata_l1[], _edata_l1[], _sbss_l1[], _ebss_l1[], | 22 | extern char _sdata_l1[], _edata_l1[], _sbss_l1[], _ebss_l1[], |
23 | _data_l1_lma[], __weak _data_l1_len[]; | 23 | _data_l1_lma[], __weak _data_l1_len[]; |
24 | #ifdef CONFIG_ROMKERNEL | ||
25 | extern char _data_lma[], _data_len[], _sinitdata[], _einitdata[], _init_data_lma[], _init_data_len[]; | ||
26 | #endif | ||
24 | extern char _sdata_b_l1[], _edata_b_l1[], _sbss_b_l1[], _ebss_b_l1[], | 27 | extern char _sdata_b_l1[], _edata_b_l1[], _sbss_b_l1[], _ebss_b_l1[], |
25 | _data_b_l1_lma[], __weak _data_b_l1_len[]; | 28 | _data_b_l1_lma[], __weak _data_b_l1_len[]; |
26 | extern char _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], | 29 | extern char _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], |
diff --git a/arch/blackfin/include/asm/smp.h b/arch/blackfin/include/asm/smp.h index 6a0fe94b84a6..f5b537967116 100644 --- a/arch/blackfin/include/asm/smp.h +++ b/arch/blackfin/include/asm/smp.h | |||
@@ -22,8 +22,23 @@ extern char coreb_trampoline_start, coreb_trampoline_end; | |||
22 | struct corelock_slot { | 22 | struct corelock_slot { |
23 | int lock; | 23 | int lock; |
24 | }; | 24 | }; |
25 | extern struct corelock_slot corelock; | ||
26 | |||
27 | #ifdef __ARCH_SYNC_CORE_ICACHE | ||
28 | extern unsigned long icache_invld_count[NR_CPUS]; | ||
29 | #endif | ||
30 | #ifdef __ARCH_SYNC_CORE_DCACHE | ||
31 | extern unsigned long dcache_invld_count[NR_CPUS]; | ||
32 | #endif | ||
25 | 33 | ||
26 | void smp_icache_flush_range_others(unsigned long start, | 34 | void smp_icache_flush_range_others(unsigned long start, |
27 | unsigned long end); | 35 | unsigned long end); |
36 | #ifdef CONFIG_HOTPLUG_CPU | ||
37 | void coreb_sleep(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); | ||
38 | void cpu_die(void); | ||
39 | void platform_cpu_die(void); | ||
40 | int __cpu_disable(void); | ||
41 | int __cpu_die(unsigned int cpu); | ||
42 | #endif | ||
28 | 43 | ||
29 | #endif /* !__ASM_BLACKFIN_SMP_H */ | 44 | #endif /* !__ASM_BLACKFIN_SMP_H */ |
diff --git a/arch/blackfin/include/asm/syscall.h b/arch/blackfin/include/asm/syscall.h new file mode 100644 index 000000000000..4921a4815cce --- /dev/null +++ b/arch/blackfin/include/asm/syscall.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * Magic syscall break down functions | ||
3 | * | ||
4 | * Copyright 2010 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_BLACKFIN_SYSCALL_H__ | ||
10 | #define __ASM_BLACKFIN_SYSCALL_H__ | ||
11 | |||
12 | /* | ||
13 | * Blackfin syscalls are simple: | ||
14 | * enter: | ||
15 | * p0: syscall number | ||
16 | * r{0,1,2,3,4,5}: syscall args 0,1,2,3,4,5 | ||
17 | * exit: | ||
18 | * r0: return/error value | ||
19 | */ | ||
20 | |||
21 | #include <linux/err.h> | ||
22 | #include <linux/sched.h> | ||
23 | #include <asm/ptrace.h> | ||
24 | |||
25 | static inline long | ||
26 | syscall_get_nr(struct task_struct *task, struct pt_regs *regs) | ||
27 | { | ||
28 | return regs->p0; | ||
29 | } | ||
30 | |||
31 | static inline void | ||
32 | syscall_rollback(struct task_struct *task, struct pt_regs *regs) | ||
33 | { | ||
34 | regs->p0 = regs->orig_p0; | ||
35 | } | ||
36 | |||
37 | static inline long | ||
38 | syscall_get_error(struct task_struct *task, struct pt_regs *regs) | ||
39 | { | ||
40 | return IS_ERR_VALUE(regs->r0) ? regs->r0 : 0; | ||
41 | } | ||
42 | |||
43 | static inline long | ||
44 | syscall_get_return_value(struct task_struct *task, struct pt_regs *regs) | ||
45 | { | ||
46 | return regs->r0; | ||
47 | } | ||
48 | |||
49 | static inline void | ||
50 | syscall_set_return_value(struct task_struct *task, struct pt_regs *regs, | ||
51 | int error, long val) | ||
52 | { | ||
53 | regs->r0 = error ? -error : val; | ||
54 | } | ||
55 | |||
56 | /** | ||
57 | * syscall_get_arguments() | ||
58 | * @task: unused | ||
59 | * @regs: the register layout to extract syscall arguments from | ||
60 | * @i: first syscall argument to extract | ||
61 | * @n: number of syscall arguments to extract | ||
62 | * @args: array to return the syscall arguments in | ||
63 | * | ||
64 | * args[0] gets i'th argument, args[n - 1] gets the i+n-1'th argument | ||
65 | */ | ||
66 | static inline void | ||
67 | syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, | ||
68 | unsigned int i, unsigned int n, unsigned long *args) | ||
69 | { | ||
70 | /* | ||
71 | * Assume the ptrace layout doesn't change -- r5 is first in memory, | ||
72 | * then r4, ..., then r0. So we simply reverse the ptrace register | ||
73 | * array in memory to store into the args array. | ||
74 | */ | ||
75 | long *aregs = ®s->r0 - i; | ||
76 | |||
77 | BUG_ON(i > 5 || i + n > 6); | ||
78 | |||
79 | while (n--) | ||
80 | *args++ = *aregs--; | ||
81 | } | ||
82 | |||
83 | /* See syscall_get_arguments() comments */ | ||
84 | static inline void | ||
85 | syscall_set_arguments(struct task_struct *task, struct pt_regs *regs, | ||
86 | unsigned int i, unsigned int n, const unsigned long *args) | ||
87 | { | ||
88 | long *aregs = ®s->r0 - i; | ||
89 | |||
90 | BUG_ON(i > 5 || i + n > 6); | ||
91 | |||
92 | while (n--) | ||
93 | *aregs-- = *args++; | ||
94 | } | ||
95 | |||
96 | #endif | ||
diff --git a/arch/blackfin/include/asm/thread_info.h b/arch/blackfin/include/asm/thread_info.h index a40d9368c38a..e9a5614cdbb1 100644 --- a/arch/blackfin/include/asm/thread_info.h +++ b/arch/blackfin/include/asm/thread_info.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2004-2009 Analog Devices Inc. | 2 | * Copyright 2004-2010 Analog Devices Inc. |
3 | * | 3 | * |
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
@@ -17,7 +17,7 @@ | |||
17 | /* Thread Align Mask to reach to the top of the stack | 17 | /* Thread Align Mask to reach to the top of the stack |
18 | * for any process | 18 | * for any process |
19 | */ | 19 | */ |
20 | #define ALIGN_PAGE_MASK 0xffffe000 | 20 | #define ALIGN_PAGE_MASK 0xffffe000 |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Size of kernel stack for each process. This must be a power of 2... | 23 | * Size of kernel stack for each process. This must be a power of 2... |
@@ -57,7 +57,7 @@ struct thread_info { | |||
57 | .exec_domain = &default_exec_domain, \ | 57 | .exec_domain = &default_exec_domain, \ |
58 | .flags = 0, \ | 58 | .flags = 0, \ |
59 | .cpu = 0, \ | 59 | .cpu = 0, \ |
60 | .preempt_count = INIT_PREEMPT_COUNT, \ | 60 | .preempt_count = INIT_PREEMPT_COUNT, \ |
61 | .restart_block = { \ | 61 | .restart_block = { \ |
62 | .fn = do_no_restart_syscall, \ | 62 | .fn = do_no_restart_syscall, \ |
63 | }, \ | 63 | }, \ |
@@ -73,8 +73,7 @@ __attribute_const__ | |||
73 | static inline struct thread_info *current_thread_info(void) | 73 | static inline struct thread_info *current_thread_info(void) |
74 | { | 74 | { |
75 | struct thread_info *ti; | 75 | struct thread_info *ti; |
76 | __asm__("%0 = sp;" : "=da"(ti) : | 76 | __asm__("%0 = sp;" : "=da"(ti)); |
77 | ); | ||
78 | return (struct thread_info *)((long)ti & ~((long)THREAD_SIZE-1)); | 77 | return (struct thread_info *)((long)ti & ~((long)THREAD_SIZE-1)); |
79 | } | 78 | } |
80 | 79 | ||
@@ -99,21 +98,23 @@ static inline struct thread_info *current_thread_info(void) | |||
99 | #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ | 98 | #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ |
100 | #define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling | 99 | #define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling |
101 | TIF_NEED_RESCHED */ | 100 | TIF_NEED_RESCHED */ |
102 | #define TIF_MEMDIE 4 | 101 | #define TIF_MEMDIE 4 |
103 | #define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ | 102 | #define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ |
104 | #define TIF_FREEZE 6 /* is freezing for suspend */ | 103 | #define TIF_FREEZE 6 /* is freezing for suspend */ |
105 | #define TIF_IRQ_SYNC 7 /* sync pipeline stage */ | 104 | #define TIF_IRQ_SYNC 7 /* sync pipeline stage */ |
106 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ | 105 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ |
106 | #define TIF_SINGLESTEP 9 | ||
107 | 107 | ||
108 | /* as above, but as bit values */ | 108 | /* as above, but as bit values */ |
109 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) | 109 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) |
110 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) | 110 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) |
111 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) | 111 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
112 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) | ||
113 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) | 112 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) |
114 | #define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) | 113 | #define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) |
115 | #define _TIF_FREEZE (1<<TIF_FREEZE) | 114 | #define _TIF_FREEZE (1<<TIF_FREEZE) |
116 | #define _TIF_IRQ_SYNC (1<<TIF_IRQ_SYNC) | 115 | #define _TIF_IRQ_SYNC (1<<TIF_IRQ_SYNC) |
116 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) | ||
117 | #define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP) | ||
117 | 118 | ||
118 | #define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ | 119 | #define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ |
119 | 120 | ||
diff --git a/arch/blackfin/include/asm/time.h b/arch/blackfin/include/asm/time.h index 589e937ed1eb..9ca7db844d10 100644 --- a/arch/blackfin/include/asm/time.h +++ b/arch/blackfin/include/asm/time.h | |||
@@ -23,9 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #ifndef CONFIG_CPU_FREQ | 25 | #ifndef CONFIG_CPU_FREQ |
26 | #define TIME_SCALE 1 | 26 | # define TIME_SCALE 1 |
27 | #define __bfin_cycles_off (0) | ||
28 | #define __bfin_cycles_mod (0) | ||
29 | #else | 27 | #else |
30 | /* | 28 | /* |
31 | * Blackfin CPU frequency scaling supports max Core Clock 1, 1/2 and 1/4 . | 29 | * Blackfin CPU frequency scaling supports max Core Clock 1, 1/2 and 1/4 . |
@@ -33,9 +31,16 @@ | |||
33 | * adjust the Core Timer Presale Register. This way we don't lose time. | 31 | * adjust the Core Timer Presale Register. This way we don't lose time. |
34 | */ | 32 | */ |
35 | #define TIME_SCALE 4 | 33 | #define TIME_SCALE 4 |
34 | |||
35 | # ifdef CONFIG_CYCLES_CLOCKSOURCE | ||
36 | extern unsigned long long __bfin_cycles_off; | 36 | extern unsigned long long __bfin_cycles_off; |
37 | extern unsigned int __bfin_cycles_mod; | 37 | extern unsigned int __bfin_cycles_mod; |
38 | # endif | ||
39 | #endif | ||
40 | |||
41 | #if defined(CONFIG_TICKSOURCE_CORETMR) | ||
42 | extern void bfin_coretmr_init(void); | ||
43 | extern void bfin_coretmr_clockevent_init(void); | ||
38 | #endif | 44 | #endif |
39 | 45 | ||
40 | extern void __init setup_core_timer(void); | ||
41 | #endif | 46 | #endif |
diff --git a/arch/blackfin/kernel/Makefile b/arch/blackfin/kernel/Makefile index a8ddbc8ed5af..346a421f1562 100644 --- a/arch/blackfin/kernel/Makefile +++ b/arch/blackfin/kernel/Makefile | |||
@@ -25,6 +25,7 @@ obj-$(CONFIG_CPLB_INFO) += cplbinfo.o | |||
25 | obj-$(CONFIG_MODULES) += module.o | 25 | obj-$(CONFIG_MODULES) += module.o |
26 | obj-$(CONFIG_KGDB) += kgdb.o | 26 | obj-$(CONFIG_KGDB) += kgdb.o |
27 | obj-$(CONFIG_KGDB_TESTS) += kgdb_test.o | 27 | obj-$(CONFIG_KGDB_TESTS) += kgdb_test.o |
28 | obj-$(CONFIG_NMI_WATCHDOG) += nmi.o | ||
28 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 29 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
29 | obj-$(CONFIG_EARLY_PRINTK) += shadow_console.o | 30 | obj-$(CONFIG_EARLY_PRINTK) += shadow_console.o |
30 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | 31 | obj-$(CONFIG_STACKTRACE) += stacktrace.o |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index 924c00286bab..26403d1c9e65 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -91,7 +91,7 @@ late_initcall(proc_dma_init); | |||
91 | */ | 91 | */ |
92 | int request_dma(unsigned int channel, const char *device_id) | 92 | int request_dma(unsigned int channel, const char *device_id) |
93 | { | 93 | { |
94 | pr_debug("request_dma() : BEGIN \n"); | 94 | pr_debug("request_dma() : BEGIN\n"); |
95 | 95 | ||
96 | if (device_id == NULL) | 96 | if (device_id == NULL) |
97 | printk(KERN_WARNING "request_dma(%u): no device_id given\n", channel); | 97 | printk(KERN_WARNING "request_dma(%u): no device_id given\n", channel); |
@@ -107,7 +107,7 @@ int request_dma(unsigned int channel, const char *device_id) | |||
107 | #endif | 107 | #endif |
108 | 108 | ||
109 | if (atomic_cmpxchg(&dma_ch[channel].chan_status, 0, 1)) { | 109 | if (atomic_cmpxchg(&dma_ch[channel].chan_status, 0, 1)) { |
110 | pr_debug("DMA CHANNEL IN USE \n"); | 110 | pr_debug("DMA CHANNEL IN USE\n"); |
111 | return -EBUSY; | 111 | return -EBUSY; |
112 | } | 112 | } |
113 | 113 | ||
@@ -131,7 +131,7 @@ int request_dma(unsigned int channel, const char *device_id) | |||
131 | * you have to request DMA, before doing any operations on | 131 | * you have to request DMA, before doing any operations on |
132 | * descriptor/channel | 132 | * descriptor/channel |
133 | */ | 133 | */ |
134 | pr_debug("request_dma() : END \n"); | 134 | pr_debug("request_dma() : END\n"); |
135 | return 0; | 135 | return 0; |
136 | } | 136 | } |
137 | EXPORT_SYMBOL(request_dma); | 137 | EXPORT_SYMBOL(request_dma); |
@@ -171,7 +171,7 @@ static void clear_dma_buffer(unsigned int channel) | |||
171 | 171 | ||
172 | void free_dma(unsigned int channel) | 172 | void free_dma(unsigned int channel) |
173 | { | 173 | { |
174 | pr_debug("freedma() : BEGIN \n"); | 174 | pr_debug("freedma() : BEGIN\n"); |
175 | BUG_ON(channel >= MAX_DMA_CHANNELS || | 175 | BUG_ON(channel >= MAX_DMA_CHANNELS || |
176 | !atomic_read(&dma_ch[channel].chan_status)); | 176 | !atomic_read(&dma_ch[channel].chan_status)); |
177 | 177 | ||
@@ -185,7 +185,7 @@ void free_dma(unsigned int channel) | |||
185 | /* Clear the DMA Variable in the Channel */ | 185 | /* Clear the DMA Variable in the Channel */ |
186 | atomic_set(&dma_ch[channel].chan_status, 0); | 186 | atomic_set(&dma_ch[channel].chan_status, 0); |
187 | 187 | ||
188 | pr_debug("freedma() : END \n"); | 188 | pr_debug("freedma() : END\n"); |
189 | } | 189 | } |
190 | EXPORT_SYMBOL(free_dma); | 190 | EXPORT_SYMBOL(free_dma); |
191 | 191 | ||
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index a174596cc009..e35e20f00d9b 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -1289,44 +1289,50 @@ __initcall(gpio_register_proc); | |||
1289 | #endif | 1289 | #endif |
1290 | 1290 | ||
1291 | #ifdef CONFIG_GPIOLIB | 1291 | #ifdef CONFIG_GPIOLIB |
1292 | int bfin_gpiolib_direction_input(struct gpio_chip *chip, unsigned gpio) | 1292 | static int bfin_gpiolib_direction_input(struct gpio_chip *chip, unsigned gpio) |
1293 | { | 1293 | { |
1294 | return bfin_gpio_direction_input(gpio); | 1294 | return bfin_gpio_direction_input(gpio); |
1295 | } | 1295 | } |
1296 | 1296 | ||
1297 | int bfin_gpiolib_direction_output(struct gpio_chip *chip, unsigned gpio, int level) | 1297 | static int bfin_gpiolib_direction_output(struct gpio_chip *chip, unsigned gpio, int level) |
1298 | { | 1298 | { |
1299 | return bfin_gpio_direction_output(gpio, level); | 1299 | return bfin_gpio_direction_output(gpio, level); |
1300 | } | 1300 | } |
1301 | 1301 | ||
1302 | int bfin_gpiolib_get_value(struct gpio_chip *chip, unsigned gpio) | 1302 | static int bfin_gpiolib_get_value(struct gpio_chip *chip, unsigned gpio) |
1303 | { | 1303 | { |
1304 | return bfin_gpio_get_value(gpio); | 1304 | return bfin_gpio_get_value(gpio); |
1305 | } | 1305 | } |
1306 | 1306 | ||
1307 | void bfin_gpiolib_set_value(struct gpio_chip *chip, unsigned gpio, int value) | 1307 | static void bfin_gpiolib_set_value(struct gpio_chip *chip, unsigned gpio, int value) |
1308 | { | 1308 | { |
1309 | return bfin_gpio_set_value(gpio, value); | 1309 | return bfin_gpio_set_value(gpio, value); |
1310 | } | 1310 | } |
1311 | 1311 | ||
1312 | int bfin_gpiolib_gpio_request(struct gpio_chip *chip, unsigned gpio) | 1312 | static int bfin_gpiolib_gpio_request(struct gpio_chip *chip, unsigned gpio) |
1313 | { | 1313 | { |
1314 | return bfin_gpio_request(gpio, chip->label); | 1314 | return bfin_gpio_request(gpio, chip->label); |
1315 | } | 1315 | } |
1316 | 1316 | ||
1317 | void bfin_gpiolib_gpio_free(struct gpio_chip *chip, unsigned gpio) | 1317 | static void bfin_gpiolib_gpio_free(struct gpio_chip *chip, unsigned gpio) |
1318 | { | 1318 | { |
1319 | return bfin_gpio_free(gpio); | 1319 | return bfin_gpio_free(gpio); |
1320 | } | 1320 | } |
1321 | 1321 | ||
1322 | static int bfin_gpiolib_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) | ||
1323 | { | ||
1324 | return gpio + GPIO_IRQ_BASE; | ||
1325 | } | ||
1326 | |||
1322 | static struct gpio_chip bfin_chip = { | 1327 | static struct gpio_chip bfin_chip = { |
1323 | .label = "Blackfin-GPIOlib", | 1328 | .label = "BFIN-GPIO", |
1324 | .direction_input = bfin_gpiolib_direction_input, | 1329 | .direction_input = bfin_gpiolib_direction_input, |
1325 | .get = bfin_gpiolib_get_value, | 1330 | .get = bfin_gpiolib_get_value, |
1326 | .direction_output = bfin_gpiolib_direction_output, | 1331 | .direction_output = bfin_gpiolib_direction_output, |
1327 | .set = bfin_gpiolib_set_value, | 1332 | .set = bfin_gpiolib_set_value, |
1328 | .request = bfin_gpiolib_gpio_request, | 1333 | .request = bfin_gpiolib_gpio_request, |
1329 | .free = bfin_gpiolib_gpio_free, | 1334 | .free = bfin_gpiolib_gpio_free, |
1335 | .to_irq = bfin_gpiolib_gpio_to_irq, | ||
1330 | .base = 0, | 1336 | .base = 0, |
1331 | .ngpio = MAX_BLACKFIN_GPIOS, | 1337 | .ngpio = MAX_BLACKFIN_GPIOS, |
1332 | }; | 1338 | }; |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinit.c b/arch/blackfin/kernel/cplb-mpu/cplbinit.c index 8d42b9e50dfa..30fd6417f069 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbinit.c | |||
@@ -64,6 +64,15 @@ void __init generate_cplb_tables_cpu(unsigned int cpu) | |||
64 | icplb_tbl[cpu][i_i++].data = i_data | (addr == 0 ? CPLB_USER_RD : 0); | 64 | icplb_tbl[cpu][i_i++].data = i_data | (addr == 0 ? CPLB_USER_RD : 0); |
65 | } | 65 | } |
66 | 66 | ||
67 | #ifdef CONFIG_ROMKERNEL | ||
68 | /* Cover kernel XIP flash area */ | ||
69 | addr = CONFIG_ROM_BASE & ~(4 * 1024 * 1024 - 1); | ||
70 | dcplb_tbl[cpu][i_d].addr = addr; | ||
71 | dcplb_tbl[cpu][i_d++].data = d_data | CPLB_USER_RD; | ||
72 | icplb_tbl[cpu][i_i].addr = addr; | ||
73 | icplb_tbl[cpu][i_i++].data = i_data | CPLB_USER_RD; | ||
74 | #endif | ||
75 | |||
67 | /* Cover L1 memory. One 4M area for code and data each is enough. */ | 76 | /* Cover L1 memory. One 4M area for code and data each is enough. */ |
68 | #if L1_DATA_A_LENGTH > 0 || L1_DATA_B_LENGTH > 0 | 77 | #if L1_DATA_A_LENGTH > 0 || L1_DATA_B_LENGTH > 0 |
69 | dcplb_tbl[cpu][i_d].addr = get_l1_data_a_start_cpu(cpu); | 78 | dcplb_tbl[cpu][i_d].addr = get_l1_data_a_start_cpu(cpu); |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c index 930c01c06813..87b25b1b30ed 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c | |||
@@ -31,6 +31,12 @@ int nr_dcplb_miss[NR_CPUS], nr_icplb_miss[NR_CPUS]; | |||
31 | int nr_icplb_supv_miss[NR_CPUS], nr_dcplb_prot[NR_CPUS]; | 31 | int nr_icplb_supv_miss[NR_CPUS], nr_dcplb_prot[NR_CPUS]; |
32 | int nr_cplb_flush[NR_CPUS]; | 32 | int nr_cplb_flush[NR_CPUS]; |
33 | 33 | ||
34 | #ifdef CONFIG_EXCPT_IRQ_SYSC_L1 | ||
35 | #define MGR_ATTR __attribute__((l1_text)) | ||
36 | #else | ||
37 | #define MGR_ATTR | ||
38 | #endif | ||
39 | |||
34 | /* | 40 | /* |
35 | * Given the contents of the status register, return the index of the | 41 | * Given the contents of the status register, return the index of the |
36 | * CPLB that caused the fault. | 42 | * CPLB that caused the fault. |
@@ -59,7 +65,7 @@ static int icplb_rr_index[NR_CPUS], dcplb_rr_index[NR_CPUS]; | |||
59 | /* | 65 | /* |
60 | * Find an ICPLB entry to be evicted and return its index. | 66 | * Find an ICPLB entry to be evicted and return its index. |
61 | */ | 67 | */ |
62 | static int evict_one_icplb(unsigned int cpu) | 68 | MGR_ATTR static int evict_one_icplb(unsigned int cpu) |
63 | { | 69 | { |
64 | int i; | 70 | int i; |
65 | for (i = first_switched_icplb; i < MAX_CPLBS; i++) | 71 | for (i = first_switched_icplb; i < MAX_CPLBS; i++) |
@@ -74,7 +80,7 @@ static int evict_one_icplb(unsigned int cpu) | |||
74 | return i; | 80 | return i; |
75 | } | 81 | } |
76 | 82 | ||
77 | static int evict_one_dcplb(unsigned int cpu) | 83 | MGR_ATTR static int evict_one_dcplb(unsigned int cpu) |
78 | { | 84 | { |
79 | int i; | 85 | int i; |
80 | for (i = first_switched_dcplb; i < MAX_CPLBS; i++) | 86 | for (i = first_switched_dcplb; i < MAX_CPLBS; i++) |
@@ -89,7 +95,7 @@ static int evict_one_dcplb(unsigned int cpu) | |||
89 | return i; | 95 | return i; |
90 | } | 96 | } |
91 | 97 | ||
92 | static noinline int dcplb_miss(unsigned int cpu) | 98 | MGR_ATTR static noinline int dcplb_miss(unsigned int cpu) |
93 | { | 99 | { |
94 | unsigned long addr = bfin_read_DCPLB_FAULT_ADDR(); | 100 | unsigned long addr = bfin_read_DCPLB_FAULT_ADDR(); |
95 | int status = bfin_read_DCPLB_STATUS(); | 101 | int status = bfin_read_DCPLB_STATUS(); |
@@ -114,10 +120,15 @@ static noinline int dcplb_miss(unsigned int cpu) | |||
114 | d_data = L2_DMEMORY; | 120 | d_data = L2_DMEMORY; |
115 | } else if (addr >= physical_mem_end) { | 121 | } else if (addr >= physical_mem_end) { |
116 | if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE) { | 122 | if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE) { |
117 | addr &= ~(4 * 1024 * 1024 - 1); | 123 | mask = current_rwx_mask[cpu]; |
118 | d_data &= ~PAGE_SIZE_4KB; | 124 | if (mask) { |
119 | d_data |= PAGE_SIZE_4MB; | 125 | int page = (addr - (ASYNC_BANK0_BASE - _ramend)) >> PAGE_SHIFT; |
120 | d_data |= CPLB_USER_RD | CPLB_USER_WR; | 126 | int idx = page >> 5; |
127 | int bit = 1 << (page & 31); | ||
128 | |||
129 | if (mask[idx] & bit) | ||
130 | d_data |= CPLB_USER_RD; | ||
131 | } | ||
121 | } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH | 132 | } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH |
122 | && (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) { | 133 | && (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) { |
123 | addr &= ~(1 * 1024 * 1024 - 1); | 134 | addr &= ~(1 * 1024 * 1024 - 1); |
@@ -126,7 +137,9 @@ static noinline int dcplb_miss(unsigned int cpu) | |||
126 | } else | 137 | } else |
127 | return CPLB_PROT_VIOL; | 138 | return CPLB_PROT_VIOL; |
128 | } else if (addr >= _ramend) { | 139 | } else if (addr >= _ramend) { |
129 | d_data |= CPLB_USER_RD | CPLB_USER_WR; | 140 | d_data |= CPLB_USER_RD | CPLB_USER_WR; |
141 | if (reserved_mem_dcache_on) | ||
142 | d_data |= CPLB_L1_CHBL; | ||
130 | } else { | 143 | } else { |
131 | mask = current_rwx_mask[cpu]; | 144 | mask = current_rwx_mask[cpu]; |
132 | if (mask) { | 145 | if (mask) { |
@@ -156,7 +169,7 @@ static noinline int dcplb_miss(unsigned int cpu) | |||
156 | return 0; | 169 | return 0; |
157 | } | 170 | } |
158 | 171 | ||
159 | static noinline int icplb_miss(unsigned int cpu) | 172 | MGR_ATTR static noinline int icplb_miss(unsigned int cpu) |
160 | { | 173 | { |
161 | unsigned long addr = bfin_read_ICPLB_FAULT_ADDR(); | 174 | unsigned long addr = bfin_read_ICPLB_FAULT_ADDR(); |
162 | int status = bfin_read_ICPLB_STATUS(); | 175 | int status = bfin_read_ICPLB_STATUS(); |
@@ -204,10 +217,19 @@ static noinline int icplb_miss(unsigned int cpu) | |||
204 | i_data = L2_IMEMORY; | 217 | i_data = L2_IMEMORY; |
205 | } else if (addr >= physical_mem_end) { | 218 | } else if (addr >= physical_mem_end) { |
206 | if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE) { | 219 | if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE) { |
207 | addr &= ~(4 * 1024 * 1024 - 1); | 220 | if (!(status & FAULT_USERSUPV)) { |
208 | i_data &= ~PAGE_SIZE_4KB; | 221 | unsigned long *mask = current_rwx_mask[cpu]; |
209 | i_data |= PAGE_SIZE_4MB; | 222 | |
210 | i_data |= CPLB_USER_RD; | 223 | if (mask) { |
224 | int page = (addr - (ASYNC_BANK0_BASE - _ramend)) >> PAGE_SHIFT; | ||
225 | int idx = page >> 5; | ||
226 | int bit = 1 << (page & 31); | ||
227 | |||
228 | mask += 2 * page_mask_nelts; | ||
229 | if (mask[idx] & bit) | ||
230 | i_data |= CPLB_USER_RD; | ||
231 | } | ||
232 | } | ||
211 | } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH | 233 | } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH |
212 | && (status & FAULT_USERSUPV)) { | 234 | && (status & FAULT_USERSUPV)) { |
213 | addr &= ~(1 * 1024 * 1024 - 1); | 235 | addr &= ~(1 * 1024 * 1024 - 1); |
@@ -217,6 +239,8 @@ static noinline int icplb_miss(unsigned int cpu) | |||
217 | return CPLB_PROT_VIOL; | 239 | return CPLB_PROT_VIOL; |
218 | } else if (addr >= _ramend) { | 240 | } else if (addr >= _ramend) { |
219 | i_data |= CPLB_USER_RD; | 241 | i_data |= CPLB_USER_RD; |
242 | if (reserved_mem_icache_on) | ||
243 | i_data |= CPLB_L1_CHBL; | ||
220 | } else { | 244 | } else { |
221 | /* | 245 | /* |
222 | * Two cases to distinguish - a supervisor access must | 246 | * Two cases to distinguish - a supervisor access must |
@@ -251,7 +275,7 @@ static noinline int icplb_miss(unsigned int cpu) | |||
251 | return 0; | 275 | return 0; |
252 | } | 276 | } |
253 | 277 | ||
254 | static noinline int dcplb_protection_fault(unsigned int cpu) | 278 | MGR_ATTR static noinline int dcplb_protection_fault(unsigned int cpu) |
255 | { | 279 | { |
256 | int status = bfin_read_DCPLB_STATUS(); | 280 | int status = bfin_read_DCPLB_STATUS(); |
257 | 281 | ||
@@ -271,7 +295,7 @@ static noinline int dcplb_protection_fault(unsigned int cpu) | |||
271 | return CPLB_PROT_VIOL; | 295 | return CPLB_PROT_VIOL; |
272 | } | 296 | } |
273 | 297 | ||
274 | int cplb_hdr(int seqstat, struct pt_regs *regs) | 298 | MGR_ATTR int cplb_hdr(int seqstat, struct pt_regs *regs) |
275 | { | 299 | { |
276 | int cause = seqstat & 0x3f; | 300 | int cause = seqstat & 0x3f; |
277 | unsigned int cpu = raw_smp_processor_id(); | 301 | unsigned int cpu = raw_smp_processor_id(); |
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 282a7919821b..bfe75af4e8bd 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -56,6 +56,15 @@ void __init generate_cplb_tables_cpu(unsigned int cpu) | |||
56 | i_tbl[i_i++].data = SDRAM_IGENERIC | PAGE_SIZE_4MB; | 56 | i_tbl[i_i++].data = SDRAM_IGENERIC | PAGE_SIZE_4MB; |
57 | } | 57 | } |
58 | 58 | ||
59 | #ifdef CONFIG_ROMKERNEL | ||
60 | /* Cover kernel XIP flash area */ | ||
61 | addr = CONFIG_ROM_BASE & ~(4 * 1024 * 1024 - 1); | ||
62 | d_tbl[i_d].addr = addr; | ||
63 | d_tbl[i_d++].data = SDRAM_DGENERIC | PAGE_SIZE_4MB; | ||
64 | i_tbl[i_i].addr = addr; | ||
65 | i_tbl[i_i++].data = SDRAM_IGENERIC | PAGE_SIZE_4MB; | ||
66 | #endif | ||
67 | |||
59 | /* Cover L1 memory. One 4M area for code and data each is enough. */ | 68 | /* Cover L1 memory. One 4M area for code and data each is enough. */ |
60 | if (cpu == 0) { | 69 | if (cpu == 0) { |
61 | if (L1_DATA_A_LENGTH || L1_DATA_B_LENGTH) { | 70 | if (L1_DATA_A_LENGTH || L1_DATA_B_LENGTH) { |
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c index e937f323d82c..04ddcfeb7981 100644 --- a/arch/blackfin/kernel/dma-mapping.c +++ b/arch/blackfin/kernel/dma-mapping.c | |||
@@ -116,7 +116,7 @@ EXPORT_SYMBOL(dma_free_coherent); | |||
116 | void __dma_sync(dma_addr_t addr, size_t size, | 116 | void __dma_sync(dma_addr_t addr, size_t size, |
117 | enum dma_data_direction dir) | 117 | enum dma_data_direction dir) |
118 | { | 118 | { |
119 | _dma_sync(addr, size, dir); | 119 | __dma_sync_inline(addr, size, dir); |
120 | } | 120 | } |
121 | EXPORT_SYMBOL(__dma_sync); | 121 | EXPORT_SYMBOL(__dma_sync); |
122 | 122 | ||
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S index f27dc2292e1b..686478f5f66b 100644 --- a/arch/blackfin/kernel/entry.S +++ b/arch/blackfin/kernel/entry.S | |||
@@ -44,7 +44,7 @@ ENTRY(_ret_from_fork) | |||
44 | sti r4; | 44 | sti r4; |
45 | #endif /* CONFIG_IPIPE */ | 45 | #endif /* CONFIG_IPIPE */ |
46 | SP += -12; | 46 | SP += -12; |
47 | call _schedule_tail; | 47 | pseudo_long_call _schedule_tail, p5; |
48 | SP += 12; | 48 | SP += 12; |
49 | r0 = [sp + PT_IPEND]; | 49 | r0 = [sp + PT_IPEND]; |
50 | cc = bittst(r0,1); | 50 | cc = bittst(r0,1); |
@@ -79,7 +79,7 @@ ENTRY(_sys_vfork) | |||
79 | r0 += 24; | 79 | r0 += 24; |
80 | [--sp] = rets; | 80 | [--sp] = rets; |
81 | SP += -12; | 81 | SP += -12; |
82 | call _bfin_vfork; | 82 | pseudo_long_call _bfin_vfork, p2; |
83 | SP += 12; | 83 | SP += 12; |
84 | rets = [sp++]; | 84 | rets = [sp++]; |
85 | rts; | 85 | rts; |
@@ -90,7 +90,7 @@ ENTRY(_sys_clone) | |||
90 | r0 += 24; | 90 | r0 += 24; |
91 | [--sp] = rets; | 91 | [--sp] = rets; |
92 | SP += -12; | 92 | SP += -12; |
93 | call _bfin_clone; | 93 | pseudo_long_call _bfin_clone, p2; |
94 | SP += 12; | 94 | SP += 12; |
95 | rets = [sp++]; | 95 | rets = [sp++]; |
96 | rts; | 96 | rts; |
@@ -101,7 +101,7 @@ ENTRY(_sys_rt_sigreturn) | |||
101 | r0 += 24; | 101 | r0 += 24; |
102 | [--sp] = rets; | 102 | [--sp] = rets; |
103 | SP += -12; | 103 | SP += -12; |
104 | call _do_rt_sigreturn; | 104 | pseudo_long_call _do_rt_sigreturn, p2; |
105 | SP += 12; | 105 | SP += 12; |
106 | rets = [sp++]; | 106 | rets = [sp++]; |
107 | rts; | 107 | rts; |
diff --git a/arch/blackfin/kernel/ftrace-entry.S b/arch/blackfin/kernel/ftrace-entry.S index 76dd4fbcd17a..d66446b572c0 100644 --- a/arch/blackfin/kernel/ftrace-entry.S +++ b/arch/blackfin/kernel/ftrace-entry.S | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * mcount and friends -- ftrace stuff | 2 | * mcount and friends -- ftrace stuff |
3 | * | 3 | * |
4 | * Copyright (C) 2009 Analog Devices Inc. | 4 | * Copyright (C) 2009-2010 Analog Devices Inc. |
5 | * Licensed under the GPL-2 or later. | 5 | * Licensed under the GPL-2 or later. |
6 | */ | 6 | */ |
7 | 7 | ||
@@ -21,6 +21,15 @@ | |||
21 | * function will be waiting there. mmmm pie. | 21 | * function will be waiting there. mmmm pie. |
22 | */ | 22 | */ |
23 | ENTRY(__mcount) | 23 | ENTRY(__mcount) |
24 | #ifdef CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST | ||
25 | /* optional micro optimization: return if stopped */ | ||
26 | p1.l = _function_trace_stop; | ||
27 | p1.h = _function_trace_stop; | ||
28 | r3 = [p1]; | ||
29 | cc = r3 == 0; | ||
30 | if ! cc jump _ftrace_stub (bp); | ||
31 | #endif | ||
32 | |||
24 | /* save third function arg early so we can do testing below */ | 33 | /* save third function arg early so we can do testing below */ |
25 | [--sp] = r2; | 34 | [--sp] = r2; |
26 | 35 | ||
@@ -106,9 +115,12 @@ ENTRY(_ftrace_graph_caller) | |||
106 | [--sp] = r1; | 115 | [--sp] = r1; |
107 | [--sp] = rets; | 116 | [--sp] = rets; |
108 | 117 | ||
109 | /* prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) */ | 118 | /* prepare_ftrace_return(parent, self_addr, frame_pointer) */ |
110 | r0 = sp; | 119 | r0 = sp; /* unsigned long *parent */ |
111 | r1 = rets; | 120 | r1 = rets; /* unsigned long self_addr */ |
121 | #ifdef CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST | ||
122 | r2 = fp; /* unsigned long frame_pointer */ | ||
123 | #endif | ||
112 | r0 += 16; /* skip the 4 local regs on stack */ | 124 | r0 += 16; /* skip the 4 local regs on stack */ |
113 | r1 += -MCOUNT_INSN_SIZE; | 125 | r1 += -MCOUNT_INSN_SIZE; |
114 | call _prepare_ftrace_return; | 126 | call _prepare_ftrace_return; |
@@ -127,6 +139,9 @@ ENTRY(_return_to_handler) | |||
127 | [--sp] = r1; | 139 | [--sp] = r1; |
128 | 140 | ||
129 | /* get original return address */ | 141 | /* get original return address */ |
142 | #ifdef CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST | ||
143 | r0 = fp; /* Blackfin is sane, so omit this */ | ||
144 | #endif | ||
130 | call _ftrace_return_to_handler; | 145 | call _ftrace_return_to_handler; |
131 | rets = r0; | 146 | rets = r0; |
132 | 147 | ||
diff --git a/arch/blackfin/kernel/ftrace.c b/arch/blackfin/kernel/ftrace.c index f2c85ac6f2da..a61d948ea925 100644 --- a/arch/blackfin/kernel/ftrace.c +++ b/arch/blackfin/kernel/ftrace.c | |||
@@ -16,7 +16,8 @@ | |||
16 | * Hook the return address and push it in the stack of return addrs | 16 | * Hook the return address and push it in the stack of return addrs |
17 | * in current thread info. | 17 | * in current thread info. |
18 | */ | 18 | */ |
19 | void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | 19 | void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr, |
20 | unsigned long frame_pointer) | ||
20 | { | 21 | { |
21 | struct ftrace_graph_ent trace; | 22 | struct ftrace_graph_ent trace; |
22 | unsigned long return_hooker = (unsigned long)&return_to_handler; | 23 | unsigned long return_hooker = (unsigned long)&return_to_handler; |
@@ -24,7 +25,8 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | |||
24 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) | 25 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) |
25 | return; | 26 | return; |
26 | 27 | ||
27 | if (ftrace_push_return_trace(*parent, self_addr, &trace.depth, 0) == -EBUSY) | 28 | if (ftrace_push_return_trace(*parent, self_addr, &trace.depth, |
29 | frame_pointer) == -EBUSY) | ||
28 | return; | 30 | return; |
29 | 31 | ||
30 | trace.func = self_addr; | 32 | trace.func = self_addr; |
diff --git a/arch/blackfin/kernel/init_task.c b/arch/blackfin/kernel/init_task.c index 118c5b9dedac..d3970e8acd1a 100644 --- a/arch/blackfin/kernel/init_task.c +++ b/arch/blackfin/kernel/init_task.c | |||
@@ -28,5 +28,5 @@ EXPORT_SYMBOL(init_task); | |||
28 | * "init_task" linker map entry. | 28 | * "init_task" linker map entry. |
29 | */ | 29 | */ |
30 | union thread_union init_thread_union | 30 | union thread_union init_thread_union |
31 | __attribute__ ((__section__(".init_task.data"))) = { | 31 | __init_task_data = { |
32 | INIT_THREAD_INFO(init_task)}; | 32 | INIT_THREAD_INFO(init_task)}; |
diff --git a/arch/blackfin/kernel/kgdb.c b/arch/blackfin/kernel/kgdb.c index 34c7c3ed2c9c..2c501ceb1e55 100644 --- a/arch/blackfin/kernel/kgdb.c +++ b/arch/blackfin/kernel/kgdb.c | |||
@@ -145,7 +145,7 @@ void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *regs) | |||
145 | #endif | 145 | #endif |
146 | } | 146 | } |
147 | 147 | ||
148 | struct hw_breakpoint { | 148 | static struct hw_breakpoint { |
149 | unsigned int occupied:1; | 149 | unsigned int occupied:1; |
150 | unsigned int skip:1; | 150 | unsigned int skip:1; |
151 | unsigned int enabled:1; | 151 | unsigned int enabled:1; |
@@ -155,7 +155,7 @@ struct hw_breakpoint { | |||
155 | unsigned int addr; | 155 | unsigned int addr; |
156 | } breakinfo[HW_WATCHPOINT_NUM]; | 156 | } breakinfo[HW_WATCHPOINT_NUM]; |
157 | 157 | ||
158 | int bfin_set_hw_break(unsigned long addr, int len, enum kgdb_bptype type) | 158 | static int bfin_set_hw_break(unsigned long addr, int len, enum kgdb_bptype type) |
159 | { | 159 | { |
160 | int breakno; | 160 | int breakno; |
161 | int bfin_type; | 161 | int bfin_type; |
@@ -202,7 +202,7 @@ int bfin_set_hw_break(unsigned long addr, int len, enum kgdb_bptype type) | |||
202 | return -ENOSPC; | 202 | return -ENOSPC; |
203 | } | 203 | } |
204 | 204 | ||
205 | int bfin_remove_hw_break(unsigned long addr, int len, enum kgdb_bptype type) | 205 | static int bfin_remove_hw_break(unsigned long addr, int len, enum kgdb_bptype type) |
206 | { | 206 | { |
207 | int breakno; | 207 | int breakno; |
208 | int bfin_type; | 208 | int bfin_type; |
@@ -230,7 +230,7 @@ int bfin_remove_hw_break(unsigned long addr, int len, enum kgdb_bptype type) | |||
230 | return 0; | 230 | return 0; |
231 | } | 231 | } |
232 | 232 | ||
233 | void bfin_remove_all_hw_break(void) | 233 | static void bfin_remove_all_hw_break(void) |
234 | { | 234 | { |
235 | int breakno; | 235 | int breakno; |
236 | 236 | ||
@@ -242,7 +242,7 @@ void bfin_remove_all_hw_break(void) | |||
242 | breakinfo[breakno].type = TYPE_DATA_WATCHPOINT; | 242 | breakinfo[breakno].type = TYPE_DATA_WATCHPOINT; |
243 | } | 243 | } |
244 | 244 | ||
245 | void bfin_correct_hw_break(void) | 245 | static void bfin_correct_hw_break(void) |
246 | { | 246 | { |
247 | int breakno; | 247 | int breakno; |
248 | unsigned int wpiactl = 0; | 248 | unsigned int wpiactl = 0; |
diff --git a/arch/blackfin/kernel/nmi.c b/arch/blackfin/kernel/nmi.c new file mode 100644 index 000000000000..0b5f72f17fd0 --- /dev/null +++ b/arch/blackfin/kernel/nmi.c | |||
@@ -0,0 +1,299 @@ | |||
1 | /* | ||
2 | * Blackfin nmi_watchdog Driver | ||
3 | * | ||
4 | * Originally based on bfin_wdt.c | ||
5 | * Copyright 2010-2010 Analog Devices Inc. | ||
6 | * Graff Yang <graf.yang@analog.com> | ||
7 | * | ||
8 | * Enter bugs at http://blackfin.uclinux.org/ | ||
9 | * | ||
10 | * Licensed under the GPL-2 or later. | ||
11 | */ | ||
12 | |||
13 | #include <linux/bitops.h> | ||
14 | #include <linux/hardirq.h> | ||
15 | #include <linux/sysdev.h> | ||
16 | #include <linux/pm.h> | ||
17 | #include <linux/nmi.h> | ||
18 | #include <linux/smp.h> | ||
19 | #include <linux/timer.h> | ||
20 | #include <asm/blackfin.h> | ||
21 | #include <asm/atomic.h> | ||
22 | #include <asm/cacheflush.h> | ||
23 | #include <asm/bfin_watchdog.h> | ||
24 | |||
25 | #define DRV_NAME "nmi-wdt" | ||
26 | |||
27 | #define NMI_WDT_TIMEOUT 5 /* 5 seconds */ | ||
28 | #define NMI_CHECK_TIMEOUT (4 * HZ) /* 4 seconds in jiffies */ | ||
29 | static int nmi_wdt_cpu = 1; | ||
30 | |||
31 | static unsigned int timeout = NMI_WDT_TIMEOUT; | ||
32 | static int nmi_active; | ||
33 | |||
34 | static unsigned short wdoga_ctl; | ||
35 | static unsigned int wdoga_cnt; | ||
36 | static struct corelock_slot saved_corelock; | ||
37 | static atomic_t nmi_touched[NR_CPUS]; | ||
38 | static struct timer_list ntimer; | ||
39 | |||
40 | enum { | ||
41 | COREA_ENTER_NMI = 0, | ||
42 | COREA_EXIT_NMI, | ||
43 | COREB_EXIT_NMI, | ||
44 | |||
45 | NMI_EVENT_NR, | ||
46 | }; | ||
47 | static unsigned long nmi_event __attribute__ ((__section__(".l2.bss"))); | ||
48 | |||
49 | /* we are in nmi, non-atomic bit ops is safe */ | ||
50 | static inline void set_nmi_event(int event) | ||
51 | { | ||
52 | __set_bit(event, &nmi_event); | ||
53 | } | ||
54 | |||
55 | static inline void wait_nmi_event(int event) | ||
56 | { | ||
57 | while (!test_bit(event, &nmi_event)) | ||
58 | barrier(); | ||
59 | __clear_bit(event, &nmi_event); | ||
60 | } | ||
61 | |||
62 | static inline void send_corea_nmi(void) | ||
63 | { | ||
64 | wdoga_ctl = bfin_read_WDOGA_CTL(); | ||
65 | wdoga_cnt = bfin_read_WDOGA_CNT(); | ||
66 | |||
67 | bfin_write_WDOGA_CTL(WDEN_DISABLE); | ||
68 | bfin_write_WDOGA_CNT(0); | ||
69 | bfin_write_WDOGA_CTL(WDEN_ENABLE | ICTL_NMI); | ||
70 | } | ||
71 | |||
72 | static inline void restore_corea_nmi(void) | ||
73 | { | ||
74 | bfin_write_WDOGA_CTL(WDEN_DISABLE); | ||
75 | bfin_write_WDOGA_CTL(WDOG_EXPIRED | WDEN_DISABLE | ICTL_NONE); | ||
76 | |||
77 | bfin_write_WDOGA_CNT(wdoga_cnt); | ||
78 | bfin_write_WDOGA_CTL(wdoga_ctl); | ||
79 | } | ||
80 | |||
81 | static inline void save_corelock(void) | ||
82 | { | ||
83 | saved_corelock = corelock; | ||
84 | corelock.lock = 0; | ||
85 | } | ||
86 | |||
87 | static inline void restore_corelock(void) | ||
88 | { | ||
89 | corelock = saved_corelock; | ||
90 | } | ||
91 | |||
92 | |||
93 | static inline void nmi_wdt_keepalive(void) | ||
94 | { | ||
95 | bfin_write_WDOGB_STAT(0); | ||
96 | } | ||
97 | |||
98 | static inline void nmi_wdt_stop(void) | ||
99 | { | ||
100 | bfin_write_WDOGB_CTL(WDEN_DISABLE); | ||
101 | } | ||
102 | |||
103 | /* before calling this function, you must stop the WDT */ | ||
104 | static inline void nmi_wdt_clear(void) | ||
105 | { | ||
106 | /* clear TRO bit, disable event generation */ | ||
107 | bfin_write_WDOGB_CTL(WDOG_EXPIRED | WDEN_DISABLE | ICTL_NONE); | ||
108 | } | ||
109 | |||
110 | static inline void nmi_wdt_start(void) | ||
111 | { | ||
112 | bfin_write_WDOGB_CTL(WDEN_ENABLE | ICTL_NMI); | ||
113 | } | ||
114 | |||
115 | static inline int nmi_wdt_running(void) | ||
116 | { | ||
117 | return ((bfin_read_WDOGB_CTL() & WDEN_MASK) != WDEN_DISABLE); | ||
118 | } | ||
119 | |||
120 | static inline int nmi_wdt_set_timeout(unsigned long t) | ||
121 | { | ||
122 | u32 cnt, max_t, sclk; | ||
123 | int run; | ||
124 | |||
125 | sclk = get_sclk(); | ||
126 | max_t = -1 / sclk; | ||
127 | cnt = t * sclk; | ||
128 | if (t > max_t) { | ||
129 | pr_warning("NMI: timeout value is too large\n"); | ||
130 | return -EINVAL; | ||
131 | } | ||
132 | |||
133 | run = nmi_wdt_running(); | ||
134 | nmi_wdt_stop(); | ||
135 | bfin_write_WDOGB_CNT(cnt); | ||
136 | if (run) | ||
137 | nmi_wdt_start(); | ||
138 | |||
139 | timeout = t; | ||
140 | |||
141 | return 0; | ||
142 | } | ||
143 | |||
144 | int check_nmi_wdt_touched(void) | ||
145 | { | ||
146 | unsigned int this_cpu = smp_processor_id(); | ||
147 | unsigned int cpu; | ||
148 | |||
149 | cpumask_t mask = cpu_online_map; | ||
150 | |||
151 | if (!atomic_read(&nmi_touched[this_cpu])) | ||
152 | return 0; | ||
153 | |||
154 | atomic_set(&nmi_touched[this_cpu], 0); | ||
155 | |||
156 | cpu_clear(this_cpu, mask); | ||
157 | for_each_cpu_mask(cpu, mask) { | ||
158 | invalidate_dcache_range((unsigned long)(&nmi_touched[cpu]), | ||
159 | (unsigned long)(&nmi_touched[cpu])); | ||
160 | if (!atomic_read(&nmi_touched[cpu])) | ||
161 | return 0; | ||
162 | atomic_set(&nmi_touched[cpu], 0); | ||
163 | } | ||
164 | |||
165 | return 1; | ||
166 | } | ||
167 | |||
168 | static void nmi_wdt_timer(unsigned long data) | ||
169 | { | ||
170 | if (check_nmi_wdt_touched()) | ||
171 | nmi_wdt_keepalive(); | ||
172 | |||
173 | mod_timer(&ntimer, jiffies + NMI_CHECK_TIMEOUT); | ||
174 | } | ||
175 | |||
176 | static int __init init_nmi_wdt(void) | ||
177 | { | ||
178 | nmi_wdt_set_timeout(timeout); | ||
179 | nmi_wdt_start(); | ||
180 | nmi_active = true; | ||
181 | |||
182 | init_timer(&ntimer); | ||
183 | ntimer.function = nmi_wdt_timer; | ||
184 | ntimer.expires = jiffies + NMI_CHECK_TIMEOUT; | ||
185 | add_timer(&ntimer); | ||
186 | |||
187 | pr_info("nmi_wdt: initialized: timeout=%d sec\n", timeout); | ||
188 | return 0; | ||
189 | } | ||
190 | device_initcall(init_nmi_wdt); | ||
191 | |||
192 | void touch_nmi_watchdog(void) | ||
193 | { | ||
194 | atomic_set(&nmi_touched[smp_processor_id()], 1); | ||
195 | } | ||
196 | |||
197 | /* Suspend/resume support */ | ||
198 | #ifdef CONFIG_PM | ||
199 | static int nmi_wdt_suspend(struct sys_device *dev, pm_message_t state) | ||
200 | { | ||
201 | nmi_wdt_stop(); | ||
202 | return 0; | ||
203 | } | ||
204 | |||
205 | static int nmi_wdt_resume(struct sys_device *dev) | ||
206 | { | ||
207 | if (nmi_active) | ||
208 | nmi_wdt_start(); | ||
209 | return 0; | ||
210 | } | ||
211 | |||
212 | static struct sysdev_class nmi_sysclass = { | ||
213 | .name = DRV_NAME, | ||
214 | .resume = nmi_wdt_resume, | ||
215 | .suspend = nmi_wdt_suspend, | ||
216 | }; | ||
217 | |||
218 | static struct sys_device device_nmi_wdt = { | ||
219 | .id = 0, | ||
220 | .cls = &nmi_sysclass, | ||
221 | }; | ||
222 | |||
223 | static int __init init_nmi_wdt_sysfs(void) | ||
224 | { | ||
225 | int error; | ||
226 | |||
227 | if (!nmi_active) | ||
228 | return 0; | ||
229 | |||
230 | error = sysdev_class_register(&nmi_sysclass); | ||
231 | if (!error) | ||
232 | error = sysdev_register(&device_nmi_wdt); | ||
233 | return error; | ||
234 | } | ||
235 | late_initcall(init_nmi_wdt_sysfs); | ||
236 | |||
237 | #endif /* CONFIG_PM */ | ||
238 | |||
239 | |||
240 | asmlinkage notrace void do_nmi(struct pt_regs *fp) | ||
241 | { | ||
242 | unsigned int cpu = smp_processor_id(); | ||
243 | nmi_enter(); | ||
244 | |||
245 | cpu_pda[cpu].__nmi_count += 1; | ||
246 | |||
247 | if (cpu == nmi_wdt_cpu) { | ||
248 | /* CoreB goes here first */ | ||
249 | |||
250 | /* reload the WDOG_STAT */ | ||
251 | nmi_wdt_keepalive(); | ||
252 | |||
253 | /* clear nmi interrupt for CoreB */ | ||
254 | nmi_wdt_stop(); | ||
255 | nmi_wdt_clear(); | ||
256 | |||
257 | /* trigger NMI interrupt of CoreA */ | ||
258 | send_corea_nmi(); | ||
259 | |||
260 | /* waiting CoreB to enter NMI */ | ||
261 | wait_nmi_event(COREA_ENTER_NMI); | ||
262 | |||
263 | /* recover WDOGA's settings */ | ||
264 | restore_corea_nmi(); | ||
265 | |||
266 | save_corelock(); | ||
267 | |||
268 | /* corelock is save/cleared, CoreA is dummping messages */ | ||
269 | |||
270 | wait_nmi_event(COREA_EXIT_NMI); | ||
271 | } else { | ||
272 | /* OK, CoreA entered NMI */ | ||
273 | set_nmi_event(COREA_ENTER_NMI); | ||
274 | } | ||
275 | |||
276 | pr_emerg("\nNMI Watchdog detected LOCKUP, dump for CPU %d\n", cpu); | ||
277 | dump_bfin_process(fp); | ||
278 | dump_bfin_mem(fp); | ||
279 | show_regs(fp); | ||
280 | dump_bfin_trace_buffer(); | ||
281 | show_stack(current, (unsigned long *)fp); | ||
282 | |||
283 | if (cpu == nmi_wdt_cpu) { | ||
284 | pr_emerg("This fault is not recoverable, sorry!\n"); | ||
285 | |||
286 | /* CoreA dump finished, restore the corelock */ | ||
287 | restore_corelock(); | ||
288 | |||
289 | set_nmi_event(COREB_EXIT_NMI); | ||
290 | } else { | ||
291 | /* CoreB dump finished, notice the CoreA we are done */ | ||
292 | set_nmi_event(COREA_EXIT_NMI); | ||
293 | |||
294 | /* synchronize with CoreA */ | ||
295 | wait_nmi_event(COREB_EXIT_NMI); | ||
296 | } | ||
297 | |||
298 | nmi_exit(); | ||
299 | } | ||
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index b56b0e485e0b..29705cec91de 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c | |||
@@ -98,13 +98,6 @@ void cpu_idle(void) | |||
98 | } | 98 | } |
99 | } | 99 | } |
100 | 100 | ||
101 | /* Fill in the fpu structure for a core dump. */ | ||
102 | |||
103 | int dump_fpu(struct pt_regs *regs, elf_fpregset_t * fpregs) | ||
104 | { | ||
105 | return 1; | ||
106 | } | ||
107 | |||
108 | /* | 101 | /* |
109 | * This gets run with P1 containing the | 102 | * This gets run with P1 containing the |
110 | * function to call, and R1 containing | 103 | * function to call, and R1 containing |
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c index 65567dc4b9f5..43eb969405d1 100644 --- a/arch/blackfin/kernel/ptrace.c +++ b/arch/blackfin/kernel/ptrace.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds | 2 | * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds |
3 | * these modifications are Copyright 2004-2009 Analog Devices Inc. | 3 | * these modifications are Copyright 2004-2010 Analog Devices Inc. |
4 | * | 4 | * |
5 | * Licensed under the GPL-2 | 5 | * Licensed under the GPL-2 |
6 | */ | 6 | */ |
@@ -9,10 +9,13 @@ | |||
9 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
12 | #include <linux/elf.h> | ||
12 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
13 | #include <linux/ptrace.h> | 14 | #include <linux/ptrace.h> |
14 | #include <linux/user.h> | 15 | #include <linux/user.h> |
16 | #include <linux/regset.h> | ||
15 | #include <linux/signal.h> | 17 | #include <linux/signal.h> |
18 | #include <linux/tracehook.h> | ||
16 | #include <linux/uaccess.h> | 19 | #include <linux/uaccess.h> |
17 | 20 | ||
18 | #include <asm/page.h> | 21 | #include <asm/page.h> |
@@ -25,90 +28,57 @@ | |||
25 | #include <asm/cacheflush.h> | 28 | #include <asm/cacheflush.h> |
26 | #include <asm/mem_map.h> | 29 | #include <asm/mem_map.h> |
27 | 30 | ||
28 | #define TEXT_OFFSET 0 | ||
29 | /* | 31 | /* |
30 | * does not yet catch signals sent when the child dies. | 32 | * does not yet catch signals sent when the child dies. |
31 | * in exit.c or in signal.c. | 33 | * in exit.c or in signal.c. |
32 | */ | 34 | */ |
33 | 35 | ||
34 | /* determines which bits in the SYSCFG reg the user has access to. */ | ||
35 | /* 1 = access 0 = no access */ | ||
36 | #define SYSCFG_MASK 0x0007 /* SYSCFG reg */ | ||
37 | /* sets the trace bits. */ | ||
38 | #define TRACE_BITS 0x0001 | ||
39 | |||
40 | /* Find the stack offset for a register, relative to thread.esp0. */ | ||
41 | #define PT_REG(reg) ((long)&((struct pt_regs *)0)->reg) | ||
42 | |||
43 | /* | ||
44 | * Get the address of the live pt_regs for the specified task. | ||
45 | * These are saved onto the top kernel stack when the process | ||
46 | * is not running. | ||
47 | * | ||
48 | * Note: if a user thread is execve'd from kernel space, the | ||
49 | * kernel stack will not be empty on entry to the kernel, so | ||
50 | * ptracing these tasks will fail. | ||
51 | */ | ||
52 | static inline struct pt_regs *get_user_regs(struct task_struct *task) | ||
53 | { | ||
54 | return (struct pt_regs *) | ||
55 | ((unsigned long)task_stack_page(task) + | ||
56 | (THREAD_SIZE - sizeof(struct pt_regs))); | ||
57 | } | ||
58 | |||
59 | /* | ||
60 | * Get all user integer registers. | ||
61 | */ | ||
62 | static inline int ptrace_getregs(struct task_struct *tsk, void __user *uregs) | ||
63 | { | ||
64 | struct pt_regs regs; | ||
65 | memcpy(®s, get_user_regs(tsk), sizeof(regs)); | ||
66 | regs.usp = tsk->thread.usp; | ||
67 | return copy_to_user(uregs, ®s, sizeof(struct pt_regs)) ? -EFAULT : 0; | ||
68 | } | ||
69 | |||
70 | /* Mapping from PT_xxx to the stack offset at which the register is | ||
71 | * saved. Notice that usp has no stack-slot and needs to be treated | ||
72 | * specially (see get_reg/put_reg below). | ||
73 | */ | ||
74 | |||
75 | /* | 36 | /* |
76 | * Get contents of register REGNO in task TASK. | 37 | * Get contents of register REGNO in task TASK. |
77 | */ | 38 | */ |
78 | static inline long get_reg(struct task_struct *task, int regno) | 39 | static inline long |
40 | get_reg(struct task_struct *task, long regno, unsigned long __user *datap) | ||
79 | { | 41 | { |
80 | unsigned char *reg_ptr; | 42 | long tmp; |
43 | struct pt_regs *regs = task_pt_regs(task); | ||
81 | 44 | ||
82 | struct pt_regs *regs = | 45 | if (regno & 3 || regno > PT_LAST_PSEUDO || regno < 0) |
83 | (struct pt_regs *)((unsigned long)task_stack_page(task) + | 46 | return -EIO; |
84 | (THREAD_SIZE - sizeof(struct pt_regs))); | ||
85 | reg_ptr = (char *)regs; | ||
86 | 47 | ||
87 | switch (regno) { | 48 | switch (regno) { |
49 | case PT_TEXT_ADDR: | ||
50 | tmp = task->mm->start_code; | ||
51 | break; | ||
52 | case PT_TEXT_END_ADDR: | ||
53 | tmp = task->mm->end_code; | ||
54 | break; | ||
55 | case PT_DATA_ADDR: | ||
56 | tmp = task->mm->start_data; | ||
57 | break; | ||
88 | case PT_USP: | 58 | case PT_USP: |
89 | return task->thread.usp; | 59 | tmp = task->thread.usp; |
60 | break; | ||
90 | default: | 61 | default: |
91 | if (regno <= 216) | 62 | if (regno < sizeof(*regs)) { |
92 | return *(long *)(reg_ptr + regno); | 63 | void *reg_ptr = regs; |
64 | tmp = *(long *)(reg_ptr + regno); | ||
65 | } else | ||
66 | return -EIO; | ||
93 | } | 67 | } |
94 | /* slight mystery ... never seems to come here but kernel misbehaves without this code! */ | ||
95 | 68 | ||
96 | printk(KERN_WARNING "Request to get for unknown register %d\n", regno); | 69 | return put_user(tmp, datap); |
97 | return 0; | ||
98 | } | 70 | } |
99 | 71 | ||
100 | /* | 72 | /* |
101 | * Write contents of register REGNO in task TASK. | 73 | * Write contents of register REGNO in task TASK. |
102 | */ | 74 | */ |
103 | static inline int | 75 | static inline int |
104 | put_reg(struct task_struct *task, int regno, unsigned long data) | 76 | put_reg(struct task_struct *task, long regno, unsigned long data) |
105 | { | 77 | { |
106 | char *reg_ptr; | 78 | struct pt_regs *regs = task_pt_regs(task); |
107 | 79 | ||
108 | struct pt_regs *regs = | 80 | if (regno & 3 || regno > PT_LAST_PSEUDO || regno < 0) |
109 | (struct pt_regs *)((unsigned long)task_stack_page(task) + | 81 | return -EIO; |
110 | (THREAD_SIZE - sizeof(struct pt_regs))); | ||
111 | reg_ptr = (char *)regs; | ||
112 | 82 | ||
113 | switch (regno) { | 83 | switch (regno) { |
114 | case PT_PC: | 84 | case PT_PC: |
@@ -125,10 +95,18 @@ put_reg(struct task_struct *task, int regno, unsigned long data) | |||
125 | regs->usp = data; | 95 | regs->usp = data; |
126 | task->thread.usp = data; | 96 | task->thread.usp = data; |
127 | break; | 97 | break; |
98 | case PT_SYSCFG: /* don't let userspace screw with this */ | ||
99 | if ((data & ~1) != 0x6) | ||
100 | pr_warning("ptrace: ignore syscfg write of %#lx\n", data); | ||
101 | break; /* regs->syscfg = data; break; */ | ||
128 | default: | 102 | default: |
129 | if (regno <= 216) | 103 | if (regno < sizeof(*regs)) { |
130 | *(long *)(reg_ptr + regno) = data; | 104 | void *reg_offset = regs; |
105 | *(long *)(reg_offset + regno) = data; | ||
106 | } | ||
107 | /* Ignore writes to pseudo registers */ | ||
131 | } | 108 | } |
109 | |||
132 | return 0; | 110 | return 0; |
133 | } | 111 | } |
134 | 112 | ||
@@ -160,24 +138,98 @@ static inline int is_user_addr_valid(struct task_struct *child, | |||
160 | return -EIO; | 138 | return -EIO; |
161 | } | 139 | } |
162 | 140 | ||
163 | void ptrace_enable(struct task_struct *child) | 141 | /* |
142 | * retrieve the contents of Blackfin userspace general registers | ||
143 | */ | ||
144 | static int genregs_get(struct task_struct *target, | ||
145 | const struct user_regset *regset, | ||
146 | unsigned int pos, unsigned int count, | ||
147 | void *kbuf, void __user *ubuf) | ||
164 | { | 148 | { |
165 | unsigned long tmp; | 149 | struct pt_regs *regs = task_pt_regs(target); |
166 | tmp = get_reg(child, PT_SYSCFG) | (TRACE_BITS); | 150 | int ret; |
167 | put_reg(child, PT_SYSCFG, tmp); | 151 | |
152 | /* This sucks ... */ | ||
153 | regs->usp = target->thread.usp; | ||
154 | |||
155 | ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, | ||
156 | regs, 0, sizeof(*regs)); | ||
157 | if (ret < 0) | ||
158 | return ret; | ||
159 | |||
160 | return user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf, | ||
161 | sizeof(*regs), -1); | ||
168 | } | 162 | } |
169 | 163 | ||
170 | /* | 164 | /* |
171 | * Called by kernel/ptrace.c when detaching.. | 165 | * update the contents of the Blackfin userspace general registers |
172 | * | 166 | */ |
173 | * Make sure the single step bit is not set. | 167 | static int genregs_set(struct task_struct *target, |
168 | const struct user_regset *regset, | ||
169 | unsigned int pos, unsigned int count, | ||
170 | const void *kbuf, const void __user *ubuf) | ||
171 | { | ||
172 | struct pt_regs *regs = task_pt_regs(target); | ||
173 | int ret; | ||
174 | |||
175 | /* Don't let people set SYSCFG (it's at the end of pt_regs) */ | ||
176 | ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, | ||
177 | regs, 0, PT_SYSCFG); | ||
178 | if (ret < 0) | ||
179 | return ret; | ||
180 | |||
181 | /* This sucks ... */ | ||
182 | target->thread.usp = regs->usp; | ||
183 | /* regs->retx = regs->pc; */ | ||
184 | |||
185 | return user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, | ||
186 | PT_SYSCFG, -1); | ||
187 | } | ||
188 | |||
189 | /* | ||
190 | * Define the register sets available on the Blackfin under Linux | ||
174 | */ | 191 | */ |
175 | void ptrace_disable(struct task_struct *child) | 192 | enum bfin_regset { |
193 | REGSET_GENERAL, | ||
194 | }; | ||
195 | |||
196 | static const struct user_regset bfin_regsets[] = { | ||
197 | [REGSET_GENERAL] = { | ||
198 | .core_note_type = NT_PRSTATUS, | ||
199 | .n = sizeof(struct pt_regs) / sizeof(long), | ||
200 | .size = sizeof(long), | ||
201 | .align = sizeof(long), | ||
202 | .get = genregs_get, | ||
203 | .set = genregs_set, | ||
204 | }, | ||
205 | }; | ||
206 | |||
207 | static const struct user_regset_view user_bfin_native_view = { | ||
208 | .name = "Blackfin", | ||
209 | .e_machine = EM_BLACKFIN, | ||
210 | .regsets = bfin_regsets, | ||
211 | .n = ARRAY_SIZE(bfin_regsets), | ||
212 | }; | ||
213 | |||
214 | const struct user_regset_view *task_user_regset_view(struct task_struct *task) | ||
215 | { | ||
216 | return &user_bfin_native_view; | ||
217 | } | ||
218 | |||
219 | void user_enable_single_step(struct task_struct *child) | ||
220 | { | ||
221 | struct pt_regs *regs = task_pt_regs(child); | ||
222 | regs->syscfg |= SYSCFG_SSSTEP; | ||
223 | |||
224 | set_tsk_thread_flag(child, TIF_SINGLESTEP); | ||
225 | } | ||
226 | |||
227 | void user_disable_single_step(struct task_struct *child) | ||
176 | { | 228 | { |
177 | unsigned long tmp; | 229 | struct pt_regs *regs = task_pt_regs(child); |
178 | /* make sure the single step bit is not set. */ | 230 | regs->syscfg &= ~SYSCFG_SSSTEP; |
179 | tmp = get_reg(child, PT_SYSCFG) & ~TRACE_BITS; | 231 | |
180 | put_reg(child, PT_SYSCFG, tmp); | 232 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); |
181 | } | 233 | } |
182 | 234 | ||
183 | long arch_ptrace(struct task_struct *child, long request, long addr, long data) | 235 | long arch_ptrace(struct task_struct *child, long request, long addr, long data) |
@@ -240,40 +292,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
240 | break; | 292 | break; |
241 | } | 293 | } |
242 | 294 | ||
243 | /* read the word at location addr in the USER area. */ | ||
244 | case PTRACE_PEEKUSR: | ||
245 | { | ||
246 | unsigned long tmp; | ||
247 | ret = -EIO; | ||
248 | tmp = 0; | ||
249 | if ((addr & 3) || (addr > (sizeof(struct pt_regs) + 16))) { | ||
250 | printk(KERN_WARNING "ptrace error : PEEKUSR : temporarily returning " | ||
251 | "0 - %x sizeof(pt_regs) is %lx\n", | ||
252 | (int)addr, sizeof(struct pt_regs)); | ||
253 | break; | ||
254 | } | ||
255 | if (addr == sizeof(struct pt_regs)) { | ||
256 | /* PT_TEXT_ADDR */ | ||
257 | tmp = child->mm->start_code + TEXT_OFFSET; | ||
258 | } else if (addr == (sizeof(struct pt_regs) + 4)) { | ||
259 | /* PT_TEXT_END_ADDR */ | ||
260 | tmp = child->mm->end_code; | ||
261 | } else if (addr == (sizeof(struct pt_regs) + 8)) { | ||
262 | /* PT_DATA_ADDR */ | ||
263 | tmp = child->mm->start_data; | ||
264 | #ifdef CONFIG_BINFMT_ELF_FDPIC | ||
265 | } else if (addr == (sizeof(struct pt_regs) + 12)) { | ||
266 | goto case_PTRACE_GETFDPIC_EXEC; | ||
267 | } else if (addr == (sizeof(struct pt_regs) + 16)) { | ||
268 | goto case_PTRACE_GETFDPIC_INTERP; | ||
269 | #endif | ||
270 | } else { | ||
271 | tmp = get_reg(child, addr); | ||
272 | } | ||
273 | ret = put_user(tmp, datap); | ||
274 | break; | ||
275 | } | ||
276 | |||
277 | #ifdef CONFIG_BINFMT_ELF_FDPIC | 295 | #ifdef CONFIG_BINFMT_ELF_FDPIC |
278 | case PTRACE_GETFDPIC: { | 296 | case PTRACE_GETFDPIC: { |
279 | unsigned long tmp = 0; | 297 | unsigned long tmp = 0; |
@@ -336,78 +354,36 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
336 | break; | 354 | break; |
337 | } | 355 | } |
338 | 356 | ||
339 | case PTRACE_POKEUSR: /* write the word at location addr in the USER area */ | 357 | case PTRACE_PEEKUSR: |
340 | ret = -EIO; | 358 | switch (addr) { |
341 | if ((addr & 3) || (addr > (sizeof(struct pt_regs) + 16))) { | 359 | #ifdef CONFIG_BINFMT_ELF_FDPIC /* backwards compat */ |
342 | printk(KERN_WARNING "ptrace error : POKEUSR: temporarily returning 0\n"); | 360 | case PT_FDPIC_EXEC: goto case_PTRACE_GETFDPIC_EXEC; |
343 | break; | 361 | case PT_FDPIC_INTERP: goto case_PTRACE_GETFDPIC_INTERP; |
344 | } | 362 | #endif |
345 | 363 | default: | |
346 | if (addr >= (sizeof(struct pt_regs))) { | 364 | ret = get_reg(child, addr, datap); |
347 | ret = 0; | ||
348 | break; | ||
349 | } | ||
350 | if (addr == PT_SYSCFG) { | ||
351 | data &= SYSCFG_MASK; | ||
352 | data |= get_reg(child, PT_SYSCFG); | ||
353 | } | 365 | } |
354 | ret = put_reg(child, addr, data); | 366 | pr_debug("ptrace: PEEKUSR reg %li with %#lx = %i\n", addr, data, ret); |
355 | break; | 367 | break; |
356 | 368 | ||
357 | case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall */ | 369 | case PTRACE_POKEUSR: |
358 | case PTRACE_CONT: /* restart after signal. */ | 370 | ret = put_reg(child, addr, data); |
359 | pr_debug("ptrace: syscall/cont\n"); | 371 | pr_debug("ptrace: POKEUSR reg %li with %li = %i\n", addr, data, ret); |
360 | |||
361 | ret = -EIO; | ||
362 | if (!valid_signal(data)) | ||
363 | break; | ||
364 | if (request == PTRACE_SYSCALL) | ||
365 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
366 | else | ||
367 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
368 | child->exit_code = data; | ||
369 | ptrace_disable(child); | ||
370 | pr_debug("ptrace: before wake_up_process\n"); | ||
371 | wake_up_process(child); | ||
372 | ret = 0; | ||
373 | break; | ||
374 | |||
375 | /* | ||
376 | * make the child exit. Best I can do is send it a sigkill. | ||
377 | * perhaps it should be put in the status that it wants to | ||
378 | * exit. | ||
379 | */ | ||
380 | case PTRACE_KILL: | ||
381 | ret = 0; | ||
382 | if (child->exit_state == EXIT_ZOMBIE) /* already dead */ | ||
383 | break; | ||
384 | child->exit_code = SIGKILL; | ||
385 | ptrace_disable(child); | ||
386 | wake_up_process(child); | ||
387 | break; | ||
388 | |||
389 | case PTRACE_SINGLESTEP: /* set the trap flag. */ | ||
390 | pr_debug("ptrace: single step\n"); | ||
391 | ret = -EIO; | ||
392 | if (!valid_signal(data)) | ||
393 | break; | ||
394 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
395 | ptrace_enable(child); | ||
396 | child->exit_code = data; | ||
397 | wake_up_process(child); | ||
398 | ret = 0; | ||
399 | break; | 372 | break; |
400 | 373 | ||
401 | case PTRACE_GETREGS: | 374 | case PTRACE_GETREGS: |
402 | /* Get all gp regs from the child. */ | 375 | pr_debug("ptrace: PTRACE_GETREGS\n"); |
403 | ret = ptrace_getregs(child, datap); | 376 | return copy_regset_to_user(child, &user_bfin_native_view, |
404 | break; | 377 | REGSET_GENERAL, |
378 | 0, sizeof(struct pt_regs), | ||
379 | (void __user *)data); | ||
405 | 380 | ||
406 | case PTRACE_SETREGS: | 381 | case PTRACE_SETREGS: |
407 | printk(KERN_WARNING "ptrace: SETREGS: **** NOT IMPLEMENTED ***\n"); | 382 | pr_debug("ptrace: PTRACE_SETREGS\n"); |
408 | /* Set all gp regs in the child. */ | 383 | return copy_regset_from_user(child, &user_bfin_native_view, |
409 | ret = 0; | 384 | REGSET_GENERAL, |
410 | break; | 385 | 0, sizeof(struct pt_regs), |
386 | (const void __user *)data); | ||
411 | 387 | ||
412 | default: | 388 | default: |
413 | ret = ptrace_request(child, request, addr, data); | 389 | ret = ptrace_request(child, request, addr, data); |
@@ -417,27 +393,21 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
417 | return ret; | 393 | return ret; |
418 | } | 394 | } |
419 | 395 | ||
420 | asmlinkage void syscall_trace(void) | 396 | asmlinkage int syscall_trace_enter(struct pt_regs *regs) |
421 | { | 397 | { |
422 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) | 398 | int ret = 0; |
423 | return; | 399 | |
424 | 400 | if (test_thread_flag(TIF_SYSCALL_TRACE)) | |
425 | if (!(current->ptrace & PT_PTRACED)) | 401 | ret = tracehook_report_syscall_entry(regs); |
426 | return; | 402 | |
427 | 403 | return ret; | |
428 | /* the 0x80 provides a way for the tracing parent to distinguish | 404 | } |
429 | * between a syscall stop and SIGTRAP delivery | 405 | |
430 | */ | 406 | asmlinkage void syscall_trace_leave(struct pt_regs *regs) |
431 | ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) | 407 | { |
432 | ? 0x80 : 0)); | 408 | int step; |
433 | 409 | ||
434 | /* | 410 | step = test_thread_flag(TIF_SINGLESTEP); |
435 | * this isn't the same as continuing with a signal, but it will do | 411 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) |
436 | * for normal use. strace only continues with a signal if the | 412 | tracehook_report_syscall_exit(regs, step); |
437 | * stopping signal is not SIGTRAP. -brl | ||
438 | */ | ||
439 | if (current->exit_code) { | ||
440 | send_sig(current->exit_code, current, 1); | ||
441 | current->exit_code = 0; | ||
442 | } | ||
443 | } | 413 | } |
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 95448ae9c43a..8e2efceb364b 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -220,6 +220,16 @@ void __init bfin_relocate_l1_mem(void) | |||
220 | memcpy(_stext_l2, _l2_lma, l2_len); | 220 | memcpy(_stext_l2, _l2_lma, l2_len); |
221 | } | 221 | } |
222 | 222 | ||
223 | #ifdef CONFIG_ROMKERNEL | ||
224 | void __init bfin_relocate_xip_data(void) | ||
225 | { | ||
226 | early_shadow_stamp(); | ||
227 | |||
228 | memcpy(_sdata, _data_lma, (unsigned long)_data_len - THREAD_SIZE + sizeof(struct thread_info)); | ||
229 | memcpy(_sinitdata, _init_data_lma, (unsigned long)_init_data_len); | ||
230 | } | ||
231 | #endif | ||
232 | |||
223 | /* add_memory_region to memmap */ | 233 | /* add_memory_region to memmap */ |
224 | static void __init add_memory_region(unsigned long long start, | 234 | static void __init add_memory_region(unsigned long long start, |
225 | unsigned long long size, int type) | 235 | unsigned long long size, int type) |
@@ -504,7 +514,7 @@ static __init void memory_setup(void) | |||
504 | #endif | 514 | #endif |
505 | unsigned long max_mem; | 515 | unsigned long max_mem; |
506 | 516 | ||
507 | _rambase = (unsigned long)_stext; | 517 | _rambase = CONFIG_BOOT_LOAD; |
508 | _ramstart = (unsigned long)_end; | 518 | _ramstart = (unsigned long)_end; |
509 | 519 | ||
510 | if (DMA_UNCACHED_REGION > (_ramend - _ramstart)) { | 520 | if (DMA_UNCACHED_REGION > (_ramend - _ramstart)) { |
@@ -597,7 +607,12 @@ static __init void memory_setup(void) | |||
597 | } | 607 | } |
598 | 608 | ||
599 | #ifdef CONFIG_MPU | 609 | #ifdef CONFIG_MPU |
610 | #if defined(CONFIG_ROMFS_ON_MTD) && defined(CONFIG_MTD_ROM) | ||
611 | page_mask_nelts = (((_ramend + ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE - | ||
612 | ASYNC_BANK0_BASE) >> PAGE_SHIFT) + 31) / 32; | ||
613 | #else | ||
600 | page_mask_nelts = ((_ramend >> PAGE_SHIFT) + 31) / 32; | 614 | page_mask_nelts = ((_ramend >> PAGE_SHIFT) + 31) / 32; |
615 | #endif | ||
601 | page_mask_order = get_order(3 * page_mask_nelts * sizeof(long)); | 616 | page_mask_order = get_order(3 * page_mask_nelts * sizeof(long)); |
602 | #endif | 617 | #endif |
603 | 618 | ||
@@ -630,7 +645,7 @@ static __init void memory_setup(void) | |||
630 | __bss_start, __bss_stop, | 645 | __bss_start, __bss_stop, |
631 | _sdata, _edata, | 646 | _sdata, _edata, |
632 | (void *)&init_thread_union, | 647 | (void *)&init_thread_union, |
633 | (void *)((int)(&init_thread_union) + 0x2000), | 648 | (void *)((int)(&init_thread_union) + THREAD_SIZE), |
634 | __init_begin, __init_end, | 649 | __init_begin, __init_end, |
635 | (void *)_ramstart, (void *)memory_end | 650 | (void *)_ramstart, (void *)memory_end |
636 | #ifdef CONFIG_MTD_UCLINUX | 651 | #ifdef CONFIG_MTD_UCLINUX |
@@ -792,10 +807,17 @@ static inline int __init get_mem_size(void) | |||
792 | BUG(); | 807 | BUG(); |
793 | } | 808 | } |
794 | 809 | ||
810 | __attribute__((weak)) | ||
811 | void __init native_machine_early_platform_add_devices(void) | ||
812 | { | ||
813 | } | ||
814 | |||
795 | void __init setup_arch(char **cmdline_p) | 815 | void __init setup_arch(char **cmdline_p) |
796 | { | 816 | { |
797 | unsigned long sclk, cclk; | 817 | unsigned long sclk, cclk; |
798 | 818 | ||
819 | native_machine_early_platform_add_devices(); | ||
820 | |||
799 | enable_shadow_console(); | 821 | enable_shadow_console(); |
800 | 822 | ||
801 | /* Check to make sure we are running on the right processor */ | 823 | /* Check to make sure we are running on the right processor */ |
@@ -1217,10 +1239,10 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
1217 | dsup_banks, BFIN_DSUBBANKS, BFIN_DWAYS, | 1239 | dsup_banks, BFIN_DSUBBANKS, BFIN_DWAYS, |
1218 | BFIN_DLINES); | 1240 | BFIN_DLINES); |
1219 | #ifdef __ARCH_SYNC_CORE_DCACHE | 1241 | #ifdef __ARCH_SYNC_CORE_DCACHE |
1220 | seq_printf(m, "SMP Dcache Flushes\t: %lu\n\n", cpudata->dcache_invld_count); | 1242 | seq_printf(m, "SMP Dcache Flushes\t: %lu\n\n", dcache_invld_count[cpu_num]); |
1221 | #endif | 1243 | #endif |
1222 | #ifdef __ARCH_SYNC_CORE_ICACHE | 1244 | #ifdef __ARCH_SYNC_CORE_ICACHE |
1223 | seq_printf(m, "SMP Icache Flushes\t: %lu\n\n", cpudata->icache_invld_count); | 1245 | seq_printf(m, "SMP Icache Flushes\t: %lu\n\n", icache_invld_count[cpu_num]); |
1224 | #endif | 1246 | #endif |
1225 | 1247 | ||
1226 | if (cpu_num != num_possible_cpus() - 1) | 1248 | if (cpu_num != num_possible_cpus() - 1) |
@@ -1249,8 +1271,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
1249 | seq_printf(m, "board memory\t: %ld kB (0x%p -> 0x%p)\n", | 1271 | seq_printf(m, "board memory\t: %ld kB (0x%p -> 0x%p)\n", |
1250 | physical_mem_end >> 10, (void *)0, (void *)physical_mem_end); | 1272 | physical_mem_end >> 10, (void *)0, (void *)physical_mem_end); |
1251 | seq_printf(m, "kernel memory\t: %d kB (0x%p -> 0x%p)\n", | 1273 | seq_printf(m, "kernel memory\t: %d kB (0x%p -> 0x%p)\n", |
1252 | ((int)memory_end - (int)_stext) >> 10, | 1274 | ((int)memory_end - (int)_rambase) >> 10, |
1253 | _stext, | 1275 | (void *)_rambase, |
1254 | (void *)memory_end); | 1276 | (void *)memory_end); |
1255 | seq_printf(m, "\n"); | 1277 | seq_printf(m, "\n"); |
1256 | 1278 | ||
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index e0fd63e9e38a..d536f35d1f43 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2004-2009 Analog Devices Inc. | 2 | * Copyright 2004-2010 Analog Devices Inc. |
3 | * | 3 | * |
4 | * Licensed under the GPL-2 or later | 4 | * Licensed under the GPL-2 or later |
5 | */ | 5 | */ |
@@ -17,6 +17,7 @@ | |||
17 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
18 | #include <asm/ucontext.h> | 18 | #include <asm/ucontext.h> |
19 | #include <asm/fixed_code.h> | 19 | #include <asm/fixed_code.h> |
20 | #include <asm/syscall.h> | ||
20 | 21 | ||
21 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | 22 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) |
22 | 23 | ||
@@ -50,6 +51,9 @@ rt_restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *p | |||
50 | unsigned long usp = 0; | 51 | unsigned long usp = 0; |
51 | int err = 0; | 52 | int err = 0; |
52 | 53 | ||
54 | /* Always make any pending restarted system calls return -EINTR */ | ||
55 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | ||
56 | |||
53 | #define RESTORE(x) err |= __get_user(regs->x, &sc->sc_##x) | 57 | #define RESTORE(x) err |= __get_user(regs->x, &sc->sc_##x) |
54 | 58 | ||
55 | /* restore passed registers */ | 59 | /* restore passed registers */ |
@@ -206,16 +210,6 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info, | |||
206 | regs->r1 = (unsigned long)(&frame->info); | 210 | regs->r1 = (unsigned long)(&frame->info); |
207 | regs->r2 = (unsigned long)(&frame->uc); | 211 | regs->r2 = (unsigned long)(&frame->uc); |
208 | 212 | ||
209 | /* | ||
210 | * Clear the trace flag when entering the signal handler, but | ||
211 | * notify any tracer that was single-stepping it. The tracer | ||
212 | * may want to single-step inside the handler too. | ||
213 | */ | ||
214 | if (regs->syscfg & TRACE_BITS) { | ||
215 | regs->syscfg &= ~TRACE_BITS; | ||
216 | ptrace_notify(SIGTRAP); | ||
217 | } | ||
218 | |||
219 | return 0; | 213 | return 0; |
220 | 214 | ||
221 | give_sigsegv: | 215 | give_sigsegv: |
@@ -247,6 +241,11 @@ handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) | |||
247 | regs->r0 = regs->orig_r0; | 241 | regs->r0 = regs->orig_r0; |
248 | regs->pc -= 2; | 242 | regs->pc -= 2; |
249 | break; | 243 | break; |
244 | |||
245 | case -ERESTART_RESTARTBLOCK: | ||
246 | regs->p0 = __NR_restart_syscall; | ||
247 | regs->pc -= 2; | ||
248 | break; | ||
250 | } | 249 | } |
251 | } | 250 | } |
252 | 251 | ||
@@ -315,6 +314,9 @@ asmlinkage void do_signal(struct pt_regs *regs) | |||
315 | * clear the TIF_RESTORE_SIGMASK flag */ | 314 | * clear the TIF_RESTORE_SIGMASK flag */ |
316 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 315 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
317 | clear_thread_flag(TIF_RESTORE_SIGMASK); | 316 | clear_thread_flag(TIF_RESTORE_SIGMASK); |
317 | |||
318 | tracehook_signal_handler(signr, &info, &ka, regs, | ||
319 | test_thread_flag(TIF_SINGLESTEP)); | ||
318 | } | 320 | } |
319 | 321 | ||
320 | return; | 322 | return; |
diff --git a/arch/blackfin/kernel/time-ts.c b/arch/blackfin/kernel/time-ts.c index 17c38c5b5b22..cb7a01d4f009 100644 --- a/arch/blackfin/kernel/time-ts.c +++ b/arch/blackfin/kernel/time-ts.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/blackfin.h> | 21 | #include <asm/blackfin.h> |
22 | #include <asm/time.h> | 22 | #include <asm/time.h> |
23 | #include <asm/gptimers.h> | 23 | #include <asm/gptimers.h> |
24 | #include <asm/nmi.h> | ||
24 | 25 | ||
25 | /* Accelerators for sched_clock() | 26 | /* Accelerators for sched_clock() |
26 | * convert from cycles(64bits) => nanoseconds (64bits) | 27 | * convert from cycles(64bits) => nanoseconds (64bits) |
@@ -50,7 +51,11 @@ | |||
50 | 51 | ||
51 | static notrace cycle_t bfin_read_cycles(struct clocksource *cs) | 52 | static notrace cycle_t bfin_read_cycles(struct clocksource *cs) |
52 | { | 53 | { |
54 | #ifdef CONFIG_CPU_FREQ | ||
53 | return __bfin_cycles_off + (get_cycles() << __bfin_cycles_mod); | 55 | return __bfin_cycles_off + (get_cycles() << __bfin_cycles_mod); |
56 | #else | ||
57 | return get_cycles(); | ||
58 | #endif | ||
54 | } | 59 | } |
55 | 60 | ||
56 | static struct clocksource bfin_cs_cycles = { | 61 | static struct clocksource bfin_cs_cycles = { |
@@ -132,7 +137,6 @@ static int __init bfin_cs_gptimer0_init(void) | |||
132 | # define bfin_cs_gptimer0_init() | 137 | # define bfin_cs_gptimer0_init() |
133 | #endif | 138 | #endif |
134 | 139 | ||
135 | |||
136 | #if defined(CONFIG_GPTMR0_CLOCKSOURCE) || defined(CONFIG_CYCLES_CLOCKSOURCE) | 140 | #if defined(CONFIG_GPTMR0_CLOCKSOURCE) || defined(CONFIG_CYCLES_CLOCKSOURCE) |
137 | /* prefer to use cycles since it has higher rating */ | 141 | /* prefer to use cycles since it has higher rating */ |
138 | notrace unsigned long long sched_clock(void) | 142 | notrace unsigned long long sched_clock(void) |
@@ -145,47 +149,8 @@ notrace unsigned long long sched_clock(void) | |||
145 | } | 149 | } |
146 | #endif | 150 | #endif |
147 | 151 | ||
148 | #ifdef CONFIG_CORE_TIMER_IRQ_L1 | ||
149 | __attribute__((l1_text)) | ||
150 | #endif | ||
151 | irqreturn_t timer_interrupt(int irq, void *dev_id); | ||
152 | |||
153 | static int bfin_timer_set_next_event(unsigned long, \ | ||
154 | struct clock_event_device *); | ||
155 | |||
156 | static void bfin_timer_set_mode(enum clock_event_mode, \ | ||
157 | struct clock_event_device *); | ||
158 | |||
159 | static struct clock_event_device clockevent_bfin = { | ||
160 | #if defined(CONFIG_TICKSOURCE_GPTMR0) | ||
161 | .name = "bfin_gptimer0", | ||
162 | .rating = 300, | ||
163 | .irq = IRQ_TIMER0, | ||
164 | #else | ||
165 | .name = "bfin_core_timer", | ||
166 | .rating = 350, | ||
167 | .irq = IRQ_CORETMR, | ||
168 | #endif | ||
169 | .shift = 32, | ||
170 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | ||
171 | .set_next_event = bfin_timer_set_next_event, | ||
172 | .set_mode = bfin_timer_set_mode, | ||
173 | }; | ||
174 | |||
175 | static struct irqaction bfin_timer_irq = { | ||
176 | #if defined(CONFIG_TICKSOURCE_GPTMR0) | ||
177 | .name = "Blackfin GPTimer0", | ||
178 | #else | ||
179 | .name = "Blackfin CoreTimer", | ||
180 | #endif | ||
181 | .flags = IRQF_DISABLED | IRQF_TIMER | \ | ||
182 | IRQF_IRQPOLL | IRQF_PERCPU, | ||
183 | .handler = timer_interrupt, | ||
184 | .dev_id = &clockevent_bfin, | ||
185 | }; | ||
186 | |||
187 | #if defined(CONFIG_TICKSOURCE_GPTMR0) | 152 | #if defined(CONFIG_TICKSOURCE_GPTMR0) |
188 | static int bfin_timer_set_next_event(unsigned long cycles, | 153 | static int bfin_gptmr0_set_next_event(unsigned long cycles, |
189 | struct clock_event_device *evt) | 154 | struct clock_event_device *evt) |
190 | { | 155 | { |
191 | disable_gptimers(TIMER0bit); | 156 | disable_gptimers(TIMER0bit); |
@@ -196,7 +161,7 @@ static int bfin_timer_set_next_event(unsigned long cycles, | |||
196 | return 0; | 161 | return 0; |
197 | } | 162 | } |
198 | 163 | ||
199 | static void bfin_timer_set_mode(enum clock_event_mode mode, | 164 | static void bfin_gptmr0_set_mode(enum clock_event_mode mode, |
200 | struct clock_event_device *evt) | 165 | struct clock_event_device *evt) |
201 | { | 166 | { |
202 | switch (mode) { | 167 | switch (mode) { |
@@ -224,25 +189,65 @@ static void bfin_timer_set_mode(enum clock_event_mode mode, | |||
224 | } | 189 | } |
225 | } | 190 | } |
226 | 191 | ||
227 | static void bfin_timer_ack(void) | 192 | static void bfin_gptmr0_ack(void) |
228 | { | 193 | { |
229 | set_gptimer_status(TIMER_GROUP1, TIMER_STATUS_TIMIL0); | 194 | set_gptimer_status(TIMER_GROUP1, TIMER_STATUS_TIMIL0); |
230 | } | 195 | } |
231 | 196 | ||
232 | static void __init bfin_timer_init(void) | 197 | static void __init bfin_gptmr0_init(void) |
233 | { | 198 | { |
234 | disable_gptimers(TIMER0bit); | 199 | disable_gptimers(TIMER0bit); |
235 | } | 200 | } |
236 | 201 | ||
237 | static unsigned long __init bfin_clockevent_check(void) | 202 | #ifdef CONFIG_CORE_TIMER_IRQ_L1 |
203 | __attribute__((l1_text)) | ||
204 | #endif | ||
205 | irqreturn_t bfin_gptmr0_interrupt(int irq, void *dev_id) | ||
238 | { | 206 | { |
239 | setup_irq(IRQ_TIMER0, &bfin_timer_irq); | 207 | struct clock_event_device *evt = dev_id; |
240 | return get_sclk(); | 208 | smp_mb(); |
209 | evt->event_handler(evt); | ||
210 | bfin_gptmr0_ack(); | ||
211 | return IRQ_HANDLED; | ||
241 | } | 212 | } |
242 | 213 | ||
243 | #else /* CONFIG_TICKSOURCE_CORETMR */ | 214 | static struct irqaction gptmr0_irq = { |
215 | .name = "Blackfin GPTimer0", | ||
216 | .flags = IRQF_DISABLED | IRQF_TIMER | \ | ||
217 | IRQF_IRQPOLL | IRQF_PERCPU, | ||
218 | .handler = bfin_gptmr0_interrupt, | ||
219 | }; | ||
244 | 220 | ||
245 | static int bfin_timer_set_next_event(unsigned long cycles, | 221 | static struct clock_event_device clockevent_gptmr0 = { |
222 | .name = "bfin_gptimer0", | ||
223 | .rating = 300, | ||
224 | .irq = IRQ_TIMER0, | ||
225 | .shift = 32, | ||
226 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | ||
227 | .set_next_event = bfin_gptmr0_set_next_event, | ||
228 | .set_mode = bfin_gptmr0_set_mode, | ||
229 | }; | ||
230 | |||
231 | static void __init bfin_gptmr0_clockevent_init(struct clock_event_device *evt) | ||
232 | { | ||
233 | unsigned long clock_tick; | ||
234 | |||
235 | clock_tick = get_sclk(); | ||
236 | evt->mult = div_sc(clock_tick, NSEC_PER_SEC, evt->shift); | ||
237 | evt->max_delta_ns = clockevent_delta2ns(-1, evt); | ||
238 | evt->min_delta_ns = clockevent_delta2ns(100, evt); | ||
239 | |||
240 | evt->cpumask = cpumask_of(0); | ||
241 | |||
242 | clockevents_register_device(evt); | ||
243 | } | ||
244 | #endif /* CONFIG_TICKSOURCE_GPTMR0 */ | ||
245 | |||
246 | #if defined(CONFIG_TICKSOURCE_CORETMR) | ||
247 | /* per-cpu local core timer */ | ||
248 | static DEFINE_PER_CPU(struct clock_event_device, coretmr_events); | ||
249 | |||
250 | static int bfin_coretmr_set_next_event(unsigned long cycles, | ||
246 | struct clock_event_device *evt) | 251 | struct clock_event_device *evt) |
247 | { | 252 | { |
248 | bfin_write_TCNTL(TMPWR); | 253 | bfin_write_TCNTL(TMPWR); |
@@ -253,7 +258,7 @@ static int bfin_timer_set_next_event(unsigned long cycles, | |||
253 | return 0; | 258 | return 0; |
254 | } | 259 | } |
255 | 260 | ||
256 | static void bfin_timer_set_mode(enum clock_event_mode mode, | 261 | static void bfin_coretmr_set_mode(enum clock_event_mode mode, |
257 | struct clock_event_device *evt) | 262 | struct clock_event_device *evt) |
258 | { | 263 | { |
259 | switch (mode) { | 264 | switch (mode) { |
@@ -285,19 +290,13 @@ static void bfin_timer_set_mode(enum clock_event_mode mode, | |||
285 | } | 290 | } |
286 | } | 291 | } |
287 | 292 | ||
288 | static void bfin_timer_ack(void) | 293 | void bfin_coretmr_init(void) |
289 | { | ||
290 | } | ||
291 | |||
292 | static void __init bfin_timer_init(void) | ||
293 | { | 294 | { |
294 | /* power up the timer, but don't enable it just yet */ | 295 | /* power up the timer, but don't enable it just yet */ |
295 | bfin_write_TCNTL(TMPWR); | 296 | bfin_write_TCNTL(TMPWR); |
296 | CSYNC(); | 297 | CSYNC(); |
297 | 298 | ||
298 | /* | 299 | /* the TSCALE prescaler counter. */ |
299 | * the TSCALE prescaler counter. | ||
300 | */ | ||
301 | bfin_write_TSCALE(TIME_SCALE - 1); | 300 | bfin_write_TSCALE(TIME_SCALE - 1); |
302 | bfin_write_TPERIOD(0); | 301 | bfin_write_TPERIOD(0); |
303 | bfin_write_TCOUNT(0); | 302 | bfin_write_TCOUNT(0); |
@@ -305,48 +304,54 @@ static void __init bfin_timer_init(void) | |||
305 | CSYNC(); | 304 | CSYNC(); |
306 | } | 305 | } |
307 | 306 | ||
308 | static unsigned long __init bfin_clockevent_check(void) | 307 | #ifdef CONFIG_CORE_TIMER_IRQ_L1 |
309 | { | 308 | __attribute__((l1_text)) |
310 | setup_irq(IRQ_CORETMR, &bfin_timer_irq); | 309 | #endif |
311 | return get_cclk() / TIME_SCALE; | 310 | irqreturn_t bfin_coretmr_interrupt(int irq, void *dev_id) |
312 | } | ||
313 | |||
314 | void __init setup_core_timer(void) | ||
315 | { | 311 | { |
316 | bfin_timer_init(); | 312 | int cpu = smp_processor_id(); |
317 | bfin_timer_set_mode(CLOCK_EVT_MODE_PERIODIC, NULL); | 313 | struct clock_event_device *evt = &per_cpu(coretmr_events, cpu); |
318 | } | ||
319 | #endif /* CONFIG_TICKSOURCE_GPTMR0 */ | ||
320 | 314 | ||
321 | /* | ||
322 | * timer_interrupt() needs to keep up the real-time clock, | ||
323 | * as well as call the "do_timer()" routine every clocktick | ||
324 | */ | ||
325 | irqreturn_t timer_interrupt(int irq, void *dev_id) | ||
326 | { | ||
327 | struct clock_event_device *evt = dev_id; | ||
328 | smp_mb(); | 315 | smp_mb(); |
329 | evt->event_handler(evt); | 316 | evt->event_handler(evt); |
330 | bfin_timer_ack(); | ||
331 | return IRQ_HANDLED; | ||
332 | } | ||
333 | |||
334 | static int __init bfin_clockevent_init(void) | ||
335 | { | ||
336 | unsigned long timer_clk; | ||
337 | 317 | ||
338 | timer_clk = bfin_clockevent_check(); | 318 | touch_nmi_watchdog(); |
339 | 319 | ||
340 | bfin_timer_init(); | 320 | return IRQ_HANDLED; |
321 | } | ||
341 | 322 | ||
342 | clockevent_bfin.mult = div_sc(timer_clk, NSEC_PER_SEC, clockevent_bfin.shift); | 323 | static struct irqaction coretmr_irq = { |
343 | clockevent_bfin.max_delta_ns = clockevent_delta2ns(-1, &clockevent_bfin); | 324 | .name = "Blackfin CoreTimer", |
344 | clockevent_bfin.min_delta_ns = clockevent_delta2ns(100, &clockevent_bfin); | 325 | .flags = IRQF_DISABLED | IRQF_TIMER | \ |
345 | clockevent_bfin.cpumask = cpumask_of(0); | 326 | IRQF_IRQPOLL | IRQF_PERCPU, |
346 | clockevents_register_device(&clockevent_bfin); | 327 | .handler = bfin_coretmr_interrupt, |
328 | }; | ||
347 | 329 | ||
348 | return 0; | 330 | void bfin_coretmr_clockevent_init(void) |
331 | { | ||
332 | unsigned long clock_tick; | ||
333 | unsigned int cpu = smp_processor_id(); | ||
334 | struct clock_event_device *evt = &per_cpu(coretmr_events, cpu); | ||
335 | |||
336 | evt->name = "bfin_core_timer"; | ||
337 | evt->rating = 350; | ||
338 | evt->irq = -1; | ||
339 | evt->shift = 32; | ||
340 | evt->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT; | ||
341 | evt->set_next_event = bfin_coretmr_set_next_event; | ||
342 | evt->set_mode = bfin_coretmr_set_mode; | ||
343 | |||
344 | clock_tick = get_cclk() / TIME_SCALE; | ||
345 | evt->mult = div_sc(clock_tick, NSEC_PER_SEC, evt->shift); | ||
346 | evt->max_delta_ns = clockevent_delta2ns(-1, evt); | ||
347 | evt->min_delta_ns = clockevent_delta2ns(100, evt); | ||
348 | |||
349 | evt->cpumask = cpumask_of(cpu); | ||
350 | |||
351 | clockevents_register_device(evt); | ||
349 | } | 352 | } |
353 | #endif /* CONFIG_TICKSOURCE_CORETMR */ | ||
354 | |||
350 | 355 | ||
351 | void __init time_init(void) | 356 | void __init time_init(void) |
352 | { | 357 | { |
@@ -370,5 +375,21 @@ void __init time_init(void) | |||
370 | 375 | ||
371 | bfin_cs_cycles_init(); | 376 | bfin_cs_cycles_init(); |
372 | bfin_cs_gptimer0_init(); | 377 | bfin_cs_gptimer0_init(); |
373 | bfin_clockevent_init(); | 378 | |
379 | #if defined(CONFIG_TICKSOURCE_CORETMR) | ||
380 | bfin_coretmr_init(); | ||
381 | setup_irq(IRQ_CORETMR, &coretmr_irq); | ||
382 | bfin_coretmr_clockevent_init(); | ||
383 | #endif | ||
384 | |||
385 | #if defined(CONFIG_TICKSOURCE_GPTMR0) | ||
386 | bfin_gptmr0_init(); | ||
387 | setup_irq(IRQ_TIMER0, &gptmr0_irq); | ||
388 | gptmr0_irq.dev_id = &clockevent_gptmr0; | ||
389 | bfin_gptmr0_clockevent_init(&clockevent_gptmr0); | ||
390 | #endif | ||
391 | |||
392 | #if !defined(CONFIG_TICKSOURCE_CORETMR) && !defined(CONFIG_TICKSOURCE_GPTMR0) | ||
393 | # error at least one clock event device is required | ||
394 | #endif | ||
374 | } | 395 | } |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index d3cbcd6bd985..ba70c4bc2699 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -138,6 +138,12 @@ static void decode_address(char *buf, unsigned long address) | |||
138 | if (!mm) | 138 | if (!mm) |
139 | continue; | 139 | continue; |
140 | 140 | ||
141 | if (!down_read_trylock(&mm->mmap_sem)) { | ||
142 | if (!in_atomic) | ||
143 | mmput(mm); | ||
144 | continue; | ||
145 | } | ||
146 | |||
141 | for (n = rb_first(&mm->mm_rb); n; n = rb_next(n)) { | 147 | for (n = rb_first(&mm->mm_rb); n; n = rb_next(n)) { |
142 | struct vm_area_struct *vma; | 148 | struct vm_area_struct *vma; |
143 | 149 | ||
@@ -177,6 +183,7 @@ static void decode_address(char *buf, unsigned long address) | |||
177 | sprintf(buf, "[ %s vma:0x%lx-0x%lx]", | 183 | sprintf(buf, "[ %s vma:0x%lx-0x%lx]", |
178 | name, vma->vm_start, vma->vm_end); | 184 | name, vma->vm_start, vma->vm_end); |
179 | 185 | ||
186 | up_read(&mm->mmap_sem); | ||
180 | if (!in_atomic) | 187 | if (!in_atomic) |
181 | mmput(mm); | 188 | mmput(mm); |
182 | 189 | ||
@@ -186,11 +193,16 @@ static void decode_address(char *buf, unsigned long address) | |||
186 | goto done; | 193 | goto done; |
187 | } | 194 | } |
188 | } | 195 | } |
196 | |||
197 | up_read(&mm->mmap_sem); | ||
189 | if (!in_atomic) | 198 | if (!in_atomic) |
190 | mmput(mm); | 199 | mmput(mm); |
191 | } | 200 | } |
192 | 201 | ||
193 | /* we were unable to find this address anywhere */ | 202 | /* |
203 | * we were unable to find this address anywhere, | ||
204 | * or some MMs were skipped because they were in use. | ||
205 | */ | ||
194 | sprintf(buf, "/* kernel dynamic memory */"); | 206 | sprintf(buf, "/* kernel dynamic memory */"); |
195 | 207 | ||
196 | done: | 208 | done: |
@@ -248,9 +260,7 @@ asmlinkage notrace void trap_c(struct pt_regs *fp) | |||
248 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON | 260 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON |
249 | int j; | 261 | int j; |
250 | #endif | 262 | #endif |
251 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO | ||
252 | unsigned int cpu = raw_smp_processor_id(); | 263 | unsigned int cpu = raw_smp_processor_id(); |
253 | #endif | ||
254 | const char *strerror = NULL; | 264 | const char *strerror = NULL; |
255 | int sig = 0; | 265 | int sig = 0; |
256 | siginfo_t info; | 266 | siginfo_t info; |
@@ -639,7 +649,17 @@ asmlinkage notrace void trap_c(struct pt_regs *fp) | |||
639 | { | 649 | { |
640 | info.si_signo = sig; | 650 | info.si_signo = sig; |
641 | info.si_errno = 0; | 651 | info.si_errno = 0; |
642 | info.si_addr = (void __user *)fp->pc; | 652 | switch (trapnr) { |
653 | case VEC_CPLB_VL: | ||
654 | case VEC_MISALI_D: | ||
655 | case VEC_CPLB_M: | ||
656 | case VEC_CPLB_MHIT: | ||
657 | info.si_addr = (void __user *)cpu_pda[cpu].dcplb_fault_addr; | ||
658 | break; | ||
659 | default: | ||
660 | info.si_addr = (void __user *)fp->pc; | ||
661 | break; | ||
662 | } | ||
643 | force_sig_info(sig, &info, current); | 663 | force_sig_info(sig, &info, current); |
644 | } | 664 | } |
645 | 665 | ||
@@ -712,7 +732,7 @@ static void decode_instruction(unsigned short *address) | |||
712 | verbose_printk("RTE"); | 732 | verbose_printk("RTE"); |
713 | else if (opcode == 0x0025) | 733 | else if (opcode == 0x0025) |
714 | verbose_printk("EMUEXCPT"); | 734 | verbose_printk("EMUEXCPT"); |
715 | else if (opcode == 0x0040 && opcode <= 0x0047) | 735 | else if (opcode >= 0x0040 && opcode <= 0x0047) |
716 | verbose_printk("STI R%i", opcode & 7); | 736 | verbose_printk("STI R%i", opcode & 7); |
717 | else if (opcode >= 0x0050 && opcode <= 0x0057) | 737 | else if (opcode >= 0x0050 && opcode <= 0x0057) |
718 | verbose_printk("JUMP (P%i)", opcode & 7); | 738 | verbose_printk("JUMP (P%i)", opcode & 7); |
@@ -1096,7 +1116,7 @@ void dump_bfin_mem(struct pt_regs *fp) | |||
1096 | /* And the last RETI points to the current userspace context */ | 1116 | /* And the last RETI points to the current userspace context */ |
1097 | if ((fp + 1)->pc >= current->mm->start_code && | 1117 | if ((fp + 1)->pc >= current->mm->start_code && |
1098 | (fp + 1)->pc <= current->mm->end_code) { | 1118 | (fp + 1)->pc <= current->mm->end_code) { |
1099 | verbose_printk(KERN_NOTICE "It might be better to look around here : \n"); | 1119 | verbose_printk(KERN_NOTICE "It might be better to look around here :\n"); |
1100 | verbose_printk(KERN_NOTICE "-------------------------------------------\n"); | 1120 | verbose_printk(KERN_NOTICE "-------------------------------------------\n"); |
1101 | show_regs(fp + 1); | 1121 | show_regs(fp + 1); |
1102 | verbose_printk(KERN_NOTICE "-------------------------------------------\n"); | 1122 | verbose_printk(KERN_NOTICE "-------------------------------------------\n"); |
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 66799e763dc9..984c78172397 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -15,7 +15,12 @@ _jiffies = _jiffies_64; | |||
15 | 15 | ||
16 | SECTIONS | 16 | SECTIONS |
17 | { | 17 | { |
18 | #ifdef CONFIG_RAMKERNEL | ||
18 | . = CONFIG_BOOT_LOAD; | 19 | . = CONFIG_BOOT_LOAD; |
20 | #else | ||
21 | . = CONFIG_ROM_BASE; | ||
22 | #endif | ||
23 | |||
19 | /* Neither the text, ro_data or bss section need to be aligned | 24 | /* Neither the text, ro_data or bss section need to be aligned |
20 | * So pack them back to back | 25 | * So pack them back to back |
21 | */ | 26 | */ |
@@ -31,6 +36,12 @@ SECTIONS | |||
31 | LOCK_TEXT | 36 | LOCK_TEXT |
32 | IRQENTRY_TEXT | 37 | IRQENTRY_TEXT |
33 | KPROBES_TEXT | 38 | KPROBES_TEXT |
39 | #ifdef CONFIG_ROMKERNEL | ||
40 | __sinittext = .; | ||
41 | INIT_TEXT | ||
42 | __einittext = .; | ||
43 | EXIT_TEXT | ||
44 | #endif | ||
34 | *(.text.*) | 45 | *(.text.*) |
35 | *(.fixup) | 46 | *(.fixup) |
36 | 47 | ||
@@ -50,8 +61,14 @@ SECTIONS | |||
50 | 61 | ||
51 | /* Just in case the first read only is a 32-bit access */ | 62 | /* Just in case the first read only is a 32-bit access */ |
52 | RO_DATA(4) | 63 | RO_DATA(4) |
64 | __rodata_end = .; | ||
53 | 65 | ||
66 | #ifdef CONFIG_ROMKERNEL | ||
67 | . = CONFIG_BOOT_LOAD; | ||
68 | .bss : AT(__rodata_end) | ||
69 | #else | ||
54 | .bss : | 70 | .bss : |
71 | #endif | ||
55 | { | 72 | { |
56 | . = ALIGN(4); | 73 | . = ALIGN(4); |
57 | ___bss_start = .; | 74 | ___bss_start = .; |
@@ -67,7 +84,11 @@ SECTIONS | |||
67 | ___bss_stop = .; | 84 | ___bss_stop = .; |
68 | } | 85 | } |
69 | 86 | ||
87 | #if defined(CONFIG_ROMKERNEL) | ||
88 | .data : AT(LOADADDR(.bss) + SIZEOF(.bss)) | ||
89 | #else | ||
70 | .data : | 90 | .data : |
91 | #endif | ||
71 | { | 92 | { |
72 | __sdata = .; | 93 | __sdata = .; |
73 | /* This gets done first, so the glob doesn't suck it in */ | 94 | /* This gets done first, so the glob doesn't suck it in */ |
@@ -94,6 +115,8 @@ SECTIONS | |||
94 | 115 | ||
95 | __edata = .; | 116 | __edata = .; |
96 | } | 117 | } |
118 | __data_lma = LOADADDR(.data); | ||
119 | __data_len = SIZEOF(.data); | ||
97 | 120 | ||
98 | /* The init section should be last, so when we free it, it goes into | 121 | /* The init section should be last, so when we free it, it goes into |
99 | * the general memory pool, and (hopefully) will decrease fragmentation | 122 | * the general memory pool, and (hopefully) will decrease fragmentation |
@@ -103,25 +126,58 @@ SECTIONS | |||
103 | . = ALIGN(PAGE_SIZE); | 126 | . = ALIGN(PAGE_SIZE); |
104 | ___init_begin = .; | 127 | ___init_begin = .; |
105 | 128 | ||
129 | #ifdef CONFIG_RAMKERNEL | ||
106 | INIT_TEXT_SECTION(PAGE_SIZE) | 130 | INIT_TEXT_SECTION(PAGE_SIZE) |
107 | . = ALIGN(16); | ||
108 | INIT_DATA_SECTION(16) | ||
109 | PERCPU(4) | ||
110 | 131 | ||
111 | /* we have to discard exit text and such at runtime, not link time, to | 132 | /* We have to discard exit text and such at runtime, not link time, to |
112 | * handle embedded cross-section references (alt instructions, bug | 133 | * handle embedded cross-section references (alt instructions, bug |
113 | * table, eh_frame, etc...) | 134 | * table, eh_frame, etc...). We need all of our .text up front and |
135 | * .data after it for PCREL call issues. | ||
114 | */ | 136 | */ |
115 | .exit.text : | 137 | .exit.text : |
116 | { | 138 | { |
117 | EXIT_TEXT | 139 | EXIT_TEXT |
118 | } | 140 | } |
141 | |||
142 | . = ALIGN(16); | ||
143 | INIT_DATA_SECTION(16) | ||
144 | PERCPU(4) | ||
145 | |||
119 | .exit.data : | 146 | .exit.data : |
120 | { | 147 | { |
121 | EXIT_DATA | 148 | EXIT_DATA |
122 | } | 149 | } |
123 | 150 | ||
124 | .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data)) | 151 | .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data)) |
152 | #else | ||
153 | .init.data : AT(__data_lma + __data_len) | ||
154 | { | ||
155 | __sinitdata = .; | ||
156 | INIT_DATA | ||
157 | INIT_SETUP(16) | ||
158 | INIT_CALLS | ||
159 | CON_INITCALL | ||
160 | SECURITY_INITCALL | ||
161 | INIT_RAM_FS | ||
162 | |||
163 | . = ALIGN(4); | ||
164 | ___per_cpu_load = .; | ||
165 | ___per_cpu_start = .; | ||
166 | *(.data.percpu.first) | ||
167 | *(.data.percpu.page_aligned) | ||
168 | *(.data.percpu) | ||
169 | *(.data.percpu.shared_aligned) | ||
170 | ___per_cpu_end = .; | ||
171 | |||
172 | EXIT_DATA | ||
173 | __einitdata = .; | ||
174 | } | ||
175 | __init_data_lma = LOADADDR(.init.data); | ||
176 | __init_data_len = SIZEOF(.init.data); | ||
177 | __init_data_end = .; | ||
178 | |||
179 | .text_l1 L1_CODE_START : AT(__init_data_lma + __init_data_len) | ||
180 | #endif | ||
125 | { | 181 | { |
126 | . = ALIGN(4); | 182 | . = ALIGN(4); |
127 | __stext_l1 = .; | 183 | __stext_l1 = .; |
@@ -202,7 +258,11 @@ SECTIONS | |||
202 | /* Force trailing alignment of our init section so that when we | 258 | /* Force trailing alignment of our init section so that when we |
203 | * free our init memory, we don't leave behind a partial page. | 259 | * free our init memory, we don't leave behind a partial page. |
204 | */ | 260 | */ |
261 | #ifdef CONFIG_RAMKERNEL | ||
205 | . = __l2_lma + __l2_len; | 262 | . = __l2_lma + __l2_len; |
263 | #else | ||
264 | . = __init_data_end; | ||
265 | #endif | ||
206 | . = ALIGN(PAGE_SIZE); | 266 | . = ALIGN(PAGE_SIZE); |
207 | ___init_end = .; | 267 | ___init_end = .; |
208 | 268 | ||
diff --git a/arch/blackfin/mach-bf518/boards/Kconfig b/arch/blackfin/mach-bf518/boards/Kconfig index 96163514ed22..252261ec04c4 100644 --- a/arch/blackfin/mach-bf518/boards/Kconfig +++ b/arch/blackfin/mach-bf518/boards/Kconfig | |||
@@ -9,4 +9,9 @@ config BFIN518F_EZBRD | |||
9 | help | 9 | help |
10 | BF518-EZBRD board support. | 10 | BF518-EZBRD board support. |
11 | 11 | ||
12 | config BFIN518F_TCM | ||
13 | bool "Bluetechnix TCM-BF518" | ||
14 | help | ||
15 | Bluetechnix TCM-BF518 board support. | ||
16 | |||
12 | endchoice | 17 | endchoice |
diff --git a/arch/blackfin/mach-bf518/boards/Makefile b/arch/blackfin/mach-bf518/boards/Makefile index 172e859c3a7f..a9ef25c6b302 100644 --- a/arch/blackfin/mach-bf518/boards/Makefile +++ b/arch/blackfin/mach-bf518/boards/Makefile | |||
@@ -3,3 +3,4 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_BFIN518F_EZBRD) += ezbrd.o | 5 | obj-$(CONFIG_BFIN518F_EZBRD) += ezbrd.o |
6 | obj-$(CONFIG_BFIN518F_TCM) += tcm-bf518.o | ||
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c index 01975c017116..44d6d5299022 100644 --- a/arch/blackfin/mach-bf518/boards/ezbrd.c +++ b/arch/blackfin/mach-bf518/boards/ezbrd.c | |||
@@ -382,30 +382,93 @@ static struct platform_device bfin_spi1_device = { | |||
382 | #endif /* spi master and devices */ | 382 | #endif /* spi master and devices */ |
383 | 383 | ||
384 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 384 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
385 | static struct resource bfin_uart_resources[] = { | ||
386 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 385 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
386 | static struct resource bfin_uart0_resources[] = { | ||
387 | { | 387 | { |
388 | .start = 0xFFC00400, | 388 | .start = UART0_THR, |
389 | .end = 0xFFC004FF, | 389 | .end = UART0_GCTL+2, |
390 | .flags = IORESOURCE_MEM, | 390 | .flags = IORESOURCE_MEM, |
391 | }, | 391 | }, |
392 | { | ||
393 | .start = IRQ_UART0_RX, | ||
394 | .end = IRQ_UART0_RX+1, | ||
395 | .flags = IORESOURCE_IRQ, | ||
396 | }, | ||
397 | { | ||
398 | .start = IRQ_UART0_ERROR, | ||
399 | .end = IRQ_UART0_ERROR, | ||
400 | .flags = IORESOURCE_IRQ, | ||
401 | }, | ||
402 | { | ||
403 | .start = CH_UART0_TX, | ||
404 | .end = CH_UART0_TX, | ||
405 | .flags = IORESOURCE_DMA, | ||
406 | }, | ||
407 | { | ||
408 | .start = CH_UART0_RX, | ||
409 | .end = CH_UART0_RX, | ||
410 | .flags = IORESOURCE_DMA, | ||
411 | }, | ||
412 | }; | ||
413 | |||
414 | unsigned short bfin_uart0_peripherals[] = { | ||
415 | P_UART0_TX, P_UART0_RX, 0 | ||
416 | }; | ||
417 | |||
418 | static struct platform_device bfin_uart0_device = { | ||
419 | .name = "bfin-uart", | ||
420 | .id = 0, | ||
421 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
422 | .resource = bfin_uart0_resources, | ||
423 | .dev = { | ||
424 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
425 | }, | ||
426 | }; | ||
392 | #endif | 427 | #endif |
393 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 428 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
429 | static struct resource bfin_uart1_resources[] = { | ||
394 | { | 430 | { |
395 | .start = 0xFFC02000, | 431 | .start = UART1_THR, |
396 | .end = 0xFFC020FF, | 432 | .end = UART1_GCTL+2, |
397 | .flags = IORESOURCE_MEM, | 433 | .flags = IORESOURCE_MEM, |
398 | }, | 434 | }, |
399 | #endif | 435 | { |
436 | .start = IRQ_UART1_RX, | ||
437 | .end = IRQ_UART1_RX+1, | ||
438 | .flags = IORESOURCE_IRQ, | ||
439 | }, | ||
440 | { | ||
441 | .start = IRQ_UART1_ERROR, | ||
442 | .end = IRQ_UART1_ERROR, | ||
443 | .flags = IORESOURCE_IRQ, | ||
444 | }, | ||
445 | { | ||
446 | .start = CH_UART1_TX, | ||
447 | .end = CH_UART1_TX, | ||
448 | .flags = IORESOURCE_DMA, | ||
449 | }, | ||
450 | { | ||
451 | .start = CH_UART1_RX, | ||
452 | .end = CH_UART1_RX, | ||
453 | .flags = IORESOURCE_DMA, | ||
454 | }, | ||
455 | }; | ||
456 | |||
457 | unsigned short bfin_uart1_peripherals[] = { | ||
458 | P_UART1_TX, P_UART1_RX, 0 | ||
400 | }; | 459 | }; |
401 | 460 | ||
402 | static struct platform_device bfin_uart_device = { | 461 | static struct platform_device bfin_uart1_device = { |
403 | .name = "bfin-uart", | 462 | .name = "bfin-uart", |
404 | .id = 1, | 463 | .id = 1, |
405 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 464 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
406 | .resource = bfin_uart_resources, | 465 | .resource = bfin_uart1_resources, |
466 | .dev = { | ||
467 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
468 | }, | ||
407 | }; | 469 | }; |
408 | #endif | 470 | #endif |
471 | #endif | ||
409 | 472 | ||
410 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 473 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
411 | #ifdef CONFIG_BFIN_SIR0 | 474 | #ifdef CONFIG_BFIN_SIR0 |
@@ -499,16 +562,75 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
499 | }; | 562 | }; |
500 | 563 | ||
501 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 564 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
565 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
566 | static struct resource bfin_sport0_uart_resources[] = { | ||
567 | { | ||
568 | .start = SPORT0_TCR1, | ||
569 | .end = SPORT0_MRCS3+4, | ||
570 | .flags = IORESOURCE_MEM, | ||
571 | }, | ||
572 | { | ||
573 | .start = IRQ_SPORT0_RX, | ||
574 | .end = IRQ_SPORT0_RX+1, | ||
575 | .flags = IORESOURCE_IRQ, | ||
576 | }, | ||
577 | { | ||
578 | .start = IRQ_SPORT0_ERROR, | ||
579 | .end = IRQ_SPORT0_ERROR, | ||
580 | .flags = IORESOURCE_IRQ, | ||
581 | }, | ||
582 | }; | ||
583 | |||
584 | unsigned short bfin_sport0_peripherals[] = { | ||
585 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
586 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
587 | }; | ||
588 | |||
502 | static struct platform_device bfin_sport0_uart_device = { | 589 | static struct platform_device bfin_sport0_uart_device = { |
503 | .name = "bfin-sport-uart", | 590 | .name = "bfin-sport-uart", |
504 | .id = 0, | 591 | .id = 0, |
592 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
593 | .resource = bfin_sport0_uart_resources, | ||
594 | .dev = { | ||
595 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
596 | }, | ||
597 | }; | ||
598 | #endif | ||
599 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
600 | static struct resource bfin_sport1_uart_resources[] = { | ||
601 | { | ||
602 | .start = SPORT1_TCR1, | ||
603 | .end = SPORT1_MRCS3+4, | ||
604 | .flags = IORESOURCE_MEM, | ||
605 | }, | ||
606 | { | ||
607 | .start = IRQ_SPORT1_RX, | ||
608 | .end = IRQ_SPORT1_RX+1, | ||
609 | .flags = IORESOURCE_IRQ, | ||
610 | }, | ||
611 | { | ||
612 | .start = IRQ_SPORT1_ERROR, | ||
613 | .end = IRQ_SPORT1_ERROR, | ||
614 | .flags = IORESOURCE_IRQ, | ||
615 | }, | ||
616 | }; | ||
617 | |||
618 | unsigned short bfin_sport1_peripherals[] = { | ||
619 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
620 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
505 | }; | 621 | }; |
506 | 622 | ||
507 | static struct platform_device bfin_sport1_uart_device = { | 623 | static struct platform_device bfin_sport1_uart_device = { |
508 | .name = "bfin-sport-uart", | 624 | .name = "bfin-sport-uart", |
509 | .id = 1, | 625 | .id = 1, |
626 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
627 | .resource = bfin_sport1_uart_resources, | ||
628 | .dev = { | ||
629 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
630 | }, | ||
510 | }; | 631 | }; |
511 | #endif | 632 | #endif |
633 | #endif | ||
512 | 634 | ||
513 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 635 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
514 | #include <linux/input.h> | 636 | #include <linux/input.h> |
@@ -593,7 +715,12 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
593 | #endif | 715 | #endif |
594 | 716 | ||
595 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 717 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
596 | &bfin_uart_device, | 718 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
719 | &bfin_uart0_device, | ||
720 | #endif | ||
721 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
722 | &bfin_uart1_device, | ||
723 | #endif | ||
597 | #endif | 724 | #endif |
598 | 725 | ||
599 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 726 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -610,9 +737,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
610 | #endif | 737 | #endif |
611 | 738 | ||
612 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 739 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
740 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
613 | &bfin_sport0_uart_device, | 741 | &bfin_sport0_uart_device, |
742 | #endif | ||
743 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
614 | &bfin_sport1_uart_device, | 744 | &bfin_sport1_uart_device, |
615 | #endif | 745 | #endif |
746 | #endif | ||
616 | 747 | ||
617 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 748 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
618 | &bfin_device_gpiokeys, | 749 | &bfin_device_gpiokeys, |
@@ -644,6 +775,33 @@ static int __init ezbrd_init(void) | |||
644 | 775 | ||
645 | arch_initcall(ezbrd_init); | 776 | arch_initcall(ezbrd_init); |
646 | 777 | ||
778 | static struct platform_device *ezbrd_early_devices[] __initdata = { | ||
779 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
780 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
781 | &bfin_uart0_device, | ||
782 | #endif | ||
783 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
784 | &bfin_uart1_device, | ||
785 | #endif | ||
786 | #endif | ||
787 | |||
788 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
789 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
790 | &bfin_sport0_uart_device, | ||
791 | #endif | ||
792 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
793 | &bfin_sport1_uart_device, | ||
794 | #endif | ||
795 | #endif | ||
796 | }; | ||
797 | |||
798 | void __init native_machine_early_platform_add_devices(void) | ||
799 | { | ||
800 | printk(KERN_INFO "register early platform devices\n"); | ||
801 | early_platform_add_devices(ezbrd_early_devices, | ||
802 | ARRAY_SIZE(ezbrd_early_devices)); | ||
803 | } | ||
804 | |||
647 | void native_machine_restart(char *cmd) | 805 | void native_machine_restart(char *cmd) |
648 | { | 806 | { |
649 | /* workaround reboot hang when booting from SPI */ | 807 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf518/boards/tcm-bf518.c b/arch/blackfin/mach-bf518/boards/tcm-bf518.c new file mode 100644 index 000000000000..9b72e5cb21fe --- /dev/null +++ b/arch/blackfin/mach-bf518/boards/tcm-bf518.c | |||
@@ -0,0 +1,753 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * 2005 National ICT Australia (NICTA) | ||
4 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #include <linux/device.h> | ||
10 | #include <linux/etherdevice.h> | ||
11 | #include <linux/platform_device.h> | ||
12 | #include <linux/mtd/mtd.h> | ||
13 | #include <linux/mtd/partitions.h> | ||
14 | #include <linux/mtd/physmap.h> | ||
15 | #include <linux/spi/spi.h> | ||
16 | #include <linux/spi/flash.h> | ||
17 | |||
18 | #include <linux/i2c.h> | ||
19 | #include <linux/irq.h> | ||
20 | #include <linux/interrupt.h> | ||
21 | #include <asm/dma.h> | ||
22 | #include <asm/bfin5xx_spi.h> | ||
23 | #include <asm/reboot.h> | ||
24 | #include <asm/portmux.h> | ||
25 | #include <asm/dpmc.h> | ||
26 | #include <asm/bfin_sdh.h> | ||
27 | #include <linux/spi/ad7877.h> | ||
28 | #include <net/dsa.h> | ||
29 | |||
30 | /* | ||
31 | * Name the Board for the /proc/cpuinfo | ||
32 | */ | ||
33 | const char bfin_board_name[] = "Bluetechnix TCM-BF518"; | ||
34 | |||
35 | /* | ||
36 | * Driver needs to know address, irq and flag pin. | ||
37 | */ | ||
38 | |||
39 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
40 | static struct mtd_partition tcm_partitions[] = { | ||
41 | { | ||
42 | .name = "bootloader(nor)", | ||
43 | .size = 0x40000, | ||
44 | .offset = 0, | ||
45 | }, | ||
46 | { | ||
47 | .name = "linux(nor)", | ||
48 | .size = 0x1C0000, | ||
49 | .offset = MTDPART_OFS_APPEND, | ||
50 | } | ||
51 | }; | ||
52 | |||
53 | static struct physmap_flash_data tcm_flash_data = { | ||
54 | .width = 2, | ||
55 | .parts = tcm_partitions, | ||
56 | .nr_parts = ARRAY_SIZE(tcm_partitions), | ||
57 | }; | ||
58 | |||
59 | static struct resource tcm_flash_resource = { | ||
60 | .start = 0x20000000, | ||
61 | .end = 0x201fffff, | ||
62 | .flags = IORESOURCE_MEM, | ||
63 | }; | ||
64 | |||
65 | static struct platform_device tcm_flash_device = { | ||
66 | .name = "physmap-flash", | ||
67 | .id = 0, | ||
68 | .dev = { | ||
69 | .platform_data = &tcm_flash_data, | ||
70 | }, | ||
71 | .num_resources = 1, | ||
72 | .resource = &tcm_flash_resource, | ||
73 | }; | ||
74 | #endif | ||
75 | |||
76 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
77 | static struct platform_device rtc_device = { | ||
78 | .name = "rtc-bfin", | ||
79 | .id = -1, | ||
80 | }; | ||
81 | #endif | ||
82 | |||
83 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
84 | static struct platform_device bfin_mii_bus = { | ||
85 | .name = "bfin_mii_bus", | ||
86 | }; | ||
87 | |||
88 | static struct platform_device bfin_mac_device = { | ||
89 | .name = "bfin_mac", | ||
90 | .dev.platform_data = &bfin_mii_bus, | ||
91 | }; | ||
92 | #endif | ||
93 | |||
94 | #if defined(CONFIG_MTD_M25P80) \ | ||
95 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
96 | static struct mtd_partition bfin_spi_flash_partitions[] = { | ||
97 | { | ||
98 | .name = "bootloader(spi)", | ||
99 | .size = 0x00040000, | ||
100 | .offset = 0, | ||
101 | .mask_flags = MTD_CAP_ROM | ||
102 | }, { | ||
103 | .name = "linux kernel(spi)", | ||
104 | .size = MTDPART_SIZ_FULL, | ||
105 | .offset = MTDPART_OFS_APPEND, | ||
106 | } | ||
107 | }; | ||
108 | |||
109 | static struct flash_platform_data bfin_spi_flash_data = { | ||
110 | .name = "m25p80", | ||
111 | .parts = bfin_spi_flash_partitions, | ||
112 | .nr_parts = ARRAY_SIZE(bfin_spi_flash_partitions), | ||
113 | .type = "m25p16", | ||
114 | }; | ||
115 | |||
116 | /* SPI flash chip (m25p64) */ | ||
117 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | ||
118 | .enable_dma = 0, /* use dma transfer with this chip*/ | ||
119 | .bits_per_word = 8, | ||
120 | }; | ||
121 | #endif | ||
122 | |||
123 | #if defined(CONFIG_BFIN_SPI_ADC) \ | ||
124 | || defined(CONFIG_BFIN_SPI_ADC_MODULE) | ||
125 | /* SPI ADC chip */ | ||
126 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | ||
127 | .enable_dma = 1, /* use dma transfer with this chip*/ | ||
128 | .bits_per_word = 16, | ||
129 | }; | ||
130 | #endif | ||
131 | |||
132 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | ||
133 | static struct bfin5xx_spi_chip mmc_spi_chip_info = { | ||
134 | .enable_dma = 0, | ||
135 | .bits_per_word = 8, | ||
136 | }; | ||
137 | #endif | ||
138 | |||
139 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
140 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | ||
141 | .enable_dma = 0, | ||
142 | .bits_per_word = 16, | ||
143 | }; | ||
144 | |||
145 | static const struct ad7877_platform_data bfin_ad7877_ts_info = { | ||
146 | .model = 7877, | ||
147 | .vref_delay_usecs = 50, /* internal, no capacitor */ | ||
148 | .x_plate_ohms = 419, | ||
149 | .y_plate_ohms = 486, | ||
150 | .pressure_max = 1000, | ||
151 | .pressure_min = 0, | ||
152 | .stopacq_polarity = 1, | ||
153 | .first_conversion_delay = 3, | ||
154 | .acquisition_time = 1, | ||
155 | .averaging = 1, | ||
156 | .pen_down_acc_interval = 1, | ||
157 | }; | ||
158 | #endif | ||
159 | |||
160 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
161 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
162 | static struct bfin5xx_spi_chip spi_wm8731_chip_info = { | ||
163 | .enable_dma = 0, | ||
164 | .bits_per_word = 16, | ||
165 | }; | ||
166 | #endif | ||
167 | |||
168 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
169 | static struct bfin5xx_spi_chip spidev_chip_info = { | ||
170 | .enable_dma = 0, | ||
171 | .bits_per_word = 8, | ||
172 | }; | ||
173 | #endif | ||
174 | |||
175 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | ||
176 | #if defined(CONFIG_MTD_M25P80) \ | ||
177 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
178 | { | ||
179 | /* the modalias must be the same as spi device driver name */ | ||
180 | .modalias = "m25p80", /* Name of spi_driver for this device */ | ||
181 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
182 | .bus_num = 0, /* Framework bus number */ | ||
183 | .chip_select = 2, /* SPI0_SSEL2 */ | ||
184 | .platform_data = &bfin_spi_flash_data, | ||
185 | .controller_data = &spi_flash_chip_info, | ||
186 | .mode = SPI_MODE_3, | ||
187 | }, | ||
188 | #endif | ||
189 | |||
190 | #if defined(CONFIG_BFIN_SPI_ADC) \ | ||
191 | || defined(CONFIG_BFIN_SPI_ADC_MODULE) | ||
192 | { | ||
193 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | ||
194 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ | ||
195 | .bus_num = 0, /* Framework bus number */ | ||
196 | .chip_select = 1, /* Framework chip select. */ | ||
197 | .platform_data = NULL, /* No spi_driver specific config */ | ||
198 | .controller_data = &spi_adc_chip_info, | ||
199 | }, | ||
200 | #endif | ||
201 | |||
202 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | ||
203 | { | ||
204 | .modalias = "mmc_spi", | ||
205 | .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ | ||
206 | .bus_num = 0, | ||
207 | .chip_select = 5, | ||
208 | .controller_data = &mmc_spi_chip_info, | ||
209 | .mode = SPI_MODE_3, | ||
210 | }, | ||
211 | #endif | ||
212 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
213 | { | ||
214 | .modalias = "ad7877", | ||
215 | .platform_data = &bfin_ad7877_ts_info, | ||
216 | .irq = IRQ_PF8, | ||
217 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | ||
218 | .bus_num = 0, | ||
219 | .chip_select = 2, | ||
220 | .controller_data = &spi_ad7877_chip_info, | ||
221 | }, | ||
222 | #endif | ||
223 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
224 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
225 | { | ||
226 | .modalias = "wm8731", | ||
227 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
228 | .bus_num = 0, | ||
229 | .chip_select = 5, | ||
230 | .controller_data = &spi_wm8731_chip_info, | ||
231 | .mode = SPI_MODE_0, | ||
232 | }, | ||
233 | #endif | ||
234 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
235 | { | ||
236 | .modalias = "spidev", | ||
237 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
238 | .bus_num = 0, | ||
239 | .chip_select = 1, | ||
240 | .controller_data = &spidev_chip_info, | ||
241 | }, | ||
242 | #endif | ||
243 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | ||
244 | { | ||
245 | .modalias = "bfin-lq035q1-spi", | ||
246 | .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ | ||
247 | .bus_num = 0, | ||
248 | .chip_select = 1, | ||
249 | .controller_data = &lq035q1_spi_chip_info, | ||
250 | .mode = SPI_CPHA | SPI_CPOL, | ||
251 | }, | ||
252 | #endif | ||
253 | }; | ||
254 | |||
255 | /* SPI controller data */ | ||
256 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
257 | /* SPI (0) */ | ||
258 | static struct bfin5xx_spi_master bfin_spi0_info = { | ||
259 | .num_chipselect = 6, | ||
260 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
261 | .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, | ||
262 | }; | ||
263 | |||
264 | static struct resource bfin_spi0_resource[] = { | ||
265 | [0] = { | ||
266 | .start = SPI0_REGBASE, | ||
267 | .end = SPI0_REGBASE + 0xFF, | ||
268 | .flags = IORESOURCE_MEM, | ||
269 | }, | ||
270 | [1] = { | ||
271 | .start = CH_SPI0, | ||
272 | .end = CH_SPI0, | ||
273 | .flags = IORESOURCE_DMA, | ||
274 | }, | ||
275 | [2] = { | ||
276 | .start = IRQ_SPI0, | ||
277 | .end = IRQ_SPI0, | ||
278 | .flags = IORESOURCE_IRQ, | ||
279 | }, | ||
280 | }; | ||
281 | |||
282 | static struct platform_device bfin_spi0_device = { | ||
283 | .name = "bfin-spi", | ||
284 | .id = 0, /* Bus number */ | ||
285 | .num_resources = ARRAY_SIZE(bfin_spi0_resource), | ||
286 | .resource = bfin_spi0_resource, | ||
287 | .dev = { | ||
288 | .platform_data = &bfin_spi0_info, /* Passed to driver */ | ||
289 | }, | ||
290 | }; | ||
291 | |||
292 | /* SPI (1) */ | ||
293 | static struct bfin5xx_spi_master bfin_spi1_info = { | ||
294 | .num_chipselect = 5, | ||
295 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
296 | .pin_req = {P_SPI1_SCK, P_SPI1_MISO, P_SPI1_MOSI, 0}, | ||
297 | }; | ||
298 | |||
299 | static struct resource bfin_spi1_resource[] = { | ||
300 | [0] = { | ||
301 | .start = SPI1_REGBASE, | ||
302 | .end = SPI1_REGBASE + 0xFF, | ||
303 | .flags = IORESOURCE_MEM, | ||
304 | }, | ||
305 | [1] = { | ||
306 | .start = CH_SPI1, | ||
307 | .end = CH_SPI1, | ||
308 | .flags = IORESOURCE_DMA, | ||
309 | }, | ||
310 | [2] = { | ||
311 | .start = IRQ_SPI1, | ||
312 | .end = IRQ_SPI1, | ||
313 | .flags = IORESOURCE_IRQ, | ||
314 | }, | ||
315 | }; | ||
316 | |||
317 | static struct platform_device bfin_spi1_device = { | ||
318 | .name = "bfin-spi", | ||
319 | .id = 1, /* Bus number */ | ||
320 | .num_resources = ARRAY_SIZE(bfin_spi1_resource), | ||
321 | .resource = bfin_spi1_resource, | ||
322 | .dev = { | ||
323 | .platform_data = &bfin_spi1_info, /* Passed to driver */ | ||
324 | }, | ||
325 | }; | ||
326 | #endif /* spi master and devices */ | ||
327 | |||
328 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
329 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
330 | static struct resource bfin_uart0_resources[] = { | ||
331 | { | ||
332 | .start = UART0_THR, | ||
333 | .end = UART0_GCTL+2, | ||
334 | .flags = IORESOURCE_MEM, | ||
335 | }, | ||
336 | { | ||
337 | .start = IRQ_UART0_RX, | ||
338 | .end = IRQ_UART0_RX+1, | ||
339 | .flags = IORESOURCE_IRQ, | ||
340 | }, | ||
341 | { | ||
342 | .start = IRQ_UART0_ERROR, | ||
343 | .end = IRQ_UART0_ERROR, | ||
344 | .flags = IORESOURCE_IRQ, | ||
345 | }, | ||
346 | { | ||
347 | .start = CH_UART0_TX, | ||
348 | .end = CH_UART0_TX, | ||
349 | .flags = IORESOURCE_DMA, | ||
350 | }, | ||
351 | { | ||
352 | .start = CH_UART0_RX, | ||
353 | .end = CH_UART0_RX, | ||
354 | .flags = IORESOURCE_DMA, | ||
355 | }, | ||
356 | }; | ||
357 | |||
358 | unsigned short bfin_uart0_peripherals[] = { | ||
359 | P_UART0_TX, P_UART0_RX, 0 | ||
360 | }; | ||
361 | |||
362 | static struct platform_device bfin_uart0_device = { | ||
363 | .name = "bfin-uart", | ||
364 | .id = 0, | ||
365 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
366 | .resource = bfin_uart0_resources, | ||
367 | .dev = { | ||
368 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
369 | }, | ||
370 | }; | ||
371 | #endif | ||
372 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
373 | static struct resource bfin_uart1_resources[] = { | ||
374 | { | ||
375 | .start = UART1_THR, | ||
376 | .end = UART1_GCTL+2, | ||
377 | .flags = IORESOURCE_MEM, | ||
378 | }, | ||
379 | { | ||
380 | .start = IRQ_UART1_RX, | ||
381 | .end = IRQ_UART1_RX+1, | ||
382 | .flags = IORESOURCE_IRQ, | ||
383 | }, | ||
384 | { | ||
385 | .start = IRQ_UART1_ERROR, | ||
386 | .end = IRQ_UART1_ERROR, | ||
387 | .flags = IORESOURCE_IRQ, | ||
388 | }, | ||
389 | { | ||
390 | .start = CH_UART1_TX, | ||
391 | .end = CH_UART1_TX, | ||
392 | .flags = IORESOURCE_DMA, | ||
393 | }, | ||
394 | { | ||
395 | .start = CH_UART1_RX, | ||
396 | .end = CH_UART1_RX, | ||
397 | .flags = IORESOURCE_DMA, | ||
398 | }, | ||
399 | }; | ||
400 | |||
401 | unsigned short bfin_uart1_peripherals[] = { | ||
402 | P_UART1_TX, P_UART1_RX, 0 | ||
403 | }; | ||
404 | |||
405 | static struct platform_device bfin_uart1_device = { | ||
406 | .name = "bfin-uart", | ||
407 | .id = 1, | ||
408 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), | ||
409 | .resource = bfin_uart1_resources, | ||
410 | .dev = { | ||
411 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
412 | }, | ||
413 | }; | ||
414 | #endif | ||
415 | #endif | ||
416 | |||
417 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
418 | #ifdef CONFIG_BFIN_SIR0 | ||
419 | static struct resource bfin_sir0_resources[] = { | ||
420 | { | ||
421 | .start = 0xFFC00400, | ||
422 | .end = 0xFFC004FF, | ||
423 | .flags = IORESOURCE_MEM, | ||
424 | }, | ||
425 | { | ||
426 | .start = IRQ_UART0_RX, | ||
427 | .end = IRQ_UART0_RX+1, | ||
428 | .flags = IORESOURCE_IRQ, | ||
429 | }, | ||
430 | { | ||
431 | .start = CH_UART0_RX, | ||
432 | .end = CH_UART0_RX+1, | ||
433 | .flags = IORESOURCE_DMA, | ||
434 | }, | ||
435 | }; | ||
436 | |||
437 | static struct platform_device bfin_sir0_device = { | ||
438 | .name = "bfin_sir", | ||
439 | .id = 0, | ||
440 | .num_resources = ARRAY_SIZE(bfin_sir0_resources), | ||
441 | .resource = bfin_sir0_resources, | ||
442 | }; | ||
443 | #endif | ||
444 | #ifdef CONFIG_BFIN_SIR1 | ||
445 | static struct resource bfin_sir1_resources[] = { | ||
446 | { | ||
447 | .start = 0xFFC02000, | ||
448 | .end = 0xFFC020FF, | ||
449 | .flags = IORESOURCE_MEM, | ||
450 | }, | ||
451 | { | ||
452 | .start = IRQ_UART1_RX, | ||
453 | .end = IRQ_UART1_RX+1, | ||
454 | .flags = IORESOURCE_IRQ, | ||
455 | }, | ||
456 | { | ||
457 | .start = CH_UART1_RX, | ||
458 | .end = CH_UART1_RX+1, | ||
459 | .flags = IORESOURCE_DMA, | ||
460 | }, | ||
461 | }; | ||
462 | |||
463 | static struct platform_device bfin_sir1_device = { | ||
464 | .name = "bfin_sir", | ||
465 | .id = 1, | ||
466 | .num_resources = ARRAY_SIZE(bfin_sir1_resources), | ||
467 | .resource = bfin_sir1_resources, | ||
468 | }; | ||
469 | #endif | ||
470 | #endif | ||
471 | |||
472 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
473 | static struct resource bfin_twi0_resource[] = { | ||
474 | [0] = { | ||
475 | .start = TWI0_REGBASE, | ||
476 | .end = TWI0_REGBASE, | ||
477 | .flags = IORESOURCE_MEM, | ||
478 | }, | ||
479 | [1] = { | ||
480 | .start = IRQ_TWI, | ||
481 | .end = IRQ_TWI, | ||
482 | .flags = IORESOURCE_IRQ, | ||
483 | }, | ||
484 | }; | ||
485 | |||
486 | static struct platform_device i2c_bfin_twi_device = { | ||
487 | .name = "i2c-bfin-twi", | ||
488 | .id = 0, | ||
489 | .num_resources = ARRAY_SIZE(bfin_twi0_resource), | ||
490 | .resource = bfin_twi0_resource, | ||
491 | }; | ||
492 | #endif | ||
493 | |||
494 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | ||
495 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) | ||
496 | { | ||
497 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | ||
498 | }, | ||
499 | #endif | ||
500 | #if defined(CONFIG_INPUT_PCF8574) || defined(CONFIG_INPUT_PCF8574_MODULE) | ||
501 | { | ||
502 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | ||
503 | .irq = IRQ_PF8, | ||
504 | }, | ||
505 | #endif | ||
506 | }; | ||
507 | |||
508 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
509 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
510 | static struct resource bfin_sport0_uart_resources[] = { | ||
511 | { | ||
512 | .start = SPORT0_TCR1, | ||
513 | .end = SPORT0_MRCS3+4, | ||
514 | .flags = IORESOURCE_MEM, | ||
515 | }, | ||
516 | { | ||
517 | .start = IRQ_SPORT0_RX, | ||
518 | .end = IRQ_SPORT0_RX+1, | ||
519 | .flags = IORESOURCE_IRQ, | ||
520 | }, | ||
521 | { | ||
522 | .start = IRQ_SPORT0_ERROR, | ||
523 | .end = IRQ_SPORT0_ERROR, | ||
524 | .flags = IORESOURCE_IRQ, | ||
525 | }, | ||
526 | }; | ||
527 | |||
528 | unsigned short bfin_sport0_peripherals[] = { | ||
529 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
530 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
531 | }; | ||
532 | |||
533 | static struct platform_device bfin_sport0_uart_device = { | ||
534 | .name = "bfin-sport-uart", | ||
535 | .id = 0, | ||
536 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
537 | .resource = bfin_sport0_uart_resources, | ||
538 | .dev = { | ||
539 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
540 | }, | ||
541 | }; | ||
542 | #endif | ||
543 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
544 | static struct resource bfin_sport1_uart_resources[] = { | ||
545 | { | ||
546 | .start = SPORT1_TCR1, | ||
547 | .end = SPORT1_MRCS3+4, | ||
548 | .flags = IORESOURCE_MEM, | ||
549 | }, | ||
550 | { | ||
551 | .start = IRQ_SPORT1_RX, | ||
552 | .end = IRQ_SPORT1_RX+1, | ||
553 | .flags = IORESOURCE_IRQ, | ||
554 | }, | ||
555 | { | ||
556 | .start = IRQ_SPORT1_ERROR, | ||
557 | .end = IRQ_SPORT1_ERROR, | ||
558 | .flags = IORESOURCE_IRQ, | ||
559 | }, | ||
560 | }; | ||
561 | |||
562 | unsigned short bfin_sport1_peripherals[] = { | ||
563 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
564 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
565 | }; | ||
566 | |||
567 | static struct platform_device bfin_sport1_uart_device = { | ||
568 | .name = "bfin-sport-uart", | ||
569 | .id = 1, | ||
570 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
571 | .resource = bfin_sport1_uart_resources, | ||
572 | .dev = { | ||
573 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
574 | }, | ||
575 | }; | ||
576 | #endif | ||
577 | #endif | ||
578 | |||
579 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
580 | #include <linux/input.h> | ||
581 | #include <linux/gpio_keys.h> | ||
582 | |||
583 | static struct gpio_keys_button bfin_gpio_keys_table[] = { | ||
584 | {BTN_0, GPIO_PG0, 1, "gpio-keys: BTN0"}, | ||
585 | {BTN_1, GPIO_PG13, 1, "gpio-keys: BTN1"}, | ||
586 | }; | ||
587 | |||
588 | static struct gpio_keys_platform_data bfin_gpio_keys_data = { | ||
589 | .buttons = bfin_gpio_keys_table, | ||
590 | .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table), | ||
591 | }; | ||
592 | |||
593 | static struct platform_device bfin_device_gpiokeys = { | ||
594 | .name = "gpio-keys", | ||
595 | .dev = { | ||
596 | .platform_data = &bfin_gpio_keys_data, | ||
597 | }, | ||
598 | }; | ||
599 | #endif | ||
600 | |||
601 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
602 | |||
603 | static struct bfin_sd_host bfin_sdh_data = { | ||
604 | .dma_chan = CH_RSI, | ||
605 | .irq_int0 = IRQ_RSI_INT0, | ||
606 | .pin_req = {P_RSI_DATA0, P_RSI_DATA1, P_RSI_DATA2, P_RSI_DATA3, P_RSI_CMD, P_RSI_CLK, 0}, | ||
607 | }; | ||
608 | |||
609 | static struct platform_device bf51x_sdh_device = { | ||
610 | .name = "bfin-sdh", | ||
611 | .id = 0, | ||
612 | .dev = { | ||
613 | .platform_data = &bfin_sdh_data, | ||
614 | }, | ||
615 | }; | ||
616 | #endif | ||
617 | |||
618 | static const unsigned int cclk_vlev_datasheet[] = | ||
619 | { | ||
620 | VRPAIR(VLEV_100, 400000000), | ||
621 | VRPAIR(VLEV_105, 426000000), | ||
622 | VRPAIR(VLEV_110, 500000000), | ||
623 | VRPAIR(VLEV_115, 533000000), | ||
624 | VRPAIR(VLEV_120, 600000000), | ||
625 | }; | ||
626 | |||
627 | static struct bfin_dpmc_platform_data bfin_dmpc_vreg_data = { | ||
628 | .tuple_tab = cclk_vlev_datasheet, | ||
629 | .tabsize = ARRAY_SIZE(cclk_vlev_datasheet), | ||
630 | .vr_settling_time = 25 /* us */, | ||
631 | }; | ||
632 | |||
633 | static struct platform_device bfin_dpmc = { | ||
634 | .name = "bfin dpmc", | ||
635 | .dev = { | ||
636 | .platform_data = &bfin_dmpc_vreg_data, | ||
637 | }, | ||
638 | }; | ||
639 | |||
640 | static struct platform_device *tcm_devices[] __initdata = { | ||
641 | |||
642 | &bfin_dpmc, | ||
643 | |||
644 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
645 | &rtc_device, | ||
646 | #endif | ||
647 | |||
648 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
649 | &bfin_mii_bus, | ||
650 | &bfin_mac_device, | ||
651 | #endif | ||
652 | |||
653 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
654 | &bfin_spi0_device, | ||
655 | &bfin_spi1_device, | ||
656 | #endif | ||
657 | |||
658 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
659 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
660 | &bfin_uart0_device, | ||
661 | #endif | ||
662 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
663 | &bfin_uart1_device, | ||
664 | #endif | ||
665 | #endif | ||
666 | |||
667 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
668 | #ifdef CONFIG_BFIN_SIR0 | ||
669 | &bfin_sir0_device, | ||
670 | #endif | ||
671 | #ifdef CONFIG_BFIN_SIR1 | ||
672 | &bfin_sir1_device, | ||
673 | #endif | ||
674 | #endif | ||
675 | |||
676 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
677 | &i2c_bfin_twi_device, | ||
678 | #endif | ||
679 | |||
680 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
681 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
682 | &bfin_sport0_uart_device, | ||
683 | #endif | ||
684 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
685 | &bfin_sport1_uart_device, | ||
686 | #endif | ||
687 | #endif | ||
688 | |||
689 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
690 | &bfin_device_gpiokeys, | ||
691 | #endif | ||
692 | |||
693 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
694 | &bf51x_sdh_device, | ||
695 | #endif | ||
696 | |||
697 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
698 | &tcm_flash_device, | ||
699 | #endif | ||
700 | }; | ||
701 | |||
702 | static int __init tcm_init(void) | ||
703 | { | ||
704 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
705 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
706 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
707 | platform_add_devices(tcm_devices, ARRAY_SIZE(tcm_devices)); | ||
708 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | ||
709 | return 0; | ||
710 | } | ||
711 | |||
712 | arch_initcall(tcm_init); | ||
713 | |||
714 | static struct platform_device *tcm_early_devices[] __initdata = { | ||
715 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
716 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
717 | &bfin_uart0_device, | ||
718 | #endif | ||
719 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
720 | &bfin_uart1_device, | ||
721 | #endif | ||
722 | #endif | ||
723 | |||
724 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
725 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
726 | &bfin_sport0_uart_device, | ||
727 | #endif | ||
728 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
729 | &bfin_sport1_uart_device, | ||
730 | #endif | ||
731 | #endif | ||
732 | }; | ||
733 | |||
734 | void __init native_machine_early_platform_add_devices(void) | ||
735 | { | ||
736 | printk(KERN_INFO "register early platform devices\n"); | ||
737 | early_platform_add_devices(tcm_early_devices, | ||
738 | ARRAY_SIZE(tcm_early_devices)); | ||
739 | } | ||
740 | |||
741 | void native_machine_restart(char *cmd) | ||
742 | { | ||
743 | /* workaround reboot hang when booting from SPI */ | ||
744 | if ((bfin_read_SYSCR() & 0x7) == 0x3) | ||
745 | bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); | ||
746 | } | ||
747 | |||
748 | void bfin_get_ether_addr(char *addr) | ||
749 | { | ||
750 | random_ether_addr(addr); | ||
751 | printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__); | ||
752 | } | ||
753 | EXPORT_SYMBOL(bfin_get_ether_addr); | ||
diff --git a/arch/blackfin/mach-bf518/include/mach/irq.h b/arch/blackfin/mach-bf518/include/mach/irq.h index 14e52ec7afa5..435e76e31aaa 100644 --- a/arch/blackfin/mach-bf518/include/mach/irq.h +++ b/arch/blackfin/mach-bf518/include/mach/irq.h | |||
@@ -151,7 +151,17 @@ | |||
151 | 151 | ||
152 | #define GPIO_IRQ_BASE IRQ_PF0 | 152 | #define GPIO_IRQ_BASE IRQ_PF0 |
153 | 153 | ||
154 | #define NR_IRQS (IRQ_PH15 + 1) | 154 | #define IRQ_MAC_PHYINT 119 /* PHY_INT Interrupt */ |
155 | #define IRQ_MAC_MMCINT 120 /* MMC Counter Interrupt */ | ||
156 | #define IRQ_MAC_RXFSINT 121 /* RX Frame-Status Interrupt */ | ||
157 | #define IRQ_MAC_TXFSINT 122 /* TX Frame-Status Interrupt */ | ||
158 | #define IRQ_MAC_WAKEDET 123 /* Wake-Up Interrupt */ | ||
159 | #define IRQ_MAC_RXDMAERR 124 /* RX DMA Direction Error Interrupt */ | ||
160 | #define IRQ_MAC_TXDMAERR 125 /* TX DMA Direction Error Interrupt */ | ||
161 | #define IRQ_MAC_STMDONE 126 /* Station Mgt. Transfer Done Interrupt */ | ||
162 | |||
163 | #define NR_MACH_IRQS (IRQ_MAC_STMDONE + 1) | ||
164 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
155 | 165 | ||
156 | #define IVG7 7 | 166 | #define IVG7 7 |
157 | #define IVG8 8 | 167 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf518/include/mach/mem_map.h b/arch/blackfin/mach-bf518/include/mach/mem_map.h index 3c6777cb3532..073b5d73d391 100644 --- a/arch/blackfin/mach-bf518/include/mach/mem_map.h +++ b/arch/blackfin/mach-bf518/include/mach/mem_map.h | |||
@@ -41,7 +41,7 @@ | |||
41 | #define L1_DATA_A_START 0xFF800000 | 41 | #define L1_DATA_A_START 0xFF800000 |
42 | #define L1_DATA_B_START 0xFF900000 | 42 | #define L1_DATA_B_START 0xFF900000 |
43 | 43 | ||
44 | #define L1_CODE_LENGTH 0xC000 | 44 | #define L1_CODE_LENGTH 0x8000 |
45 | 45 | ||
46 | #ifdef CONFIG_BFIN_DCACHE | 46 | #ifdef CONFIG_BFIN_DCACHE |
47 | 47 | ||
diff --git a/arch/blackfin/mach-bf527/boards/Kconfig b/arch/blackfin/mach-bf527/boards/Kconfig index df224d04e167..b14c28810a44 100644 --- a/arch/blackfin/mach-bf527/boards/Kconfig +++ b/arch/blackfin/mach-bf527/boards/Kconfig | |||
@@ -9,6 +9,11 @@ config BFIN527_EZKIT | |||
9 | help | 9 | help |
10 | BF527-EZKIT-LITE board support. | 10 | BF527-EZKIT-LITE board support. |
11 | 11 | ||
12 | config BFIN527_EZKIT_V2 | ||
13 | bool "BF527-EZKIT-V2" | ||
14 | help | ||
15 | BF527-EZKIT-LITE V2.1+ board support. | ||
16 | |||
12 | config BFIN527_BLUETECHNIX_CM | 17 | config BFIN527_BLUETECHNIX_CM |
13 | bool "Bluetechnix CM-BF527" | 18 | bool "Bluetechnix CM-BF527" |
14 | help | 19 | help |
diff --git a/arch/blackfin/mach-bf527/boards/Makefile b/arch/blackfin/mach-bf527/boards/Makefile index eb6ed3362f9f..51a5817c4a90 100644 --- a/arch/blackfin/mach-bf527/boards/Makefile +++ b/arch/blackfin/mach-bf527/boards/Makefile | |||
@@ -3,5 +3,6 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o | 5 | obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o |
6 | obj-$(CONFIG_BFIN527_EZKIT_V2) += ezkit.o | ||
6 | obj-$(CONFIG_BFIN527_BLUETECHNIX_CM) += cm_bf527.o | 7 | obj-$(CONFIG_BFIN527_BLUETECHNIX_CM) += cm_bf527.o |
7 | obj-$(CONFIG_BFIN526_EZBRD) += ezbrd.o | 8 | obj-$(CONFIG_BFIN526_EZBRD) += ezbrd.o |
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c index 7ab0800e2914..ebe76d1e874a 100644 --- a/arch/blackfin/mach-bf527/boards/cm_bf527.c +++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/i2c.h> | 18 | #include <linux/i2c.h> |
19 | #include <linux/irq.h> | 19 | #include <linux/irq.h> |
20 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
21 | #include <linux/usb/sl811.h> | ||
22 | #include <linux/usb/musb.h> | 21 | #include <linux/usb/musb.h> |
23 | #include <asm/dma.h> | 22 | #include <asm/dma.h> |
24 | #include <asm/bfin5xx_spi.h> | 23 | #include <asm/bfin5xx_spi.h> |
@@ -270,50 +269,6 @@ static struct platform_device dm9000_device = { | |||
270 | }; | 269 | }; |
271 | #endif | 270 | #endif |
272 | 271 | ||
273 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
274 | static struct resource sl811_hcd_resources[] = { | ||
275 | { | ||
276 | .start = 0x20340000, | ||
277 | .end = 0x20340000, | ||
278 | .flags = IORESOURCE_MEM, | ||
279 | }, { | ||
280 | .start = 0x20340004, | ||
281 | .end = 0x20340004, | ||
282 | .flags = IORESOURCE_MEM, | ||
283 | }, { | ||
284 | .start = CONFIG_USB_SL811_BFIN_IRQ, | ||
285 | .end = CONFIG_USB_SL811_BFIN_IRQ, | ||
286 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
287 | }, | ||
288 | }; | ||
289 | |||
290 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
291 | void sl811_port_power(struct device *dev, int is_on) | ||
292 | { | ||
293 | gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); | ||
294 | gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); | ||
295 | } | ||
296 | #endif | ||
297 | |||
298 | static struct sl811_platform_data sl811_priv = { | ||
299 | .potpg = 10, | ||
300 | .power = 250, /* == 500mA */ | ||
301 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
302 | .port_power = &sl811_port_power, | ||
303 | #endif | ||
304 | }; | ||
305 | |||
306 | static struct platform_device sl811_hcd_device = { | ||
307 | .name = "sl811-hcd", | ||
308 | .id = 0, | ||
309 | .dev = { | ||
310 | .platform_data = &sl811_priv, | ||
311 | }, | ||
312 | .num_resources = ARRAY_SIZE(sl811_hcd_resources), | ||
313 | .resource = sl811_hcd_resources, | ||
314 | }; | ||
315 | #endif | ||
316 | |||
317 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 272 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
318 | static struct platform_device bfin_mii_bus = { | 273 | static struct platform_device bfin_mii_bus = { |
319 | .name = "bfin_mii_bus", | 274 | .name = "bfin_mii_bus", |
@@ -384,8 +339,8 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
384 | }; | 339 | }; |
385 | #endif | 340 | #endif |
386 | 341 | ||
387 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 342 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
388 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 343 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
389 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 344 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
390 | .enable_dma = 0, | 345 | .enable_dma = 0, |
391 | .bits_per_word = 16, | 346 | .bits_per_word = 16, |
@@ -462,8 +417,8 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
462 | }, | 417 | }, |
463 | #endif | 418 | #endif |
464 | 419 | ||
465 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 420 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
466 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 421 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
467 | { | 422 | { |
468 | .modalias = "ad1836", | 423 | .modalias = "ad1836", |
469 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 424 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -603,30 +558,105 @@ static struct platform_device cm_flash_device = { | |||
603 | #endif | 558 | #endif |
604 | 559 | ||
605 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 560 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
606 | static struct resource bfin_uart_resources[] = { | ||
607 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 561 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
562 | static struct resource bfin_uart0_resources[] = { | ||
608 | { | 563 | { |
609 | .start = 0xFFC00400, | 564 | .start = UART0_THR, |
610 | .end = 0xFFC004FF, | 565 | .end = UART0_GCTL+2, |
611 | .flags = IORESOURCE_MEM, | 566 | .flags = IORESOURCE_MEM, |
612 | }, | 567 | }, |
568 | { | ||
569 | .start = IRQ_UART0_RX, | ||
570 | .end = IRQ_UART0_RX+1, | ||
571 | .flags = IORESOURCE_IRQ, | ||
572 | }, | ||
573 | { | ||
574 | .start = IRQ_UART0_ERROR, | ||
575 | .end = IRQ_UART0_ERROR, | ||
576 | .flags = IORESOURCE_IRQ, | ||
577 | }, | ||
578 | { | ||
579 | .start = CH_UART0_TX, | ||
580 | .end = CH_UART0_TX, | ||
581 | .flags = IORESOURCE_DMA, | ||
582 | }, | ||
583 | { | ||
584 | .start = CH_UART0_RX, | ||
585 | .end = CH_UART0_RX, | ||
586 | .flags = IORESOURCE_DMA, | ||
587 | }, | ||
588 | }; | ||
589 | |||
590 | unsigned short bfin_uart0_peripherals[] = { | ||
591 | P_UART0_TX, P_UART0_RX, 0 | ||
592 | }; | ||
593 | |||
594 | static struct platform_device bfin_uart0_device = { | ||
595 | .name = "bfin-uart", | ||
596 | .id = 0, | ||
597 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
598 | .resource = bfin_uart0_resources, | ||
599 | .dev = { | ||
600 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
601 | }, | ||
602 | }; | ||
613 | #endif | 603 | #endif |
614 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 604 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
605 | static struct resource bfin_uart1_resources[] = { | ||
615 | { | 606 | { |
616 | .start = 0xFFC02000, | 607 | .start = UART1_THR, |
617 | .end = 0xFFC020FF, | 608 | .end = UART1_GCTL+2, |
618 | .flags = IORESOURCE_MEM, | 609 | .flags = IORESOURCE_MEM, |
619 | }, | 610 | }, |
611 | { | ||
612 | .start = IRQ_UART1_RX, | ||
613 | .end = IRQ_UART1_RX+1, | ||
614 | .flags = IORESOURCE_IRQ, | ||
615 | }, | ||
616 | { | ||
617 | .start = IRQ_UART1_ERROR, | ||
618 | .end = IRQ_UART1_ERROR, | ||
619 | .flags = IORESOURCE_IRQ, | ||
620 | }, | ||
621 | { | ||
622 | .start = CH_UART1_TX, | ||
623 | .end = CH_UART1_TX, | ||
624 | .flags = IORESOURCE_DMA, | ||
625 | }, | ||
626 | { | ||
627 | .start = CH_UART1_RX, | ||
628 | .end = CH_UART1_RX, | ||
629 | .flags = IORESOURCE_DMA, | ||
630 | }, | ||
631 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
632 | { /* CTS pin */ | ||
633 | .start = GPIO_PF9, | ||
634 | .end = GPIO_PF9, | ||
635 | .flags = IORESOURCE_IO, | ||
636 | }, | ||
637 | { /* RTS pin */ | ||
638 | .start = GPIO_PF10, | ||
639 | .end = GPIO_PF10, | ||
640 | .flags = IORESOURCE_IO, | ||
641 | }, | ||
620 | #endif | 642 | #endif |
621 | }; | 643 | }; |
622 | 644 | ||
623 | static struct platform_device bfin_uart_device = { | 645 | unsigned short bfin_uart1_peripherals[] = { |
646 | P_UART1_TX, P_UART1_RX, 0 | ||
647 | }; | ||
648 | |||
649 | static struct platform_device bfin_uart1_device = { | ||
624 | .name = "bfin-uart", | 650 | .name = "bfin-uart", |
625 | .id = 1, | 651 | .id = 1, |
626 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 652 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
627 | .resource = bfin_uart_resources, | 653 | .resource = bfin_uart1_resources, |
654 | .dev = { | ||
655 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
656 | }, | ||
628 | }; | 657 | }; |
629 | #endif | 658 | #endif |
659 | #endif | ||
630 | 660 | ||
631 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 661 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
632 | #ifdef CONFIG_BFIN_SIR0 | 662 | #ifdef CONFIG_BFIN_SIR0 |
@@ -725,16 +755,75 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
725 | }; | 755 | }; |
726 | 756 | ||
727 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 757 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
758 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
759 | static struct resource bfin_sport0_uart_resources[] = { | ||
760 | { | ||
761 | .start = SPORT0_TCR1, | ||
762 | .end = SPORT0_MRCS3+4, | ||
763 | .flags = IORESOURCE_MEM, | ||
764 | }, | ||
765 | { | ||
766 | .start = IRQ_SPORT0_RX, | ||
767 | .end = IRQ_SPORT0_RX+1, | ||
768 | .flags = IORESOURCE_IRQ, | ||
769 | }, | ||
770 | { | ||
771 | .start = IRQ_SPORT0_ERROR, | ||
772 | .end = IRQ_SPORT0_ERROR, | ||
773 | .flags = IORESOURCE_IRQ, | ||
774 | }, | ||
775 | }; | ||
776 | |||
777 | unsigned short bfin_sport0_peripherals[] = { | ||
778 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
779 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
780 | }; | ||
781 | |||
728 | static struct platform_device bfin_sport0_uart_device = { | 782 | static struct platform_device bfin_sport0_uart_device = { |
729 | .name = "bfin-sport-uart", | 783 | .name = "bfin-sport-uart", |
730 | .id = 0, | 784 | .id = 0, |
785 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
786 | .resource = bfin_sport0_uart_resources, | ||
787 | .dev = { | ||
788 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
789 | }, | ||
790 | }; | ||
791 | #endif | ||
792 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
793 | static struct resource bfin_sport1_uart_resources[] = { | ||
794 | { | ||
795 | .start = SPORT1_TCR1, | ||
796 | .end = SPORT1_MRCS3+4, | ||
797 | .flags = IORESOURCE_MEM, | ||
798 | }, | ||
799 | { | ||
800 | .start = IRQ_SPORT1_RX, | ||
801 | .end = IRQ_SPORT1_RX+1, | ||
802 | .flags = IORESOURCE_IRQ, | ||
803 | }, | ||
804 | { | ||
805 | .start = IRQ_SPORT1_ERROR, | ||
806 | .end = IRQ_SPORT1_ERROR, | ||
807 | .flags = IORESOURCE_IRQ, | ||
808 | }, | ||
809 | }; | ||
810 | |||
811 | unsigned short bfin_sport1_peripherals[] = { | ||
812 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
813 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
731 | }; | 814 | }; |
732 | 815 | ||
733 | static struct platform_device bfin_sport1_uart_device = { | 816 | static struct platform_device bfin_sport1_uart_device = { |
734 | .name = "bfin-sport-uart", | 817 | .name = "bfin-sport-uart", |
735 | .id = 1, | 818 | .id = 1, |
819 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
820 | .resource = bfin_sport1_uart_resources, | ||
821 | .dev = { | ||
822 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
823 | }, | ||
736 | }; | 824 | }; |
737 | #endif | 825 | #endif |
826 | #endif | ||
738 | 827 | ||
739 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 828 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
740 | #include <linux/input.h> | 829 | #include <linux/input.h> |
@@ -795,10 +884,6 @@ static struct platform_device *cmbf527_devices[] __initdata = { | |||
795 | &rtc_device, | 884 | &rtc_device, |
796 | #endif | 885 | #endif |
797 | 886 | ||
798 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
799 | &sl811_hcd_device, | ||
800 | #endif | ||
801 | |||
802 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 887 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
803 | &bfin_isp1760_device, | 888 | &bfin_isp1760_device, |
804 | #endif | 889 | #endif |
@@ -829,7 +914,12 @@ static struct platform_device *cmbf527_devices[] __initdata = { | |||
829 | #endif | 914 | #endif |
830 | 915 | ||
831 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 916 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
832 | &bfin_uart_device, | 917 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
918 | &bfin_uart0_device, | ||
919 | #endif | ||
920 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
921 | &bfin_uart1_device, | ||
922 | #endif | ||
833 | #endif | 923 | #endif |
834 | 924 | ||
835 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 925 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -846,9 +936,13 @@ static struct platform_device *cmbf527_devices[] __initdata = { | |||
846 | #endif | 936 | #endif |
847 | 937 | ||
848 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 938 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
939 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
849 | &bfin_sport0_uart_device, | 940 | &bfin_sport0_uart_device, |
941 | #endif | ||
942 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
850 | &bfin_sport1_uart_device, | 943 | &bfin_sport1_uart_device, |
851 | #endif | 944 | #endif |
945 | #endif | ||
852 | 946 | ||
853 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 947 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
854 | &bfin_device_gpiokeys, | 948 | &bfin_device_gpiokeys, |
@@ -871,6 +965,33 @@ static int __init cm_init(void) | |||
871 | 965 | ||
872 | arch_initcall(cm_init); | 966 | arch_initcall(cm_init); |
873 | 967 | ||
968 | static struct platform_device *cmbf527_early_devices[] __initdata = { | ||
969 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
970 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
971 | &bfin_uart0_device, | ||
972 | #endif | ||
973 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
974 | &bfin_uart1_device, | ||
975 | #endif | ||
976 | #endif | ||
977 | |||
978 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
979 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
980 | &bfin_sport0_uart_device, | ||
981 | #endif | ||
982 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
983 | &bfin_sport1_uart_device, | ||
984 | #endif | ||
985 | #endif | ||
986 | }; | ||
987 | |||
988 | void __init native_machine_early_platform_add_devices(void) | ||
989 | { | ||
990 | printk(KERN_INFO "register early platform devices\n"); | ||
991 | early_platform_add_devices(cmbf527_early_devices, | ||
992 | ARRAY_SIZE(cmbf527_early_devices)); | ||
993 | } | ||
994 | |||
874 | void native_machine_restart(char *cmd) | 995 | void native_machine_restart(char *cmd) |
875 | { | 996 | { |
876 | /* workaround reboot hang when booting from SPI */ | 997 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf527/boards/ezbrd.c b/arch/blackfin/mach-bf527/boards/ezbrd.c index cad23b15d83c..55069af4f67d 100644 --- a/arch/blackfin/mach-bf527/boards/ezbrd.c +++ b/arch/blackfin/mach-bf527/boards/ezbrd.c | |||
@@ -274,8 +274,8 @@ static const struct ad7879_platform_data bfin_ad7879_ts_info = { | |||
274 | .median = 2, /* do 8 measurements */ | 274 | .median = 2, /* do 8 measurements */ |
275 | .averaging = 1, /* take the average of 4 middle samples */ | 275 | .averaging = 1, /* take the average of 4 middle samples */ |
276 | .pen_down_acc_interval = 255, /* 9.4 ms */ | 276 | .pen_down_acc_interval = 255, /* 9.4 ms */ |
277 | .gpio_output = 1, /* configure AUX/VBAT/GPIO as GPIO output */ | 277 | .gpio_export = 1, /* Export GPIO to gpiolib */ |
278 | .gpio_default = 1, /* During initialization set GPIO = HIGH */ | 278 | .gpio_base = -1, /* Dynamic allocation */ |
279 | }; | 279 | }; |
280 | #endif | 280 | #endif |
281 | 281 | ||
@@ -439,30 +439,105 @@ static struct platform_device bfin_spi0_device = { | |||
439 | #endif /* spi master and devices */ | 439 | #endif /* spi master and devices */ |
440 | 440 | ||
441 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 441 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
442 | static struct resource bfin_uart_resources[] = { | ||
443 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 442 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
443 | static struct resource bfin_uart0_resources[] = { | ||
444 | { | 444 | { |
445 | .start = 0xFFC00400, | 445 | .start = UART0_THR, |
446 | .end = 0xFFC004FF, | 446 | .end = UART0_GCTL+2, |
447 | .flags = IORESOURCE_MEM, | 447 | .flags = IORESOURCE_MEM, |
448 | }, | 448 | }, |
449 | { | ||
450 | .start = IRQ_UART0_RX, | ||
451 | .end = IRQ_UART0_RX+1, | ||
452 | .flags = IORESOURCE_IRQ, | ||
453 | }, | ||
454 | { | ||
455 | .start = IRQ_UART0_ERROR, | ||
456 | .end = IRQ_UART0_ERROR, | ||
457 | .flags = IORESOURCE_IRQ, | ||
458 | }, | ||
459 | { | ||
460 | .start = CH_UART0_TX, | ||
461 | .end = CH_UART0_TX, | ||
462 | .flags = IORESOURCE_DMA, | ||
463 | }, | ||
464 | { | ||
465 | .start = CH_UART0_RX, | ||
466 | .end = CH_UART0_RX, | ||
467 | .flags = IORESOURCE_DMA, | ||
468 | }, | ||
469 | }; | ||
470 | |||
471 | unsigned short bfin_uart0_peripherals[] = { | ||
472 | P_UART0_TX, P_UART0_RX, 0 | ||
473 | }; | ||
474 | |||
475 | static struct platform_device bfin_uart0_device = { | ||
476 | .name = "bfin-uart", | ||
477 | .id = 0, | ||
478 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
479 | .resource = bfin_uart0_resources, | ||
480 | .dev = { | ||
481 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
482 | }, | ||
483 | }; | ||
449 | #endif | 484 | #endif |
450 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 485 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
486 | static struct resource bfin_uart1_resources[] = { | ||
451 | { | 487 | { |
452 | .start = 0xFFC02000, | 488 | .start = UART1_THR, |
453 | .end = 0xFFC020FF, | 489 | .end = UART1_GCTL+2, |
454 | .flags = IORESOURCE_MEM, | 490 | .flags = IORESOURCE_MEM, |
455 | }, | 491 | }, |
492 | { | ||
493 | .start = IRQ_UART1_RX, | ||
494 | .end = IRQ_UART1_RX+1, | ||
495 | .flags = IORESOURCE_IRQ, | ||
496 | }, | ||
497 | { | ||
498 | .start = IRQ_UART1_ERROR, | ||
499 | .end = IRQ_UART1_ERROR, | ||
500 | .flags = IORESOURCE_IRQ, | ||
501 | }, | ||
502 | { | ||
503 | .start = CH_UART1_TX, | ||
504 | .end = CH_UART1_TX, | ||
505 | .flags = IORESOURCE_DMA, | ||
506 | }, | ||
507 | { | ||
508 | .start = CH_UART1_RX, | ||
509 | .end = CH_UART1_RX, | ||
510 | .flags = IORESOURCE_DMA, | ||
511 | }, | ||
512 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
513 | { /* CTS pin */ | ||
514 | .start = GPIO_PG0, | ||
515 | .end = GPIO_PG0, | ||
516 | .flags = IORESOURCE_IO, | ||
517 | }, | ||
518 | { /* RTS pin */ | ||
519 | .start = GPIO_PF10, | ||
520 | .end = GPIO_PF10, | ||
521 | .flags = IORESOURCE_IO, | ||
522 | }, | ||
456 | #endif | 523 | #endif |
457 | }; | 524 | }; |
458 | 525 | ||
459 | static struct platform_device bfin_uart_device = { | 526 | unsigned short bfin_uart1_peripherals[] = { |
527 | P_UART1_TX, P_UART1_RX, 0 | ||
528 | }; | ||
529 | |||
530 | static struct platform_device bfin_uart1_device = { | ||
460 | .name = "bfin-uart", | 531 | .name = "bfin-uart", |
461 | .id = 1, | 532 | .id = 1, |
462 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 533 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
463 | .resource = bfin_uart_resources, | 534 | .resource = bfin_uart1_resources, |
535 | .dev = { | ||
536 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
537 | }, | ||
464 | }; | 538 | }; |
465 | #endif | 539 | #endif |
540 | #endif | ||
466 | 541 | ||
467 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 542 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
468 | #ifdef CONFIG_BFIN_SIR0 | 543 | #ifdef CONFIG_BFIN_SIR0 |
@@ -556,16 +631,75 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
556 | }; | 631 | }; |
557 | 632 | ||
558 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 633 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
634 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
635 | static struct resource bfin_sport0_uart_resources[] = { | ||
636 | { | ||
637 | .start = SPORT0_TCR1, | ||
638 | .end = SPORT0_MRCS3+4, | ||
639 | .flags = IORESOURCE_MEM, | ||
640 | }, | ||
641 | { | ||
642 | .start = IRQ_SPORT0_RX, | ||
643 | .end = IRQ_SPORT0_RX+1, | ||
644 | .flags = IORESOURCE_IRQ, | ||
645 | }, | ||
646 | { | ||
647 | .start = IRQ_SPORT0_ERROR, | ||
648 | .end = IRQ_SPORT0_ERROR, | ||
649 | .flags = IORESOURCE_IRQ, | ||
650 | }, | ||
651 | }; | ||
652 | |||
653 | unsigned short bfin_sport0_peripherals[] = { | ||
654 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
655 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
656 | }; | ||
657 | |||
559 | static struct platform_device bfin_sport0_uart_device = { | 658 | static struct platform_device bfin_sport0_uart_device = { |
560 | .name = "bfin-sport-uart", | 659 | .name = "bfin-sport-uart", |
561 | .id = 0, | 660 | .id = 0, |
661 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
662 | .resource = bfin_sport0_uart_resources, | ||
663 | .dev = { | ||
664 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
665 | }, | ||
666 | }; | ||
667 | #endif | ||
668 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
669 | static struct resource bfin_sport1_uart_resources[] = { | ||
670 | { | ||
671 | .start = SPORT1_TCR1, | ||
672 | .end = SPORT1_MRCS3+4, | ||
673 | .flags = IORESOURCE_MEM, | ||
674 | }, | ||
675 | { | ||
676 | .start = IRQ_SPORT1_RX, | ||
677 | .end = IRQ_SPORT1_RX+1, | ||
678 | .flags = IORESOURCE_IRQ, | ||
679 | }, | ||
680 | { | ||
681 | .start = IRQ_SPORT1_ERROR, | ||
682 | .end = IRQ_SPORT1_ERROR, | ||
683 | .flags = IORESOURCE_IRQ, | ||
684 | }, | ||
685 | }; | ||
686 | |||
687 | unsigned short bfin_sport1_peripherals[] = { | ||
688 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
689 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
562 | }; | 690 | }; |
563 | 691 | ||
564 | static struct platform_device bfin_sport1_uart_device = { | 692 | static struct platform_device bfin_sport1_uart_device = { |
565 | .name = "bfin-sport-uart", | 693 | .name = "bfin-sport-uart", |
566 | .id = 1, | 694 | .id = 1, |
695 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
696 | .resource = bfin_sport1_uart_resources, | ||
697 | .dev = { | ||
698 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
699 | }, | ||
567 | }; | 700 | }; |
568 | #endif | 701 | #endif |
702 | #endif | ||
569 | 703 | ||
570 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 704 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
571 | #include <linux/input.h> | 705 | #include <linux/input.h> |
@@ -615,9 +749,10 @@ static struct platform_device bfin_dpmc = { | |||
615 | #include <asm/bfin-lq035q1.h> | 749 | #include <asm/bfin-lq035q1.h> |
616 | 750 | ||
617 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { | 751 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { |
618 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, | 752 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, |
619 | .use_bl = 1, | 753 | .ppi_mode = USE_RGB565_16_BIT_PPI, |
620 | .gpio_bl = GPIO_PG12, | 754 | .use_bl = 1, |
755 | .gpio_bl = GPIO_PG12, | ||
621 | }; | 756 | }; |
622 | 757 | ||
623 | static struct resource bfin_lq035q1_resources[] = { | 758 | static struct resource bfin_lq035q1_resources[] = { |
@@ -665,7 +800,12 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
665 | #endif | 800 | #endif |
666 | 801 | ||
667 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 802 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
668 | &bfin_uart_device, | 803 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
804 | &bfin_uart0_device, | ||
805 | #endif | ||
806 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
807 | &bfin_uart1_device, | ||
808 | #endif | ||
669 | #endif | 809 | #endif |
670 | 810 | ||
671 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | 811 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) |
@@ -686,9 +826,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
686 | #endif | 826 | #endif |
687 | 827 | ||
688 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 828 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
829 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
689 | &bfin_sport0_uart_device, | 830 | &bfin_sport0_uart_device, |
831 | #endif | ||
832 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
690 | &bfin_sport1_uart_device, | 833 | &bfin_sport1_uart_device, |
691 | #endif | 834 | #endif |
835 | #endif | ||
692 | 836 | ||
693 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 837 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
694 | &bfin_device_gpiokeys, | 838 | &bfin_device_gpiokeys, |
@@ -711,6 +855,33 @@ static int __init ezbrd_init(void) | |||
711 | 855 | ||
712 | arch_initcall(ezbrd_init); | 856 | arch_initcall(ezbrd_init); |
713 | 857 | ||
858 | static struct platform_device *ezbrd_early_devices[] __initdata = { | ||
859 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
860 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
861 | &bfin_uart0_device, | ||
862 | #endif | ||
863 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
864 | &bfin_uart1_device, | ||
865 | #endif | ||
866 | #endif | ||
867 | |||
868 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
869 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
870 | &bfin_sport0_uart_device, | ||
871 | #endif | ||
872 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
873 | &bfin_sport1_uart_device, | ||
874 | #endif | ||
875 | #endif | ||
876 | }; | ||
877 | |||
878 | void __init native_machine_early_platform_add_devices(void) | ||
879 | { | ||
880 | printk(KERN_INFO "register early platform devices\n"); | ||
881 | early_platform_add_devices(ezbrd_early_devices, | ||
882 | ARRAY_SIZE(ezbrd_early_devices)); | ||
883 | } | ||
884 | |||
714 | void native_machine_restart(char *cmd) | 885 | void native_machine_restart(char *cmd) |
715 | { | 886 | { |
716 | /* workaround reboot hang when booting from SPI */ | 887 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index 5294fdd20732..923383386aa1 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -16,8 +16,9 @@ | |||
16 | #include <linux/i2c.h> | 16 | #include <linux/i2c.h> |
17 | #include <linux/irq.h> | 17 | #include <linux/irq.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/usb/sl811.h> | ||
20 | #include <linux/usb/musb.h> | 19 | #include <linux/usb/musb.h> |
20 | #include <linux/leds.h> | ||
21 | #include <linux/input.h> | ||
21 | #include <asm/dma.h> | 22 | #include <asm/dma.h> |
22 | #include <asm/bfin5xx_spi.h> | 23 | #include <asm/bfin5xx_spi.h> |
23 | #include <asm/reboot.h> | 24 | #include <asm/reboot.h> |
@@ -29,7 +30,11 @@ | |||
29 | /* | 30 | /* |
30 | * Name the Board for the /proc/cpuinfo | 31 | * Name the Board for the /proc/cpuinfo |
31 | */ | 32 | */ |
33 | #ifdef CONFIG_BFIN527_EZKIT_V2 | ||
34 | const char bfin_board_name[] = "ADI BF527-EZKIT V2"; | ||
35 | #else | ||
32 | const char bfin_board_name[] = "ADI BF527-EZKIT"; | 36 | const char bfin_board_name[] = "ADI BF527-EZKIT"; |
37 | #endif | ||
33 | 38 | ||
34 | /* | 39 | /* |
35 | * Driver needs to know address, irq and flag pin. | 40 | * Driver needs to know address, irq and flag pin. |
@@ -143,6 +148,33 @@ static struct platform_device bf52x_t350mcqb_device = { | |||
143 | }; | 148 | }; |
144 | #endif | 149 | #endif |
145 | 150 | ||
151 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | ||
152 | #include <asm/bfin-lq035q1.h> | ||
153 | |||
154 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { | ||
155 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, | ||
156 | .ppi_mode = USE_RGB565_8_BIT_PPI, | ||
157 | }; | ||
158 | |||
159 | static struct resource bfin_lq035q1_resources[] = { | ||
160 | { | ||
161 | .start = IRQ_PPI_ERROR, | ||
162 | .end = IRQ_PPI_ERROR, | ||
163 | .flags = IORESOURCE_IRQ, | ||
164 | }, | ||
165 | }; | ||
166 | |||
167 | static struct platform_device bfin_lq035q1_device = { | ||
168 | .name = "bfin-lq035q1", | ||
169 | .id = -1, | ||
170 | .num_resources = ARRAY_SIZE(bfin_lq035q1_resources), | ||
171 | .resource = bfin_lq035q1_resources, | ||
172 | .dev = { | ||
173 | .platform_data = &bfin_lq035q1_data, | ||
174 | }, | ||
175 | }; | ||
176 | #endif | ||
177 | |||
146 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 178 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
147 | static struct mtd_partition ezkit_partitions[] = { | 179 | static struct mtd_partition ezkit_partitions[] = { |
148 | { | 180 | { |
@@ -326,50 +358,6 @@ static struct platform_device dm9000_device = { | |||
326 | }; | 358 | }; |
327 | #endif | 359 | #endif |
328 | 360 | ||
329 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
330 | static struct resource sl811_hcd_resources[] = { | ||
331 | { | ||
332 | .start = 0x20340000, | ||
333 | .end = 0x20340000, | ||
334 | .flags = IORESOURCE_MEM, | ||
335 | }, { | ||
336 | .start = 0x20340004, | ||
337 | .end = 0x20340004, | ||
338 | .flags = IORESOURCE_MEM, | ||
339 | }, { | ||
340 | .start = CONFIG_USB_SL811_BFIN_IRQ, | ||
341 | .end = CONFIG_USB_SL811_BFIN_IRQ, | ||
342 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
343 | }, | ||
344 | }; | ||
345 | |||
346 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
347 | void sl811_port_power(struct device *dev, int is_on) | ||
348 | { | ||
349 | gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); | ||
350 | gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); | ||
351 | } | ||
352 | #endif | ||
353 | |||
354 | static struct sl811_platform_data sl811_priv = { | ||
355 | .potpg = 10, | ||
356 | .power = 250, /* == 500mA */ | ||
357 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
358 | .port_power = &sl811_port_power, | ||
359 | #endif | ||
360 | }; | ||
361 | |||
362 | static struct platform_device sl811_hcd_device = { | ||
363 | .name = "sl811-hcd", | ||
364 | .id = 0, | ||
365 | .dev = { | ||
366 | .platform_data = &sl811_priv, | ||
367 | }, | ||
368 | .num_resources = ARRAY_SIZE(sl811_hcd_resources), | ||
369 | .resource = sl811_hcd_resources, | ||
370 | }; | ||
371 | #endif | ||
372 | |||
373 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 361 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
374 | static struct platform_device bfin_mii_bus = { | 362 | static struct platform_device bfin_mii_bus = { |
375 | .name = "bfin_mii_bus", | 363 | .name = "bfin_mii_bus", |
@@ -440,8 +428,8 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
440 | }; | 428 | }; |
441 | #endif | 429 | #endif |
442 | 430 | ||
443 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 431 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
444 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 432 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
445 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 433 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
446 | .enable_dma = 0, | 434 | .enable_dma = 0, |
447 | .bits_per_word = 16, | 435 | .bits_per_word = 16, |
@@ -488,8 +476,7 @@ static const struct ad7879_platform_data bfin_ad7879_ts_info = { | |||
488 | .median = 2, /* do 8 measurements */ | 476 | .median = 2, /* do 8 measurements */ |
489 | .averaging = 1, /* take the average of 4 middle samples */ | 477 | .averaging = 1, /* take the average of 4 middle samples */ |
490 | .pen_down_acc_interval = 255, /* 9.4 ms */ | 478 | .pen_down_acc_interval = 255, /* 9.4 ms */ |
491 | .gpio_output = 1, /* configure AUX/VBAT/GPIO as GPIO output */ | 479 | .gpio_export = 0, /* Export GPIO to gpiolib */ |
492 | .gpio_default = 1, /* During initialization set GPIO = HIGH */ | ||
493 | }; | 480 | }; |
494 | #endif | 481 | #endif |
495 | 482 | ||
@@ -500,14 +487,6 @@ static struct bfin5xx_spi_chip spi_ad7879_chip_info = { | |||
500 | }; | 487 | }; |
501 | #endif | 488 | #endif |
502 | 489 | ||
503 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
504 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
505 | static struct bfin5xx_spi_chip spi_wm8731_chip_info = { | ||
506 | .enable_dma = 0, | ||
507 | .bits_per_word = 16, | ||
508 | }; | ||
509 | #endif | ||
510 | |||
511 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | 490 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) |
512 | static struct bfin5xx_spi_chip spidev_chip_info = { | 491 | static struct bfin5xx_spi_chip spidev_chip_info = { |
513 | .enable_dma = 0, | 492 | .enable_dma = 0, |
@@ -515,6 +494,29 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
515 | }; | 494 | }; |
516 | #endif | 495 | #endif |
517 | 496 | ||
497 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
498 | static struct platform_device bfin_i2s = { | ||
499 | .name = "bfin-i2s", | ||
500 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
501 | /* TODO: add platform data here */ | ||
502 | }; | ||
503 | #endif | ||
504 | |||
505 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
506 | static struct platform_device bfin_tdm = { | ||
507 | .name = "bfin-tdm", | ||
508 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
509 | /* TODO: add platform data here */ | ||
510 | }; | ||
511 | #endif | ||
512 | |||
513 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | ||
514 | static struct bfin5xx_spi_chip lq035q1_spi_chip_info = { | ||
515 | .enable_dma = 0, | ||
516 | .bits_per_word = 8, | ||
517 | }; | ||
518 | #endif | ||
519 | |||
518 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 520 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
519 | #if defined(CONFIG_MTD_M25P80) \ | 521 | #if defined(CONFIG_MTD_M25P80) \ |
520 | || defined(CONFIG_MTD_M25P80_MODULE) | 522 | || defined(CONFIG_MTD_M25P80_MODULE) |
@@ -542,8 +544,8 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
542 | }, | 544 | }, |
543 | #endif | 545 | #endif |
544 | 546 | ||
545 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 547 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
546 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 548 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
547 | { | 549 | { |
548 | .modalias = "ad1836", | 550 | .modalias = "ad1836", |
549 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 551 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -586,17 +588,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
586 | .mode = SPI_CPHA | SPI_CPOL, | 588 | .mode = SPI_CPHA | SPI_CPOL, |
587 | }, | 589 | }, |
588 | #endif | 590 | #endif |
589 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
590 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
591 | { | ||
592 | .modalias = "wm8731", | ||
593 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
594 | .bus_num = 0, | ||
595 | .chip_select = 5, | ||
596 | .controller_data = &spi_wm8731_chip_info, | ||
597 | .mode = SPI_MODE_0, | ||
598 | }, | ||
599 | #endif | ||
600 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | 591 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) |
601 | { | 592 | { |
602 | .modalias = "spidev", | 593 | .modalias = "spidev", |
@@ -606,6 +597,16 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
606 | .controller_data = &spidev_chip_info, | 597 | .controller_data = &spidev_chip_info, |
607 | }, | 598 | }, |
608 | #endif | 599 | #endif |
600 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | ||
601 | { | ||
602 | .modalias = "bfin-lq035q1-spi", | ||
603 | .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ | ||
604 | .bus_num = 0, | ||
605 | .chip_select = 7, | ||
606 | .controller_data = &lq035q1_spi_chip_info, | ||
607 | .mode = SPI_CPHA | SPI_CPOL, | ||
608 | }, | ||
609 | #endif | ||
609 | }; | 610 | }; |
610 | 611 | ||
611 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 612 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
@@ -647,30 +648,105 @@ static struct platform_device bfin_spi0_device = { | |||
647 | #endif /* spi master and devices */ | 648 | #endif /* spi master and devices */ |
648 | 649 | ||
649 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 650 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
650 | static struct resource bfin_uart_resources[] = { | ||
651 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 651 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
652 | static struct resource bfin_uart0_resources[] = { | ||
652 | { | 653 | { |
653 | .start = 0xFFC00400, | 654 | .start = UART0_THR, |
654 | .end = 0xFFC004FF, | 655 | .end = UART0_GCTL+2, |
655 | .flags = IORESOURCE_MEM, | 656 | .flags = IORESOURCE_MEM, |
656 | }, | 657 | }, |
658 | { | ||
659 | .start = IRQ_UART0_RX, | ||
660 | .end = IRQ_UART0_RX+1, | ||
661 | .flags = IORESOURCE_IRQ, | ||
662 | }, | ||
663 | { | ||
664 | .start = IRQ_UART0_ERROR, | ||
665 | .end = IRQ_UART0_ERROR, | ||
666 | .flags = IORESOURCE_IRQ, | ||
667 | }, | ||
668 | { | ||
669 | .start = CH_UART0_TX, | ||
670 | .end = CH_UART0_TX, | ||
671 | .flags = IORESOURCE_DMA, | ||
672 | }, | ||
673 | { | ||
674 | .start = CH_UART0_RX, | ||
675 | .end = CH_UART0_RX, | ||
676 | .flags = IORESOURCE_DMA, | ||
677 | }, | ||
678 | }; | ||
679 | |||
680 | unsigned short bfin_uart0_peripherals[] = { | ||
681 | P_UART0_TX, P_UART0_RX, 0 | ||
682 | }; | ||
683 | |||
684 | static struct platform_device bfin_uart0_device = { | ||
685 | .name = "bfin-uart", | ||
686 | .id = 0, | ||
687 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
688 | .resource = bfin_uart0_resources, | ||
689 | .dev = { | ||
690 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
691 | }, | ||
692 | }; | ||
657 | #endif | 693 | #endif |
658 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 694 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
695 | static struct resource bfin_uart1_resources[] = { | ||
659 | { | 696 | { |
660 | .start = 0xFFC02000, | 697 | .start = UART1_THR, |
661 | .end = 0xFFC020FF, | 698 | .end = UART1_GCTL+2, |
662 | .flags = IORESOURCE_MEM, | 699 | .flags = IORESOURCE_MEM, |
663 | }, | 700 | }, |
701 | { | ||
702 | .start = IRQ_UART1_RX, | ||
703 | .end = IRQ_UART1_RX+1, | ||
704 | .flags = IORESOURCE_IRQ, | ||
705 | }, | ||
706 | { | ||
707 | .start = IRQ_UART1_ERROR, | ||
708 | .end = IRQ_UART1_ERROR, | ||
709 | .flags = IORESOURCE_IRQ, | ||
710 | }, | ||
711 | { | ||
712 | .start = CH_UART1_TX, | ||
713 | .end = CH_UART1_TX, | ||
714 | .flags = IORESOURCE_DMA, | ||
715 | }, | ||
716 | { | ||
717 | .start = CH_UART1_RX, | ||
718 | .end = CH_UART1_RX, | ||
719 | .flags = IORESOURCE_DMA, | ||
720 | }, | ||
721 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
722 | { /* CTS pin */ | ||
723 | .start = GPIO_PF9, | ||
724 | .end = GPIO_PF9, | ||
725 | .flags = IORESOURCE_IO, | ||
726 | }, | ||
727 | { /* RTS pin */ | ||
728 | .start = GPIO_PF10, | ||
729 | .end = GPIO_PF10, | ||
730 | .flags = IORESOURCE_IO, | ||
731 | }, | ||
664 | #endif | 732 | #endif |
665 | }; | 733 | }; |
666 | 734 | ||
667 | static struct platform_device bfin_uart_device = { | 735 | unsigned short bfin_uart1_peripherals[] = { |
736 | P_UART1_TX, P_UART1_RX, 0 | ||
737 | }; | ||
738 | |||
739 | static struct platform_device bfin_uart1_device = { | ||
668 | .name = "bfin-uart", | 740 | .name = "bfin-uart", |
669 | .id = 1, | 741 | .id = 1, |
670 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 742 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
671 | .resource = bfin_uart_resources, | 743 | .resource = bfin_uart1_resources, |
744 | .dev = { | ||
745 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
746 | }, | ||
672 | }; | 747 | }; |
673 | #endif | 748 | #endif |
749 | #endif | ||
674 | 750 | ||
675 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 751 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
676 | #ifdef CONFIG_BFIN_SIR0 | 752 | #ifdef CONFIG_BFIN_SIR0 |
@@ -749,6 +825,71 @@ static struct platform_device i2c_bfin_twi_device = { | |||
749 | }; | 825 | }; |
750 | #endif | 826 | #endif |
751 | 827 | ||
828 | #if defined(CONFIG_PMIC_ADP5520) || defined(CONFIG_PMIC_ADP5520_MODULE) | ||
829 | #include <linux/mfd/adp5520.h> | ||
830 | |||
831 | /* | ||
832 | * ADP5520/5501 LEDs Data | ||
833 | */ | ||
834 | |||
835 | static struct led_info adp5520_leds[] = { | ||
836 | { | ||
837 | .name = "adp5520-led1", | ||
838 | .default_trigger = "none", | ||
839 | .flags = FLAG_ID_ADP5520_LED1_ADP5501_LED0 | ADP5520_LED_OFFT_600ms, | ||
840 | }, | ||
841 | }; | ||
842 | |||
843 | static struct adp5520_leds_platform_data adp5520_leds_data = { | ||
844 | .num_leds = ARRAY_SIZE(adp5520_leds), | ||
845 | .leds = adp5520_leds, | ||
846 | .fade_in = ADP5520_FADE_T_600ms, | ||
847 | .fade_out = ADP5520_FADE_T_600ms, | ||
848 | .led_on_time = ADP5520_LED_ONT_600ms, | ||
849 | }; | ||
850 | |||
851 | /* | ||
852 | * ADP5520 Keypad Data | ||
853 | */ | ||
854 | |||
855 | static const unsigned short adp5520_keymap[ADP5520_KEYMAPSIZE] = { | ||
856 | [ADP5520_KEY(3, 3)] = KEY_1, | ||
857 | [ADP5520_KEY(2, 3)] = KEY_2, | ||
858 | [ADP5520_KEY(1, 3)] = KEY_3, | ||
859 | [ADP5520_KEY(0, 3)] = KEY_UP, | ||
860 | [ADP5520_KEY(3, 2)] = KEY_4, | ||
861 | [ADP5520_KEY(2, 2)] = KEY_5, | ||
862 | [ADP5520_KEY(1, 2)] = KEY_6, | ||
863 | [ADP5520_KEY(0, 2)] = KEY_DOWN, | ||
864 | [ADP5520_KEY(3, 1)] = KEY_7, | ||
865 | [ADP5520_KEY(2, 1)] = KEY_8, | ||
866 | [ADP5520_KEY(1, 1)] = KEY_9, | ||
867 | [ADP5520_KEY(0, 1)] = KEY_DOT, | ||
868 | [ADP5520_KEY(3, 0)] = KEY_BACKSPACE, | ||
869 | [ADP5520_KEY(2, 0)] = KEY_0, | ||
870 | [ADP5520_KEY(1, 0)] = KEY_HELP, | ||
871 | [ADP5520_KEY(0, 0)] = KEY_ENTER, | ||
872 | }; | ||
873 | |||
874 | static struct adp5520_keys_platform_data adp5520_keys_data = { | ||
875 | .rows_en_mask = ADP5520_ROW_R3 | ADP5520_ROW_R2 | ADP5520_ROW_R1 | ADP5520_ROW_R0, | ||
876 | .cols_en_mask = ADP5520_COL_C3 | ADP5520_COL_C2 | ADP5520_COL_C1 | ADP5520_COL_C0, | ||
877 | .keymap = adp5520_keymap, | ||
878 | .keymapsize = ARRAY_SIZE(adp5520_keymap), | ||
879 | .repeat = 0, | ||
880 | }; | ||
881 | |||
882 | /* | ||
883 | * ADP5520/5501 Multifuction Device Init Data | ||
884 | */ | ||
885 | |||
886 | static struct adp5520_platform_data adp5520_pdev_data = { | ||
887 | .leds = &adp5520_leds_data, | ||
888 | .keys = &adp5520_keys_data, | ||
889 | }; | ||
890 | |||
891 | #endif | ||
892 | |||
752 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | 893 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { |
753 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) | 894 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) |
754 | { | 895 | { |
@@ -766,22 +907,99 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
766 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | 907 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), |
767 | }, | 908 | }, |
768 | #endif | 909 | #endif |
910 | #if defined(CONFIG_TOUCHSCREEN_AD7879_I2C) || defined(CONFIG_TOUCHSCREEN_AD7879_I2C_MODULE) | ||
911 | { | ||
912 | I2C_BOARD_INFO("ad7879", 0x2C), | ||
913 | .irq = IRQ_PF8, | ||
914 | .platform_data = (void *)&bfin_ad7879_ts_info, | ||
915 | }, | ||
916 | #endif | ||
917 | #if defined(CONFIG_PMIC_ADP5520) || defined(CONFIG_PMIC_ADP5520_MODULE) | ||
918 | { | ||
919 | I2C_BOARD_INFO("pmic-adp5520", 0x32), | ||
920 | .irq = IRQ_PF9, | ||
921 | .platform_data = (void *)&adp5520_pdev_data, | ||
922 | }, | ||
923 | #endif | ||
924 | #if defined(CONFIG_SND_SOC_SSM2602) || defined(CONFIG_SND_SOC_SSM2602_MODULE) | ||
925 | { | ||
926 | I2C_BOARD_INFO("ssm2602", 0x1b), | ||
927 | }, | ||
928 | #endif | ||
769 | }; | 929 | }; |
770 | 930 | ||
771 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 931 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
932 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
933 | static struct resource bfin_sport0_uart_resources[] = { | ||
934 | { | ||
935 | .start = SPORT0_TCR1, | ||
936 | .end = SPORT0_MRCS3+4, | ||
937 | .flags = IORESOURCE_MEM, | ||
938 | }, | ||
939 | { | ||
940 | .start = IRQ_SPORT0_RX, | ||
941 | .end = IRQ_SPORT0_RX+1, | ||
942 | .flags = IORESOURCE_IRQ, | ||
943 | }, | ||
944 | { | ||
945 | .start = IRQ_SPORT0_ERROR, | ||
946 | .end = IRQ_SPORT0_ERROR, | ||
947 | .flags = IORESOURCE_IRQ, | ||
948 | }, | ||
949 | }; | ||
950 | |||
951 | unsigned short bfin_sport0_peripherals[] = { | ||
952 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
953 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
954 | }; | ||
955 | |||
772 | static struct platform_device bfin_sport0_uart_device = { | 956 | static struct platform_device bfin_sport0_uart_device = { |
773 | .name = "bfin-sport-uart", | 957 | .name = "bfin-sport-uart", |
774 | .id = 0, | 958 | .id = 0, |
959 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
960 | .resource = bfin_sport0_uart_resources, | ||
961 | .dev = { | ||
962 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
963 | }, | ||
964 | }; | ||
965 | #endif | ||
966 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
967 | static struct resource bfin_sport1_uart_resources[] = { | ||
968 | { | ||
969 | .start = SPORT1_TCR1, | ||
970 | .end = SPORT1_MRCS3+4, | ||
971 | .flags = IORESOURCE_MEM, | ||
972 | }, | ||
973 | { | ||
974 | .start = IRQ_SPORT1_RX, | ||
975 | .end = IRQ_SPORT1_RX+1, | ||
976 | .flags = IORESOURCE_IRQ, | ||
977 | }, | ||
978 | { | ||
979 | .start = IRQ_SPORT1_ERROR, | ||
980 | .end = IRQ_SPORT1_ERROR, | ||
981 | .flags = IORESOURCE_IRQ, | ||
982 | }, | ||
983 | }; | ||
984 | |||
985 | unsigned short bfin_sport1_peripherals[] = { | ||
986 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
987 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
775 | }; | 988 | }; |
776 | 989 | ||
777 | static struct platform_device bfin_sport1_uart_device = { | 990 | static struct platform_device bfin_sport1_uart_device = { |
778 | .name = "bfin-sport-uart", | 991 | .name = "bfin-sport-uart", |
779 | .id = 1, | 992 | .id = 1, |
993 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
994 | .resource = bfin_sport1_uart_resources, | ||
995 | .dev = { | ||
996 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
997 | }, | ||
780 | }; | 998 | }; |
781 | #endif | 999 | #endif |
1000 | #endif | ||
782 | 1001 | ||
783 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 1002 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
784 | #include <linux/input.h> | ||
785 | #include <linux/gpio_keys.h> | 1003 | #include <linux/gpio_keys.h> |
786 | 1004 | ||
787 | static struct gpio_keys_button bfin_gpio_keys_table[] = { | 1005 | static struct gpio_keys_button bfin_gpio_keys_table[] = { |
@@ -803,7 +1021,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
803 | #endif | 1021 | #endif |
804 | 1022 | ||
805 | #if defined(CONFIG_INPUT_BFIN_ROTARY) || defined(CONFIG_INPUT_BFIN_ROTARY_MODULE) | 1023 | #if defined(CONFIG_INPUT_BFIN_ROTARY) || defined(CONFIG_INPUT_BFIN_ROTARY_MODULE) |
806 | #include <linux/input.h> | ||
807 | #include <asm/bfin_rotary.h> | 1024 | #include <asm/bfin_rotary.h> |
808 | 1025 | ||
809 | static struct bfin_rotary_platform_data bfin_rotary_data = { | 1026 | static struct bfin_rotary_platform_data bfin_rotary_data = { |
@@ -872,10 +1089,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
872 | &rtc_device, | 1089 | &rtc_device, |
873 | #endif | 1090 | #endif |
874 | 1091 | ||
875 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
876 | &sl811_hcd_device, | ||
877 | #endif | ||
878 | |||
879 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | 1092 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) |
880 | &bfin_isp1760_device, | 1093 | &bfin_isp1760_device, |
881 | #endif | 1094 | #endif |
@@ -909,8 +1122,17 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
909 | &bf52x_t350mcqb_device, | 1122 | &bf52x_t350mcqb_device, |
910 | #endif | 1123 | #endif |
911 | 1124 | ||
1125 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | ||
1126 | &bfin_lq035q1_device, | ||
1127 | #endif | ||
1128 | |||
912 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 1129 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
913 | &bfin_uart_device, | 1130 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
1131 | &bfin_uart0_device, | ||
1132 | #endif | ||
1133 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1134 | &bfin_uart1_device, | ||
1135 | #endif | ||
914 | #endif | 1136 | #endif |
915 | 1137 | ||
916 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 1138 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -927,9 +1149,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
927 | #endif | 1149 | #endif |
928 | 1150 | ||
929 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 1151 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
1152 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
930 | &bfin_sport0_uart_device, | 1153 | &bfin_sport0_uart_device, |
1154 | #endif | ||
1155 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
931 | &bfin_sport1_uart_device, | 1156 | &bfin_sport1_uart_device, |
932 | #endif | 1157 | #endif |
1158 | #endif | ||
933 | 1159 | ||
934 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 1160 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
935 | &bfin_device_gpiokeys, | 1161 | &bfin_device_gpiokeys, |
@@ -942,6 +1168,14 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
942 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 1168 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
943 | &ezkit_flash_device, | 1169 | &ezkit_flash_device, |
944 | #endif | 1170 | #endif |
1171 | |||
1172 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
1173 | &bfin_i2s, | ||
1174 | #endif | ||
1175 | |||
1176 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
1177 | &bfin_tdm, | ||
1178 | #endif | ||
945 | }; | 1179 | }; |
946 | 1180 | ||
947 | static int __init ezkit_init(void) | 1181 | static int __init ezkit_init(void) |
@@ -956,6 +1190,33 @@ static int __init ezkit_init(void) | |||
956 | 1190 | ||
957 | arch_initcall(ezkit_init); | 1191 | arch_initcall(ezkit_init); |
958 | 1192 | ||
1193 | static struct platform_device *ezkit_early_devices[] __initdata = { | ||
1194 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
1195 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
1196 | &bfin_uart0_device, | ||
1197 | #endif | ||
1198 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1199 | &bfin_uart1_device, | ||
1200 | #endif | ||
1201 | #endif | ||
1202 | |||
1203 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
1204 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1205 | &bfin_sport0_uart_device, | ||
1206 | #endif | ||
1207 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1208 | &bfin_sport1_uart_device, | ||
1209 | #endif | ||
1210 | #endif | ||
1211 | }; | ||
1212 | |||
1213 | void __init native_machine_early_platform_add_devices(void) | ||
1214 | { | ||
1215 | printk(KERN_INFO "register early platform devices\n"); | ||
1216 | early_platform_add_devices(ezkit_early_devices, | ||
1217 | ARRAY_SIZE(ezkit_early_devices)); | ||
1218 | } | ||
1219 | |||
959 | void native_machine_restart(char *cmd) | 1220 | void native_machine_restart(char *cmd) |
960 | { | 1221 | { |
961 | /* workaround reboot hang when booting from SPI */ | 1222 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf527/include/mach/irq.h b/arch/blackfin/mach-bf527/include/mach/irq.h index aa6579a64a2f..704d9253e41d 100644 --- a/arch/blackfin/mach-bf527/include/mach/irq.h +++ b/arch/blackfin/mach-bf527/include/mach/irq.h | |||
@@ -151,7 +151,17 @@ | |||
151 | 151 | ||
152 | #define GPIO_IRQ_BASE IRQ_PF0 | 152 | #define GPIO_IRQ_BASE IRQ_PF0 |
153 | 153 | ||
154 | #define NR_IRQS (IRQ_PH15+1) | 154 | #define IRQ_MAC_PHYINT 119 /* PHY_INT Interrupt */ |
155 | #define IRQ_MAC_MMCINT 120 /* MMC Counter Interrupt */ | ||
156 | #define IRQ_MAC_RXFSINT 121 /* RX Frame-Status Interrupt */ | ||
157 | #define IRQ_MAC_TXFSINT 122 /* TX Frame-Status Interrupt */ | ||
158 | #define IRQ_MAC_WAKEDET 123 /* Wake-Up Interrupt */ | ||
159 | #define IRQ_MAC_RXDMAERR 124 /* RX DMA Direction Error Interrupt */ | ||
160 | #define IRQ_MAC_TXDMAERR 125 /* TX DMA Direction Error Interrupt */ | ||
161 | #define IRQ_MAC_STMDONE 126 /* Station Mgt. Transfer Done Interrupt */ | ||
162 | |||
163 | #define NR_MACH_IRQS (IRQ_MAC_STMDONE + 1) | ||
164 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
155 | 165 | ||
156 | #define IVG7 7 | 166 | #define IVG7 7 |
157 | #define IVG8 8 | 167 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf533/boards/H8606.c b/arch/blackfin/mach-bf533/boards/H8606.c index 4adceb0bdb6d..175371af0692 100644 --- a/arch/blackfin/mach-bf533/boards/H8606.c +++ b/arch/blackfin/mach-bf533/boards/H8606.c | |||
@@ -171,7 +171,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
171 | }; | 171 | }; |
172 | #endif | 172 | #endif |
173 | 173 | ||
174 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 174 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
175 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 175 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
176 | .enable_dma = 0, | 176 | .enable_dma = 0, |
177 | .bits_per_word = 16, | 177 | .bits_per_word = 16, |
@@ -206,7 +206,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
206 | }, | 206 | }, |
207 | #endif | 207 | #endif |
208 | 208 | ||
209 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 209 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
210 | { | 210 | { |
211 | .modalias = "ad1836", | 211 | .modalias = "ad1836", |
212 | .max_speed_hz = 16, | 212 | .max_speed_hz = 16, |
@@ -257,21 +257,50 @@ static struct platform_device bfin_spi0_device = { | |||
257 | #endif /* spi master and devices */ | 257 | #endif /* spi master and devices */ |
258 | 258 | ||
259 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 259 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
260 | static struct resource bfin_uart_resources[] = { | 260 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
261 | static struct resource bfin_uart0_resources[] = { | ||
261 | { | 262 | { |
262 | .start = 0xFFC00400, | 263 | .start = BFIN_UART_THR, |
263 | .end = 0xFFC004FF, | 264 | .end = BFIN_UART_GCTL+2, |
264 | .flags = IORESOURCE_MEM, | 265 | .flags = IORESOURCE_MEM, |
265 | }, | 266 | }, |
267 | { | ||
268 | .start = IRQ_UART0_RX, | ||
269 | .end = IRQ_UART0_RX + 1, | ||
270 | .flags = IORESOURCE_IRQ, | ||
271 | }, | ||
272 | { | ||
273 | .start = IRQ_UART0_ERROR, | ||
274 | .end = IRQ_UART0_ERROR, | ||
275 | .flags = IORESOURCE_IRQ, | ||
276 | }, | ||
277 | { | ||
278 | .start = CH_UART0_TX, | ||
279 | .end = CH_UART0_TX, | ||
280 | .flags = IORESOURCE_DMA, | ||
281 | }, | ||
282 | { | ||
283 | .start = CH_UART0_RX, | ||
284 | .end = CH_UART0_RX, | ||
285 | .flags = IORESOURCE_DMA, | ||
286 | }, | ||
287 | }; | ||
288 | |||
289 | unsigned short bfin_uart0_peripherals[] = { | ||
290 | P_UART0_TX, P_UART0_RX, 0 | ||
266 | }; | 291 | }; |
267 | 292 | ||
268 | static struct platform_device bfin_uart_device = { | 293 | static struct platform_device bfin_uart0_device = { |
269 | .name = "bfin-uart", | 294 | .name = "bfin-uart", |
270 | .id = 1, | 295 | .id = 0, |
271 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 296 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
272 | .resource = bfin_uart_resources, | 297 | .resource = bfin_uart0_resources, |
298 | .dev = { | ||
299 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
300 | }, | ||
273 | }; | 301 | }; |
274 | #endif | 302 | #endif |
303 | #endif | ||
275 | 304 | ||
276 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 305 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
277 | #ifdef CONFIG_BFIN_SIR0 | 306 | #ifdef CONFIG_BFIN_SIR0 |
@@ -394,7 +423,9 @@ static struct platform_device *h8606_devices[] __initdata = { | |||
394 | #endif | 423 | #endif |
395 | 424 | ||
396 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 425 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
397 | &bfin_uart_device, | 426 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
427 | &bfin_uart0_device, | ||
428 | #endif | ||
398 | #endif | 429 | #endif |
399 | 430 | ||
400 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) | 431 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) |
@@ -424,3 +455,18 @@ static int __init H8606_init(void) | |||
424 | } | 455 | } |
425 | 456 | ||
426 | arch_initcall(H8606_init); | 457 | arch_initcall(H8606_init); |
458 | |||
459 | static struct platform_device *H8606_early_devices[] __initdata = { | ||
460 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
461 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
462 | &bfin_uart0_device, | ||
463 | #endif | ||
464 | #endif | ||
465 | }; | ||
466 | |||
467 | void __init native_machine_early_platform_add_devices(void) | ||
468 | { | ||
469 | printk(KERN_INFO "register early platform devices\n"); | ||
470 | early_platform_add_devices(H8606_early_devices, | ||
471 | ARRAY_SIZE(H8606_early_devices)); | ||
472 | } | ||
diff --git a/arch/blackfin/mach-bf533/boards/blackstamp.c b/arch/blackfin/mach-bf533/boards/blackstamp.c index b580884848d4..842b4fa76ea9 100644 --- a/arch/blackfin/mach-bf533/boards/blackstamp.c +++ b/arch/blackfin/mach-bf533/boards/blackstamp.c | |||
@@ -195,21 +195,50 @@ static struct platform_device bfin_spi0_device = { | |||
195 | #endif /* spi master and devices */ | 195 | #endif /* spi master and devices */ |
196 | 196 | ||
197 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 197 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
198 | static struct resource bfin_uart_resources[] = { | 198 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
199 | static struct resource bfin_uart0_resources[] = { | ||
199 | { | 200 | { |
200 | .start = 0xFFC00400, | 201 | .start = BFIN_UART_THR, |
201 | .end = 0xFFC004FF, | 202 | .end = BFIN_UART_GCTL+2, |
202 | .flags = IORESOURCE_MEM, | 203 | .flags = IORESOURCE_MEM, |
203 | }, | 204 | }, |
205 | { | ||
206 | .start = IRQ_UART0_RX, | ||
207 | .end = IRQ_UART0_RX + 1, | ||
208 | .flags = IORESOURCE_IRQ, | ||
209 | }, | ||
210 | { | ||
211 | .start = IRQ_UART0_ERROR, | ||
212 | .end = IRQ_UART0_ERROR, | ||
213 | .flags = IORESOURCE_IRQ, | ||
214 | }, | ||
215 | { | ||
216 | .start = CH_UART0_TX, | ||
217 | .end = CH_UART0_TX, | ||
218 | .flags = IORESOURCE_DMA, | ||
219 | }, | ||
220 | { | ||
221 | .start = CH_UART0_RX, | ||
222 | .end = CH_UART0_RX, | ||
223 | .flags = IORESOURCE_DMA, | ||
224 | }, | ||
225 | }; | ||
226 | |||
227 | unsigned short bfin_uart0_peripherals[] = { | ||
228 | P_UART0_TX, P_UART0_RX, 0 | ||
204 | }; | 229 | }; |
205 | 230 | ||
206 | static struct platform_device bfin_uart_device = { | 231 | static struct platform_device bfin_uart0_device = { |
207 | .name = "bfin-uart", | 232 | .name = "bfin-uart", |
208 | .id = 1, | 233 | .id = 0, |
209 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 234 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
210 | .resource = bfin_uart_resources, | 235 | .resource = bfin_uart0_resources, |
236 | .dev = { | ||
237 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
238 | }, | ||
211 | }; | 239 | }; |
212 | #endif | 240 | #endif |
241 | #endif | ||
213 | 242 | ||
214 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 243 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
215 | #ifdef CONFIG_BFIN_SIR0 | 244 | #ifdef CONFIG_BFIN_SIR0 |
@@ -241,16 +270,75 @@ static struct platform_device bfin_sir0_device = { | |||
241 | #endif | 270 | #endif |
242 | 271 | ||
243 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 272 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
273 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
274 | static struct resource bfin_sport0_uart_resources[] = { | ||
275 | { | ||
276 | .start = SPORT0_TCR1, | ||
277 | .end = SPORT0_MRCS3+4, | ||
278 | .flags = IORESOURCE_MEM, | ||
279 | }, | ||
280 | { | ||
281 | .start = IRQ_SPORT0_RX, | ||
282 | .end = IRQ_SPORT0_RX+1, | ||
283 | .flags = IORESOURCE_IRQ, | ||
284 | }, | ||
285 | { | ||
286 | .start = IRQ_SPORT0_ERROR, | ||
287 | .end = IRQ_SPORT0_ERROR, | ||
288 | .flags = IORESOURCE_IRQ, | ||
289 | }, | ||
290 | }; | ||
291 | |||
292 | unsigned short bfin_sport0_peripherals[] = { | ||
293 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
294 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
295 | }; | ||
296 | |||
244 | static struct platform_device bfin_sport0_uart_device = { | 297 | static struct platform_device bfin_sport0_uart_device = { |
245 | .name = "bfin-sport-uart", | 298 | .name = "bfin-sport-uart", |
246 | .id = 0, | 299 | .id = 0, |
300 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
301 | .resource = bfin_sport0_uart_resources, | ||
302 | .dev = { | ||
303 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
304 | }, | ||
305 | }; | ||
306 | #endif | ||
307 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
308 | static struct resource bfin_sport1_uart_resources[] = { | ||
309 | { | ||
310 | .start = SPORT1_TCR1, | ||
311 | .end = SPORT1_MRCS3+4, | ||
312 | .flags = IORESOURCE_MEM, | ||
313 | }, | ||
314 | { | ||
315 | .start = IRQ_SPORT1_RX, | ||
316 | .end = IRQ_SPORT1_RX+1, | ||
317 | .flags = IORESOURCE_IRQ, | ||
318 | }, | ||
319 | { | ||
320 | .start = IRQ_SPORT1_ERROR, | ||
321 | .end = IRQ_SPORT1_ERROR, | ||
322 | .flags = IORESOURCE_IRQ, | ||
323 | }, | ||
324 | }; | ||
325 | |||
326 | unsigned short bfin_sport1_peripherals[] = { | ||
327 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
328 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
247 | }; | 329 | }; |
248 | 330 | ||
249 | static struct platform_device bfin_sport1_uart_device = { | 331 | static struct platform_device bfin_sport1_uart_device = { |
250 | .name = "bfin-sport-uart", | 332 | .name = "bfin-sport-uart", |
251 | .id = 1, | 333 | .id = 1, |
334 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
335 | .resource = bfin_sport1_uart_resources, | ||
336 | .dev = { | ||
337 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
338 | }, | ||
252 | }; | 339 | }; |
253 | #endif | 340 | #endif |
341 | #endif | ||
254 | 342 | ||
255 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 343 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
256 | #include <linux/input.h> | 344 | #include <linux/input.h> |
@@ -344,7 +432,9 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
344 | #endif | 432 | #endif |
345 | 433 | ||
346 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 434 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
347 | &bfin_uart_device, | 435 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
436 | &bfin_uart0_device, | ||
437 | #endif | ||
348 | #endif | 438 | #endif |
349 | 439 | ||
350 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 440 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -354,9 +444,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
354 | #endif | 444 | #endif |
355 | 445 | ||
356 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 446 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
447 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
357 | &bfin_sport0_uart_device, | 448 | &bfin_sport0_uart_device, |
449 | #endif | ||
450 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
358 | &bfin_sport1_uart_device, | 451 | &bfin_sport1_uart_device, |
359 | #endif | 452 | #endif |
453 | #endif | ||
360 | 454 | ||
361 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 455 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
362 | &bfin_device_gpiokeys, | 456 | &bfin_device_gpiokeys, |
@@ -392,3 +486,27 @@ static int __init blackstamp_init(void) | |||
392 | } | 486 | } |
393 | 487 | ||
394 | arch_initcall(blackstamp_init); | 488 | arch_initcall(blackstamp_init); |
489 | |||
490 | static struct platform_device *stamp_early_devices[] __initdata = { | ||
491 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
492 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
493 | &bfin_uart0_device, | ||
494 | #endif | ||
495 | #endif | ||
496 | |||
497 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
498 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
499 | &bfin_sport0_uart_device, | ||
500 | #endif | ||
501 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
502 | &bfin_sport1_uart_device, | ||
503 | #endif | ||
504 | #endif | ||
505 | }; | ||
506 | |||
507 | void __init native_machine_early_platform_add_devices(void) | ||
508 | { | ||
509 | printk(KERN_INFO "register early platform devices\n"); | ||
510 | early_platform_add_devices(stamp_early_devices, | ||
511 | ARRAY_SIZE(stamp_early_devices)); | ||
512 | } | ||
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index 7fc3b860d4ae..fdcde61906dc 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c | |||
@@ -71,7 +71,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
71 | }; | 71 | }; |
72 | #endif | 72 | #endif |
73 | 73 | ||
74 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 74 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
75 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 75 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
76 | .enable_dma = 0, | 76 | .enable_dma = 0, |
77 | .bits_per_word = 16, | 77 | .bits_per_word = 16, |
@@ -110,7 +110,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
110 | }, | 110 | }, |
111 | #endif | 111 | #endif |
112 | 112 | ||
113 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 113 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
114 | { | 114 | { |
115 | .modalias = "ad1836", | 115 | .modalias = "ad1836", |
116 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 116 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -242,21 +242,50 @@ static struct platform_device smsc911x_device = { | |||
242 | #endif | 242 | #endif |
243 | 243 | ||
244 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 244 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
245 | static struct resource bfin_uart_resources[] = { | 245 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
246 | static struct resource bfin_uart0_resources[] = { | ||
246 | { | 247 | { |
247 | .start = 0xFFC00400, | 248 | .start = BFIN_UART_THR, |
248 | .end = 0xFFC004FF, | 249 | .end = BFIN_UART_GCTL+2, |
249 | .flags = IORESOURCE_MEM, | 250 | .flags = IORESOURCE_MEM, |
250 | }, | 251 | }, |
252 | { | ||
253 | .start = IRQ_UART0_RX, | ||
254 | .end = IRQ_UART0_RX + 1, | ||
255 | .flags = IORESOURCE_IRQ, | ||
256 | }, | ||
257 | { | ||
258 | .start = IRQ_UART0_ERROR, | ||
259 | .end = IRQ_UART0_ERROR, | ||
260 | .flags = IORESOURCE_IRQ, | ||
261 | }, | ||
262 | { | ||
263 | .start = CH_UART0_TX, | ||
264 | .end = CH_UART0_TX, | ||
265 | .flags = IORESOURCE_DMA, | ||
266 | }, | ||
267 | { | ||
268 | .start = CH_UART0_RX, | ||
269 | .end = CH_UART0_RX, | ||
270 | .flags = IORESOURCE_DMA, | ||
271 | }, | ||
272 | }; | ||
273 | |||
274 | unsigned short bfin_uart0_peripherals[] = { | ||
275 | P_UART0_TX, P_UART0_RX, 0 | ||
251 | }; | 276 | }; |
252 | 277 | ||
253 | static struct platform_device bfin_uart_device = { | 278 | static struct platform_device bfin_uart0_device = { |
254 | .name = "bfin-uart", | 279 | .name = "bfin-uart", |
255 | .id = 1, | 280 | .id = 0, |
256 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 281 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
257 | .resource = bfin_uart_resources, | 282 | .resource = bfin_uart0_resources, |
283 | .dev = { | ||
284 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
285 | }, | ||
258 | }; | 286 | }; |
259 | #endif | 287 | #endif |
288 | #endif | ||
260 | 289 | ||
261 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 290 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
262 | #ifdef CONFIG_BFIN_SIR0 | 291 | #ifdef CONFIG_BFIN_SIR0 |
@@ -288,16 +317,75 @@ static struct platform_device bfin_sir0_device = { | |||
288 | #endif | 317 | #endif |
289 | 318 | ||
290 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 319 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
320 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
321 | static struct resource bfin_sport0_uart_resources[] = { | ||
322 | { | ||
323 | .start = SPORT0_TCR1, | ||
324 | .end = SPORT0_MRCS3+4, | ||
325 | .flags = IORESOURCE_MEM, | ||
326 | }, | ||
327 | { | ||
328 | .start = IRQ_SPORT0_RX, | ||
329 | .end = IRQ_SPORT0_RX+1, | ||
330 | .flags = IORESOURCE_IRQ, | ||
331 | }, | ||
332 | { | ||
333 | .start = IRQ_SPORT0_ERROR, | ||
334 | .end = IRQ_SPORT0_ERROR, | ||
335 | .flags = IORESOURCE_IRQ, | ||
336 | }, | ||
337 | }; | ||
338 | |||
339 | unsigned short bfin_sport0_peripherals[] = { | ||
340 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
341 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
342 | }; | ||
343 | |||
291 | static struct platform_device bfin_sport0_uart_device = { | 344 | static struct platform_device bfin_sport0_uart_device = { |
292 | .name = "bfin-sport-uart", | 345 | .name = "bfin-sport-uart", |
293 | .id = 0, | 346 | .id = 0, |
347 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
348 | .resource = bfin_sport0_uart_resources, | ||
349 | .dev = { | ||
350 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
351 | }, | ||
352 | }; | ||
353 | #endif | ||
354 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
355 | static struct resource bfin_sport1_uart_resources[] = { | ||
356 | { | ||
357 | .start = SPORT1_TCR1, | ||
358 | .end = SPORT1_MRCS3+4, | ||
359 | .flags = IORESOURCE_MEM, | ||
360 | }, | ||
361 | { | ||
362 | .start = IRQ_SPORT1_RX, | ||
363 | .end = IRQ_SPORT1_RX+1, | ||
364 | .flags = IORESOURCE_IRQ, | ||
365 | }, | ||
366 | { | ||
367 | .start = IRQ_SPORT1_ERROR, | ||
368 | .end = IRQ_SPORT1_ERROR, | ||
369 | .flags = IORESOURCE_IRQ, | ||
370 | }, | ||
371 | }; | ||
372 | |||
373 | unsigned short bfin_sport1_peripherals[] = { | ||
374 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
375 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
294 | }; | 376 | }; |
295 | 377 | ||
296 | static struct platform_device bfin_sport1_uart_device = { | 378 | static struct platform_device bfin_sport1_uart_device = { |
297 | .name = "bfin-sport-uart", | 379 | .name = "bfin-sport-uart", |
298 | .id = 1, | 380 | .id = 1, |
381 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
382 | .resource = bfin_sport1_uart_resources, | ||
383 | .dev = { | ||
384 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
385 | }, | ||
299 | }; | 386 | }; |
300 | #endif | 387 | #endif |
388 | #endif | ||
301 | 389 | ||
302 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 390 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
303 | static struct resource isp1362_hcd_resources[] = { | 391 | static struct resource isp1362_hcd_resources[] = { |
@@ -432,7 +520,9 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
432 | &bfin_dpmc, | 520 | &bfin_dpmc, |
433 | 521 | ||
434 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 522 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
435 | &bfin_uart_device, | 523 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
524 | &bfin_uart0_device, | ||
525 | #endif | ||
436 | #endif | 526 | #endif |
437 | 527 | ||
438 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 528 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -442,9 +532,13 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
442 | #endif | 532 | #endif |
443 | 533 | ||
444 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 534 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
535 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
445 | &bfin_sport0_uart_device, | 536 | &bfin_sport0_uart_device, |
537 | #endif | ||
538 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
446 | &bfin_sport1_uart_device, | 539 | &bfin_sport1_uart_device, |
447 | #endif | 540 | #endif |
541 | #endif | ||
448 | 542 | ||
449 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | 543 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) |
450 | &rtc_device, | 544 | &rtc_device, |
@@ -486,3 +580,27 @@ static int __init cm_bf533_init(void) | |||
486 | } | 580 | } |
487 | 581 | ||
488 | arch_initcall(cm_bf533_init); | 582 | arch_initcall(cm_bf533_init); |
583 | |||
584 | static struct platform_device *cm_bf533_early_devices[] __initdata = { | ||
585 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
586 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
587 | &bfin_uart0_device, | ||
588 | #endif | ||
589 | #endif | ||
590 | |||
591 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
592 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
593 | &bfin_sport0_uart_device, | ||
594 | #endif | ||
595 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
596 | &bfin_sport1_uart_device, | ||
597 | #endif | ||
598 | #endif | ||
599 | }; | ||
600 | |||
601 | void __init native_machine_early_platform_add_devices(void) | ||
602 | { | ||
603 | printk(KERN_INFO "register early platform devices\n"); | ||
604 | early_platform_add_devices(cm_bf533_early_devices, | ||
605 | ARRAY_SIZE(cm_bf533_early_devices)); | ||
606 | } | ||
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index d4689dcc198e..739773cb7fc6 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
@@ -222,7 +222,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
222 | }; | 222 | }; |
223 | #endif | 223 | #endif |
224 | 224 | ||
225 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 225 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
226 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 226 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
227 | .enable_dma = 0, | 227 | .enable_dma = 0, |
228 | .bits_per_word = 16, | 228 | .bits_per_word = 16, |
@@ -261,7 +261,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
261 | }, | 261 | }, |
262 | #endif | 262 | #endif |
263 | 263 | ||
264 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 264 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
265 | { | 265 | { |
266 | .modalias = "ad1836", | 266 | .modalias = "ad1836", |
267 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 267 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -320,21 +320,50 @@ static struct platform_device bfin_spi0_device = { | |||
320 | #endif /* spi master and devices */ | 320 | #endif /* spi master and devices */ |
321 | 321 | ||
322 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 322 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
323 | static struct resource bfin_uart_resources[] = { | 323 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
324 | static struct resource bfin_uart0_resources[] = { | ||
324 | { | 325 | { |
325 | .start = 0xFFC00400, | 326 | .start = BFIN_UART_THR, |
326 | .end = 0xFFC004FF, | 327 | .end = BFIN_UART_GCTL+2, |
327 | .flags = IORESOURCE_MEM, | 328 | .flags = IORESOURCE_MEM, |
328 | }, | 329 | }, |
330 | { | ||
331 | .start = IRQ_UART0_RX, | ||
332 | .end = IRQ_UART0_RX + 1, | ||
333 | .flags = IORESOURCE_IRQ, | ||
334 | }, | ||
335 | { | ||
336 | .start = IRQ_UART0_ERROR, | ||
337 | .end = IRQ_UART0_ERROR, | ||
338 | .flags = IORESOURCE_IRQ, | ||
339 | }, | ||
340 | { | ||
341 | .start = CH_UART0_TX, | ||
342 | .end = CH_UART0_TX, | ||
343 | .flags = IORESOURCE_DMA, | ||
344 | }, | ||
345 | { | ||
346 | .start = CH_UART0_RX, | ||
347 | .end = CH_UART0_RX, | ||
348 | .flags = IORESOURCE_DMA, | ||
349 | }, | ||
350 | }; | ||
351 | |||
352 | unsigned short bfin_uart0_peripherals[] = { | ||
353 | P_UART0_TX, P_UART0_RX, 0 | ||
329 | }; | 354 | }; |
330 | 355 | ||
331 | static struct platform_device bfin_uart_device = { | 356 | static struct platform_device bfin_uart0_device = { |
332 | .name = "bfin-uart", | 357 | .name = "bfin-uart", |
333 | .id = 1, | 358 | .id = 0, |
334 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 359 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
335 | .resource = bfin_uart_resources, | 360 | .resource = bfin_uart0_resources, |
361 | .dev = { | ||
362 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
363 | }, | ||
336 | }; | 364 | }; |
337 | #endif | 365 | #endif |
366 | #endif | ||
338 | 367 | ||
339 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 368 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
340 | #ifdef CONFIG_BFIN_SIR0 | 369 | #ifdef CONFIG_BFIN_SIR0 |
@@ -444,6 +473,30 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
444 | #endif | 473 | #endif |
445 | }; | 474 | }; |
446 | 475 | ||
476 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
477 | static struct platform_device bfin_i2s = { | ||
478 | .name = "bfin-i2s", | ||
479 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
480 | /* TODO: add platform data here */ | ||
481 | }; | ||
482 | #endif | ||
483 | |||
484 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
485 | static struct platform_device bfin_tdm = { | ||
486 | .name = "bfin-tdm", | ||
487 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
488 | /* TODO: add platform data here */ | ||
489 | }; | ||
490 | #endif | ||
491 | |||
492 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
493 | static struct platform_device bfin_ac97 = { | ||
494 | .name = "bfin-ac97", | ||
495 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
496 | /* TODO: add platform data here */ | ||
497 | }; | ||
498 | #endif | ||
499 | |||
447 | static struct platform_device *ezkit_devices[] __initdata = { | 500 | static struct platform_device *ezkit_devices[] __initdata = { |
448 | 501 | ||
449 | &bfin_dpmc, | 502 | &bfin_dpmc, |
@@ -471,7 +524,9 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
471 | #endif | 524 | #endif |
472 | 525 | ||
473 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 526 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
474 | &bfin_uart_device, | 527 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
528 | &bfin_uart0_device, | ||
529 | #endif | ||
475 | #endif | 530 | #endif |
476 | 531 | ||
477 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 532 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -487,6 +542,18 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
487 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 542 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
488 | &i2c_gpio_device, | 543 | &i2c_gpio_device, |
489 | #endif | 544 | #endif |
545 | |||
546 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
547 | &bfin_i2s, | ||
548 | #endif | ||
549 | |||
550 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
551 | &bfin_tdm, | ||
552 | #endif | ||
553 | |||
554 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
555 | &bfin_ac97, | ||
556 | #endif | ||
490 | }; | 557 | }; |
491 | 558 | ||
492 | static int __init ezkit_init(void) | 559 | static int __init ezkit_init(void) |
@@ -500,3 +567,18 @@ static int __init ezkit_init(void) | |||
500 | } | 567 | } |
501 | 568 | ||
502 | arch_initcall(ezkit_init); | 569 | arch_initcall(ezkit_init); |
570 | |||
571 | static struct platform_device *ezkit_early_devices[] __initdata = { | ||
572 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
573 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
574 | &bfin_uart0_device, | ||
575 | #endif | ||
576 | #endif | ||
577 | }; | ||
578 | |||
579 | void __init native_machine_early_platform_add_devices(void) | ||
580 | { | ||
581 | printk(KERN_INFO "register early platform devices\n"); | ||
582 | early_platform_add_devices(ezkit_early_devices, | ||
583 | ARRAY_SIZE(ezkit_early_devices)); | ||
584 | } | ||
diff --git a/arch/blackfin/mach-bf533/boards/ip0x.c b/arch/blackfin/mach-bf533/boards/ip0x.c index 8ec42ba35b9e..7349970db978 100644 --- a/arch/blackfin/mach-bf533/boards/ip0x.c +++ b/arch/blackfin/mach-bf533/boards/ip0x.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/usb/isp1362.h> | 19 | #include <linux/usb/isp1362.h> |
20 | #endif | 20 | #endif |
21 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
22 | #include <asm/dma.h> | ||
22 | #include <asm/bfin5xx_spi.h> | 23 | #include <asm/bfin5xx_spi.h> |
23 | #include <asm/portmux.h> | 24 | #include <asm/portmux.h> |
24 | 25 | ||
@@ -143,21 +144,50 @@ static struct platform_device spi_bfin_master_device = { | |||
143 | #endif /* spi master and devices */ | 144 | #endif /* spi master and devices */ |
144 | 145 | ||
145 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 146 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
146 | static struct resource bfin_uart_resources[] = { | 147 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
148 | static struct resource bfin_uart0_resources[] = { | ||
147 | { | 149 | { |
148 | .start = 0xFFC00400, | 150 | .start = BFIN_UART_THR, |
149 | .end = 0xFFC004FF, | 151 | .end = BFIN_UART_GCTL+2, |
150 | .flags = IORESOURCE_MEM, | 152 | .flags = IORESOURCE_MEM, |
151 | }, | 153 | }, |
154 | { | ||
155 | .start = IRQ_UART0_RX, | ||
156 | .end = IRQ_UART0_RX + 1, | ||
157 | .flags = IORESOURCE_IRQ, | ||
158 | }, | ||
159 | { | ||
160 | .start = IRQ_UART0_ERROR, | ||
161 | .end = IRQ_UART0_ERROR, | ||
162 | .flags = IORESOURCE_IRQ, | ||
163 | }, | ||
164 | { | ||
165 | .start = CH_UART0_TX, | ||
166 | .end = CH_UART0_TX, | ||
167 | .flags = IORESOURCE_DMA, | ||
168 | }, | ||
169 | { | ||
170 | .start = CH_UART0_RX, | ||
171 | .end = CH_UART0_RX, | ||
172 | .flags = IORESOURCE_DMA, | ||
173 | }, | ||
174 | }; | ||
175 | |||
176 | unsigned short bfin_uart0_peripherals[] = { | ||
177 | P_UART0_TX, P_UART0_RX, 0 | ||
152 | }; | 178 | }; |
153 | 179 | ||
154 | static struct platform_device bfin_uart_device = { | 180 | static struct platform_device bfin_uart0_device = { |
155 | .name = "bfin-uart", | 181 | .name = "bfin-uart", |
156 | .id = 1, | 182 | .id = 0, |
157 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 183 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
158 | .resource = bfin_uart_resources, | 184 | .resource = bfin_uart0_resources, |
185 | .dev = { | ||
186 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
187 | }, | ||
159 | }; | 188 | }; |
160 | #endif | 189 | #endif |
190 | #endif | ||
161 | 191 | ||
162 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 192 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
163 | #ifdef CONFIG_BFIN_SIR0 | 193 | #ifdef CONFIG_BFIN_SIR0 |
@@ -241,7 +271,9 @@ static struct platform_device *ip0x_devices[] __initdata = { | |||
241 | #endif | 271 | #endif |
242 | 272 | ||
243 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 273 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
244 | &bfin_uart_device, | 274 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
275 | &bfin_uart0_device, | ||
276 | #endif | ||
245 | #endif | 277 | #endif |
246 | 278 | ||
247 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 279 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -276,3 +308,18 @@ static int __init ip0x_init(void) | |||
276 | } | 308 | } |
277 | 309 | ||
278 | arch_initcall(ip0x_init); | 310 | arch_initcall(ip0x_init); |
311 | |||
312 | static struct platform_device *ip0x_early_devices[] __initdata = { | ||
313 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
314 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
315 | &bfin_uart0_device, | ||
316 | #endif | ||
317 | #endif | ||
318 | }; | ||
319 | |||
320 | void __init native_machine_early_platform_add_devices(void) | ||
321 | { | ||
322 | printk(KERN_INFO "register early platform devices\n"); | ||
323 | early_platform_add_devices(ip0x_early_devices, | ||
324 | ARRAY_SIZE(ip0x_early_devices)); | ||
325 | } | ||
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index 6d68dcfa2da2..c457eaa60239 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -184,7 +184,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
184 | }; | 184 | }; |
185 | #endif | 185 | #endif |
186 | 186 | ||
187 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 187 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
188 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 188 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
189 | .enable_dma = 0, | 189 | .enable_dma = 0, |
190 | .bits_per_word = 16, | 190 | .bits_per_word = 16, |
@@ -251,7 +251,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
251 | }, | 251 | }, |
252 | #endif | 252 | #endif |
253 | 253 | ||
254 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 254 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
255 | { | 255 | { |
256 | .modalias = "ad1836", | 256 | .modalias = "ad1836", |
257 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 257 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -322,21 +322,50 @@ static struct platform_device bfin_spi0_device = { | |||
322 | #endif /* spi master and devices */ | 322 | #endif /* spi master and devices */ |
323 | 323 | ||
324 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 324 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
325 | static struct resource bfin_uart_resources[] = { | 325 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
326 | static struct resource bfin_uart0_resources[] = { | ||
326 | { | 327 | { |
327 | .start = 0xFFC00400, | 328 | .start = BFIN_UART_THR, |
328 | .end = 0xFFC004FF, | 329 | .end = BFIN_UART_GCTL+2, |
329 | .flags = IORESOURCE_MEM, | 330 | .flags = IORESOURCE_MEM, |
330 | }, | 331 | }, |
332 | { | ||
333 | .start = IRQ_UART0_RX, | ||
334 | .end = IRQ_UART0_RX + 1, | ||
335 | .flags = IORESOURCE_IRQ, | ||
336 | }, | ||
337 | { | ||
338 | .start = IRQ_UART0_ERROR, | ||
339 | .end = IRQ_UART0_ERROR, | ||
340 | .flags = IORESOURCE_IRQ, | ||
341 | }, | ||
342 | { | ||
343 | .start = CH_UART0_TX, | ||
344 | .end = CH_UART0_TX, | ||
345 | .flags = IORESOURCE_DMA, | ||
346 | }, | ||
347 | { | ||
348 | .start = CH_UART0_RX, | ||
349 | .end = CH_UART0_RX, | ||
350 | .flags = IORESOURCE_DMA, | ||
351 | }, | ||
331 | }; | 352 | }; |
332 | 353 | ||
333 | static struct platform_device bfin_uart_device = { | 354 | unsigned short bfin_uart0_peripherals[] = { |
355 | P_UART0_TX, P_UART0_RX, 0 | ||
356 | }; | ||
357 | |||
358 | static struct platform_device bfin_uart0_device = { | ||
334 | .name = "bfin-uart", | 359 | .name = "bfin-uart", |
335 | .id = 1, | 360 | .id = 0, |
336 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 361 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
337 | .resource = bfin_uart_resources, | 362 | .resource = bfin_uart0_resources, |
363 | .dev = { | ||
364 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
365 | }, | ||
338 | }; | 366 | }; |
339 | #endif | 367 | #endif |
368 | #endif | ||
340 | 369 | ||
341 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 370 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
342 | #ifdef CONFIG_BFIN_SIR0 | 371 | #ifdef CONFIG_BFIN_SIR0 |
@@ -368,16 +397,75 @@ static struct platform_device bfin_sir0_device = { | |||
368 | #endif | 397 | #endif |
369 | 398 | ||
370 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 399 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
400 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
401 | static struct resource bfin_sport0_uart_resources[] = { | ||
402 | { | ||
403 | .start = SPORT0_TCR1, | ||
404 | .end = SPORT0_MRCS3+4, | ||
405 | .flags = IORESOURCE_MEM, | ||
406 | }, | ||
407 | { | ||
408 | .start = IRQ_SPORT0_RX, | ||
409 | .end = IRQ_SPORT0_RX+1, | ||
410 | .flags = IORESOURCE_IRQ, | ||
411 | }, | ||
412 | { | ||
413 | .start = IRQ_SPORT0_ERROR, | ||
414 | .end = IRQ_SPORT0_ERROR, | ||
415 | .flags = IORESOURCE_IRQ, | ||
416 | }, | ||
417 | }; | ||
418 | |||
419 | unsigned short bfin_sport0_peripherals[] = { | ||
420 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
421 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
422 | }; | ||
423 | |||
371 | static struct platform_device bfin_sport0_uart_device = { | 424 | static struct platform_device bfin_sport0_uart_device = { |
372 | .name = "bfin-sport-uart", | 425 | .name = "bfin-sport-uart", |
373 | .id = 0, | 426 | .id = 0, |
427 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
428 | .resource = bfin_sport0_uart_resources, | ||
429 | .dev = { | ||
430 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
431 | }, | ||
432 | }; | ||
433 | #endif | ||
434 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
435 | static struct resource bfin_sport1_uart_resources[] = { | ||
436 | { | ||
437 | .start = SPORT1_TCR1, | ||
438 | .end = SPORT1_MRCS3+4, | ||
439 | .flags = IORESOURCE_MEM, | ||
440 | }, | ||
441 | { | ||
442 | .start = IRQ_SPORT1_RX, | ||
443 | .end = IRQ_SPORT1_RX+1, | ||
444 | .flags = IORESOURCE_IRQ, | ||
445 | }, | ||
446 | { | ||
447 | .start = IRQ_SPORT1_ERROR, | ||
448 | .end = IRQ_SPORT1_ERROR, | ||
449 | .flags = IORESOURCE_IRQ, | ||
450 | }, | ||
451 | }; | ||
452 | |||
453 | unsigned short bfin_sport1_peripherals[] = { | ||
454 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
455 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
374 | }; | 456 | }; |
375 | 457 | ||
376 | static struct platform_device bfin_sport1_uart_device = { | 458 | static struct platform_device bfin_sport1_uart_device = { |
377 | .name = "bfin-sport-uart", | 459 | .name = "bfin-sport-uart", |
378 | .id = 1, | 460 | .id = 1, |
461 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
462 | .resource = bfin_sport1_uart_resources, | ||
463 | .dev = { | ||
464 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
465 | }, | ||
379 | }; | 466 | }; |
380 | #endif | 467 | #endif |
468 | #endif | ||
381 | 469 | ||
382 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 470 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
383 | #include <linux/input.h> | 471 | #include <linux/input.h> |
@@ -474,6 +562,30 @@ static struct platform_device bfin_dpmc = { | |||
474 | }, | 562 | }, |
475 | }; | 563 | }; |
476 | 564 | ||
565 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
566 | static struct platform_device bfin_i2s = { | ||
567 | .name = "bfin-i2s", | ||
568 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
569 | /* TODO: add platform data here */ | ||
570 | }; | ||
571 | #endif | ||
572 | |||
573 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
574 | static struct platform_device bfin_tdm = { | ||
575 | .name = "bfin-tdm", | ||
576 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
577 | /* TODO: add platform data here */ | ||
578 | }; | ||
579 | #endif | ||
580 | |||
581 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
582 | static struct platform_device bfin_ac97 = { | ||
583 | .name = "bfin-ac97", | ||
584 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
585 | /* TODO: add platform data here */ | ||
586 | }; | ||
587 | #endif | ||
588 | |||
477 | static struct platform_device *stamp_devices[] __initdata = { | 589 | static struct platform_device *stamp_devices[] __initdata = { |
478 | 590 | ||
479 | &bfin_dpmc, | 591 | &bfin_dpmc, |
@@ -495,7 +607,9 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
495 | #endif | 607 | #endif |
496 | 608 | ||
497 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 609 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
498 | &bfin_uart_device, | 610 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
611 | &bfin_uart0_device, | ||
612 | #endif | ||
499 | #endif | 613 | #endif |
500 | 614 | ||
501 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 615 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -505,9 +619,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
505 | #endif | 619 | #endif |
506 | 620 | ||
507 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 621 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
622 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
508 | &bfin_sport0_uart_device, | 623 | &bfin_sport0_uart_device, |
624 | #endif | ||
625 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
509 | &bfin_sport1_uart_device, | 626 | &bfin_sport1_uart_device, |
510 | #endif | 627 | #endif |
628 | #endif | ||
511 | 629 | ||
512 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 630 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
513 | &bfin_device_gpiokeys, | 631 | &bfin_device_gpiokeys, |
@@ -520,6 +638,18 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
520 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) | 638 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) |
521 | &stamp_flash_device, | 639 | &stamp_flash_device, |
522 | #endif | 640 | #endif |
641 | |||
642 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
643 | &bfin_i2s, | ||
644 | #endif | ||
645 | |||
646 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
647 | &bfin_tdm, | ||
648 | #endif | ||
649 | |||
650 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
651 | &bfin_ac97, | ||
652 | #endif | ||
523 | }; | 653 | }; |
524 | 654 | ||
525 | static int __init stamp_init(void) | 655 | static int __init stamp_init(void) |
@@ -548,6 +678,30 @@ static int __init stamp_init(void) | |||
548 | 678 | ||
549 | arch_initcall(stamp_init); | 679 | arch_initcall(stamp_init); |
550 | 680 | ||
681 | static struct platform_device *stamp_early_devices[] __initdata = { | ||
682 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
683 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
684 | &bfin_uart0_device, | ||
685 | #endif | ||
686 | #endif | ||
687 | |||
688 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
689 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
690 | &bfin_sport0_uart_device, | ||
691 | #endif | ||
692 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
693 | &bfin_sport1_uart_device, | ||
694 | #endif | ||
695 | #endif | ||
696 | }; | ||
697 | |||
698 | void __init native_machine_early_platform_add_devices(void) | ||
699 | { | ||
700 | printk(KERN_INFO "register early platform devices\n"); | ||
701 | early_platform_add_devices(stamp_early_devices, | ||
702 | ARRAY_SIZE(stamp_early_devices)); | ||
703 | } | ||
704 | |||
551 | void native_machine_restart(char *cmd) | 705 | void native_machine_restart(char *cmd) |
552 | { | 706 | { |
553 | /* workaround pull up on cpld / flash pin not being strong enough */ | 707 | /* workaround pull up on cpld / flash pin not being strong enough */ |
diff --git a/arch/blackfin/mach-bf533/include/mach/irq.h b/arch/blackfin/mach-bf533/include/mach/irq.h index c31498be0bbb..1f7e9765d954 100644 --- a/arch/blackfin/mach-bf533/include/mach/irq.h +++ b/arch/blackfin/mach-bf533/include/mach/irq.h | |||
@@ -104,7 +104,8 @@ Core Emulation ** | |||
104 | 104 | ||
105 | #define GPIO_IRQ_BASE IRQ_PF0 | 105 | #define GPIO_IRQ_BASE IRQ_PF0 |
106 | 106 | ||
107 | #define NR_IRQS (IRQ_PF15+1) | 107 | #define NR_MACH_IRQS (IRQ_PF15 + 1) |
108 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
108 | 109 | ||
109 | #define IVG7 7 | 110 | #define IVG7 7 |
110 | #define IVG8 8 | 111 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537e.c b/arch/blackfin/mach-bf537/boards/cm_bf537e.c index c85f4d770535..d35fc5fe4c2b 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537e.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537e.c | |||
@@ -73,7 +73,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
73 | }; | 73 | }; |
74 | #endif | 74 | #endif |
75 | 75 | ||
76 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 76 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
77 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 77 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
78 | .enable_dma = 0, | 78 | .enable_dma = 0, |
79 | .bits_per_word = 16, | 79 | .bits_per_word = 16, |
@@ -112,7 +112,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
112 | }, | 112 | }, |
113 | #endif | 113 | #endif |
114 | 114 | ||
115 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 115 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
116 | { | 116 | { |
117 | .modalias = "ad1836", | 117 | .modalias = "ad1836", |
118 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 118 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -329,8 +329,8 @@ static struct platform_device cm_flash_device = { | |||
329 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 329 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
330 | static struct resource bfin_uart0_resources[] = { | 330 | static struct resource bfin_uart0_resources[] = { |
331 | { | 331 | { |
332 | .start = 0xFFC00400, | 332 | .start = UART0_THR, |
333 | .end = 0xFFC004FF, | 333 | .end = UART0_GCTL+2, |
334 | .flags = IORESOURCE_MEM, | 334 | .flags = IORESOURCE_MEM, |
335 | }, | 335 | }, |
336 | { | 336 | { |
@@ -373,18 +373,25 @@ static struct resource bfin_uart0_resources[] = { | |||
373 | #endif | 373 | #endif |
374 | }; | 374 | }; |
375 | 375 | ||
376 | unsigned short bfin_uart0_peripherals[] = { | ||
377 | P_UART0_TX, P_UART0_RX, 0 | ||
378 | }; | ||
379 | |||
376 | static struct platform_device bfin_uart0_device = { | 380 | static struct platform_device bfin_uart0_device = { |
377 | .name = "bfin-uart", | 381 | .name = "bfin-uart", |
378 | .id = 0, | 382 | .id = 0, |
379 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | 383 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
380 | .resource = bfin_uart0_resources, | 384 | .resource = bfin_uart0_resources, |
385 | .dev = { | ||
386 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
387 | }, | ||
381 | }; | 388 | }; |
382 | #endif | 389 | #endif |
383 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 390 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
384 | static struct resource bfin_uart1_resources[] = { | 391 | static struct resource bfin_uart1_resources[] = { |
385 | { | 392 | { |
386 | .start = 0xFFC02000, | 393 | .start = UART1_THR, |
387 | .end = 0xFFC020FF, | 394 | .end = UART1_GCTL+2, |
388 | .flags = IORESOURCE_MEM, | 395 | .flags = IORESOURCE_MEM, |
389 | }, | 396 | }, |
390 | { | 397 | { |
@@ -427,11 +434,18 @@ static struct resource bfin_uart1_resources[] = { | |||
427 | #endif | 434 | #endif |
428 | }; | 435 | }; |
429 | 436 | ||
437 | unsigned short bfin_uart1_peripherals[] = { | ||
438 | P_UART1_TX, P_UART1_RX, 0 | ||
439 | }; | ||
440 | |||
430 | static struct platform_device bfin_uart1_device = { | 441 | static struct platform_device bfin_uart1_device = { |
431 | .name = "bfin-uart", | 442 | .name = "bfin-uart", |
432 | .id = 1, | 443 | .id = 1, |
433 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), | 444 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
434 | .resource = bfin_uart1_resources, | 445 | .resource = bfin_uart1_resources, |
446 | .dev = { | ||
447 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
448 | }, | ||
435 | }; | 449 | }; |
436 | #endif | 450 | #endif |
437 | #endif | 451 | #endif |
@@ -512,16 +526,75 @@ static struct platform_device i2c_bfin_twi_device = { | |||
512 | #endif | 526 | #endif |
513 | 527 | ||
514 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 528 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
529 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
530 | static struct resource bfin_sport0_uart_resources[] = { | ||
531 | { | ||
532 | .start = SPORT0_TCR1, | ||
533 | .end = SPORT0_MRCS3+4, | ||
534 | .flags = IORESOURCE_MEM, | ||
535 | }, | ||
536 | { | ||
537 | .start = IRQ_SPORT0_RX, | ||
538 | .end = IRQ_SPORT0_RX+1, | ||
539 | .flags = IORESOURCE_IRQ, | ||
540 | }, | ||
541 | { | ||
542 | .start = IRQ_SPORT0_ERROR, | ||
543 | .end = IRQ_SPORT0_ERROR, | ||
544 | .flags = IORESOURCE_IRQ, | ||
545 | }, | ||
546 | }; | ||
547 | |||
548 | unsigned short bfin_sport0_peripherals[] = { | ||
549 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
550 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
551 | }; | ||
552 | |||
515 | static struct platform_device bfin_sport0_uart_device = { | 553 | static struct platform_device bfin_sport0_uart_device = { |
516 | .name = "bfin-sport-uart", | 554 | .name = "bfin-sport-uart", |
517 | .id = 0, | 555 | .id = 0, |
556 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
557 | .resource = bfin_sport0_uart_resources, | ||
558 | .dev = { | ||
559 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
560 | }, | ||
561 | }; | ||
562 | #endif | ||
563 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
564 | static struct resource bfin_sport1_uart_resources[] = { | ||
565 | { | ||
566 | .start = SPORT1_TCR1, | ||
567 | .end = SPORT1_MRCS3+4, | ||
568 | .flags = IORESOURCE_MEM, | ||
569 | }, | ||
570 | { | ||
571 | .start = IRQ_SPORT1_RX, | ||
572 | .end = IRQ_SPORT1_RX+1, | ||
573 | .flags = IORESOURCE_IRQ, | ||
574 | }, | ||
575 | { | ||
576 | .start = IRQ_SPORT1_ERROR, | ||
577 | .end = IRQ_SPORT1_ERROR, | ||
578 | .flags = IORESOURCE_IRQ, | ||
579 | }, | ||
580 | }; | ||
581 | |||
582 | unsigned short bfin_sport1_peripherals[] = { | ||
583 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
584 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
518 | }; | 585 | }; |
519 | 586 | ||
520 | static struct platform_device bfin_sport1_uart_device = { | 587 | static struct platform_device bfin_sport1_uart_device = { |
521 | .name = "bfin-sport-uart", | 588 | .name = "bfin-sport-uart", |
522 | .id = 1, | 589 | .id = 1, |
590 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
591 | .resource = bfin_sport1_uart_resources, | ||
592 | .dev = { | ||
593 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
594 | }, | ||
523 | }; | 595 | }; |
524 | #endif | 596 | #endif |
597 | #endif | ||
525 | 598 | ||
526 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 599 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
527 | static struct platform_device bfin_mii_bus = { | 600 | static struct platform_device bfin_mii_bus = { |
@@ -633,9 +706,13 @@ static struct platform_device *cm_bf537e_devices[] __initdata = { | |||
633 | #endif | 706 | #endif |
634 | 707 | ||
635 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 708 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
709 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
636 | &bfin_sport0_uart_device, | 710 | &bfin_sport0_uart_device, |
711 | #endif | ||
712 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
637 | &bfin_sport1_uart_device, | 713 | &bfin_sport1_uart_device, |
638 | #endif | 714 | #endif |
715 | #endif | ||
639 | 716 | ||
640 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 717 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
641 | &isp1362_hcd_device, | 718 | &isp1362_hcd_device, |
@@ -683,6 +760,33 @@ static int __init cm_bf537e_init(void) | |||
683 | 760 | ||
684 | arch_initcall(cm_bf537e_init); | 761 | arch_initcall(cm_bf537e_init); |
685 | 762 | ||
763 | static struct platform_device *cm_bf537e_early_devices[] __initdata = { | ||
764 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
765 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
766 | &bfin_uart0_device, | ||
767 | #endif | ||
768 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
769 | &bfin_uart1_device, | ||
770 | #endif | ||
771 | #endif | ||
772 | |||
773 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
774 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
775 | &bfin_sport0_uart_device, | ||
776 | #endif | ||
777 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
778 | &bfin_sport1_uart_device, | ||
779 | #endif | ||
780 | #endif | ||
781 | }; | ||
782 | |||
783 | void __init native_machine_early_platform_add_devices(void) | ||
784 | { | ||
785 | printk(KERN_INFO "register early platform devices\n"); | ||
786 | early_platform_add_devices(cm_bf537e_early_devices, | ||
787 | ARRAY_SIZE(cm_bf537e_early_devices)); | ||
788 | } | ||
789 | |||
686 | void bfin_get_ether_addr(char *addr) | 790 | void bfin_get_ether_addr(char *addr) |
687 | { | 791 | { |
688 | random_ether_addr(addr); | 792 | random_ether_addr(addr); |
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537u.c b/arch/blackfin/mach-bf537/boards/cm_bf537u.c index ea11aa81340d..d464ad5b72b2 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537u.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537u.c | |||
@@ -74,7 +74,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
74 | }; | 74 | }; |
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 77 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
78 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 78 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
79 | .enable_dma = 0, | 79 | .enable_dma = 0, |
80 | .bits_per_word = 16, | 80 | .bits_per_word = 16, |
@@ -113,7 +113,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
113 | }, | 113 | }, |
114 | #endif | 114 | #endif |
115 | 115 | ||
116 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 116 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
117 | { | 117 | { |
118 | .modalias = "ad1836", | 118 | .modalias = "ad1836", |
119 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 119 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -327,25 +327,93 @@ static struct platform_device cm_flash_device = { | |||
327 | #endif | 327 | #endif |
328 | 328 | ||
329 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 329 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
330 | static struct resource bfin_uart_resources[] = { | 330 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
331 | static struct resource bfin_uart0_resources[] = { | ||
331 | { | 332 | { |
332 | .start = 0xFFC00400, | 333 | .start = UART0_THR, |
333 | .end = 0xFFC004FF, | 334 | .end = UART0_GCTL+2, |
334 | .flags = IORESOURCE_MEM, | 335 | .flags = IORESOURCE_MEM, |
335 | }, { | 336 | }, |
336 | .start = 0xFFC02000, | 337 | { |
337 | .end = 0xFFC020FF, | 338 | .start = IRQ_UART0_RX, |
339 | .end = IRQ_UART0_RX+1, | ||
340 | .flags = IORESOURCE_IRQ, | ||
341 | }, | ||
342 | { | ||
343 | .start = IRQ_UART0_ERROR, | ||
344 | .end = IRQ_UART0_ERROR, | ||
345 | .flags = IORESOURCE_IRQ, | ||
346 | }, | ||
347 | { | ||
348 | .start = CH_UART0_TX, | ||
349 | .end = CH_UART0_TX, | ||
350 | .flags = IORESOURCE_DMA, | ||
351 | }, | ||
352 | { | ||
353 | .start = CH_UART0_RX, | ||
354 | .end = CH_UART0_RX, | ||
355 | .flags = IORESOURCE_DMA, | ||
356 | }, | ||
357 | }; | ||
358 | |||
359 | unsigned short bfin_uart0_peripherals[] = { | ||
360 | P_UART0_TX, P_UART0_RX, 0 | ||
361 | }; | ||
362 | |||
363 | static struct platform_device bfin_uart0_device = { | ||
364 | .name = "bfin-uart", | ||
365 | .id = 0, | ||
366 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
367 | .resource = bfin_uart0_resources, | ||
368 | .dev = { | ||
369 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
370 | }, | ||
371 | }; | ||
372 | #endif | ||
373 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
374 | static struct resource bfin_uart1_resources[] = { | ||
375 | { | ||
376 | .start = UART1_THR, | ||
377 | .end = UART1_GCTL+2, | ||
338 | .flags = IORESOURCE_MEM, | 378 | .flags = IORESOURCE_MEM, |
339 | }, | 379 | }, |
380 | { | ||
381 | .start = IRQ_UART1_RX, | ||
382 | .end = IRQ_UART1_RX+1, | ||
383 | .flags = IORESOURCE_IRQ, | ||
384 | }, | ||
385 | { | ||
386 | .start = IRQ_UART1_ERROR, | ||
387 | .end = IRQ_UART1_ERROR, | ||
388 | .flags = IORESOURCE_IRQ, | ||
389 | }, | ||
390 | { | ||
391 | .start = CH_UART1_TX, | ||
392 | .end = CH_UART1_TX, | ||
393 | .flags = IORESOURCE_DMA, | ||
394 | }, | ||
395 | { | ||
396 | .start = CH_UART1_RX, | ||
397 | .end = CH_UART1_RX, | ||
398 | .flags = IORESOURCE_DMA, | ||
399 | }, | ||
400 | }; | ||
401 | |||
402 | unsigned short bfin_uart1_peripherals[] = { | ||
403 | P_UART1_TX, P_UART1_RX, 0 | ||
340 | }; | 404 | }; |
341 | 405 | ||
342 | static struct platform_device bfin_uart_device = { | 406 | static struct platform_device bfin_uart1_device = { |
343 | .name = "bfin-uart", | 407 | .name = "bfin-uart", |
344 | .id = 1, | 408 | .id = 1, |
345 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 409 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
346 | .resource = bfin_uart_resources, | 410 | .resource = bfin_uart1_resources, |
411 | .dev = { | ||
412 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
413 | }, | ||
347 | }; | 414 | }; |
348 | #endif | 415 | #endif |
416 | #endif | ||
349 | 417 | ||
350 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 418 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
351 | #ifdef CONFIG_BFIN_SIR0 | 419 | #ifdef CONFIG_BFIN_SIR0 |
@@ -423,16 +491,75 @@ static struct platform_device i2c_bfin_twi_device = { | |||
423 | #endif | 491 | #endif |
424 | 492 | ||
425 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 493 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
494 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
495 | static struct resource bfin_sport0_uart_resources[] = { | ||
496 | { | ||
497 | .start = SPORT0_TCR1, | ||
498 | .end = SPORT0_MRCS3+4, | ||
499 | .flags = IORESOURCE_MEM, | ||
500 | }, | ||
501 | { | ||
502 | .start = IRQ_SPORT0_RX, | ||
503 | .end = IRQ_SPORT0_RX+1, | ||
504 | .flags = IORESOURCE_IRQ, | ||
505 | }, | ||
506 | { | ||
507 | .start = IRQ_SPORT0_ERROR, | ||
508 | .end = IRQ_SPORT0_ERROR, | ||
509 | .flags = IORESOURCE_IRQ, | ||
510 | }, | ||
511 | }; | ||
512 | |||
513 | unsigned short bfin_sport0_peripherals[] = { | ||
514 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
515 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
516 | }; | ||
517 | |||
426 | static struct platform_device bfin_sport0_uart_device = { | 518 | static struct platform_device bfin_sport0_uart_device = { |
427 | .name = "bfin-sport-uart", | 519 | .name = "bfin-sport-uart", |
428 | .id = 0, | 520 | .id = 0, |
521 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
522 | .resource = bfin_sport0_uart_resources, | ||
523 | .dev = { | ||
524 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
525 | }, | ||
526 | }; | ||
527 | #endif | ||
528 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
529 | static struct resource bfin_sport1_uart_resources[] = { | ||
530 | { | ||
531 | .start = SPORT1_TCR1, | ||
532 | .end = SPORT1_MRCS3+4, | ||
533 | .flags = IORESOURCE_MEM, | ||
534 | }, | ||
535 | { | ||
536 | .start = IRQ_SPORT1_RX, | ||
537 | .end = IRQ_SPORT1_RX+1, | ||
538 | .flags = IORESOURCE_IRQ, | ||
539 | }, | ||
540 | { | ||
541 | .start = IRQ_SPORT1_ERROR, | ||
542 | .end = IRQ_SPORT1_ERROR, | ||
543 | .flags = IORESOURCE_IRQ, | ||
544 | }, | ||
545 | }; | ||
546 | |||
547 | unsigned short bfin_sport1_peripherals[] = { | ||
548 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
549 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
429 | }; | 550 | }; |
430 | 551 | ||
431 | static struct platform_device bfin_sport1_uart_device = { | 552 | static struct platform_device bfin_sport1_uart_device = { |
432 | .name = "bfin-sport-uart", | 553 | .name = "bfin-sport-uart", |
433 | .id = 1, | 554 | .id = 1, |
555 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
556 | .resource = bfin_sport1_uart_resources, | ||
557 | .dev = { | ||
558 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
559 | }, | ||
434 | }; | 560 | }; |
435 | #endif | 561 | #endif |
562 | #endif | ||
436 | 563 | ||
437 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 564 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
438 | static struct platform_device bfin_mii_bus = { | 565 | static struct platform_device bfin_mii_bus = { |
@@ -522,7 +649,12 @@ static struct platform_device *cm_bf537u_devices[] __initdata = { | |||
522 | #endif | 649 | #endif |
523 | 650 | ||
524 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 651 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
525 | &bfin_uart_device, | 652 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
653 | &bfin_uart0_device, | ||
654 | #endif | ||
655 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
656 | &bfin_uart1_device, | ||
657 | #endif | ||
526 | #endif | 658 | #endif |
527 | 659 | ||
528 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 660 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -539,9 +671,13 @@ static struct platform_device *cm_bf537u_devices[] __initdata = { | |||
539 | #endif | 671 | #endif |
540 | 672 | ||
541 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 673 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
674 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
542 | &bfin_sport0_uart_device, | 675 | &bfin_sport0_uart_device, |
676 | #endif | ||
677 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
543 | &bfin_sport1_uart_device, | 678 | &bfin_sport1_uart_device, |
544 | #endif | 679 | #endif |
680 | #endif | ||
545 | 681 | ||
546 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 682 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
547 | &isp1362_hcd_device, | 683 | &isp1362_hcd_device, |
@@ -589,6 +725,33 @@ static int __init cm_bf537u_init(void) | |||
589 | 725 | ||
590 | arch_initcall(cm_bf537u_init); | 726 | arch_initcall(cm_bf537u_init); |
591 | 727 | ||
728 | static struct platform_device *cm_bf537u_early_devices[] __initdata = { | ||
729 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
730 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
731 | &bfin_uart0_device, | ||
732 | #endif | ||
733 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
734 | &bfin_uart1_device, | ||
735 | #endif | ||
736 | #endif | ||
737 | |||
738 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
739 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
740 | &bfin_sport0_uart_device, | ||
741 | #endif | ||
742 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
743 | &bfin_sport1_uart_device, | ||
744 | #endif | ||
745 | #endif | ||
746 | }; | ||
747 | |||
748 | void __init native_machine_early_platform_add_devices(void) | ||
749 | { | ||
750 | printk(KERN_INFO "register early platform devices\n"); | ||
751 | early_platform_add_devices(cm_bf537u_early_devices, | ||
752 | ARRAY_SIZE(cm_bf537u_early_devices)); | ||
753 | } | ||
754 | |||
592 | void bfin_get_ether_addr(char *addr) | 755 | void bfin_get_ether_addr(char *addr) |
593 | { | 756 | { |
594 | random_ether_addr(addr); | 757 | random_ether_addr(addr); |
diff --git a/arch/blackfin/mach-bf537/boards/minotaur.c b/arch/blackfin/mach-bf537/boards/minotaur.c index 0da927252701..c489d602c590 100644 --- a/arch/blackfin/mach-bf537/boards/minotaur.c +++ b/arch/blackfin/mach-bf537/boards/minotaur.c | |||
@@ -211,25 +211,93 @@ static struct platform_device bfin_spi0_device = { | |||
211 | #endif /* spi master and devices */ | 211 | #endif /* spi master and devices */ |
212 | 212 | ||
213 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 213 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
214 | static struct resource bfin_uart_resources[] = { | 214 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
215 | static struct resource bfin_uart0_resources[] = { | ||
215 | { | 216 | { |
216 | .start = 0xFFC00400, | 217 | .start = UART0_THR, |
217 | .end = 0xFFC004FF, | 218 | .end = UART0_GCTL+2, |
218 | .flags = IORESOURCE_MEM, | 219 | .flags = IORESOURCE_MEM, |
219 | }, { | 220 | }, |
220 | .start = 0xFFC02000, | 221 | { |
221 | .end = 0xFFC020FF, | 222 | .start = IRQ_UART0_RX, |
223 | .end = IRQ_UART0_RX+1, | ||
224 | .flags = IORESOURCE_IRQ, | ||
225 | }, | ||
226 | { | ||
227 | .start = IRQ_UART0_ERROR, | ||
228 | .end = IRQ_UART0_ERROR, | ||
229 | .flags = IORESOURCE_IRQ, | ||
230 | }, | ||
231 | { | ||
232 | .start = CH_UART0_TX, | ||
233 | .end = CH_UART0_TX, | ||
234 | .flags = IORESOURCE_DMA, | ||
235 | }, | ||
236 | { | ||
237 | .start = CH_UART0_RX, | ||
238 | .end = CH_UART0_RX, | ||
239 | .flags = IORESOURCE_DMA, | ||
240 | }, | ||
241 | }; | ||
242 | |||
243 | unsigned short bfin_uart0_peripherals[] = { | ||
244 | P_UART0_TX, P_UART0_RX, 0 | ||
245 | }; | ||
246 | |||
247 | static struct platform_device bfin_uart0_device = { | ||
248 | .name = "bfin-uart", | ||
249 | .id = 0, | ||
250 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
251 | .resource = bfin_uart0_resources, | ||
252 | .dev = { | ||
253 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
254 | }, | ||
255 | }; | ||
256 | #endif | ||
257 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
258 | static struct resource bfin_uart1_resources[] = { | ||
259 | { | ||
260 | .start = UART1_THR, | ||
261 | .end = UART1_GCTL+2, | ||
222 | .flags = IORESOURCE_MEM, | 262 | .flags = IORESOURCE_MEM, |
223 | }, | 263 | }, |
264 | { | ||
265 | .start = IRQ_UART1_RX, | ||
266 | .end = IRQ_UART1_RX+1, | ||
267 | .flags = IORESOURCE_IRQ, | ||
268 | }, | ||
269 | { | ||
270 | .start = IRQ_UART1_ERROR, | ||
271 | .end = IRQ_UART1_ERROR, | ||
272 | .flags = IORESOURCE_IRQ, | ||
273 | }, | ||
274 | { | ||
275 | .start = CH_UART1_TX, | ||
276 | .end = CH_UART1_TX, | ||
277 | .flags = IORESOURCE_DMA, | ||
278 | }, | ||
279 | { | ||
280 | .start = CH_UART1_RX, | ||
281 | .end = CH_UART1_RX, | ||
282 | .flags = IORESOURCE_DMA, | ||
283 | }, | ||
284 | }; | ||
285 | |||
286 | unsigned short bfin_uart1_peripherals[] = { | ||
287 | P_UART1_TX, P_UART1_RX, 0 | ||
224 | }; | 288 | }; |
225 | 289 | ||
226 | static struct platform_device bfin_uart_device = { | 290 | static struct platform_device bfin_uart1_device = { |
227 | .name = "bfin-uart", | 291 | .name = "bfin-uart", |
228 | .id = 1, | 292 | .id = 1, |
229 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 293 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
230 | .resource = bfin_uart_resources, | 294 | .resource = bfin_uart1_resources, |
295 | .dev = { | ||
296 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
297 | }, | ||
231 | }; | 298 | }; |
232 | #endif | 299 | #endif |
300 | #endif | ||
233 | 301 | ||
234 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 302 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
235 | #ifdef CONFIG_BFIN_SIR0 | 303 | #ifdef CONFIG_BFIN_SIR0 |
@@ -309,16 +377,75 @@ static struct platform_device i2c_bfin_twi_device = { | |||
309 | #endif | 377 | #endif |
310 | 378 | ||
311 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 379 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
380 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
381 | static struct resource bfin_sport0_uart_resources[] = { | ||
382 | { | ||
383 | .start = SPORT0_TCR1, | ||
384 | .end = SPORT0_MRCS3+4, | ||
385 | .flags = IORESOURCE_MEM, | ||
386 | }, | ||
387 | { | ||
388 | .start = IRQ_SPORT0_RX, | ||
389 | .end = IRQ_SPORT0_RX+1, | ||
390 | .flags = IORESOURCE_IRQ, | ||
391 | }, | ||
392 | { | ||
393 | .start = IRQ_SPORT0_ERROR, | ||
394 | .end = IRQ_SPORT0_ERROR, | ||
395 | .flags = IORESOURCE_IRQ, | ||
396 | }, | ||
397 | }; | ||
398 | |||
399 | unsigned short bfin_sport0_peripherals[] = { | ||
400 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
401 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
402 | }; | ||
403 | |||
312 | static struct platform_device bfin_sport0_uart_device = { | 404 | static struct platform_device bfin_sport0_uart_device = { |
313 | .name = "bfin-sport-uart", | 405 | .name = "bfin-sport-uart", |
314 | .id = 0, | 406 | .id = 0, |
407 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
408 | .resource = bfin_sport0_uart_resources, | ||
409 | .dev = { | ||
410 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
411 | }, | ||
412 | }; | ||
413 | #endif | ||
414 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
415 | static struct resource bfin_sport1_uart_resources[] = { | ||
416 | { | ||
417 | .start = SPORT1_TCR1, | ||
418 | .end = SPORT1_MRCS3+4, | ||
419 | .flags = IORESOURCE_MEM, | ||
420 | }, | ||
421 | { | ||
422 | .start = IRQ_SPORT1_RX, | ||
423 | .end = IRQ_SPORT1_RX+1, | ||
424 | .flags = IORESOURCE_IRQ, | ||
425 | }, | ||
426 | { | ||
427 | .start = IRQ_SPORT1_ERROR, | ||
428 | .end = IRQ_SPORT1_ERROR, | ||
429 | .flags = IORESOURCE_IRQ, | ||
430 | }, | ||
431 | }; | ||
432 | |||
433 | unsigned short bfin_sport1_peripherals[] = { | ||
434 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
435 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
315 | }; | 436 | }; |
316 | 437 | ||
317 | static struct platform_device bfin_sport1_uart_device = { | 438 | static struct platform_device bfin_sport1_uart_device = { |
318 | .name = "bfin-sport-uart", | 439 | .name = "bfin-sport-uart", |
319 | .id = 1, | 440 | .id = 1, |
441 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
442 | .resource = bfin_sport1_uart_resources, | ||
443 | .dev = { | ||
444 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
445 | }, | ||
320 | }; | 446 | }; |
321 | #endif | 447 | #endif |
448 | #endif | ||
322 | 449 | ||
323 | static struct platform_device *minotaur_devices[] __initdata = { | 450 | static struct platform_device *minotaur_devices[] __initdata = { |
324 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | 451 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) |
@@ -343,7 +470,12 @@ static struct platform_device *minotaur_devices[] __initdata = { | |||
343 | #endif | 470 | #endif |
344 | 471 | ||
345 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 472 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
346 | &bfin_uart_device, | 473 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
474 | &bfin_uart0_device, | ||
475 | #endif | ||
476 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
477 | &bfin_uart1_device, | ||
478 | #endif | ||
347 | #endif | 479 | #endif |
348 | 480 | ||
349 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 481 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -360,9 +492,13 @@ static struct platform_device *minotaur_devices[] __initdata = { | |||
360 | #endif | 492 | #endif |
361 | 493 | ||
362 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 494 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
495 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
363 | &bfin_sport0_uart_device, | 496 | &bfin_sport0_uart_device, |
497 | #endif | ||
498 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
364 | &bfin_sport1_uart_device, | 499 | &bfin_sport1_uart_device, |
365 | #endif | 500 | #endif |
501 | #endif | ||
366 | 502 | ||
367 | }; | 503 | }; |
368 | 504 | ||
@@ -380,6 +516,33 @@ static int __init minotaur_init(void) | |||
380 | 516 | ||
381 | arch_initcall(minotaur_init); | 517 | arch_initcall(minotaur_init); |
382 | 518 | ||
519 | static struct platform_device *minotaur_early_devices[] __initdata = { | ||
520 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
521 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
522 | &bfin_uart0_device, | ||
523 | #endif | ||
524 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
525 | &bfin_uart1_device, | ||
526 | #endif | ||
527 | #endif | ||
528 | |||
529 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
530 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
531 | &bfin_sport0_uart_device, | ||
532 | #endif | ||
533 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
534 | &bfin_sport1_uart_device, | ||
535 | #endif | ||
536 | #endif | ||
537 | }; | ||
538 | |||
539 | void __init native_machine_early_platform_add_devices(void) | ||
540 | { | ||
541 | printk(KERN_INFO "register early platform devices\n"); | ||
542 | early_platform_add_devices(minotaur_early_devices, | ||
543 | ARRAY_SIZE(minotaur_early_devices)); | ||
544 | } | ||
545 | |||
383 | void native_machine_restart(char *cmd) | 546 | void native_machine_restart(char *cmd) |
384 | { | 547 | { |
385 | /* workaround reboot hang when booting from SPI */ | 548 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c index 4e0afda472ab..812e8f991601 100644 --- a/arch/blackfin/mach-bf537/boards/pnav10.c +++ b/arch/blackfin/mach-bf537/boards/pnav10.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <asm/dma.h> | 17 | #include <asm/dma.h> |
18 | #include <asm/bfin5xx_spi.h> | 18 | #include <asm/bfin5xx_spi.h> |
19 | #include <asm/portmux.h> | 19 | #include <asm/portmux.h> |
20 | #include <linux/usb/sl811.h> | ||
21 | 20 | ||
22 | #include <linux/spi/ad7877.h> | 21 | #include <linux/spi/ad7877.h> |
23 | 22 | ||
@@ -99,51 +98,6 @@ static struct platform_device smc91x_device = { | |||
99 | }; | 98 | }; |
100 | #endif | 99 | #endif |
101 | 100 | ||
102 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
103 | static struct resource sl811_hcd_resources[] = { | ||
104 | { | ||
105 | .start = 0x20340000, | ||
106 | .end = 0x20340000, | ||
107 | .flags = IORESOURCE_MEM, | ||
108 | }, { | ||
109 | .start = 0x20340004, | ||
110 | .end = 0x20340004, | ||
111 | .flags = IORESOURCE_MEM, | ||
112 | }, { | ||
113 | .start = CONFIG_USB_SL811_BFIN_IRQ, | ||
114 | .end = CONFIG_USB_SL811_BFIN_IRQ, | ||
115 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
116 | }, | ||
117 | }; | ||
118 | |||
119 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
120 | void sl811_port_power(struct device *dev, int is_on) | ||
121 | { | ||
122 | gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); | ||
123 | gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); | ||
124 | |||
125 | } | ||
126 | #endif | ||
127 | |||
128 | static struct sl811_platform_data sl811_priv = { | ||
129 | .potpg = 10, | ||
130 | .power = 250, /* == 500mA */ | ||
131 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
132 | .port_power = &sl811_port_power, | ||
133 | #endif | ||
134 | }; | ||
135 | |||
136 | static struct platform_device sl811_hcd_device = { | ||
137 | .name = "sl811-hcd", | ||
138 | .id = 0, | ||
139 | .dev = { | ||
140 | .platform_data = &sl811_priv, | ||
141 | }, | ||
142 | .num_resources = ARRAY_SIZE(sl811_hcd_resources), | ||
143 | .resource = sl811_hcd_resources, | ||
144 | }; | ||
145 | #endif | ||
146 | |||
147 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 101 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
148 | static struct platform_device bfin_mii_bus = { | 102 | static struct platform_device bfin_mii_bus = { |
149 | .name = "bfin_mii_bus", | 103 | .name = "bfin_mii_bus", |
@@ -221,8 +175,8 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
221 | }; | 175 | }; |
222 | #endif | 176 | #endif |
223 | 177 | ||
224 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 178 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
225 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 179 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
226 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 180 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
227 | .enable_dma = 0, | 181 | .enable_dma = 0, |
228 | .bits_per_word = 16, | 182 | .bits_per_word = 16, |
@@ -284,8 +238,8 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
284 | }, | 238 | }, |
285 | #endif | 239 | #endif |
286 | 240 | ||
287 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 241 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
288 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 242 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
289 | { | 243 | { |
290 | .modalias = "ad1836", | 244 | .modalias = "ad1836", |
291 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 245 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -362,25 +316,93 @@ static struct platform_device bfin_fb_device = { | |||
362 | #endif | 316 | #endif |
363 | 317 | ||
364 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 318 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
365 | static struct resource bfin_uart_resources[] = { | 319 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
320 | static struct resource bfin_uart0_resources[] = { | ||
366 | { | 321 | { |
367 | .start = 0xFFC00400, | 322 | .start = UART0_THR, |
368 | .end = 0xFFC004FF, | 323 | .end = UART0_GCTL+2, |
369 | .flags = IORESOURCE_MEM, | 324 | .flags = IORESOURCE_MEM, |
370 | }, { | 325 | }, |
371 | .start = 0xFFC02000, | 326 | { |
372 | .end = 0xFFC020FF, | 327 | .start = IRQ_UART0_RX, |
328 | .end = IRQ_UART0_RX+1, | ||
329 | .flags = IORESOURCE_IRQ, | ||
330 | }, | ||
331 | { | ||
332 | .start = IRQ_UART0_ERROR, | ||
333 | .end = IRQ_UART0_ERROR, | ||
334 | .flags = IORESOURCE_IRQ, | ||
335 | }, | ||
336 | { | ||
337 | .start = CH_UART0_TX, | ||
338 | .end = CH_UART0_TX, | ||
339 | .flags = IORESOURCE_DMA, | ||
340 | }, | ||
341 | { | ||
342 | .start = CH_UART0_RX, | ||
343 | .end = CH_UART0_RX, | ||
344 | .flags = IORESOURCE_DMA, | ||
345 | }, | ||
346 | }; | ||
347 | |||
348 | unsigned short bfin_uart0_peripherals[] = { | ||
349 | P_UART0_TX, P_UART0_RX, 0 | ||
350 | }; | ||
351 | |||
352 | static struct platform_device bfin_uart0_device = { | ||
353 | .name = "bfin-uart", | ||
354 | .id = 0, | ||
355 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
356 | .resource = bfin_uart0_resources, | ||
357 | .dev = { | ||
358 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
359 | }, | ||
360 | }; | ||
361 | #endif | ||
362 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
363 | static struct resource bfin_uart1_resources[] = { | ||
364 | { | ||
365 | .start = UART1_THR, | ||
366 | .end = UART1_GCTL+2, | ||
373 | .flags = IORESOURCE_MEM, | 367 | .flags = IORESOURCE_MEM, |
374 | }, | 368 | }, |
369 | { | ||
370 | .start = IRQ_UART1_RX, | ||
371 | .end = IRQ_UART1_RX+1, | ||
372 | .flags = IORESOURCE_IRQ, | ||
373 | }, | ||
374 | { | ||
375 | .start = IRQ_UART1_ERROR, | ||
376 | .end = IRQ_UART1_ERROR, | ||
377 | .flags = IORESOURCE_IRQ, | ||
378 | }, | ||
379 | { | ||
380 | .start = CH_UART1_TX, | ||
381 | .end = CH_UART1_TX, | ||
382 | .flags = IORESOURCE_DMA, | ||
383 | }, | ||
384 | { | ||
385 | .start = CH_UART1_RX, | ||
386 | .end = CH_UART1_RX, | ||
387 | .flags = IORESOURCE_DMA, | ||
388 | }, | ||
389 | }; | ||
390 | |||
391 | unsigned short bfin_uart1_peripherals[] = { | ||
392 | P_UART1_TX, P_UART1_RX, 0 | ||
375 | }; | 393 | }; |
376 | 394 | ||
377 | static struct platform_device bfin_uart_device = { | 395 | static struct platform_device bfin_uart1_device = { |
378 | .name = "bfin-uart", | 396 | .name = "bfin-uart", |
379 | .id = 1, | 397 | .id = 1, |
380 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 398 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
381 | .resource = bfin_uart_resources, | 399 | .resource = bfin_uart1_resources, |
400 | .dev = { | ||
401 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
402 | }, | ||
382 | }; | 403 | }; |
383 | #endif | 404 | #endif |
405 | #endif | ||
384 | 406 | ||
385 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 407 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
386 | #ifdef CONFIG_BFIN_SIR0 | 408 | #ifdef CONFIG_BFIN_SIR0 |
@@ -446,10 +468,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
446 | &rtc_device, | 468 | &rtc_device, |
447 | #endif | 469 | #endif |
448 | 470 | ||
449 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
450 | &sl811_hcd_device, | ||
451 | #endif | ||
452 | |||
453 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | 471 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) |
454 | &smc91x_device, | 472 | &smc91x_device, |
455 | #endif | 473 | #endif |
@@ -472,7 +490,12 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
472 | #endif | 490 | #endif |
473 | 491 | ||
474 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 492 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
475 | &bfin_uart_device, | 493 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
494 | &bfin_uart0_device, | ||
495 | #endif | ||
496 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
497 | &bfin_uart1_device, | ||
498 | #endif | ||
476 | #endif | 499 | #endif |
477 | 500 | ||
478 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 501 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -498,6 +521,24 @@ static int __init pnav_init(void) | |||
498 | 521 | ||
499 | arch_initcall(pnav_init); | 522 | arch_initcall(pnav_init); |
500 | 523 | ||
524 | static struct platform_device *stamp_early_devices[] __initdata = { | ||
525 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
526 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
527 | &bfin_uart0_device, | ||
528 | #endif | ||
529 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
530 | &bfin_uart1_device, | ||
531 | #endif | ||
532 | #endif | ||
533 | }; | ||
534 | |||
535 | void __init native_machine_early_platform_add_devices(void) | ||
536 | { | ||
537 | printk(KERN_INFO "register early platform devices\n"); | ||
538 | early_platform_add_devices(stamp_early_devices, | ||
539 | ARRAY_SIZE(stamp_early_devices)); | ||
540 | } | ||
541 | |||
501 | void bfin_get_ether_addr(char *addr) | 542 | void bfin_get_ether_addr(char *addr) |
502 | { | 543 | { |
503 | random_ether_addr(addr); | 544 | random_ether_addr(addr); |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index ac9b52e0087c..9eaf5b05c11e 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -20,10 +20,12 @@ | |||
20 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 20 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
21 | #include <linux/usb/isp1362.h> | 21 | #include <linux/usb/isp1362.h> |
22 | #endif | 22 | #endif |
23 | #include <linux/i2c.h> | ||
24 | #include <linux/i2c/adp5588.h> | ||
25 | #include <linux/etherdevice.h> | ||
23 | #include <linux/ata_platform.h> | 26 | #include <linux/ata_platform.h> |
24 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
25 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
26 | #include <linux/i2c.h> | ||
27 | #include <linux/usb/sl811.h> | 29 | #include <linux/usb/sl811.h> |
28 | #include <linux/spi/mmc_spi.h> | 30 | #include <linux/spi/mmc_spi.h> |
29 | #include <linux/leds.h> | 31 | #include <linux/leds.h> |
@@ -33,6 +35,14 @@ | |||
33 | #include <asm/reboot.h> | 35 | #include <asm/reboot.h> |
34 | #include <asm/portmux.h> | 36 | #include <asm/portmux.h> |
35 | #include <asm/dpmc.h> | 37 | #include <asm/dpmc.h> |
38 | #ifdef CONFIG_REGULATOR_ADP_SWITCH | ||
39 | #include <linux/regulator/adp_switch.h> | ||
40 | #endif | ||
41 | #ifdef CONFIG_REGULATOR_AD5398 | ||
42 | #include <linux/regulator/ad5398.h> | ||
43 | #endif | ||
44 | #include <linux/regulator/consumer.h> | ||
45 | #include <linux/regulator/userspace-consumer.h> | ||
36 | 46 | ||
37 | /* | 47 | /* |
38 | * Name the Board for the /proc/cpuinfo | 48 | * Name the Board for the /proc/cpuinfo |
@@ -208,8 +218,8 @@ static struct resource sl811_hcd_resources[] = { | |||
208 | .end = 0x20340004, | 218 | .end = 0x20340004, |
209 | .flags = IORESOURCE_MEM, | 219 | .flags = IORESOURCE_MEM, |
210 | }, { | 220 | }, { |
211 | .start = CONFIG_USB_SL811_BFIN_IRQ, | 221 | .start = IRQ_PF4, |
212 | .end = CONFIG_USB_SL811_BFIN_IRQ, | 222 | .end = IRQ_PF4, |
213 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | 223 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, |
214 | }, | 224 | }, |
215 | }; | 225 | }; |
@@ -454,6 +464,9 @@ static struct physmap_flash_data stamp_flash_data = { | |||
454 | .width = 2, | 464 | .width = 2, |
455 | .parts = stamp_partitions, | 465 | .parts = stamp_partitions, |
456 | .nr_parts = ARRAY_SIZE(stamp_partitions), | 466 | .nr_parts = ARRAY_SIZE(stamp_partitions), |
467 | #ifdef CONFIG_ROMKERNEL | ||
468 | .probe_type = "map_rom", | ||
469 | #endif | ||
457 | }; | 470 | }; |
458 | 471 | ||
459 | static struct resource stamp_flash_resource = { | 472 | static struct resource stamp_flash_resource = { |
@@ -515,20 +528,19 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
515 | }; | 528 | }; |
516 | #endif | 529 | #endif |
517 | 530 | ||
518 | #if defined(CONFIG_SND_BF5XX_SOC_AD1836) \ | 531 | #if defined(CONFIG_SND_BF5XX_SOC_AD183X) \ |
519 | || defined(CONFIG_SND_BF5XX_SOC_AD1836_MODULE) | 532 | || defined(CONFIG_SND_BF5XX_SOC_AD183X_MODULE) |
520 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 533 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
521 | .enable_dma = 0, | 534 | .enable_dma = 0, |
522 | .bits_per_word = 16, | 535 | .bits_per_word = 16, |
523 | }; | 536 | }; |
524 | #endif | 537 | #endif |
525 | 538 | ||
526 | #if defined(CONFIG_SND_BF5XX_SOC_AD1938) \ | 539 | #if defined(CONFIG_SND_BF5XX_SOC_AD193X) \ |
527 | || defined(CONFIG_SND_BF5XX_SOC_AD1938_MODULE) | 540 | || defined(CONFIG_SND_BF5XX_SOC_AD193X_MODULE) |
528 | static struct bfin5xx_spi_chip ad1938_spi_chip_info = { | 541 | static struct bfin5xx_spi_chip ad1938_spi_chip_info = { |
529 | .enable_dma = 0, | 542 | .enable_dma = 0, |
530 | .bits_per_word = 8, | 543 | .bits_per_word = 8, |
531 | .cs_gpio = GPIO_PF5, | ||
532 | }; | 544 | }; |
533 | #endif | 545 | #endif |
534 | 546 | ||
@@ -644,6 +656,42 @@ static struct ad714x_platform_data ad7142_i2c_platform_data = { | |||
644 | }; | 656 | }; |
645 | #endif | 657 | #endif |
646 | 658 | ||
659 | #if defined(CONFIG_AD2S90) || defined(CONFIG_AD2S90_MODULE) | ||
660 | static struct bfin5xx_spi_chip ad2s90_spi_chip_info = { | ||
661 | .enable_dma = 0, | ||
662 | .bits_per_word = 16, | ||
663 | }; | ||
664 | #endif | ||
665 | |||
666 | #if defined(CONFIG_AD2S120X) || defined(CONFIG_AD2S120X_MODULE) | ||
667 | unsigned short ad2s120x_platform_data[] = { | ||
668 | /* used as SAMPLE and RDVEL */ | ||
669 | GPIO_PF5, GPIO_PF6, 0 | ||
670 | }; | ||
671 | |||
672 | static struct bfin5xx_spi_chip ad2s120x_spi_chip_info = { | ||
673 | .enable_dma = 0, | ||
674 | .bits_per_word = 16, | ||
675 | }; | ||
676 | #endif | ||
677 | |||
678 | #if defined(CONFIG_AD2S1210) || defined(CONFIG_AD2S1210_MODULE) | ||
679 | unsigned short ad2s1210_platform_data[] = { | ||
680 | /* use as SAMPLE, A0, A1 */ | ||
681 | GPIO_PF7, GPIO_PF8, GPIO_PF9, | ||
682 | # if defined(CONFIG_AD2S1210_GPIO_INPUT) || defined(CONFIG_AD2S1210_GPIO_OUTPUT) | ||
683 | /* the RES0 and RES1 pins */ | ||
684 | GPIO_PF4, GPIO_PF5, | ||
685 | # endif | ||
686 | 0, | ||
687 | }; | ||
688 | |||
689 | static struct bfin5xx_spi_chip ad2s1210_spi_chip_info = { | ||
690 | .enable_dma = 0, | ||
691 | .bits_per_word = 8, | ||
692 | }; | ||
693 | #endif | ||
694 | |||
647 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | 695 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) |
648 | #define MMC_SPI_CARD_DETECT_INT IRQ_PF5 | 696 | #define MMC_SPI_CARD_DETECT_INT IRQ_PF5 |
649 | 697 | ||
@@ -686,11 +734,11 @@ static const struct ad7877_platform_data bfin_ad7877_ts_info = { | |||
686 | .y_plate_ohms = 486, | 734 | .y_plate_ohms = 486, |
687 | .pressure_max = 1000, | 735 | .pressure_max = 1000, |
688 | .pressure_min = 0, | 736 | .pressure_min = 0, |
689 | .stopacq_polarity = 1, | 737 | .stopacq_polarity = 1, |
690 | .first_conversion_delay = 3, | 738 | .first_conversion_delay = 3, |
691 | .acquisition_time = 1, | 739 | .acquisition_time = 1, |
692 | .averaging = 1, | 740 | .averaging = 1, |
693 | .pen_down_acc_interval = 1, | 741 | .pen_down_acc_interval = 1, |
694 | }; | 742 | }; |
695 | #endif | 743 | #endif |
696 | 744 | ||
@@ -701,13 +749,13 @@ static const struct ad7879_platform_data bfin_ad7879_ts_info = { | |||
701 | .x_plate_ohms = 620, /* 620 Ohm from the touch datasheet */ | 749 | .x_plate_ohms = 620, /* 620 Ohm from the touch datasheet */ |
702 | .pressure_max = 10000, | 750 | .pressure_max = 10000, |
703 | .pressure_min = 0, | 751 | .pressure_min = 0, |
704 | .first_conversion_delay = 3, /* wait 512us before do a first conversion */ | 752 | .first_conversion_delay = 3, /* wait 512us before do a first conversion */ |
705 | .acquisition_time = 1, /* 4us acquisition time per sample */ | 753 | .acquisition_time = 1, /* 4us acquisition time per sample */ |
706 | .median = 2, /* do 8 measurements */ | 754 | .median = 2, /* do 8 measurements */ |
707 | .averaging = 1, /* take the average of 4 middle samples */ | 755 | .averaging = 1, /* take the average of 4 middle samples */ |
708 | .pen_down_acc_interval = 255, /* 9.4 ms */ | 756 | .pen_down_acc_interval = 255, /* 9.4 ms */ |
709 | .gpio_output = 1, /* configure AUX/VBAT/GPIO as GPIO output */ | 757 | .gpio_export = 1, /* Export GPIO to gpiolib */ |
710 | .gpio_default = 1, /* During initialization set GPIO = HIGH */ | 758 | .gpio_base = -1, /* Dynamic allocation */ |
711 | }; | 759 | }; |
712 | #endif | 760 | #endif |
713 | 761 | ||
@@ -742,6 +790,11 @@ static const struct adxl34x_platform_data adxl34x_info = { | |||
742 | /* .ev_code_act_inactivity = KEY_A,*/ /* EV_KEY */ | 790 | /* .ev_code_act_inactivity = KEY_A,*/ /* EV_KEY */ |
743 | .power_mode = ADXL_AUTO_SLEEP | ADXL_LINK, | 791 | .power_mode = ADXL_AUTO_SLEEP | ADXL_LINK, |
744 | .fifo_mode = ADXL_FIFO_STREAM, | 792 | .fifo_mode = ADXL_FIFO_STREAM, |
793 | .orientation_enable = ADXL_EN_ORIENTATION_3D, | ||
794 | .deadzone_angle = ADXL_DEADZONE_ANGLE_10p8, | ||
795 | .divisor_length = ADXL_LP_FILTER_DIVISOR_16, | ||
796 | /* EV_KEY {+Z, +Y, +X, -X, -Y, -Z} */ | ||
797 | .ev_codes_orient_3d = {BTN_Z, BTN_Y, BTN_X, BTN_A, BTN_B, BTN_C}, | ||
745 | }; | 798 | }; |
746 | #endif | 799 | #endif |
747 | 800 | ||
@@ -813,6 +866,35 @@ static struct adf702x_platform_data adf7021_platform_data = { | |||
813 | .adf702x_regs = adf7021_regs, | 866 | .adf702x_regs = adf7021_regs, |
814 | .tx_reg = TXREG, | 867 | .tx_reg = TXREG, |
815 | }; | 868 | }; |
869 | static inline void adf702x_mac_init(void) | ||
870 | { | ||
871 | random_ether_addr(adf7021_platform_data.mac_addr); | ||
872 | } | ||
873 | #else | ||
874 | static inline void adf702x_mac_init(void) {} | ||
875 | #endif | ||
876 | |||
877 | #if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) | ||
878 | #include <linux/spi/ads7846.h> | ||
879 | static struct bfin5xx_spi_chip ad7873_spi_chip_info = { | ||
880 | .bits_per_word = 8, | ||
881 | }; | ||
882 | |||
883 | static int ads7873_get_pendown_state(void) | ||
884 | { | ||
885 | return gpio_get_value(GPIO_PF6); | ||
886 | } | ||
887 | |||
888 | static struct ads7846_platform_data __initdata ad7873_pdata = { | ||
889 | .model = 7873, /* AD7873 */ | ||
890 | .x_max = 0xfff, | ||
891 | .y_max = 0xfff, | ||
892 | .x_plate_ohms = 620, | ||
893 | .debounce_max = 1, | ||
894 | .debounce_rep = 0, | ||
895 | .debounce_tol = (~0), | ||
896 | .get_pendown_state = ads7873_get_pendown_state, | ||
897 | }; | ||
816 | #endif | 898 | #endif |
817 | 899 | ||
818 | #if defined(CONFIG_MTD_DATAFLASH) \ | 900 | #if defined(CONFIG_MTD_DATAFLASH) \ |
@@ -893,24 +975,25 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
893 | }, | 975 | }, |
894 | #endif | 976 | #endif |
895 | 977 | ||
896 | #if defined(CONFIG_SND_BF5XX_SOC_AD1836) \ | 978 | #if defined(CONFIG_SND_BF5XX_SOC_AD183X) \ |
897 | || defined(CONFIG_SND_BF5XX_SOC_AD1836_MODULE) | 979 | || defined(CONFIG_SND_BF5XX_SOC_AD183X_MODULE) |
898 | { | 980 | { |
899 | .modalias = "ad1836", | 981 | .modalias = "ad183x", |
900 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 982 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
901 | .bus_num = 0, | 983 | .bus_num = 0, |
902 | .chip_select = 4,/* CONFIG_SND_BLACKFIN_SPI_PFBIT */ | 984 | .chip_select = 4,/* CONFIG_SND_BLACKFIN_SPI_PFBIT */ |
985 | .platform_data = "ad1836", /* only includes chip name for the moment */ | ||
903 | .controller_data = &ad1836_spi_chip_info, | 986 | .controller_data = &ad1836_spi_chip_info, |
904 | .mode = SPI_MODE_3, | 987 | .mode = SPI_MODE_3, |
905 | }, | 988 | }, |
906 | #endif | 989 | #endif |
907 | 990 | ||
908 | #if defined(CONFIG_SND_BF5XX_SOC_AD1938) || defined(CONFIG_SND_BF5XX_SOC_AD1938_MODULE) | 991 | #if defined(CONFIG_SND_BF5XX_SOC_AD193X) || defined(CONFIG_SND_BF5XX_SOC_AD193X_MODULE) |
909 | { | 992 | { |
910 | .modalias = "ad1938", | 993 | .modalias = "ad193x", |
911 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 994 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
912 | .bus_num = 0, | 995 | .bus_num = 0, |
913 | .chip_select = 0,/* CONFIG_SND_BLACKFIN_SPI_PFBIT */ | 996 | .chip_select = 5, |
914 | .controller_data = &ad1938_spi_chip_info, | 997 | .controller_data = &ad1938_spi_chip_info, |
915 | .mode = SPI_MODE_3, | 998 | .mode = SPI_MODE_3, |
916 | }, | 999 | }, |
@@ -929,6 +1012,37 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
929 | }, | 1012 | }, |
930 | #endif | 1013 | #endif |
931 | 1014 | ||
1015 | #if defined(CONFIG_AD2S90) || defined(CONFIG_AD2S90_MODULE) | ||
1016 | { | ||
1017 | .modalias = "ad2s90", | ||
1018 | .bus_num = 0, | ||
1019 | .chip_select = 3, /* change it for your board */ | ||
1020 | .platform_data = NULL, | ||
1021 | .controller_data = &ad2s90_spi_chip_info, | ||
1022 | }, | ||
1023 | #endif | ||
1024 | |||
1025 | #if defined(CONFIG_AD2S120X) || defined(CONFIG_AD2S120X_MODULE) | ||
1026 | { | ||
1027 | .modalias = "ad2s120x", | ||
1028 | .bus_num = 0, | ||
1029 | .chip_select = 4, /* CS, change it for your board */ | ||
1030 | .platform_data = ad2s120x_platform_data, | ||
1031 | .controller_data = &ad2s120x_spi_chip_info, | ||
1032 | }, | ||
1033 | #endif | ||
1034 | |||
1035 | #if defined(CONFIG_AD2S1210) || defined(CONFIG_AD2S1210_MODULE) | ||
1036 | { | ||
1037 | .modalias = "ad2s1210", | ||
1038 | .max_speed_hz = 8192000, | ||
1039 | .bus_num = 0, | ||
1040 | .chip_select = 4, /* CS, change it for your board */ | ||
1041 | .platform_data = ad2s1210_platform_data, | ||
1042 | .controller_data = &ad2s1210_spi_chip_info, | ||
1043 | }, | ||
1044 | #endif | ||
1045 | |||
932 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | 1046 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) |
933 | { | 1047 | { |
934 | .modalias = "mmc_spi", | 1048 | .modalias = "mmc_spi", |
@@ -1016,7 +1130,18 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
1016 | .mode = SPI_MODE_0, | 1130 | .mode = SPI_MODE_0, |
1017 | }, | 1131 | }, |
1018 | #endif | 1132 | #endif |
1019 | 1133 | #if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) | |
1134 | { | ||
1135 | .modalias = "ads7846", | ||
1136 | .max_speed_hz = 2000000, /* max spi clock (SCK) speed in HZ */ | ||
1137 | .bus_num = 0, | ||
1138 | .irq = IRQ_PF6, | ||
1139 | .chip_select = GPIO_PF10 + MAX_CTRL_CS, /* GPIO controlled SSEL */ | ||
1140 | .controller_data = &ad7873_spi_chip_info, | ||
1141 | .platform_data = &ad7873_pdata, | ||
1142 | .mode = SPI_MODE_0, | ||
1143 | }, | ||
1144 | #endif | ||
1020 | }; | 1145 | }; |
1021 | 1146 | ||
1022 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 1147 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
@@ -1132,9 +1257,10 @@ static struct platform_device bfin_fb_device = { | |||
1132 | #include <asm/bfin-lq035q1.h> | 1257 | #include <asm/bfin-lq035q1.h> |
1133 | 1258 | ||
1134 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { | 1259 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { |
1135 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, | 1260 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, |
1136 | .use_bl = 0, /* let something else control the LCD Blacklight */ | 1261 | .ppi_mode = USE_RGB565_16_BIT_PPI, |
1137 | .gpio_bl = GPIO_PF7, | 1262 | .use_bl = 0, /* let something else control the LCD Blacklight */ |
1263 | .gpio_bl = GPIO_PF7, | ||
1138 | }; | 1264 | }; |
1139 | 1265 | ||
1140 | static struct resource bfin_lq035q1_resources[] = { | 1266 | static struct resource bfin_lq035q1_resources[] = { |
@@ -1148,8 +1274,8 @@ static struct resource bfin_lq035q1_resources[] = { | |||
1148 | static struct platform_device bfin_lq035q1_device = { | 1274 | static struct platform_device bfin_lq035q1_device = { |
1149 | .name = "bfin-lq035q1", | 1275 | .name = "bfin-lq035q1", |
1150 | .id = -1, | 1276 | .id = -1, |
1151 | .num_resources = ARRAY_SIZE(bfin_lq035q1_resources), | 1277 | .num_resources = ARRAY_SIZE(bfin_lq035q1_resources), |
1152 | .resource = bfin_lq035q1_resources, | 1278 | .resource = bfin_lq035q1_resources, |
1153 | .dev = { | 1279 | .dev = { |
1154 | .platform_data = &bfin_lq035q1_data, | 1280 | .platform_data = &bfin_lq035q1_data, |
1155 | }, | 1281 | }, |
@@ -1157,30 +1283,105 @@ static struct platform_device bfin_lq035q1_device = { | |||
1157 | #endif | 1283 | #endif |
1158 | 1284 | ||
1159 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 1285 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
1160 | static struct resource bfin_uart_resources[] = { | ||
1161 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 1286 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
1287 | static struct resource bfin_uart0_resources[] = { | ||
1162 | { | 1288 | { |
1163 | .start = 0xFFC00400, | 1289 | .start = UART0_THR, |
1164 | .end = 0xFFC004FF, | 1290 | .end = UART0_GCTL+2, |
1165 | .flags = IORESOURCE_MEM, | 1291 | .flags = IORESOURCE_MEM, |
1166 | }, | 1292 | }, |
1293 | { | ||
1294 | .start = IRQ_UART0_RX, | ||
1295 | .end = IRQ_UART0_RX+1, | ||
1296 | .flags = IORESOURCE_IRQ, | ||
1297 | }, | ||
1298 | { | ||
1299 | .start = IRQ_UART0_ERROR, | ||
1300 | .end = IRQ_UART0_ERROR, | ||
1301 | .flags = IORESOURCE_IRQ, | ||
1302 | }, | ||
1303 | { | ||
1304 | .start = CH_UART0_TX, | ||
1305 | .end = CH_UART0_TX, | ||
1306 | .flags = IORESOURCE_DMA, | ||
1307 | }, | ||
1308 | { | ||
1309 | .start = CH_UART0_RX, | ||
1310 | .end = CH_UART0_RX, | ||
1311 | .flags = IORESOURCE_DMA, | ||
1312 | }, | ||
1313 | #ifdef CONFIG_BFIN_UART0_CTSRTS | ||
1314 | { /* CTS pin */ | ||
1315 | .start = GPIO_PG7, | ||
1316 | .end = GPIO_PG7, | ||
1317 | .flags = IORESOURCE_IO, | ||
1318 | }, | ||
1319 | { /* RTS pin */ | ||
1320 | .start = GPIO_PG6, | ||
1321 | .end = GPIO_PG6, | ||
1322 | .flags = IORESOURCE_IO, | ||
1323 | }, | ||
1324 | #endif | ||
1325 | }; | ||
1326 | |||
1327 | unsigned short bfin_uart0_peripherals[] = { | ||
1328 | P_UART0_TX, P_UART0_RX, 0 | ||
1329 | }; | ||
1330 | |||
1331 | static struct platform_device bfin_uart0_device = { | ||
1332 | .name = "bfin-uart", | ||
1333 | .id = 0, | ||
1334 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
1335 | .resource = bfin_uart0_resources, | ||
1336 | .dev = { | ||
1337 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
1338 | }, | ||
1339 | }; | ||
1167 | #endif | 1340 | #endif |
1168 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 1341 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
1342 | static struct resource bfin_uart1_resources[] = { | ||
1169 | { | 1343 | { |
1170 | .start = 0xFFC02000, | 1344 | .start = UART1_THR, |
1171 | .end = 0xFFC020FF, | 1345 | .end = UART1_GCTL+2, |
1172 | .flags = IORESOURCE_MEM, | 1346 | .flags = IORESOURCE_MEM, |
1173 | }, | 1347 | }, |
1174 | #endif | 1348 | { |
1349 | .start = IRQ_UART1_RX, | ||
1350 | .end = IRQ_UART1_RX+1, | ||
1351 | .flags = IORESOURCE_IRQ, | ||
1352 | }, | ||
1353 | { | ||
1354 | .start = IRQ_UART1_ERROR, | ||
1355 | .end = IRQ_UART1_ERROR, | ||
1356 | .flags = IORESOURCE_IRQ, | ||
1357 | }, | ||
1358 | { | ||
1359 | .start = CH_UART1_TX, | ||
1360 | .end = CH_UART1_TX, | ||
1361 | .flags = IORESOURCE_DMA, | ||
1362 | }, | ||
1363 | { | ||
1364 | .start = CH_UART1_RX, | ||
1365 | .end = CH_UART1_RX, | ||
1366 | .flags = IORESOURCE_DMA, | ||
1367 | }, | ||
1368 | }; | ||
1369 | |||
1370 | unsigned short bfin_uart1_peripherals[] = { | ||
1371 | P_UART1_TX, P_UART1_RX, 0 | ||
1175 | }; | 1372 | }; |
1176 | 1373 | ||
1177 | static struct platform_device bfin_uart_device = { | 1374 | static struct platform_device bfin_uart1_device = { |
1178 | .name = "bfin-uart", | 1375 | .name = "bfin-uart", |
1179 | .id = 1, | 1376 | .id = 1, |
1180 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 1377 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
1181 | .resource = bfin_uart_resources, | 1378 | .resource = bfin_uart1_resources, |
1379 | .dev = { | ||
1380 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
1381 | }, | ||
1182 | }; | 1382 | }; |
1183 | #endif | 1383 | #endif |
1384 | #endif | ||
1184 | 1385 | ||
1185 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 1386 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
1186 | #ifdef CONFIG_BFIN_SIR0 | 1387 | #ifdef CONFIG_BFIN_SIR0 |
@@ -1260,7 +1461,6 @@ static struct platform_device i2c_bfin_twi_device = { | |||
1260 | #endif | 1461 | #endif |
1261 | 1462 | ||
1262 | #if defined(CONFIG_KEYBOARD_ADP5588) || defined(CONFIG_KEYBOARD_ADP5588_MODULE) | 1463 | #if defined(CONFIG_KEYBOARD_ADP5588) || defined(CONFIG_KEYBOARD_ADP5588_MODULE) |
1263 | #include <linux/i2c/adp5588.h> | ||
1264 | static const unsigned short adp5588_keymap[ADP5588_KEYMAPSIZE] = { | 1464 | static const unsigned short adp5588_keymap[ADP5588_KEYMAPSIZE] = { |
1265 | [0] = KEY_GRAVE, | 1465 | [0] = KEY_GRAVE, |
1266 | [1] = KEY_1, | 1466 | [1] = KEY_1, |
@@ -1457,7 +1657,6 @@ static struct adp5520_platform_data adp5520_pdev_data = { | |||
1457 | #endif | 1657 | #endif |
1458 | 1658 | ||
1459 | #if defined(CONFIG_GPIO_ADP5588) || defined(CONFIG_GPIO_ADP5588_MODULE) | 1659 | #if defined(CONFIG_GPIO_ADP5588) || defined(CONFIG_GPIO_ADP5588_MODULE) |
1460 | #include <linux/i2c/adp5588.h> | ||
1461 | static struct adp5588_gpio_platform_data adp5588_gpio_data = { | 1660 | static struct adp5588_gpio_platform_data adp5588_gpio_data = { |
1462 | .gpio_start = 50, | 1661 | .gpio_start = 50, |
1463 | .pullup_dis_mask = 0, | 1662 | .pullup_dis_mask = 0, |
@@ -1516,6 +1715,101 @@ static struct adp8870_backlight_platform_data adp8870_pdata = { | |||
1516 | }; | 1715 | }; |
1517 | #endif | 1716 | #endif |
1518 | 1717 | ||
1718 | #if defined(CONFIG_BACKLIGHT_ADP8860) || defined(CONFIG_BACKLIGHT_ADP8860_MODULE) | ||
1719 | #include <linux/i2c/adp8860.h> | ||
1720 | static struct led_info adp8860_leds[] = { | ||
1721 | { | ||
1722 | .name = "adp8860-led7", | ||
1723 | .default_trigger = "none", | ||
1724 | .flags = ADP8860_LED_D7 | ADP8860_LED_OFFT_600ms, | ||
1725 | }, | ||
1726 | }; | ||
1727 | |||
1728 | static struct adp8860_backlight_platform_data adp8860_pdata = { | ||
1729 | .bl_led_assign = ADP8860_BL_D1 | ADP8860_BL_D2 | ADP8860_BL_D3 | | ||
1730 | ADP8860_BL_D4 | ADP8860_BL_D5 | ADP8860_BL_D6, /* 1 = Backlight 0 = Individual LED */ | ||
1731 | |||
1732 | .bl_fade_in = ADP8860_FADE_T_1200ms, /* Backlight Fade-In Timer */ | ||
1733 | .bl_fade_out = ADP8860_FADE_T_1200ms, /* Backlight Fade-Out Timer */ | ||
1734 | .bl_fade_law = ADP8860_FADE_LAW_CUBIC1, /* fade-on/fade-off transfer characteristic */ | ||
1735 | |||
1736 | .en_ambl_sens = 1, /* 1 = enable ambient light sensor */ | ||
1737 | .abml_filt = ADP8860_BL_AMBL_FILT_320ms, /* Light sensor filter time */ | ||
1738 | |||
1739 | .l1_daylight_max = ADP8860_BL_CUR_mA(20), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1740 | .l1_daylight_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1741 | .l2_office_max = ADP8860_BL_CUR_mA(6), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1742 | .l2_office_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1743 | .l3_dark_max = ADP8860_BL_CUR_mA(2), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1744 | .l3_dark_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
1745 | |||
1746 | .l2_trip = ADP8860_L2_COMP_CURR_uA(710), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */ | ||
1747 | .l2_hyst = ADP8860_L2_COMP_CURR_uA(73), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */ | ||
1748 | .l3_trip = ADP8860_L3_COMP_CURR_uA(43), /* use L3_COMP_CURR_uA(I) 0 <= I <= 138 uA */ | ||
1749 | .l3_hyst = ADP8860_L3_COMP_CURR_uA(11), /* use L3_COMP_CURR_uA(I) 0 <= I <= 138 uA */ | ||
1750 | |||
1751 | .leds = adp8860_leds, | ||
1752 | .num_leds = ARRAY_SIZE(adp8860_leds), | ||
1753 | .led_fade_law = ADP8860_FADE_LAW_SQUARE, /* fade-on/fade-off transfer characteristic */ | ||
1754 | .led_fade_in = ADP8860_FADE_T_600ms, | ||
1755 | .led_fade_out = ADP8860_FADE_T_600ms, | ||
1756 | .led_on_time = ADP8860_LED_ONT_200ms, | ||
1757 | }; | ||
1758 | #endif | ||
1759 | |||
1760 | #if defined(CONFIG_REGULATOR_AD5398) || defined(CONFIG_REGULATOR_AD5398_MODULE) | ||
1761 | static struct regulator_consumer_supply ad5398_consumer = { | ||
1762 | .supply = "current", | ||
1763 | }; | ||
1764 | |||
1765 | static struct regulator_init_data ad5398_regulator_data = { | ||
1766 | .constraints = { | ||
1767 | .name = "current range", | ||
1768 | .max_uA = 120000, | ||
1769 | .valid_ops_mask = REGULATOR_CHANGE_CURRENT | REGULATOR_CHANGE_STATUS, | ||
1770 | }, | ||
1771 | .num_consumer_supplies = 1, | ||
1772 | .consumer_supplies = &ad5398_consumer, | ||
1773 | }; | ||
1774 | |||
1775 | static struct ad5398_platform_data ad5398_i2c_platform_data = { | ||
1776 | .current_bits = 10, | ||
1777 | .current_offset = 4, | ||
1778 | .regulator_data = &ad5398_regulator_data, | ||
1779 | }; | ||
1780 | |||
1781 | #if defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER) || \ | ||
1782 | defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER_MODULE) | ||
1783 | static struct platform_device ad5398_virt_consumer_device = { | ||
1784 | .name = "reg-virt-consumer", | ||
1785 | .id = 0, | ||
1786 | .dev = { | ||
1787 | .platform_data = "current", /* Passed to driver */ | ||
1788 | }, | ||
1789 | }; | ||
1790 | #endif | ||
1791 | #if defined(CONFIG_REGULATOR_USERSPACE_CONSUMER) || \ | ||
1792 | defined(CONFIG_REGULATOR_USERSPACE_CONSUMER_MODULE) | ||
1793 | static struct regulator_bulk_data ad5398_bulk_data = { | ||
1794 | .supply = "current", | ||
1795 | }; | ||
1796 | |||
1797 | static struct regulator_userspace_consumer_data ad5398_userspace_comsumer_data = { | ||
1798 | .name = "ad5398", | ||
1799 | .num_supplies = 1, | ||
1800 | .supplies = &ad5398_bulk_data, | ||
1801 | }; | ||
1802 | |||
1803 | static struct platform_device ad5398_userspace_consumer_device = { | ||
1804 | .name = "reg-userspace-consumer", | ||
1805 | .id = 0, | ||
1806 | .dev = { | ||
1807 | .platform_data = &ad5398_userspace_comsumer_data, | ||
1808 | }, | ||
1809 | }; | ||
1810 | #endif | ||
1811 | #endif | ||
1812 | |||
1519 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | 1813 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { |
1520 | #if defined(CONFIG_INPUT_AD714X_I2C) || defined(CONFIG_INPUT_AD714X_I2C_MODULE) | 1814 | #if defined(CONFIG_INPUT_AD714X_I2C) || defined(CONFIG_INPUT_AD714X_I2C_MODULE) |
1521 | { | 1815 | { |
@@ -1524,6 +1818,52 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
1524 | .platform_data = (void *)&ad7142_i2c_platform_data, | 1818 | .platform_data = (void *)&ad7142_i2c_platform_data, |
1525 | }, | 1819 | }, |
1526 | #endif | 1820 | #endif |
1821 | |||
1822 | #if defined(CONFIG_AD7150) || defined(CONFIG_AD7150_MODULE) | ||
1823 | { | ||
1824 | I2C_BOARD_INFO("ad7150", 0x48), | ||
1825 | .irq = IRQ_PG5, /* fixme: use real interrupt number */ | ||
1826 | }, | ||
1827 | #endif | ||
1828 | |||
1829 | #if defined(CONFIG_AD7152) || defined(CONFIG_AD7152_MODULE) | ||
1830 | { | ||
1831 | I2C_BOARD_INFO("ad7152", 0x48), | ||
1832 | }, | ||
1833 | #endif | ||
1834 | |||
1835 | #if defined(CONFIG_AD774X) || defined(CONFIG_AD774X_MODULE) | ||
1836 | { | ||
1837 | I2C_BOARD_INFO("ad774x", 0x48), | ||
1838 | }, | ||
1839 | #endif | ||
1840 | |||
1841 | #if defined(CONFIG_AD7414) || defined(CONFIG_AD7414_MODULE) | ||
1842 | { | ||
1843 | I2C_BOARD_INFO("ad7414", 0x9), | ||
1844 | .irq = IRQ_PG5, | ||
1845 | /* | ||
1846 | * platform_data pointer is borrwoed by the driver to | ||
1847 | * store custimer defined IRQ ALART level mode. | ||
1848 | * only IRQF_TRIGGER_HIGH and IRQF_TRIGGER_LOW are valid. | ||
1849 | */ | ||
1850 | .platform_data = (void *)IRQF_TRIGGER_LOW, | ||
1851 | }, | ||
1852 | #endif | ||
1853 | |||
1854 | #if defined(CONFIG_AD7416) || defined(CONFIG_AD7416_MODULE) | ||
1855 | { | ||
1856 | I2C_BOARD_INFO("ad7417", 0xb), | ||
1857 | .irq = IRQ_PG5, | ||
1858 | /* | ||
1859 | * platform_data pointer is borrwoed by the driver to | ||
1860 | * store custimer defined IRQ ALART level mode. | ||
1861 | * only IRQF_TRIGGER_HIGH and IRQF_TRIGGER_LOW are valid. | ||
1862 | */ | ||
1863 | .platform_data = (void *)IRQF_TRIGGER_LOW, | ||
1864 | }, | ||
1865 | #endif | ||
1866 | |||
1527 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) | 1867 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) |
1528 | { | 1868 | { |
1529 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | 1869 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), |
@@ -1595,24 +1935,105 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
1595 | I2C_BOARD_INFO("adau1761", 0x38), | 1935 | I2C_BOARD_INFO("adau1761", 0x38), |
1596 | }, | 1936 | }, |
1597 | #endif | 1937 | #endif |
1938 | #if defined(CONFIG_SND_SOC_ADAU1361) || defined(CONFIG_SND_SOC_ADAU1361_MODULE) | ||
1939 | { | ||
1940 | I2C_BOARD_INFO("adau1361", 0x38), | ||
1941 | }, | ||
1942 | #endif | ||
1598 | #if defined(CONFIG_AD525X_DPOT) || defined(CONFIG_AD525X_DPOT_MODULE) | 1943 | #if defined(CONFIG_AD525X_DPOT) || defined(CONFIG_AD525X_DPOT_MODULE) |
1599 | { | 1944 | { |
1600 | I2C_BOARD_INFO("ad5258", 0x18), | 1945 | I2C_BOARD_INFO("ad5258", 0x18), |
1601 | }, | 1946 | }, |
1602 | #endif | 1947 | #endif |
1948 | #if defined(CONFIG_SND_SOC_SSM2602) || defined(CONFIG_SND_SOC_SSM2602_MODULE) | ||
1949 | { | ||
1950 | I2C_BOARD_INFO("ssm2602", 0x1b), | ||
1951 | }, | ||
1952 | #endif | ||
1953 | #if defined(CONFIG_REGULATOR_AD5398) || defined(CONFIG_REGULATOR_AD5398_MODULE) | ||
1954 | { | ||
1955 | I2C_BOARD_INFO("ad5398", 0xC), | ||
1956 | .platform_data = (void *)&ad5398_i2c_platform_data, | ||
1957 | }, | ||
1958 | #endif | ||
1959 | #if defined(CONFIG_BACKLIGHT_ADP8860) || defined(CONFIG_BACKLIGHT_ADP8860_MODULE) | ||
1960 | { | ||
1961 | I2C_BOARD_INFO("adp8860", 0x2A), | ||
1962 | .platform_data = (void *)&adp8860_pdata, | ||
1963 | }, | ||
1964 | #endif | ||
1603 | }; | 1965 | }; |
1604 | 1966 | ||
1605 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 1967 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
1968 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1969 | static struct resource bfin_sport0_uart_resources[] = { | ||
1970 | { | ||
1971 | .start = SPORT0_TCR1, | ||
1972 | .end = SPORT0_MRCS3+4, | ||
1973 | .flags = IORESOURCE_MEM, | ||
1974 | }, | ||
1975 | { | ||
1976 | .start = IRQ_SPORT0_RX, | ||
1977 | .end = IRQ_SPORT0_RX+1, | ||
1978 | .flags = IORESOURCE_IRQ, | ||
1979 | }, | ||
1980 | { | ||
1981 | .start = IRQ_SPORT0_ERROR, | ||
1982 | .end = IRQ_SPORT0_ERROR, | ||
1983 | .flags = IORESOURCE_IRQ, | ||
1984 | }, | ||
1985 | }; | ||
1986 | |||
1987 | unsigned short bfin_sport0_peripherals[] = { | ||
1988 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
1989 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
1990 | }; | ||
1991 | |||
1606 | static struct platform_device bfin_sport0_uart_device = { | 1992 | static struct platform_device bfin_sport0_uart_device = { |
1607 | .name = "bfin-sport-uart", | 1993 | .name = "bfin-sport-uart", |
1608 | .id = 0, | 1994 | .id = 0, |
1995 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
1996 | .resource = bfin_sport0_uart_resources, | ||
1997 | .dev = { | ||
1998 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
1999 | }, | ||
2000 | }; | ||
2001 | #endif | ||
2002 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
2003 | static struct resource bfin_sport1_uart_resources[] = { | ||
2004 | { | ||
2005 | .start = SPORT1_TCR1, | ||
2006 | .end = SPORT1_MRCS3+4, | ||
2007 | .flags = IORESOURCE_MEM, | ||
2008 | }, | ||
2009 | { | ||
2010 | .start = IRQ_SPORT1_RX, | ||
2011 | .end = IRQ_SPORT1_RX+1, | ||
2012 | .flags = IORESOURCE_IRQ, | ||
2013 | }, | ||
2014 | { | ||
2015 | .start = IRQ_SPORT1_ERROR, | ||
2016 | .end = IRQ_SPORT1_ERROR, | ||
2017 | .flags = IORESOURCE_IRQ, | ||
2018 | }, | ||
2019 | }; | ||
2020 | |||
2021 | unsigned short bfin_sport1_peripherals[] = { | ||
2022 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
2023 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
1609 | }; | 2024 | }; |
1610 | 2025 | ||
1611 | static struct platform_device bfin_sport1_uart_device = { | 2026 | static struct platform_device bfin_sport1_uart_device = { |
1612 | .name = "bfin-sport-uart", | 2027 | .name = "bfin-sport-uart", |
1613 | .id = 1, | 2028 | .id = 1, |
2029 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
2030 | .resource = bfin_sport1_uart_resources, | ||
2031 | .dev = { | ||
2032 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
2033 | }, | ||
1614 | }; | 2034 | }; |
1615 | #endif | 2035 | #endif |
2036 | #endif | ||
1616 | 2037 | ||
1617 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 2038 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
1618 | #define CF_IDE_NAND_CARD_USE_HDD_INTERFACE | 2039 | #define CF_IDE_NAND_CARD_USE_HDD_INTERFACE |
@@ -1701,13 +2122,121 @@ static struct platform_device bfin_dpmc = { | |||
1701 | }, | 2122 | }, |
1702 | }; | 2123 | }; |
1703 | 2124 | ||
2125 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
2126 | static struct platform_device bfin_i2s = { | ||
2127 | .name = "bfin-i2s", | ||
2128 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
2129 | /* TODO: add platform data here */ | ||
2130 | }; | ||
2131 | #endif | ||
2132 | |||
1704 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | 2133 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) |
1705 | static struct platform_device bfin_tdm = { | 2134 | static struct platform_device bfin_tdm = { |
1706 | .name = "bfin-tdm", | 2135 | .name = "bfin-tdm", |
2136 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
1707 | /* TODO: add platform data here */ | 2137 | /* TODO: add platform data here */ |
1708 | }; | 2138 | }; |
1709 | #endif | 2139 | #endif |
1710 | 2140 | ||
2141 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
2142 | static struct platform_device bfin_ac97 = { | ||
2143 | .name = "bfin-ac97", | ||
2144 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
2145 | /* TODO: add platform data here */ | ||
2146 | }; | ||
2147 | #endif | ||
2148 | |||
2149 | #if defined(CONFIG_REGULATOR_ADP_SWITCH) || defined(CONFIG_REGULATOR_ADP_SWITCH_MODULE) | ||
2150 | #define REGULATOR_ADP122 "adp122" | ||
2151 | #define REGULATOR_ADP150 "adp150" | ||
2152 | |||
2153 | static struct regulator_consumer_supply adp122_consumers = { | ||
2154 | .supply = REGULATOR_ADP122, | ||
2155 | }; | ||
2156 | |||
2157 | static struct regulator_consumer_supply adp150_consumers = { | ||
2158 | .supply = REGULATOR_ADP150, | ||
2159 | }; | ||
2160 | |||
2161 | static struct regulator_init_data adp_switch_regulator_data[] = { | ||
2162 | { | ||
2163 | .constraints = { | ||
2164 | .name = REGULATOR_ADP122, | ||
2165 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
2166 | .min_uA = 0, | ||
2167 | .max_uA = 300000, | ||
2168 | }, | ||
2169 | .num_consumer_supplies = 1, /* only 1 */ | ||
2170 | .consumer_supplies = &adp122_consumers, | ||
2171 | .driver_data = (void *)GPIO_PF2, /* gpio port only */ | ||
2172 | }, | ||
2173 | { | ||
2174 | .constraints = { | ||
2175 | .name = REGULATOR_ADP150, | ||
2176 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
2177 | .min_uA = 0, | ||
2178 | .max_uA = 150000, | ||
2179 | }, | ||
2180 | .num_consumer_supplies = 1, /* only 1 */ | ||
2181 | .consumer_supplies = &adp150_consumers, | ||
2182 | .driver_data = (void *)GPIO_PF3, /* gpio port only */ | ||
2183 | }, | ||
2184 | }; | ||
2185 | |||
2186 | static struct adp_switch_platform_data adp_switch_pdata = { | ||
2187 | .regulator_num = ARRAY_SIZE(adp_switch_regulator_data), | ||
2188 | .regulator_data = adp_switch_regulator_data, | ||
2189 | }; | ||
2190 | |||
2191 | static struct platform_device adp_switch_device = { | ||
2192 | .name = "adp_switch", | ||
2193 | .id = 0, | ||
2194 | .dev = { | ||
2195 | .platform_data = &adp_switch_pdata, | ||
2196 | }, | ||
2197 | }; | ||
2198 | |||
2199 | #if defined(CONFIG_REGULATOR_USERSPACE_CONSUMER) || \ | ||
2200 | defined(CONFIG_REGULATOR_USERSPACE_CONSUMER_MODULE) | ||
2201 | static struct regulator_bulk_data adp122_bulk_data = { | ||
2202 | .supply = REGULATOR_ADP122, | ||
2203 | }; | ||
2204 | |||
2205 | static struct regulator_userspace_consumer_data adp122_userspace_comsumer_data = { | ||
2206 | .name = REGULATOR_ADP122, | ||
2207 | .num_supplies = 1, | ||
2208 | .supplies = &adp122_bulk_data, | ||
2209 | }; | ||
2210 | |||
2211 | static struct platform_device adp122_userspace_consumer_device = { | ||
2212 | .name = "reg-userspace-consumer", | ||
2213 | .id = 0, | ||
2214 | .dev = { | ||
2215 | .platform_data = &adp122_userspace_comsumer_data, | ||
2216 | }, | ||
2217 | }; | ||
2218 | |||
2219 | static struct regulator_bulk_data adp150_bulk_data = { | ||
2220 | .supply = REGULATOR_ADP150, | ||
2221 | }; | ||
2222 | |||
2223 | static struct regulator_userspace_consumer_data adp150_userspace_comsumer_data = { | ||
2224 | .name = REGULATOR_ADP150, | ||
2225 | .num_supplies = 1, | ||
2226 | .supplies = &adp150_bulk_data, | ||
2227 | }; | ||
2228 | |||
2229 | static struct platform_device adp150_userspace_consumer_device = { | ||
2230 | .name = "reg-userspace-consumer", | ||
2231 | .id = 1, | ||
2232 | .dev = { | ||
2233 | .platform_data = &adp150_userspace_comsumer_data, | ||
2234 | }, | ||
2235 | }; | ||
2236 | #endif | ||
2237 | #endif | ||
2238 | |||
2239 | |||
1711 | static struct platform_device *stamp_devices[] __initdata = { | 2240 | static struct platform_device *stamp_devices[] __initdata = { |
1712 | 2241 | ||
1713 | &bfin_dpmc, | 2242 | &bfin_dpmc, |
@@ -1771,7 +2300,12 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1771 | #endif | 2300 | #endif |
1772 | 2301 | ||
1773 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 2302 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
1774 | &bfin_uart_device, | 2303 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
2304 | &bfin_uart0_device, | ||
2305 | #endif | ||
2306 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
2307 | &bfin_uart1_device, | ||
2308 | #endif | ||
1775 | #endif | 2309 | #endif |
1776 | 2310 | ||
1777 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 2311 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -1788,9 +2322,13 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1788 | #endif | 2322 | #endif |
1789 | 2323 | ||
1790 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 2324 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
2325 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1791 | &bfin_sport0_uart_device, | 2326 | &bfin_sport0_uart_device, |
2327 | #endif | ||
2328 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1792 | &bfin_sport1_uart_device, | 2329 | &bfin_sport1_uart_device, |
1793 | #endif | 2330 | #endif |
2331 | #endif | ||
1794 | 2332 | ||
1795 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 2333 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
1796 | &bfin_pata_device, | 2334 | &bfin_pata_device, |
@@ -1808,18 +2346,46 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1808 | &stamp_flash_device, | 2346 | &stamp_flash_device, |
1809 | #endif | 2347 | #endif |
1810 | 2348 | ||
2349 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
2350 | &bfin_i2s, | ||
2351 | #endif | ||
2352 | |||
1811 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | 2353 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) |
1812 | &bfin_tdm, | 2354 | &bfin_tdm, |
1813 | #endif | 2355 | #endif |
2356 | |||
2357 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
2358 | &bfin_ac97, | ||
2359 | #endif | ||
2360 | #if defined(CONFIG_REGULATOR_AD5398) || defined(CONFIG_REGULATOR_AD5398_MODULE) | ||
2361 | #if defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER) || \ | ||
2362 | defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER_MODULE) | ||
2363 | &ad5398_virt_consumer_device, | ||
2364 | #endif | ||
2365 | #if defined(CONFIG_REGULATOR_USERSPACE_CONSUMER) || \ | ||
2366 | defined(CONFIG_REGULATOR_USERSPACE_CONSUMER_MODULE) | ||
2367 | &ad5398_userspace_consumer_device, | ||
2368 | #endif | ||
2369 | #endif | ||
2370 | |||
2371 | #if defined(CONFIG_REGULATOR_ADP_SWITCH) || defined(CONFIG_REGULATOR_ADP_SWITCH_MODULE) | ||
2372 | &adp_switch_device, | ||
2373 | #if defined(CONFIG_REGULATOR_USERSPACE_CONSUMER) || \ | ||
2374 | defined(CONFIG_REGULATOR_USERSPACE_CONSUMER_MODULE) | ||
2375 | &adp122_userspace_consumer_device, | ||
2376 | &adp150_userspace_consumer_device, | ||
2377 | #endif | ||
2378 | #endif | ||
1814 | }; | 2379 | }; |
1815 | 2380 | ||
1816 | static int __init stamp_init(void) | 2381 | static int __init stamp_init(void) |
1817 | { | 2382 | { |
1818 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | 2383 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
1819 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
1820 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
1821 | bfin_plat_nand_init(); | 2384 | bfin_plat_nand_init(); |
2385 | adf702x_mac_init(); | ||
1822 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 2386 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
2387 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
2388 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
1823 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 2389 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
1824 | 2390 | ||
1825 | return 0; | 2391 | return 0; |
@@ -1827,6 +2393,34 @@ static int __init stamp_init(void) | |||
1827 | 2393 | ||
1828 | arch_initcall(stamp_init); | 2394 | arch_initcall(stamp_init); |
1829 | 2395 | ||
2396 | |||
2397 | static struct platform_device *stamp_early_devices[] __initdata = { | ||
2398 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
2399 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
2400 | &bfin_uart0_device, | ||
2401 | #endif | ||
2402 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
2403 | &bfin_uart1_device, | ||
2404 | #endif | ||
2405 | #endif | ||
2406 | |||
2407 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
2408 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
2409 | &bfin_sport0_uart_device, | ||
2410 | #endif | ||
2411 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
2412 | &bfin_sport1_uart_device, | ||
2413 | #endif | ||
2414 | #endif | ||
2415 | }; | ||
2416 | |||
2417 | void __init native_machine_early_platform_add_devices(void) | ||
2418 | { | ||
2419 | printk(KERN_INFO "register early platform devices\n"); | ||
2420 | early_platform_add_devices(stamp_early_devices, | ||
2421 | ARRAY_SIZE(stamp_early_devices)); | ||
2422 | } | ||
2423 | |||
1830 | void native_machine_restart(char *cmd) | 2424 | void native_machine_restart(char *cmd) |
1831 | { | 2425 | { |
1832 | /* workaround reboot hang when booting from SPI */ | 2426 | /* workaround reboot hang when booting from SPI */ |
diff --git a/arch/blackfin/mach-bf537/boards/tcm_bf537.c b/arch/blackfin/mach-bf537/boards/tcm_bf537.c index 57163b65a4f5..4f0a2e72ce4c 100644 --- a/arch/blackfin/mach-bf537/boards/tcm_bf537.c +++ b/arch/blackfin/mach-bf537/boards/tcm_bf537.c | |||
@@ -74,7 +74,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
74 | }; | 74 | }; |
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 77 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
78 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 78 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
79 | .enable_dma = 0, | 79 | .enable_dma = 0, |
80 | .bits_per_word = 16, | 80 | .bits_per_word = 16, |
@@ -113,7 +113,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
113 | }, | 113 | }, |
114 | #endif | 114 | #endif |
115 | 115 | ||
116 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 116 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
117 | { | 117 | { |
118 | .modalias = "ad1836", | 118 | .modalias = "ad1836", |
119 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 119 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -327,25 +327,93 @@ static struct platform_device cm_flash_device = { | |||
327 | #endif | 327 | #endif |
328 | 328 | ||
329 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 329 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
330 | static struct resource bfin_uart_resources[] = { | 330 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
331 | static struct resource bfin_uart0_resources[] = { | ||
331 | { | 332 | { |
332 | .start = 0xFFC00400, | 333 | .start = UART0_THR, |
333 | .end = 0xFFC004FF, | 334 | .end = UART0_GCTL+2, |
334 | .flags = IORESOURCE_MEM, | 335 | .flags = IORESOURCE_MEM, |
335 | }, { | 336 | }, |
336 | .start = 0xFFC02000, | 337 | { |
337 | .end = 0xFFC020FF, | 338 | .start = IRQ_UART0_RX, |
339 | .end = IRQ_UART0_RX+1, | ||
340 | .flags = IORESOURCE_IRQ, | ||
341 | }, | ||
342 | { | ||
343 | .start = IRQ_UART0_ERROR, | ||
344 | .end = IRQ_UART0_ERROR, | ||
345 | .flags = IORESOURCE_IRQ, | ||
346 | }, | ||
347 | { | ||
348 | .start = CH_UART0_TX, | ||
349 | .end = CH_UART0_TX, | ||
350 | .flags = IORESOURCE_DMA, | ||
351 | }, | ||
352 | { | ||
353 | .start = CH_UART0_RX, | ||
354 | .end = CH_UART0_RX, | ||
355 | .flags = IORESOURCE_DMA, | ||
356 | }, | ||
357 | }; | ||
358 | |||
359 | unsigned short bfin_uart0_peripherals[] = { | ||
360 | P_UART0_TX, P_UART0_RX, 0 | ||
361 | }; | ||
362 | |||
363 | static struct platform_device bfin_uart0_device = { | ||
364 | .name = "bfin-uart", | ||
365 | .id = 0, | ||
366 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
367 | .resource = bfin_uart0_resources, | ||
368 | .dev = { | ||
369 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
370 | }, | ||
371 | }; | ||
372 | #endif | ||
373 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
374 | static struct resource bfin_uart1_resources[] = { | ||
375 | { | ||
376 | .start = UART1_THR, | ||
377 | .end = UART1_GCTL+2, | ||
338 | .flags = IORESOURCE_MEM, | 378 | .flags = IORESOURCE_MEM, |
339 | }, | 379 | }, |
380 | { | ||
381 | .start = IRQ_UART1_RX, | ||
382 | .end = IRQ_UART1_RX+1, | ||
383 | .flags = IORESOURCE_IRQ, | ||
384 | }, | ||
385 | { | ||
386 | .start = IRQ_UART1_ERROR, | ||
387 | .end = IRQ_UART1_ERROR, | ||
388 | .flags = IORESOURCE_IRQ, | ||
389 | }, | ||
390 | { | ||
391 | .start = CH_UART1_TX, | ||
392 | .end = CH_UART1_TX, | ||
393 | .flags = IORESOURCE_DMA, | ||
394 | }, | ||
395 | { | ||
396 | .start = CH_UART1_RX, | ||
397 | .end = CH_UART1_RX, | ||
398 | .flags = IORESOURCE_DMA, | ||
399 | }, | ||
400 | }; | ||
401 | |||
402 | unsigned short bfin_uart1_peripherals[] = { | ||
403 | P_UART1_TX, P_UART1_RX, 0 | ||
340 | }; | 404 | }; |
341 | 405 | ||
342 | static struct platform_device bfin_uart_device = { | 406 | static struct platform_device bfin_uart1_device = { |
343 | .name = "bfin-uart", | 407 | .name = "bfin-uart", |
344 | .id = 1, | 408 | .id = 1, |
345 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 409 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), |
346 | .resource = bfin_uart_resources, | 410 | .resource = bfin_uart1_resources, |
411 | .dev = { | ||
412 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
413 | }, | ||
347 | }; | 414 | }; |
348 | #endif | 415 | #endif |
416 | #endif | ||
349 | 417 | ||
350 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 418 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
351 | #ifdef CONFIG_BFIN_SIR0 | 419 | #ifdef CONFIG_BFIN_SIR0 |
@@ -425,16 +493,75 @@ static struct platform_device i2c_bfin_twi_device = { | |||
425 | #endif | 493 | #endif |
426 | 494 | ||
427 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 495 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
496 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
497 | static struct resource bfin_sport0_uart_resources[] = { | ||
498 | { | ||
499 | .start = SPORT0_TCR1, | ||
500 | .end = SPORT0_MRCS3+4, | ||
501 | .flags = IORESOURCE_MEM, | ||
502 | }, | ||
503 | { | ||
504 | .start = IRQ_SPORT0_RX, | ||
505 | .end = IRQ_SPORT0_RX+1, | ||
506 | .flags = IORESOURCE_IRQ, | ||
507 | }, | ||
508 | { | ||
509 | .start = IRQ_SPORT0_ERROR, | ||
510 | .end = IRQ_SPORT0_ERROR, | ||
511 | .flags = IORESOURCE_IRQ, | ||
512 | }, | ||
513 | }; | ||
514 | |||
515 | unsigned short bfin_sport0_peripherals[] = { | ||
516 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
517 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
518 | }; | ||
519 | |||
428 | static struct platform_device bfin_sport0_uart_device = { | 520 | static struct platform_device bfin_sport0_uart_device = { |
429 | .name = "bfin-sport-uart", | 521 | .name = "bfin-sport-uart", |
430 | .id = 0, | 522 | .id = 0, |
523 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
524 | .resource = bfin_sport0_uart_resources, | ||
525 | .dev = { | ||
526 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
527 | }, | ||
528 | }; | ||
529 | #endif | ||
530 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
531 | static struct resource bfin_sport1_uart_resources[] = { | ||
532 | { | ||
533 | .start = SPORT1_TCR1, | ||
534 | .end = SPORT1_MRCS3+4, | ||
535 | .flags = IORESOURCE_MEM, | ||
536 | }, | ||
537 | { | ||
538 | .start = IRQ_SPORT1_RX, | ||
539 | .end = IRQ_SPORT1_RX+1, | ||
540 | .flags = IORESOURCE_IRQ, | ||
541 | }, | ||
542 | { | ||
543 | .start = IRQ_SPORT1_ERROR, | ||
544 | .end = IRQ_SPORT1_ERROR, | ||
545 | .flags = IORESOURCE_IRQ, | ||
546 | }, | ||
547 | }; | ||
548 | |||
549 | unsigned short bfin_sport1_peripherals[] = { | ||
550 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
551 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
431 | }; | 552 | }; |
432 | 553 | ||
433 | static struct platform_device bfin_sport1_uart_device = { | 554 | static struct platform_device bfin_sport1_uart_device = { |
434 | .name = "bfin-sport-uart", | 555 | .name = "bfin-sport-uart", |
435 | .id = 1, | 556 | .id = 1, |
557 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
558 | .resource = bfin_sport1_uart_resources, | ||
559 | .dev = { | ||
560 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
561 | }, | ||
436 | }; | 562 | }; |
437 | #endif | 563 | #endif |
564 | #endif | ||
438 | 565 | ||
439 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | 566 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) |
440 | static struct platform_device bfin_mii_bus = { | 567 | static struct platform_device bfin_mii_bus = { |
@@ -524,7 +651,12 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
524 | #endif | 651 | #endif |
525 | 652 | ||
526 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 653 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
527 | &bfin_uart_device, | 654 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
655 | &bfin_uart0_device, | ||
656 | #endif | ||
657 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
658 | &bfin_uart1_device, | ||
659 | #endif | ||
528 | #endif | 660 | #endif |
529 | 661 | ||
530 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 662 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -541,9 +673,13 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
541 | #endif | 673 | #endif |
542 | 674 | ||
543 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 675 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
676 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
544 | &bfin_sport0_uart_device, | 677 | &bfin_sport0_uart_device, |
678 | #endif | ||
679 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
545 | &bfin_sport1_uart_device, | 680 | &bfin_sport1_uart_device, |
546 | #endif | 681 | #endif |
682 | #endif | ||
547 | 683 | ||
548 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 684 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
549 | &isp1362_hcd_device, | 685 | &isp1362_hcd_device, |
@@ -591,6 +727,33 @@ static int __init tcm_bf537_init(void) | |||
591 | 727 | ||
592 | arch_initcall(tcm_bf537_init); | 728 | arch_initcall(tcm_bf537_init); |
593 | 729 | ||
730 | static struct platform_device *cm_bf537_early_devices[] __initdata = { | ||
731 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
732 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
733 | &bfin_uart0_device, | ||
734 | #endif | ||
735 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
736 | &bfin_uart1_device, | ||
737 | #endif | ||
738 | #endif | ||
739 | |||
740 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
741 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
742 | &bfin_sport0_uart_device, | ||
743 | #endif | ||
744 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
745 | &bfin_sport1_uart_device, | ||
746 | #endif | ||
747 | #endif | ||
748 | }; | ||
749 | |||
750 | void __init native_machine_early_platform_add_devices(void) | ||
751 | { | ||
752 | printk(KERN_INFO "register early platform devices\n"); | ||
753 | early_platform_add_devices(cm_bf537_early_devices, | ||
754 | ARRAY_SIZE(cm_bf537_early_devices)); | ||
755 | } | ||
756 | |||
594 | void bfin_get_ether_addr(char *addr) | 757 | void bfin_get_ether_addr(char *addr) |
595 | { | 758 | { |
596 | random_ether_addr(addr); | 759 | random_ether_addr(addr); |
diff --git a/arch/blackfin/mach-bf537/include/mach/irq.h b/arch/blackfin/mach-bf537/include/mach/irq.h index 0defa9457e7f..789a4f226f7b 100644 --- a/arch/blackfin/mach-bf537/include/mach/irq.h +++ b/arch/blackfin/mach-bf537/include/mach/irq.h | |||
@@ -134,7 +134,17 @@ | |||
134 | 134 | ||
135 | #define GPIO_IRQ_BASE IRQ_PF0 | 135 | #define GPIO_IRQ_BASE IRQ_PF0 |
136 | 136 | ||
137 | #define NR_IRQS (IRQ_PH15+1) | 137 | #define IRQ_MAC_PHYINT 98 /* PHY_INT Interrupt */ |
138 | #define IRQ_MAC_MMCINT 99 /* MMC Counter Interrupt */ | ||
139 | #define IRQ_MAC_RXFSINT 100 /* RX Frame-Status Interrupt */ | ||
140 | #define IRQ_MAC_TXFSINT 101 /* TX Frame-Status Interrupt */ | ||
141 | #define IRQ_MAC_WAKEDET 102 /* Wake-Up Interrupt */ | ||
142 | #define IRQ_MAC_RXDMAERR 103 /* RX DMA Direction Error Interrupt */ | ||
143 | #define IRQ_MAC_TXDMAERR 104 /* TX DMA Direction Error Interrupt */ | ||
144 | #define IRQ_MAC_STMDONE 105 /* Station Mgt. Transfer Done Interrupt */ | ||
145 | |||
146 | #define NR_MACH_IRQS (IRQ_MAC_STMDONE + 1) | ||
147 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
138 | 148 | ||
139 | #define IVG7 7 | 149 | #define IVG7 7 |
140 | #define IVG8 8 | 150 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf538/boards/ezkit.c b/arch/blackfin/mach-bf538/boards/ezkit.c index c296bb1ed503..1a1f65855b03 100644 --- a/arch/blackfin/mach-bf538/boards/ezkit.c +++ b/arch/blackfin/mach-bf538/boards/ezkit.c | |||
@@ -41,37 +41,148 @@ static struct platform_device rtc_device = { | |||
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 43 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
44 | static struct resource bfin_uart_resources[] = { | ||
45 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 44 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
45 | static struct resource bfin_uart0_resources[] = { | ||
46 | { | 46 | { |
47 | .start = 0xFFC00400, | 47 | .start = UART0_THR, |
48 | .end = 0xFFC004FF, | 48 | .end = UART0_GCTL+2, |
49 | .flags = IORESOURCE_MEM, | 49 | .flags = IORESOURCE_MEM, |
50 | }, | 50 | }, |
51 | { | ||
52 | .start = IRQ_UART0_RX, | ||
53 | .end = IRQ_UART0_RX+1, | ||
54 | .flags = IORESOURCE_IRQ, | ||
55 | }, | ||
56 | { | ||
57 | .start = IRQ_UART0_ERROR, | ||
58 | .end = IRQ_UART0_ERROR, | ||
59 | .flags = IORESOURCE_IRQ, | ||
60 | }, | ||
61 | { | ||
62 | .start = CH_UART0_TX, | ||
63 | .end = CH_UART0_TX, | ||
64 | .flags = IORESOURCE_DMA, | ||
65 | }, | ||
66 | { | ||
67 | .start = CH_UART0_RX, | ||
68 | .end = CH_UART0_RX, | ||
69 | .flags = IORESOURCE_DMA, | ||
70 | }, | ||
71 | #ifdef CONFIG_BFIN_UART0_CTSRTS | ||
72 | { /* CTS pin */ | ||
73 | .start = GPIO_PG7, | ||
74 | .end = GPIO_PG7, | ||
75 | .flags = IORESOURCE_IO, | ||
76 | }, | ||
77 | { /* RTS pin */ | ||
78 | .start = GPIO_PG6, | ||
79 | .end = GPIO_PG6, | ||
80 | .flags = IORESOURCE_IO, | ||
81 | }, | ||
82 | #endif | ||
83 | }; | ||
84 | |||
85 | unsigned short bfin_uart0_peripherals[] = { | ||
86 | P_UART0_TX, P_UART0_RX, 0 | ||
87 | }; | ||
88 | |||
89 | static struct platform_device bfin_uart0_device = { | ||
90 | .name = "bfin-uart", | ||
91 | .id = 0, | ||
92 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
93 | .resource = bfin_uart0_resources, | ||
94 | .dev = { | ||
95 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
96 | }, | ||
97 | }; | ||
51 | #endif | 98 | #endif |
52 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 99 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
100 | static struct resource bfin_uart1_resources[] = { | ||
53 | { | 101 | { |
54 | .start = 0xFFC02000, | 102 | .start = UART1_THR, |
55 | .end = 0xFFC020FF, | 103 | .end = UART1_GCTL+2, |
56 | .flags = IORESOURCE_MEM, | 104 | .flags = IORESOURCE_MEM, |
57 | }, | 105 | }, |
106 | { | ||
107 | .start = IRQ_UART1_RX, | ||
108 | .end = IRQ_UART1_RX+1, | ||
109 | .flags = IORESOURCE_IRQ, | ||
110 | }, | ||
111 | { | ||
112 | .start = IRQ_UART1_ERROR, | ||
113 | .end = IRQ_UART1_ERROR, | ||
114 | .flags = IORESOURCE_IRQ, | ||
115 | }, | ||
116 | { | ||
117 | .start = CH_UART1_TX, | ||
118 | .end = CH_UART1_TX, | ||
119 | .flags = IORESOURCE_DMA, | ||
120 | }, | ||
121 | { | ||
122 | .start = CH_UART1_RX, | ||
123 | .end = CH_UART1_RX, | ||
124 | .flags = IORESOURCE_DMA, | ||
125 | }, | ||
126 | }; | ||
127 | |||
128 | unsigned short bfin_uart1_peripherals[] = { | ||
129 | P_UART1_TX, P_UART1_RX, 0 | ||
130 | }; | ||
131 | |||
132 | static struct platform_device bfin_uart1_device = { | ||
133 | .name = "bfin-uart", | ||
134 | .id = 1, | ||
135 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), | ||
136 | .resource = bfin_uart1_resources, | ||
137 | .dev = { | ||
138 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
139 | }, | ||
140 | }; | ||
58 | #endif | 141 | #endif |
59 | #ifdef CONFIG_SERIAL_BFIN_UART2 | 142 | #ifdef CONFIG_SERIAL_BFIN_UART2 |
143 | static struct resource bfin_uart2_resources[] = { | ||
60 | { | 144 | { |
61 | .start = 0xFFC02100, | 145 | .start = UART2_THR, |
62 | .end = 0xFFC021FF, | 146 | .end = UART2_GCTL+2, |
63 | .flags = IORESOURCE_MEM, | 147 | .flags = IORESOURCE_MEM, |
64 | }, | 148 | }, |
65 | #endif | 149 | { |
150 | .start = IRQ_UART2_RX, | ||
151 | .end = IRQ_UART2_RX+1, | ||
152 | .flags = IORESOURCE_IRQ, | ||
153 | }, | ||
154 | { | ||
155 | .start = IRQ_UART2_ERROR, | ||
156 | .end = IRQ_UART2_ERROR, | ||
157 | .flags = IORESOURCE_IRQ, | ||
158 | }, | ||
159 | { | ||
160 | .start = CH_UART2_TX, | ||
161 | .end = CH_UART2_TX, | ||
162 | .flags = IORESOURCE_DMA, | ||
163 | }, | ||
164 | { | ||
165 | .start = CH_UART2_RX, | ||
166 | .end = CH_UART2_RX, | ||
167 | .flags = IORESOURCE_DMA, | ||
168 | }, | ||
169 | }; | ||
170 | |||
171 | unsigned short bfin_uart2_peripherals[] = { | ||
172 | P_UART2_TX, P_UART2_RX, 0 | ||
66 | }; | 173 | }; |
67 | 174 | ||
68 | static struct platform_device bfin_uart_device = { | 175 | static struct platform_device bfin_uart2_device = { |
69 | .name = "bfin-uart", | 176 | .name = "bfin-uart", |
70 | .id = 1, | 177 | .id = 2, |
71 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 178 | .num_resources = ARRAY_SIZE(bfin_uart2_resources), |
72 | .resource = bfin_uart_resources, | 179 | .resource = bfin_uart2_resources, |
180 | .dev = { | ||
181 | .platform_data = &bfin_uart2_peripherals, /* Passed to driver */ | ||
182 | }, | ||
73 | }; | 183 | }; |
74 | #endif | 184 | #endif |
185 | #endif | ||
75 | 186 | ||
76 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 187 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
77 | #ifdef CONFIG_BFIN_SIR0 | 188 | #ifdef CONFIG_BFIN_SIR0 |
@@ -151,6 +262,145 @@ static struct platform_device bfin_sir2_device = { | |||
151 | #endif | 262 | #endif |
152 | #endif | 263 | #endif |
153 | 264 | ||
265 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
266 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
267 | static struct resource bfin_sport0_uart_resources[] = { | ||
268 | { | ||
269 | .start = SPORT0_TCR1, | ||
270 | .end = SPORT0_MRCS3+4, | ||
271 | .flags = IORESOURCE_MEM, | ||
272 | }, | ||
273 | { | ||
274 | .start = IRQ_SPORT0_RX, | ||
275 | .end = IRQ_SPORT0_RX+1, | ||
276 | .flags = IORESOURCE_IRQ, | ||
277 | }, | ||
278 | { | ||
279 | .start = IRQ_SPORT0_ERROR, | ||
280 | .end = IRQ_SPORT0_ERROR, | ||
281 | .flags = IORESOURCE_IRQ, | ||
282 | }, | ||
283 | }; | ||
284 | |||
285 | unsigned short bfin_sport0_peripherals[] = { | ||
286 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
287 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
288 | }; | ||
289 | |||
290 | static struct platform_device bfin_sport0_uart_device = { | ||
291 | .name = "bfin-sport-uart", | ||
292 | .id = 0, | ||
293 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
294 | .resource = bfin_sport0_uart_resources, | ||
295 | .dev = { | ||
296 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
297 | }, | ||
298 | }; | ||
299 | #endif | ||
300 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
301 | static struct resource bfin_sport1_uart_resources[] = { | ||
302 | { | ||
303 | .start = SPORT1_TCR1, | ||
304 | .end = SPORT1_MRCS3+4, | ||
305 | .flags = IORESOURCE_MEM, | ||
306 | }, | ||
307 | { | ||
308 | .start = IRQ_SPORT1_RX, | ||
309 | .end = IRQ_SPORT1_RX+1, | ||
310 | .flags = IORESOURCE_IRQ, | ||
311 | }, | ||
312 | { | ||
313 | .start = IRQ_SPORT1_ERROR, | ||
314 | .end = IRQ_SPORT1_ERROR, | ||
315 | .flags = IORESOURCE_IRQ, | ||
316 | }, | ||
317 | }; | ||
318 | |||
319 | unsigned short bfin_sport1_peripherals[] = { | ||
320 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
321 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
322 | }; | ||
323 | |||
324 | static struct platform_device bfin_sport1_uart_device = { | ||
325 | .name = "bfin-sport-uart", | ||
326 | .id = 1, | ||
327 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
328 | .resource = bfin_sport1_uart_resources, | ||
329 | .dev = { | ||
330 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
331 | }, | ||
332 | }; | ||
333 | #endif | ||
334 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
335 | static struct resource bfin_sport2_uart_resources[] = { | ||
336 | { | ||
337 | .start = SPORT2_TCR1, | ||
338 | .end = SPORT2_MRCS3+4, | ||
339 | .flags = IORESOURCE_MEM, | ||
340 | }, | ||
341 | { | ||
342 | .start = IRQ_SPORT2_RX, | ||
343 | .end = IRQ_SPORT2_RX+1, | ||
344 | .flags = IORESOURCE_IRQ, | ||
345 | }, | ||
346 | { | ||
347 | .start = IRQ_SPORT2_ERROR, | ||
348 | .end = IRQ_SPORT2_ERROR, | ||
349 | .flags = IORESOURCE_IRQ, | ||
350 | }, | ||
351 | }; | ||
352 | |||
353 | unsigned short bfin_sport2_peripherals[] = { | ||
354 | P_SPORT2_TFS, P_SPORT2_DTPRI, P_SPORT2_TSCLK, P_SPORT2_RFS, | ||
355 | P_SPORT2_DRPRI, P_SPORT2_RSCLK, P_SPORT2_DRSEC, P_SPORT2_DTSEC, 0 | ||
356 | }; | ||
357 | |||
358 | static struct platform_device bfin_sport2_uart_device = { | ||
359 | .name = "bfin-sport-uart", | ||
360 | .id = 2, | ||
361 | .num_resources = ARRAY_SIZE(bfin_sport2_uart_resources), | ||
362 | .resource = bfin_sport2_uart_resources, | ||
363 | .dev = { | ||
364 | .platform_data = &bfin_sport2_peripherals, /* Passed to driver */ | ||
365 | }, | ||
366 | }; | ||
367 | #endif | ||
368 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
369 | static struct resource bfin_sport3_uart_resources[] = { | ||
370 | { | ||
371 | .start = SPORT3_TCR1, | ||
372 | .end = SPORT3_MRCS3+4, | ||
373 | .flags = IORESOURCE_MEM, | ||
374 | }, | ||
375 | { | ||
376 | .start = IRQ_SPORT3_RX, | ||
377 | .end = IRQ_SPORT3_RX+1, | ||
378 | .flags = IORESOURCE_IRQ, | ||
379 | }, | ||
380 | { | ||
381 | .start = IRQ_SPORT3_ERROR, | ||
382 | .end = IRQ_SPORT3_ERROR, | ||
383 | .flags = IORESOURCE_IRQ, | ||
384 | }, | ||
385 | }; | ||
386 | |||
387 | unsigned short bfin_sport3_peripherals[] = { | ||
388 | P_SPORT3_TFS, P_SPORT3_DTPRI, P_SPORT3_TSCLK, P_SPORT3_RFS, | ||
389 | P_SPORT3_DRPRI, P_SPORT3_RSCLK, P_SPORT3_DRSEC, P_SPORT3_DTSEC, 0 | ||
390 | }; | ||
391 | |||
392 | static struct platform_device bfin_sport3_uart_device = { | ||
393 | .name = "bfin-sport-uart", | ||
394 | .id = 3, | ||
395 | .num_resources = ARRAY_SIZE(bfin_sport3_uart_resources), | ||
396 | .resource = bfin_sport3_uart_resources, | ||
397 | .dev = { | ||
398 | .platform_data = &bfin_sport3_peripherals, /* Passed to driver */ | ||
399 | }, | ||
400 | }; | ||
401 | #endif | ||
402 | #endif | ||
403 | |||
154 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) | 404 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) |
155 | unsigned short bfin_can_peripherals[] = { | 405 | unsigned short bfin_can_peripherals[] = { |
156 | P_CAN0_RX, P_CAN0_TX, 0 | 406 | P_CAN0_RX, P_CAN0_TX, 0 |
@@ -268,8 +518,8 @@ static const struct ad7879_platform_data bfin_ad7879_ts_info = { | |||
268 | .median = 2, /* do 8 measurements */ | 518 | .median = 2, /* do 8 measurements */ |
269 | .averaging = 1, /* take the average of 4 middle samples */ | 519 | .averaging = 1, /* take the average of 4 middle samples */ |
270 | .pen_down_acc_interval = 255, /* 9.4 ms */ | 520 | .pen_down_acc_interval = 255, /* 9.4 ms */ |
271 | .gpio_output = 1, /* configure AUX/VBAT/GPIO as GPIO output */ | 521 | .gpio_export = 1, /* Export GPIO to gpiolib */ |
272 | .gpio_default = 1, /* During initialization set GPIO = HIGH */ | 522 | .gpio_base = -1, /* Dynamic allocation */ |
273 | }; | 523 | }; |
274 | #endif | 524 | #endif |
275 | 525 | ||
@@ -284,9 +534,10 @@ static struct bfin5xx_spi_chip spi_ad7879_chip_info = { | |||
284 | #include <asm/bfin-lq035q1.h> | 534 | #include <asm/bfin-lq035q1.h> |
285 | 535 | ||
286 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { | 536 | static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = { |
287 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, | 537 | .mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB, |
288 | .use_bl = 0, /* let something else control the LCD Blacklight */ | 538 | .ppi_mode = USE_RGB565_16_BIT_PPI, |
289 | .gpio_bl = GPIO_PF7, | 539 | .use_bl = 0, /* let something else control the LCD Blacklight */ |
540 | .gpio_bl = GPIO_PF7, | ||
290 | }; | 541 | }; |
291 | 542 | ||
292 | static struct resource bfin_lq035q1_resources[] = { | 543 | static struct resource bfin_lq035q1_resources[] = { |
@@ -622,7 +873,15 @@ static struct platform_device *cm_bf538_devices[] __initdata = { | |||
622 | #endif | 873 | #endif |
623 | 874 | ||
624 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 875 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
625 | &bfin_uart_device, | 876 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
877 | &bfin_uart0_device, | ||
878 | #endif | ||
879 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
880 | &bfin_uart1_device, | ||
881 | #endif | ||
882 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
883 | &bfin_uart2_device, | ||
884 | #endif | ||
626 | #endif | 885 | #endif |
627 | 886 | ||
628 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 887 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
@@ -648,6 +907,21 @@ static struct platform_device *cm_bf538_devices[] __initdata = { | |||
648 | #endif | 907 | #endif |
649 | #endif | 908 | #endif |
650 | 909 | ||
910 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
911 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
912 | &bfin_sport0_uart_device, | ||
913 | #endif | ||
914 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
915 | &bfin_sport1_uart_device, | ||
916 | #endif | ||
917 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
918 | &bfin_sport2_uart_device, | ||
919 | #endif | ||
920 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
921 | &bfin_sport3_uart_device, | ||
922 | #endif | ||
923 | #endif | ||
924 | |||
651 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) | 925 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) |
652 | &bfin_can_device, | 926 | &bfin_can_device, |
653 | #endif | 927 | #endif |
@@ -683,3 +957,39 @@ static int __init ezkit_init(void) | |||
683 | } | 957 | } |
684 | 958 | ||
685 | arch_initcall(ezkit_init); | 959 | arch_initcall(ezkit_init); |
960 | |||
961 | static struct platform_device *ezkit_early_devices[] __initdata = { | ||
962 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
963 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
964 | &bfin_uart0_device, | ||
965 | #endif | ||
966 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
967 | &bfin_uart1_device, | ||
968 | #endif | ||
969 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
970 | &bfin_uart2_device, | ||
971 | #endif | ||
972 | #endif | ||
973 | |||
974 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
975 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
976 | &bfin_sport0_uart_device, | ||
977 | #endif | ||
978 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
979 | &bfin_sport1_uart_device, | ||
980 | #endif | ||
981 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
982 | &bfin_sport2_uart_device, | ||
983 | #endif | ||
984 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
985 | &bfin_sport3_uart_device, | ||
986 | #endif | ||
987 | #endif | ||
988 | }; | ||
989 | |||
990 | void __init native_machine_early_platform_add_devices(void) | ||
991 | { | ||
992 | printk(KERN_INFO "register early platform devices\n"); | ||
993 | early_platform_add_devices(ezkit_early_devices, | ||
994 | ARRAY_SIZE(ezkit_early_devices)); | ||
995 | } | ||
diff --git a/arch/blackfin/mach-bf538/include/mach/irq.h b/arch/blackfin/mach-bf538/include/mach/irq.h index a4b7fcbc556b..7a479d224dc7 100644 --- a/arch/blackfin/mach-bf538/include/mach/irq.h +++ b/arch/blackfin/mach-bf538/include/mach/irq.h | |||
@@ -110,7 +110,8 @@ | |||
110 | 110 | ||
111 | #define GPIO_IRQ_BASE IRQ_PF0 | 111 | #define GPIO_IRQ_BASE IRQ_PF0 |
112 | 112 | ||
113 | #define NR_IRQS (IRQ_PF15+1) | 113 | #define NR_MACH_IRQS (IRQ_PF15 + 1) |
114 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
114 | 115 | ||
115 | #define IVG7 7 | 116 | #define IVG7 7 |
116 | #define IVG8 8 | 117 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c index ccdcd6da2e9f..f60c333fec66 100644 --- a/arch/blackfin/mach-bf548/boards/cm_bf548.c +++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c | |||
@@ -127,44 +127,211 @@ static struct platform_device rtc_device = { | |||
127 | #endif | 127 | #endif |
128 | 128 | ||
129 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 129 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
130 | static struct resource bfin_uart_resources[] = { | ||
131 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 130 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
131 | static struct resource bfin_uart0_resources[] = { | ||
132 | { | 132 | { |
133 | .start = 0xFFC00400, | 133 | .start = UART0_DLL, |
134 | .end = 0xFFC004FF, | 134 | .end = UART0_RBR+2, |
135 | .flags = IORESOURCE_MEM, | 135 | .flags = IORESOURCE_MEM, |
136 | }, | 136 | }, |
137 | { | ||
138 | .start = IRQ_UART0_RX, | ||
139 | .end = IRQ_UART0_RX+1, | ||
140 | .flags = IORESOURCE_IRQ, | ||
141 | }, | ||
142 | { | ||
143 | .start = IRQ_UART0_ERROR, | ||
144 | .end = IRQ_UART0_ERROR, | ||
145 | .flags = IORESOURCE_IRQ, | ||
146 | }, | ||
147 | { | ||
148 | .start = CH_UART0_TX, | ||
149 | .end = CH_UART0_TX, | ||
150 | .flags = IORESOURCE_DMA, | ||
151 | }, | ||
152 | { | ||
153 | .start = CH_UART0_RX, | ||
154 | .end = CH_UART0_RX, | ||
155 | .flags = IORESOURCE_DMA, | ||
156 | }, | ||
157 | }; | ||
158 | |||
159 | unsigned short bfin_uart0_peripherals[] = { | ||
160 | P_UART0_TX, P_UART0_RX, 0 | ||
161 | }; | ||
162 | |||
163 | static struct platform_device bfin_uart0_device = { | ||
164 | .name = "bfin-uart", | ||
165 | .id = 0, | ||
166 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
167 | .resource = bfin_uart0_resources, | ||
168 | .dev = { | ||
169 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
170 | }, | ||
171 | }; | ||
137 | #endif | 172 | #endif |
138 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 173 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
174 | static struct resource bfin_uart1_resources[] = { | ||
139 | { | 175 | { |
140 | .start = 0xFFC02000, | 176 | .start = UART1_DLL, |
141 | .end = 0xFFC020FF, | 177 | .end = UART1_RBR+2, |
142 | .flags = IORESOURCE_MEM, | 178 | .flags = IORESOURCE_MEM, |
143 | }, | 179 | }, |
180 | { | ||
181 | .start = IRQ_UART1_RX, | ||
182 | .end = IRQ_UART1_RX+1, | ||
183 | .flags = IORESOURCE_IRQ, | ||
184 | }, | ||
185 | { | ||
186 | .start = IRQ_UART1_ERROR, | ||
187 | .end = IRQ_UART1_ERROR, | ||
188 | .flags = IORESOURCE_IRQ, | ||
189 | }, | ||
190 | { | ||
191 | .start = CH_UART1_TX, | ||
192 | .end = CH_UART1_TX, | ||
193 | .flags = IORESOURCE_DMA, | ||
194 | }, | ||
195 | { | ||
196 | .start = CH_UART1_RX, | ||
197 | .end = CH_UART1_RX, | ||
198 | .flags = IORESOURCE_DMA, | ||
199 | }, | ||
200 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
201 | { /* CTS pin -- 0 means not supported */ | ||
202 | .start = GPIO_PE10, | ||
203 | .end = GPIO_PE10, | ||
204 | .flags = IORESOURCE_IO, | ||
205 | }, | ||
206 | { /* RTS pin -- 0 means not supported */ | ||
207 | .start = GPIO_PE9, | ||
208 | .end = GPIO_PE9, | ||
209 | .flags = IORESOURCE_IO, | ||
210 | }, | ||
211 | #endif | ||
212 | }; | ||
213 | |||
214 | unsigned short bfin_uart1_peripherals[] = { | ||
215 | P_UART1_TX, P_UART1_RX, | ||
216 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
217 | P_UART1_RTS, P_UART1_CTS, | ||
218 | #endif | ||
219 | 0 | ||
220 | }; | ||
221 | |||
222 | static struct platform_device bfin_uart1_device = { | ||
223 | .name = "bfin-uart", | ||
224 | .id = 1, | ||
225 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), | ||
226 | .resource = bfin_uart1_resources, | ||
227 | .dev = { | ||
228 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
229 | }, | ||
230 | }; | ||
144 | #endif | 231 | #endif |
145 | #ifdef CONFIG_SERIAL_BFIN_UART2 | 232 | #ifdef CONFIG_SERIAL_BFIN_UART2 |
233 | static struct resource bfin_uart2_resources[] = { | ||
146 | { | 234 | { |
147 | .start = 0xFFC02100, | 235 | .start = UART2_DLL, |
148 | .end = 0xFFC021FF, | 236 | .end = UART2_RBR+2, |
149 | .flags = IORESOURCE_MEM, | 237 | .flags = IORESOURCE_MEM, |
150 | }, | 238 | }, |
239 | { | ||
240 | .start = IRQ_UART2_RX, | ||
241 | .end = IRQ_UART2_RX+1, | ||
242 | .flags = IORESOURCE_IRQ, | ||
243 | }, | ||
244 | { | ||
245 | .start = IRQ_UART2_ERROR, | ||
246 | .end = IRQ_UART2_ERROR, | ||
247 | .flags = IORESOURCE_IRQ, | ||
248 | }, | ||
249 | { | ||
250 | .start = CH_UART2_TX, | ||
251 | .end = CH_UART2_TX, | ||
252 | .flags = IORESOURCE_DMA, | ||
253 | }, | ||
254 | { | ||
255 | .start = CH_UART2_RX, | ||
256 | .end = CH_UART2_RX, | ||
257 | .flags = IORESOURCE_DMA, | ||
258 | }, | ||
259 | }; | ||
260 | |||
261 | unsigned short bfin_uart2_peripherals[] = { | ||
262 | P_UART2_TX, P_UART2_RX, 0 | ||
263 | }; | ||
264 | |||
265 | static struct platform_device bfin_uart2_device = { | ||
266 | .name = "bfin-uart", | ||
267 | .id = 2, | ||
268 | .num_resources = ARRAY_SIZE(bfin_uart2_resources), | ||
269 | .resource = bfin_uart2_resources, | ||
270 | .dev = { | ||
271 | .platform_data = &bfin_uart2_peripherals, /* Passed to driver */ | ||
272 | }, | ||
273 | }; | ||
151 | #endif | 274 | #endif |
152 | #ifdef CONFIG_SERIAL_BFIN_UART3 | 275 | #ifdef CONFIG_SERIAL_BFIN_UART3 |
276 | static struct resource bfin_uart3_resources[] = { | ||
153 | { | 277 | { |
154 | .start = 0xFFC03100, | 278 | .start = UART3_DLL, |
155 | .end = 0xFFC031FF, | 279 | .end = UART3_RBR+2, |
156 | .flags = IORESOURCE_MEM, | 280 | .flags = IORESOURCE_MEM, |
157 | }, | 281 | }, |
282 | { | ||
283 | .start = IRQ_UART3_RX, | ||
284 | .end = IRQ_UART3_RX+1, | ||
285 | .flags = IORESOURCE_IRQ, | ||
286 | }, | ||
287 | { | ||
288 | .start = IRQ_UART3_ERROR, | ||
289 | .end = IRQ_UART3_ERROR, | ||
290 | .flags = IORESOURCE_IRQ, | ||
291 | }, | ||
292 | { | ||
293 | .start = CH_UART3_TX, | ||
294 | .end = CH_UART3_TX, | ||
295 | .flags = IORESOURCE_DMA, | ||
296 | }, | ||
297 | { | ||
298 | .start = CH_UART3_RX, | ||
299 | .end = CH_UART3_RX, | ||
300 | .flags = IORESOURCE_DMA, | ||
301 | }, | ||
302 | #ifdef CONFIG_BFIN_UART3_CTSRTS | ||
303 | { /* CTS pin -- 0 means not supported */ | ||
304 | .start = GPIO_PB3, | ||
305 | .end = GPIO_PB3, | ||
306 | .flags = IORESOURCE_IO, | ||
307 | }, | ||
308 | { /* RTS pin -- 0 means not supported */ | ||
309 | .start = GPIO_PB2, | ||
310 | .end = GPIO_PB2, | ||
311 | .flags = IORESOURCE_IO, | ||
312 | }, | ||
158 | #endif | 313 | #endif |
159 | }; | 314 | }; |
160 | 315 | ||
161 | static struct platform_device bfin_uart_device = { | 316 | unsigned short bfin_uart3_peripherals[] = { |
317 | P_UART3_TX, P_UART3_RX, | ||
318 | #ifdef CONFIG_BFIN_UART3_CTSRTS | ||
319 | P_UART3_RTS, P_UART3_CTS, | ||
320 | #endif | ||
321 | 0 | ||
322 | }; | ||
323 | |||
324 | static struct platform_device bfin_uart3_device = { | ||
162 | .name = "bfin-uart", | 325 | .name = "bfin-uart", |
163 | .id = 1, | 326 | .id = 3, |
164 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 327 | .num_resources = ARRAY_SIZE(bfin_uart3_resources), |
165 | .resource = bfin_uart_resources, | 328 | .resource = bfin_uart3_resources, |
329 | .dev = { | ||
330 | .platform_data = &bfin_uart3_peripherals, /* Passed to driver */ | ||
331 | }, | ||
166 | }; | 332 | }; |
167 | #endif | 333 | #endif |
334 | #endif | ||
168 | 335 | ||
169 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 336 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
170 | #ifdef CONFIG_BFIN_SIR0 | 337 | #ifdef CONFIG_BFIN_SIR0 |
@@ -359,6 +526,145 @@ static struct platform_device musb_device = { | |||
359 | }; | 526 | }; |
360 | #endif | 527 | #endif |
361 | 528 | ||
529 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
530 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
531 | static struct resource bfin_sport0_uart_resources[] = { | ||
532 | { | ||
533 | .start = SPORT0_TCR1, | ||
534 | .end = SPORT0_MRCS3+4, | ||
535 | .flags = IORESOURCE_MEM, | ||
536 | }, | ||
537 | { | ||
538 | .start = IRQ_SPORT0_RX, | ||
539 | .end = IRQ_SPORT0_RX+1, | ||
540 | .flags = IORESOURCE_IRQ, | ||
541 | }, | ||
542 | { | ||
543 | .start = IRQ_SPORT0_ERROR, | ||
544 | .end = IRQ_SPORT0_ERROR, | ||
545 | .flags = IORESOURCE_IRQ, | ||
546 | }, | ||
547 | }; | ||
548 | |||
549 | unsigned short bfin_sport0_peripherals[] = { | ||
550 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
551 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
552 | }; | ||
553 | |||
554 | static struct platform_device bfin_sport0_uart_device = { | ||
555 | .name = "bfin-sport-uart", | ||
556 | .id = 0, | ||
557 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
558 | .resource = bfin_sport0_uart_resources, | ||
559 | .dev = { | ||
560 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
561 | }, | ||
562 | }; | ||
563 | #endif | ||
564 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
565 | static struct resource bfin_sport1_uart_resources[] = { | ||
566 | { | ||
567 | .start = SPORT1_TCR1, | ||
568 | .end = SPORT1_MRCS3+4, | ||
569 | .flags = IORESOURCE_MEM, | ||
570 | }, | ||
571 | { | ||
572 | .start = IRQ_SPORT1_RX, | ||
573 | .end = IRQ_SPORT1_RX+1, | ||
574 | .flags = IORESOURCE_IRQ, | ||
575 | }, | ||
576 | { | ||
577 | .start = IRQ_SPORT1_ERROR, | ||
578 | .end = IRQ_SPORT1_ERROR, | ||
579 | .flags = IORESOURCE_IRQ, | ||
580 | }, | ||
581 | }; | ||
582 | |||
583 | unsigned short bfin_sport1_peripherals[] = { | ||
584 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
585 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
586 | }; | ||
587 | |||
588 | static struct platform_device bfin_sport1_uart_device = { | ||
589 | .name = "bfin-sport-uart", | ||
590 | .id = 1, | ||
591 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
592 | .resource = bfin_sport1_uart_resources, | ||
593 | .dev = { | ||
594 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
595 | }, | ||
596 | }; | ||
597 | #endif | ||
598 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
599 | static struct resource bfin_sport2_uart_resources[] = { | ||
600 | { | ||
601 | .start = SPORT2_TCR1, | ||
602 | .end = SPORT2_MRCS3+4, | ||
603 | .flags = IORESOURCE_MEM, | ||
604 | }, | ||
605 | { | ||
606 | .start = IRQ_SPORT2_RX, | ||
607 | .end = IRQ_SPORT2_RX+1, | ||
608 | .flags = IORESOURCE_IRQ, | ||
609 | }, | ||
610 | { | ||
611 | .start = IRQ_SPORT2_ERROR, | ||
612 | .end = IRQ_SPORT2_ERROR, | ||
613 | .flags = IORESOURCE_IRQ, | ||
614 | }, | ||
615 | }; | ||
616 | |||
617 | unsigned short bfin_sport2_peripherals[] = { | ||
618 | P_SPORT2_TFS, P_SPORT2_DTPRI, P_SPORT2_TSCLK, P_SPORT2_RFS, | ||
619 | P_SPORT2_DRPRI, P_SPORT2_RSCLK, P_SPORT2_DRSEC, P_SPORT2_DTSEC, 0 | ||
620 | }; | ||
621 | |||
622 | static struct platform_device bfin_sport2_uart_device = { | ||
623 | .name = "bfin-sport-uart", | ||
624 | .id = 2, | ||
625 | .num_resources = ARRAY_SIZE(bfin_sport2_uart_resources), | ||
626 | .resource = bfin_sport2_uart_resources, | ||
627 | .dev = { | ||
628 | .platform_data = &bfin_sport2_peripherals, /* Passed to driver */ | ||
629 | }, | ||
630 | }; | ||
631 | #endif | ||
632 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
633 | static struct resource bfin_sport3_uart_resources[] = { | ||
634 | { | ||
635 | .start = SPORT3_TCR1, | ||
636 | .end = SPORT3_MRCS3+4, | ||
637 | .flags = IORESOURCE_MEM, | ||
638 | }, | ||
639 | { | ||
640 | .start = IRQ_SPORT3_RX, | ||
641 | .end = IRQ_SPORT3_RX+1, | ||
642 | .flags = IORESOURCE_IRQ, | ||
643 | }, | ||
644 | { | ||
645 | .start = IRQ_SPORT3_ERROR, | ||
646 | .end = IRQ_SPORT3_ERROR, | ||
647 | .flags = IORESOURCE_IRQ, | ||
648 | }, | ||
649 | }; | ||
650 | |||
651 | unsigned short bfin_sport3_peripherals[] = { | ||
652 | P_SPORT3_TFS, P_SPORT3_DTPRI, P_SPORT3_TSCLK, P_SPORT3_RFS, | ||
653 | P_SPORT3_DRPRI, P_SPORT3_RSCLK, P_SPORT3_DRSEC, P_SPORT3_DTSEC, 0 | ||
654 | }; | ||
655 | |||
656 | static struct platform_device bfin_sport3_uart_device = { | ||
657 | .name = "bfin-sport-uart", | ||
658 | .id = 3, | ||
659 | .num_resources = ARRAY_SIZE(bfin_sport3_uart_resources), | ||
660 | .resource = bfin_sport3_uart_resources, | ||
661 | .dev = { | ||
662 | .platform_data = &bfin_sport3_peripherals, /* Passed to driver */ | ||
663 | }, | ||
664 | }; | ||
665 | #endif | ||
666 | #endif | ||
667 | |||
362 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | 668 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) |
363 | static struct resource bfin_atapi_resources[] = { | 669 | static struct resource bfin_atapi_resources[] = { |
364 | { | 670 | { |
@@ -752,7 +1058,18 @@ static struct platform_device *cm_bf548_devices[] __initdata = { | |||
752 | #endif | 1058 | #endif |
753 | 1059 | ||
754 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 1060 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
755 | &bfin_uart_device, | 1061 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
1062 | &bfin_uart0_device, | ||
1063 | #endif | ||
1064 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1065 | &bfin_uart1_device, | ||
1066 | #endif | ||
1067 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
1068 | &bfin_uart2_device, | ||
1069 | #endif | ||
1070 | #ifdef CONFIG_SERIAL_BFIN_UART3 | ||
1071 | &bfin_uart3_device, | ||
1072 | #endif | ||
756 | #endif | 1073 | #endif |
757 | 1074 | ||
758 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 1075 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -782,6 +1099,21 @@ static struct platform_device *cm_bf548_devices[] __initdata = { | |||
782 | &musb_device, | 1099 | &musb_device, |
783 | #endif | 1100 | #endif |
784 | 1101 | ||
1102 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
1103 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1104 | &bfin_sport0_uart_device, | ||
1105 | #endif | ||
1106 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1107 | &bfin_sport1_uart_device, | ||
1108 | #endif | ||
1109 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
1110 | &bfin_sport2_uart_device, | ||
1111 | #endif | ||
1112 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
1113 | &bfin_sport3_uart_device, | ||
1114 | #endif | ||
1115 | #endif | ||
1116 | |||
785 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | 1117 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) |
786 | &bfin_atapi_device, | 1118 | &bfin_atapi_device, |
787 | #endif | 1119 | #endif |
@@ -833,3 +1165,42 @@ static int __init cm_bf548_init(void) | |||
833 | } | 1165 | } |
834 | 1166 | ||
835 | arch_initcall(cm_bf548_init); | 1167 | arch_initcall(cm_bf548_init); |
1168 | |||
1169 | static struct platform_device *cm_bf548_early_devices[] __initdata = { | ||
1170 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
1171 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
1172 | &bfin_uart0_device, | ||
1173 | #endif | ||
1174 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1175 | &bfin_uart1_device, | ||
1176 | #endif | ||
1177 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
1178 | &bfin_uart2_device, | ||
1179 | #endif | ||
1180 | #ifdef CONFIG_SERIAL_BFIN_UART3 | ||
1181 | &bfin_uart3_device, | ||
1182 | #endif | ||
1183 | #endif | ||
1184 | |||
1185 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
1186 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1187 | &bfin_sport0_uart_device, | ||
1188 | #endif | ||
1189 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1190 | &bfin_sport1_uart_device, | ||
1191 | #endif | ||
1192 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
1193 | &bfin_sport2_uart_device, | ||
1194 | #endif | ||
1195 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
1196 | &bfin_sport3_uart_device, | ||
1197 | #endif | ||
1198 | #endif | ||
1199 | }; | ||
1200 | |||
1201 | void __init native_machine_early_platform_add_devices(void) | ||
1202 | { | ||
1203 | printk(KERN_INFO "register early platform devices\n"); | ||
1204 | early_platform_add_devices(cm_bf548_early_devices, | ||
1205 | ARRAY_SIZE(cm_bf548_early_devices)); | ||
1206 | } | ||
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index 60193f72777c..06919db00a74 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -232,44 +232,211 @@ static struct platform_device rtc_device = { | |||
232 | #endif | 232 | #endif |
233 | 233 | ||
234 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 234 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
235 | static struct resource bfin_uart_resources[] = { | ||
236 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 235 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
236 | static struct resource bfin_uart0_resources[] = { | ||
237 | { | 237 | { |
238 | .start = 0xFFC00400, | 238 | .start = UART0_DLL, |
239 | .end = 0xFFC004FF, | 239 | .end = UART0_RBR+2, |
240 | .flags = IORESOURCE_MEM, | 240 | .flags = IORESOURCE_MEM, |
241 | }, | 241 | }, |
242 | { | ||
243 | .start = IRQ_UART0_RX, | ||
244 | .end = IRQ_UART0_RX+1, | ||
245 | .flags = IORESOURCE_IRQ, | ||
246 | }, | ||
247 | { | ||
248 | .start = IRQ_UART0_ERROR, | ||
249 | .end = IRQ_UART0_ERROR, | ||
250 | .flags = IORESOURCE_IRQ, | ||
251 | }, | ||
252 | { | ||
253 | .start = CH_UART0_TX, | ||
254 | .end = CH_UART0_TX, | ||
255 | .flags = IORESOURCE_DMA, | ||
256 | }, | ||
257 | { | ||
258 | .start = CH_UART0_RX, | ||
259 | .end = CH_UART0_RX, | ||
260 | .flags = IORESOURCE_DMA, | ||
261 | }, | ||
262 | }; | ||
263 | |||
264 | unsigned short bfin_uart0_peripherals[] = { | ||
265 | P_UART0_TX, P_UART0_RX, 0 | ||
266 | }; | ||
267 | |||
268 | static struct platform_device bfin_uart0_device = { | ||
269 | .name = "bfin-uart", | ||
270 | .id = 0, | ||
271 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
272 | .resource = bfin_uart0_resources, | ||
273 | .dev = { | ||
274 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
275 | }, | ||
276 | }; | ||
242 | #endif | 277 | #endif |
243 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 278 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
279 | static struct resource bfin_uart1_resources[] = { | ||
244 | { | 280 | { |
245 | .start = 0xFFC02000, | 281 | .start = UART1_DLL, |
246 | .end = 0xFFC020FF, | 282 | .end = UART1_RBR+2, |
247 | .flags = IORESOURCE_MEM, | 283 | .flags = IORESOURCE_MEM, |
248 | }, | 284 | }, |
285 | { | ||
286 | .start = IRQ_UART1_RX, | ||
287 | .end = IRQ_UART1_RX+1, | ||
288 | .flags = IORESOURCE_IRQ, | ||
289 | }, | ||
290 | { | ||
291 | .start = IRQ_UART1_ERROR, | ||
292 | .end = IRQ_UART1_ERROR, | ||
293 | .flags = IORESOURCE_IRQ, | ||
294 | }, | ||
295 | { | ||
296 | .start = CH_UART1_TX, | ||
297 | .end = CH_UART1_TX, | ||
298 | .flags = IORESOURCE_DMA, | ||
299 | }, | ||
300 | { | ||
301 | .start = CH_UART1_RX, | ||
302 | .end = CH_UART1_RX, | ||
303 | .flags = IORESOURCE_DMA, | ||
304 | }, | ||
305 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
306 | { /* CTS pin -- 0 means not supported */ | ||
307 | .start = GPIO_PE10, | ||
308 | .end = GPIO_PE10, | ||
309 | .flags = IORESOURCE_IO, | ||
310 | }, | ||
311 | { /* RTS pin -- 0 means not supported */ | ||
312 | .start = GPIO_PE9, | ||
313 | .end = GPIO_PE9, | ||
314 | .flags = IORESOURCE_IO, | ||
315 | }, | ||
316 | #endif | ||
317 | }; | ||
318 | |||
319 | unsigned short bfin_uart1_peripherals[] = { | ||
320 | P_UART1_TX, P_UART1_RX, | ||
321 | #ifdef CONFIG_BFIN_UART1_CTSRTS | ||
322 | P_UART1_RTS, P_UART1_CTS, | ||
323 | #endif | ||
324 | 0 | ||
325 | }; | ||
326 | |||
327 | static struct platform_device bfin_uart1_device = { | ||
328 | .name = "bfin-uart", | ||
329 | .id = 1, | ||
330 | .num_resources = ARRAY_SIZE(bfin_uart1_resources), | ||
331 | .resource = bfin_uart1_resources, | ||
332 | .dev = { | ||
333 | .platform_data = &bfin_uart1_peripherals, /* Passed to driver */ | ||
334 | }, | ||
335 | }; | ||
249 | #endif | 336 | #endif |
250 | #ifdef CONFIG_SERIAL_BFIN_UART2 | 337 | #ifdef CONFIG_SERIAL_BFIN_UART2 |
338 | static struct resource bfin_uart2_resources[] = { | ||
251 | { | 339 | { |
252 | .start = 0xFFC02100, | 340 | .start = UART2_DLL, |
253 | .end = 0xFFC021FF, | 341 | .end = UART2_RBR+2, |
254 | .flags = IORESOURCE_MEM, | 342 | .flags = IORESOURCE_MEM, |
255 | }, | 343 | }, |
344 | { | ||
345 | .start = IRQ_UART2_RX, | ||
346 | .end = IRQ_UART2_RX+1, | ||
347 | .flags = IORESOURCE_IRQ, | ||
348 | }, | ||
349 | { | ||
350 | .start = IRQ_UART2_ERROR, | ||
351 | .end = IRQ_UART2_ERROR, | ||
352 | .flags = IORESOURCE_IRQ, | ||
353 | }, | ||
354 | { | ||
355 | .start = CH_UART2_TX, | ||
356 | .end = CH_UART2_TX, | ||
357 | .flags = IORESOURCE_DMA, | ||
358 | }, | ||
359 | { | ||
360 | .start = CH_UART2_RX, | ||
361 | .end = CH_UART2_RX, | ||
362 | .flags = IORESOURCE_DMA, | ||
363 | }, | ||
364 | }; | ||
365 | |||
366 | unsigned short bfin_uart2_peripherals[] = { | ||
367 | P_UART2_TX, P_UART2_RX, 0 | ||
368 | }; | ||
369 | |||
370 | static struct platform_device bfin_uart2_device = { | ||
371 | .name = "bfin-uart", | ||
372 | .id = 2, | ||
373 | .num_resources = ARRAY_SIZE(bfin_uart2_resources), | ||
374 | .resource = bfin_uart2_resources, | ||
375 | .dev = { | ||
376 | .platform_data = &bfin_uart2_peripherals, /* Passed to driver */ | ||
377 | }, | ||
378 | }; | ||
256 | #endif | 379 | #endif |
257 | #ifdef CONFIG_SERIAL_BFIN_UART3 | 380 | #ifdef CONFIG_SERIAL_BFIN_UART3 |
381 | static struct resource bfin_uart3_resources[] = { | ||
258 | { | 382 | { |
259 | .start = 0xFFC03100, | 383 | .start = UART3_DLL, |
260 | .end = 0xFFC031FF, | 384 | .end = UART3_RBR+2, |
261 | .flags = IORESOURCE_MEM, | 385 | .flags = IORESOURCE_MEM, |
262 | }, | 386 | }, |
387 | { | ||
388 | .start = IRQ_UART3_RX, | ||
389 | .end = IRQ_UART3_RX+1, | ||
390 | .flags = IORESOURCE_IRQ, | ||
391 | }, | ||
392 | { | ||
393 | .start = IRQ_UART3_ERROR, | ||
394 | .end = IRQ_UART3_ERROR, | ||
395 | .flags = IORESOURCE_IRQ, | ||
396 | }, | ||
397 | { | ||
398 | .start = CH_UART3_TX, | ||
399 | .end = CH_UART3_TX, | ||
400 | .flags = IORESOURCE_DMA, | ||
401 | }, | ||
402 | { | ||
403 | .start = CH_UART3_RX, | ||
404 | .end = CH_UART3_RX, | ||
405 | .flags = IORESOURCE_DMA, | ||
406 | }, | ||
407 | #ifdef CONFIG_BFIN_UART3_CTSRTS | ||
408 | { /* CTS pin -- 0 means not supported */ | ||
409 | .start = GPIO_PB3, | ||
410 | .end = GPIO_PB3, | ||
411 | .flags = IORESOURCE_IO, | ||
412 | }, | ||
413 | { /* RTS pin -- 0 means not supported */ | ||
414 | .start = GPIO_PB2, | ||
415 | .end = GPIO_PB2, | ||
416 | .flags = IORESOURCE_IO, | ||
417 | }, | ||
263 | #endif | 418 | #endif |
264 | }; | 419 | }; |
265 | 420 | ||
266 | static struct platform_device bfin_uart_device = { | 421 | unsigned short bfin_uart3_peripherals[] = { |
422 | P_UART3_TX, P_UART3_RX, | ||
423 | #ifdef CONFIG_BFIN_UART3_CTSRTS | ||
424 | P_UART3_RTS, P_UART3_CTS, | ||
425 | #endif | ||
426 | 0 | ||
427 | }; | ||
428 | |||
429 | static struct platform_device bfin_uart3_device = { | ||
267 | .name = "bfin-uart", | 430 | .name = "bfin-uart", |
268 | .id = 1, | 431 | .id = 3, |
269 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 432 | .num_resources = ARRAY_SIZE(bfin_uart3_resources), |
270 | .resource = bfin_uart_resources, | 433 | .resource = bfin_uart3_resources, |
434 | .dev = { | ||
435 | .platform_data = &bfin_uart3_peripherals, /* Passed to driver */ | ||
436 | }, | ||
271 | }; | 437 | }; |
272 | #endif | 438 | #endif |
439 | #endif | ||
273 | 440 | ||
274 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 441 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
275 | #ifdef CONFIG_BFIN_SIR0 | 442 | #ifdef CONFIG_BFIN_SIR0 |
@@ -464,6 +631,145 @@ static struct platform_device musb_device = { | |||
464 | }; | 631 | }; |
465 | #endif | 632 | #endif |
466 | 633 | ||
634 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
635 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
636 | static struct resource bfin_sport0_uart_resources[] = { | ||
637 | { | ||
638 | .start = SPORT0_TCR1, | ||
639 | .end = SPORT0_MRCS3+4, | ||
640 | .flags = IORESOURCE_MEM, | ||
641 | }, | ||
642 | { | ||
643 | .start = IRQ_SPORT0_RX, | ||
644 | .end = IRQ_SPORT0_RX+1, | ||
645 | .flags = IORESOURCE_IRQ, | ||
646 | }, | ||
647 | { | ||
648 | .start = IRQ_SPORT0_ERROR, | ||
649 | .end = IRQ_SPORT0_ERROR, | ||
650 | .flags = IORESOURCE_IRQ, | ||
651 | }, | ||
652 | }; | ||
653 | |||
654 | unsigned short bfin_sport0_peripherals[] = { | ||
655 | P_SPORT0_TFS, P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, | ||
656 | P_SPORT0_DRPRI, P_SPORT0_RSCLK, P_SPORT0_DRSEC, P_SPORT0_DTSEC, 0 | ||
657 | }; | ||
658 | |||
659 | static struct platform_device bfin_sport0_uart_device = { | ||
660 | .name = "bfin-sport-uart", | ||
661 | .id = 0, | ||
662 | .num_resources = ARRAY_SIZE(bfin_sport0_uart_resources), | ||
663 | .resource = bfin_sport0_uart_resources, | ||
664 | .dev = { | ||
665 | .platform_data = &bfin_sport0_peripherals, /* Passed to driver */ | ||
666 | }, | ||
667 | }; | ||
668 | #endif | ||
669 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
670 | static struct resource bfin_sport1_uart_resources[] = { | ||
671 | { | ||
672 | .start = SPORT1_TCR1, | ||
673 | .end = SPORT1_MRCS3+4, | ||
674 | .flags = IORESOURCE_MEM, | ||
675 | }, | ||
676 | { | ||
677 | .start = IRQ_SPORT1_RX, | ||
678 | .end = IRQ_SPORT1_RX+1, | ||
679 | .flags = IORESOURCE_IRQ, | ||
680 | }, | ||
681 | { | ||
682 | .start = IRQ_SPORT1_ERROR, | ||
683 | .end = IRQ_SPORT1_ERROR, | ||
684 | .flags = IORESOURCE_IRQ, | ||
685 | }, | ||
686 | }; | ||
687 | |||
688 | unsigned short bfin_sport1_peripherals[] = { | ||
689 | P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, | ||
690 | P_SPORT1_DRPRI, P_SPORT1_RSCLK, P_SPORT1_DRSEC, P_SPORT1_DTSEC, 0 | ||
691 | }; | ||
692 | |||
693 | static struct platform_device bfin_sport1_uart_device = { | ||
694 | .name = "bfin-sport-uart", | ||
695 | .id = 1, | ||
696 | .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources), | ||
697 | .resource = bfin_sport1_uart_resources, | ||
698 | .dev = { | ||
699 | .platform_data = &bfin_sport1_peripherals, /* Passed to driver */ | ||
700 | }, | ||
701 | }; | ||
702 | #endif | ||
703 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
704 | static struct resource bfin_sport2_uart_resources[] = { | ||
705 | { | ||
706 | .start = SPORT2_TCR1, | ||
707 | .end = SPORT2_MRCS3+4, | ||
708 | .flags = IORESOURCE_MEM, | ||
709 | }, | ||
710 | { | ||
711 | .start = IRQ_SPORT2_RX, | ||
712 | .end = IRQ_SPORT2_RX+1, | ||
713 | .flags = IORESOURCE_IRQ, | ||
714 | }, | ||
715 | { | ||
716 | .start = IRQ_SPORT2_ERROR, | ||
717 | .end = IRQ_SPORT2_ERROR, | ||
718 | .flags = IORESOURCE_IRQ, | ||
719 | }, | ||
720 | }; | ||
721 | |||
722 | unsigned short bfin_sport2_peripherals[] = { | ||
723 | P_SPORT2_TFS, P_SPORT2_DTPRI, P_SPORT2_TSCLK, P_SPORT2_RFS, | ||
724 | P_SPORT2_DRPRI, P_SPORT2_RSCLK, P_SPORT2_DRSEC, P_SPORT2_DTSEC, 0 | ||
725 | }; | ||
726 | |||
727 | static struct platform_device bfin_sport2_uart_device = { | ||
728 | .name = "bfin-sport-uart", | ||
729 | .id = 2, | ||
730 | .num_resources = ARRAY_SIZE(bfin_sport2_uart_resources), | ||
731 | .resource = bfin_sport2_uart_resources, | ||
732 | .dev = { | ||
733 | .platform_data = &bfin_sport2_peripherals, /* Passed to driver */ | ||
734 | }, | ||
735 | }; | ||
736 | #endif | ||
737 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
738 | static struct resource bfin_sport3_uart_resources[] = { | ||
739 | { | ||
740 | .start = SPORT3_TCR1, | ||
741 | .end = SPORT3_MRCS3+4, | ||
742 | .flags = IORESOURCE_MEM, | ||
743 | }, | ||
744 | { | ||
745 | .start = IRQ_SPORT3_RX, | ||
746 | .end = IRQ_SPORT3_RX+1, | ||
747 | .flags = IORESOURCE_IRQ, | ||
748 | }, | ||
749 | { | ||
750 | .start = IRQ_SPORT3_ERROR, | ||
751 | .end = IRQ_SPORT3_ERROR, | ||
752 | .flags = IORESOURCE_IRQ, | ||
753 | }, | ||
754 | }; | ||
755 | |||
756 | unsigned short bfin_sport3_peripherals[] = { | ||
757 | P_SPORT3_TFS, P_SPORT3_DTPRI, P_SPORT3_TSCLK, P_SPORT3_RFS, | ||
758 | P_SPORT3_DRPRI, P_SPORT3_RSCLK, P_SPORT3_DRSEC, P_SPORT3_DTSEC, 0 | ||
759 | }; | ||
760 | |||
761 | static struct platform_device bfin_sport3_uart_device = { | ||
762 | .name = "bfin-sport-uart", | ||
763 | .id = 3, | ||
764 | .num_resources = ARRAY_SIZE(bfin_sport3_uart_resources), | ||
765 | .resource = bfin_sport3_uart_resources, | ||
766 | .dev = { | ||
767 | .platform_data = &bfin_sport3_peripherals, /* Passed to driver */ | ||
768 | }, | ||
769 | }; | ||
770 | #endif | ||
771 | #endif | ||
772 | |||
467 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) | 773 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) |
468 | unsigned short bfin_can_peripherals[] = { | 774 | unsigned short bfin_can_peripherals[] = { |
469 | P_CAN0_RX, P_CAN0_TX, 0 | 775 | P_CAN0_RX, P_CAN0_TX, 0 |
@@ -657,8 +963,8 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
657 | }; | 963 | }; |
658 | #endif | 964 | #endif |
659 | 965 | ||
660 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 966 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
661 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 967 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
662 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 968 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
663 | .enable_dma = 0, | 969 | .enable_dma = 0, |
664 | .bits_per_word = 16, | 970 | .bits_per_word = 16, |
@@ -714,8 +1020,8 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
714 | .mode = SPI_MODE_3, | 1020 | .mode = SPI_MODE_3, |
715 | }, | 1021 | }, |
716 | #endif | 1022 | #endif |
717 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 1023 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
718 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 1024 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
719 | { | 1025 | { |
720 | .modalias = "ad1836", | 1026 | .modalias = "ad1836", |
721 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 1027 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -951,6 +1257,30 @@ static struct platform_device bfin_dpmc = { | |||
951 | }, | 1257 | }, |
952 | }; | 1258 | }; |
953 | 1259 | ||
1260 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
1261 | static struct platform_device bfin_i2s = { | ||
1262 | .name = "bfin-i2s", | ||
1263 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
1264 | /* TODO: add platform data here */ | ||
1265 | }; | ||
1266 | #endif | ||
1267 | |||
1268 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
1269 | static struct platform_device bfin_tdm = { | ||
1270 | .name = "bfin-tdm", | ||
1271 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
1272 | /* TODO: add platform data here */ | ||
1273 | }; | ||
1274 | #endif | ||
1275 | |||
1276 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
1277 | static struct platform_device bfin_ac97 = { | ||
1278 | .name = "bfin-ac97", | ||
1279 | .id = CONFIG_SND_BF5XX_SPORT_NUM, | ||
1280 | /* TODO: add platform data here */ | ||
1281 | }; | ||
1282 | #endif | ||
1283 | |||
954 | static struct platform_device *ezkit_devices[] __initdata = { | 1284 | static struct platform_device *ezkit_devices[] __initdata = { |
955 | 1285 | ||
956 | &bfin_dpmc, | 1286 | &bfin_dpmc, |
@@ -960,7 +1290,18 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
960 | #endif | 1290 | #endif |
961 | 1291 | ||
962 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 1292 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
963 | &bfin_uart_device, | 1293 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
1294 | &bfin_uart0_device, | ||
1295 | #endif | ||
1296 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1297 | &bfin_uart1_device, | ||
1298 | #endif | ||
1299 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
1300 | &bfin_uart2_device, | ||
1301 | #endif | ||
1302 | #ifdef CONFIG_SERIAL_BFIN_UART3 | ||
1303 | &bfin_uart3_device, | ||
1304 | #endif | ||
964 | #endif | 1305 | #endif |
965 | 1306 | ||
966 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 1307 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -994,6 +1335,21 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
994 | &bfin_isp1760_device, | 1335 | &bfin_isp1760_device, |
995 | #endif | 1336 | #endif |
996 | 1337 | ||
1338 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
1339 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1340 | &bfin_sport0_uart_device, | ||
1341 | #endif | ||
1342 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1343 | &bfin_sport1_uart_device, | ||
1344 | #endif | ||
1345 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
1346 | &bfin_sport2_uart_device, | ||
1347 | #endif | ||
1348 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
1349 | &bfin_sport3_uart_device, | ||
1350 | #endif | ||
1351 | #endif | ||
1352 | |||
997 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) | 1353 | #if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE) |
998 | &bfin_can_device, | 1354 | &bfin_can_device, |
999 | #endif | 1355 | #endif |
@@ -1037,6 +1393,18 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
1037 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 1393 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
1038 | &ezkit_flash_device, | 1394 | &ezkit_flash_device, |
1039 | #endif | 1395 | #endif |
1396 | |||
1397 | #if defined(CONFIG_SND_BF5XX_I2S) || defined(CONFIG_SND_BF5XX_I2S_MODULE) | ||
1398 | &bfin_i2s, | ||
1399 | #endif | ||
1400 | |||
1401 | #if defined(CONFIG_SND_BF5XX_TDM) || defined(CONFIG_SND_BF5XX_TDM_MODULE) | ||
1402 | &bfin_tdm, | ||
1403 | #endif | ||
1404 | |||
1405 | #if defined(CONFIG_SND_BF5XX_AC97) || defined(CONFIG_SND_BF5XX_AC97_MODULE) | ||
1406 | &bfin_ac97, | ||
1407 | #endif | ||
1040 | }; | 1408 | }; |
1041 | 1409 | ||
1042 | static int __init ezkit_init(void) | 1410 | static int __init ezkit_init(void) |
@@ -1058,3 +1426,42 @@ static int __init ezkit_init(void) | |||
1058 | } | 1426 | } |
1059 | 1427 | ||
1060 | arch_initcall(ezkit_init); | 1428 | arch_initcall(ezkit_init); |
1429 | |||
1430 | static struct platform_device *ezkit_early_devices[] __initdata = { | ||
1431 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
1432 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
1433 | &bfin_uart0_device, | ||
1434 | #endif | ||
1435 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
1436 | &bfin_uart1_device, | ||
1437 | #endif | ||
1438 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
1439 | &bfin_uart2_device, | ||
1440 | #endif | ||
1441 | #ifdef CONFIG_SERIAL_BFIN_UART3 | ||
1442 | &bfin_uart3_device, | ||
1443 | #endif | ||
1444 | #endif | ||
1445 | |||
1446 | #if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) | ||
1447 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | ||
1448 | &bfin_sport0_uart_device, | ||
1449 | #endif | ||
1450 | #ifdef CONFIG_SERIAL_BFIN_SPORT1_UART | ||
1451 | &bfin_sport1_uart_device, | ||
1452 | #endif | ||
1453 | #ifdef CONFIG_SERIAL_BFIN_SPORT2_UART | ||
1454 | &bfin_sport2_uart_device, | ||
1455 | #endif | ||
1456 | #ifdef CONFIG_SERIAL_BFIN_SPORT3_UART | ||
1457 | &bfin_sport3_uart_device, | ||
1458 | #endif | ||
1459 | #endif | ||
1460 | }; | ||
1461 | |||
1462 | void __init native_machine_early_platform_add_devices(void) | ||
1463 | { | ||
1464 | printk(KERN_INFO "register early platform devices\n"); | ||
1465 | early_platform_add_devices(ezkit_early_devices, | ||
1466 | ARRAY_SIZE(ezkit_early_devices)); | ||
1467 | } | ||
diff --git a/arch/blackfin/mach-bf548/include/mach/irq.h b/arch/blackfin/mach-bf548/include/mach/irq.h index 106db05684ae..1f99b51a3d56 100644 --- a/arch/blackfin/mach-bf548/include/mach/irq.h +++ b/arch/blackfin/mach-bf548/include/mach/irq.h | |||
@@ -317,7 +317,8 @@ Events (highest priority) EMU 0 | |||
317 | 317 | ||
318 | #define GPIO_IRQ_BASE IRQ_PA0 | 318 | #define GPIO_IRQ_BASE IRQ_PA0 |
319 | 319 | ||
320 | #define NR_IRQS (IRQ_PJ15+1) | 320 | #define NR_MACH_IRQS (IRQ_PJ15 + 1) |
321 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
321 | 322 | ||
322 | /* For compatibility reasons with existing code */ | 323 | /* For compatibility reasons with existing code */ |
323 | 324 | ||
diff --git a/arch/blackfin/mach-bf561/Makefile b/arch/blackfin/mach-bf561/Makefile index 59e18afe28c6..b34029718318 100644 --- a/arch/blackfin/mach-bf561/Makefile +++ b/arch/blackfin/mach-bf561/Makefile | |||
@@ -6,3 +6,4 @@ obj-y := ints-priority.o dma.o | |||
6 | 6 | ||
7 | obj-$(CONFIG_BF561_COREB) += coreb.o | 7 | obj-$(CONFIG_BF561_COREB) += coreb.o |
8 | obj-$(CONFIG_SMP) += smp.o secondary.o atomic.o | 8 | obj-$(CONFIG_SMP) += smp.o secondary.o atomic.o |
9 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | ||
diff --git a/arch/blackfin/mach-bf561/boards/acvilon.c b/arch/blackfin/mach-bf561/boards/acvilon.c index 07e8dc8770da..5163e2c383c5 100644 --- a/arch/blackfin/mach-bf561/boards/acvilon.c +++ b/arch/blackfin/mach-bf561/boards/acvilon.c | |||
@@ -176,7 +176,7 @@ static struct resource smsc911x_resources[] = { | |||
176 | }; | 176 | }; |
177 | 177 | ||
178 | static struct smsc911x_platform_config smsc911x_config = { | 178 | static struct smsc911x_platform_config smsc911x_config = { |
179 | .flags = SMSC911X_USE_32BIT, | 179 | .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS, |
180 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | 180 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, |
181 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, | 181 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, |
182 | .phy_interface = PHY_INTERFACE_MODE_MII, | 182 | .phy_interface = PHY_INTERFACE_MODE_MII, |
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c index dfc8d5b77986..e127aedc1d7f 100644 --- a/arch/blackfin/mach-bf561/boards/cm_bf561.c +++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c | |||
@@ -72,7 +72,7 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = { | |||
72 | }; | 72 | }; |
73 | #endif | 73 | #endif |
74 | 74 | ||
75 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 75 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
76 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 76 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
77 | .enable_dma = 0, | 77 | .enable_dma = 0, |
78 | .bits_per_word = 16, | 78 | .bits_per_word = 16, |
@@ -111,7 +111,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
111 | }, | 111 | }, |
112 | #endif | 112 | #endif |
113 | 113 | ||
114 | #if defined(CONFIG_SND_BLACKFIN_AD1836) || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 114 | #if defined(CONFIG_SND_BLACKFIN_AD183X) || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
115 | { | 115 | { |
116 | .modalias = "ad1836", | 116 | .modalias = "ad1836", |
117 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 117 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -305,21 +305,50 @@ static struct platform_device isp1362_hcd_device = { | |||
305 | #endif | 305 | #endif |
306 | 306 | ||
307 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 307 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
308 | static struct resource bfin_uart_resources[] = { | 308 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
309 | static struct resource bfin_uart0_resources[] = { | ||
309 | { | 310 | { |
310 | .start = 0xFFC00400, | 311 | .start = BFIN_UART_THR, |
311 | .end = 0xFFC004FF, | 312 | .end = BFIN_UART_GCTL+2, |
312 | .flags = IORESOURCE_MEM, | 313 | .flags = IORESOURCE_MEM, |
313 | }, | 314 | }, |
315 | { | ||
316 | .start = IRQ_UART_RX, | ||
317 | .end = IRQ_UART_RX+1, | ||
318 | .flags = IORESOURCE_IRQ, | ||
319 | }, | ||
320 | { | ||
321 | .start = IRQ_UART_ERROR, | ||
322 | .end = IRQ_UART_ERROR, | ||
323 | .flags = IORESOURCE_IRQ, | ||
324 | }, | ||
325 | { | ||
326 | .start = CH_UART_TX, | ||
327 | .end = CH_UART_TX, | ||
328 | .flags = IORESOURCE_DMA, | ||
329 | }, | ||
330 | { | ||
331 | .start = CH_UART_RX, | ||
332 | .end = CH_UART_RX, | ||
333 | .flags = IORESOURCE_DMA, | ||
334 | }, | ||
314 | }; | 335 | }; |
315 | 336 | ||
316 | static struct platform_device bfin_uart_device = { | 337 | unsigned short bfin_uart0_peripherals[] = { |
338 | P_UART0_TX, P_UART0_RX, 0 | ||
339 | }; | ||
340 | |||
341 | static struct platform_device bfin_uart0_device = { | ||
317 | .name = "bfin-uart", | 342 | .name = "bfin-uart", |
318 | .id = 1, | 343 | .id = 0, |
319 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 344 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
320 | .resource = bfin_uart_resources, | 345 | .resource = bfin_uart0_resources, |
346 | .dev = { | ||
347 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
348 | }, | ||
321 | }; | 349 | }; |
322 | #endif | 350 | #endif |
351 | #endif | ||
323 | 352 | ||
324 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 353 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
325 | #ifdef CONFIG_BFIN_SIR0 | 354 | #ifdef CONFIG_BFIN_SIR0 |
@@ -463,7 +492,9 @@ static struct platform_device *cm_bf561_devices[] __initdata = { | |||
463 | #endif | 492 | #endif |
464 | 493 | ||
465 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 494 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
466 | &bfin_uart_device, | 495 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
496 | &bfin_uart0_device, | ||
497 | #endif | ||
467 | #endif | 498 | #endif |
468 | 499 | ||
469 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 500 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -516,3 +547,18 @@ static int __init cm_bf561_init(void) | |||
516 | } | 547 | } |
517 | 548 | ||
518 | arch_initcall(cm_bf561_init); | 549 | arch_initcall(cm_bf561_init); |
550 | |||
551 | static struct platform_device *cm_bf561_early_devices[] __initdata = { | ||
552 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
553 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
554 | &bfin_uart0_device, | ||
555 | #endif | ||
556 | #endif | ||
557 | }; | ||
558 | |||
559 | void __init native_machine_early_platform_add_devices(void) | ||
560 | { | ||
561 | printk(KERN_INFO "register early platform devices\n"); | ||
562 | early_platform_add_devices(cm_bf561_early_devices, | ||
563 | ARRAY_SIZE(cm_bf561_early_devices)); | ||
564 | } | ||
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index ffd3e6a80d1a..9b93e2f95791 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
@@ -160,21 +160,50 @@ static struct platform_device smc91x_device = { | |||
160 | #endif | 160 | #endif |
161 | 161 | ||
162 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 162 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
163 | static struct resource bfin_uart_resources[] = { | 163 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
164 | static struct resource bfin_uart0_resources[] = { | ||
164 | { | 165 | { |
165 | .start = 0xFFC00400, | 166 | .start = BFIN_UART_THR, |
166 | .end = 0xFFC004FF, | 167 | .end = BFIN_UART_GCTL+2, |
167 | .flags = IORESOURCE_MEM, | 168 | .flags = IORESOURCE_MEM, |
168 | }, | 169 | }, |
170 | { | ||
171 | .start = IRQ_UART_RX, | ||
172 | .end = IRQ_UART_RX+1, | ||
173 | .flags = IORESOURCE_IRQ, | ||
174 | }, | ||
175 | { | ||
176 | .start = IRQ_UART_ERROR, | ||
177 | .end = IRQ_UART_ERROR, | ||
178 | .flags = IORESOURCE_IRQ, | ||
179 | }, | ||
180 | { | ||
181 | .start = CH_UART_TX, | ||
182 | .end = CH_UART_TX, | ||
183 | .flags = IORESOURCE_DMA, | ||
184 | }, | ||
185 | { | ||
186 | .start = CH_UART_RX, | ||
187 | .end = CH_UART_RX, | ||
188 | .flags = IORESOURCE_DMA, | ||
189 | }, | ||
169 | }; | 190 | }; |
170 | 191 | ||
171 | static struct platform_device bfin_uart_device = { | 192 | unsigned short bfin_uart0_peripherals[] = { |
193 | P_UART0_TX, P_UART0_RX, 0 | ||
194 | }; | ||
195 | |||
196 | static struct platform_device bfin_uart0_device = { | ||
172 | .name = "bfin-uart", | 197 | .name = "bfin-uart", |
173 | .id = 1, | 198 | .id = 0, |
174 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | 199 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), |
175 | .resource = bfin_uart_resources, | 200 | .resource = bfin_uart0_resources, |
201 | .dev = { | ||
202 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
203 | }, | ||
176 | }; | 204 | }; |
177 | #endif | 205 | #endif |
206 | #endif | ||
178 | 207 | ||
179 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 208 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
180 | #ifdef CONFIG_BFIN_SIR0 | 209 | #ifdef CONFIG_BFIN_SIR0 |
@@ -245,8 +274,8 @@ static struct platform_device ezkit_flash_device = { | |||
245 | }; | 274 | }; |
246 | #endif | 275 | #endif |
247 | 276 | ||
248 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 277 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
249 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 278 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
250 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 279 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
251 | .enable_dma = 0, | 280 | .enable_dma = 0, |
252 | .bits_per_word = 16, | 281 | .bits_per_word = 16, |
@@ -299,8 +328,8 @@ static struct platform_device bfin_spi0_device = { | |||
299 | #endif | 328 | #endif |
300 | 329 | ||
301 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 330 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
302 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 331 | #if defined(CONFIG_SND_BLACKFIN_AD183X) \ |
303 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 332 | || defined(CONFIG_SND_BLACKFIN_AD183X_MODULE) |
304 | { | 333 | { |
305 | .modalias = "ad1836", | 334 | .modalias = "ad1836", |
306 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | 335 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ |
@@ -412,7 +441,9 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
412 | #endif | 441 | #endif |
413 | 442 | ||
414 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 443 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
415 | &bfin_uart_device, | 444 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
445 | &bfin_uart0_device, | ||
446 | #endif | ||
416 | #endif | 447 | #endif |
417 | 448 | ||
418 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 449 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
@@ -458,3 +489,18 @@ static int __init ezkit_init(void) | |||
458 | } | 489 | } |
459 | 490 | ||
460 | arch_initcall(ezkit_init); | 491 | arch_initcall(ezkit_init); |
492 | |||
493 | static struct platform_device *ezkit_early_devices[] __initdata = { | ||
494 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
495 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
496 | &bfin_uart0_device, | ||
497 | #endif | ||
498 | #endif | ||
499 | }; | ||
500 | |||
501 | void __init native_machine_early_platform_add_devices(void) | ||
502 | { | ||
503 | printk(KERN_INFO "register early platform devices\n"); | ||
504 | early_platform_add_devices(ezkit_early_devices, | ||
505 | ARRAY_SIZE(ezkit_early_devices)); | ||
506 | } | ||
diff --git a/arch/blackfin/mach-bf561/boards/tepla.c b/arch/blackfin/mach-bf561/boards/tepla.c index 8ba7252455e1..d3017e53686b 100644 --- a/arch/blackfin/mach-bf561/boards/tepla.c +++ b/arch/blackfin/mach-bf561/boards/tepla.c | |||
@@ -42,6 +42,52 @@ static struct platform_device smc91x_device = { | |||
42 | .resource = smc91x_resources, | 42 | .resource = smc91x_resources, |
43 | }; | 43 | }; |
44 | 44 | ||
45 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
46 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
47 | static struct resource bfin_uart0_resources[] = { | ||
48 | { | ||
49 | .start = BFIN_UART_THR, | ||
50 | .end = BFIN_UART_GCTL+2, | ||
51 | .flags = IORESOURCE_MEM, | ||
52 | }, | ||
53 | { | ||
54 | .start = IRQ_UART_RX, | ||
55 | .end = IRQ_UART_RX+1, | ||
56 | .flags = IORESOURCE_IRQ, | ||
57 | }, | ||
58 | { | ||
59 | .start = IRQ_UART_ERROR, | ||
60 | .end = IRQ_UART_ERROR, | ||
61 | .flags = IORESOURCE_IRQ, | ||
62 | }, | ||
63 | { | ||
64 | .start = CH_UART_TX, | ||
65 | .end = CH_UART_TX, | ||
66 | .flags = IORESOURCE_DMA, | ||
67 | }, | ||
68 | { | ||
69 | .start = CH_UART_RX, | ||
70 | .end = CH_UART_RX, | ||
71 | .flags = IORESOURCE_DMA, | ||
72 | }, | ||
73 | }; | ||
74 | |||
75 | unsigned short bfin_uart0_peripherals[] = { | ||
76 | P_UART0_TX, P_UART0_RX, 0 | ||
77 | }; | ||
78 | |||
79 | static struct platform_device bfin_uart0_device = { | ||
80 | .name = "bfin-uart", | ||
81 | .id = 0, | ||
82 | .num_resources = ARRAY_SIZE(bfin_uart0_resources), | ||
83 | .resource = bfin_uart0_resources, | ||
84 | .dev = { | ||
85 | .platform_data = &bfin_uart0_peripherals, /* Passed to driver */ | ||
86 | }, | ||
87 | }; | ||
88 | #endif | ||
89 | #endif | ||
90 | |||
45 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 91 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
46 | #ifdef CONFIG_BFIN_SIR0 | 92 | #ifdef CONFIG_BFIN_SIR0 |
47 | static struct resource bfin_sir0_resources[] = { | 93 | static struct resource bfin_sir0_resources[] = { |
@@ -73,6 +119,13 @@ static struct platform_device bfin_sir0_device = { | |||
73 | 119 | ||
74 | static struct platform_device *tepla_devices[] __initdata = { | 120 | static struct platform_device *tepla_devices[] __initdata = { |
75 | &smc91x_device, | 121 | &smc91x_device, |
122 | |||
123 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
124 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
125 | &bfin_uart0_device, | ||
126 | #endif | ||
127 | #endif | ||
128 | |||
76 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | 129 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) |
77 | #ifdef CONFIG_BFIN_SIR0 | 130 | #ifdef CONFIG_BFIN_SIR0 |
78 | &bfin_sir0_device, | 131 | &bfin_sir0_device, |
@@ -87,3 +140,18 @@ static int __init tepla_init(void) | |||
87 | } | 140 | } |
88 | 141 | ||
89 | arch_initcall(tepla_init); | 142 | arch_initcall(tepla_init); |
143 | |||
144 | static struct platform_device *tepla_early_devices[] __initdata = { | ||
145 | #if defined(CONFIG_SERIAL_BFIN_CONSOLE) || defined(CONFIG_EARLY_PRINTK) | ||
146 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
147 | &bfin_uart0_device, | ||
148 | #endif | ||
149 | #endif | ||
150 | }; | ||
151 | |||
152 | void __init native_machine_early_platform_add_devices(void) | ||
153 | { | ||
154 | printk(KERN_INFO "register early platform devices\n"); | ||
155 | early_platform_add_devices(tepla_early_devices, | ||
156 | ARRAY_SIZE(tepla_early_devices)); | ||
157 | } | ||
diff --git a/arch/blackfin/mach-bf561/hotplug.c b/arch/blackfin/mach-bf561/hotplug.c new file mode 100644 index 000000000000..c95169b612dc --- /dev/null +++ b/arch/blackfin/mach-bf561/hotplug.c | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * Graff Yang <graf.yang@analog.com> | ||
4 | * | ||
5 | * Licensed under the GPL-2 or later. | ||
6 | */ | ||
7 | |||
8 | #include <asm/blackfin.h> | ||
9 | #include <asm/smp.h> | ||
10 | #define SIC_SYSIRQ(irq) (irq - (IRQ_CORETMR + 1)) | ||
11 | |||
12 | int hotplug_coreb; | ||
13 | |||
14 | void platform_cpu_die(void) | ||
15 | { | ||
16 | unsigned long iwr[2] = {0, 0}; | ||
17 | unsigned long bank = SIC_SYSIRQ(IRQ_SUPPLE_0) / 32; | ||
18 | unsigned long bit = 1 << (SIC_SYSIRQ(IRQ_SUPPLE_0) % 32); | ||
19 | |||
20 | hotplug_coreb = 1; | ||
21 | |||
22 | iwr[bank] = bit; | ||
23 | |||
24 | /* disable core timer */ | ||
25 | bfin_write_TCNTL(0); | ||
26 | |||
27 | /* clear ipi interrupt IRQ_SUPPLE_0 */ | ||
28 | bfin_write_SICB_SYSCR(bfin_read_SICB_SYSCR() | (1 << (10 + 1))); | ||
29 | SSYNC(); | ||
30 | |||
31 | coreb_sleep(iwr[0], iwr[1], 0); | ||
32 | } | ||
diff --git a/arch/blackfin/mach-bf561/include/mach/irq.h b/arch/blackfin/mach-bf561/include/mach/irq.h index 7b208db267bf..c95566ade51b 100644 --- a/arch/blackfin/mach-bf561/include/mach/irq.h +++ b/arch/blackfin/mach-bf561/include/mach/irq.h | |||
@@ -265,7 +265,8 @@ | |||
265 | 265 | ||
266 | #define GPIO_IRQ_BASE IRQ_PF0 | 266 | #define GPIO_IRQ_BASE IRQ_PF0 |
267 | 267 | ||
268 | #define NR_IRQS (IRQ_PF47 + 1) | 268 | #define NR_MACH_IRQS (IRQ_PF47 + 1) |
269 | #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) | ||
269 | 270 | ||
270 | #define IVG7 7 | 271 | #define IVG7 7 |
271 | #define IVG8 8 | 272 | #define IVG8 8 |
diff --git a/arch/blackfin/mach-bf561/include/mach/smp.h b/arch/blackfin/mach-bf561/include/mach/smp.h index 390c7f4ae7b3..2c8c514dd386 100644 --- a/arch/blackfin/mach-bf561/include/mach/smp.h +++ b/arch/blackfin/mach-bf561/include/mach/smp.h | |||
@@ -25,4 +25,6 @@ void platform_send_ipi_cpu(unsigned int cpu); | |||
25 | 25 | ||
26 | void platform_clear_ipi(unsigned int cpu); | 26 | void platform_clear_ipi(unsigned int cpu); |
27 | 27 | ||
28 | void bfin_local_timer_setup(void); | ||
29 | |||
28 | #endif /* !_MACH_BF561_SMP */ | 30 | #endif /* !_MACH_BF561_SMP */ |
diff --git a/arch/blackfin/mach-bf561/secondary.S b/arch/blackfin/mach-bf561/secondary.S index 8e6050369c06..4624eebbf9c4 100644 --- a/arch/blackfin/mach-bf561/secondary.S +++ b/arch/blackfin/mach-bf561/secondary.S | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <asm/blackfin.h> | 12 | #include <asm/blackfin.h> |
13 | #include <asm/asm-offsets.h> | 13 | #include <asm/asm-offsets.h> |
14 | #include <asm/trace.h> | ||
14 | 15 | ||
15 | __INIT | 16 | __INIT |
16 | 17 | ||
@@ -62,6 +63,8 @@ ENTRY(_coreb_trampoline_start) | |||
62 | M2 = r0; | 63 | M2 = r0; |
63 | M3 = r0; | 64 | M3 = r0; |
64 | 65 | ||
66 | trace_buffer_init(p0,r0); | ||
67 | |||
65 | /* Turn off the icache */ | 68 | /* Turn off the icache */ |
66 | p0.l = LO(IMEM_CONTROL); | 69 | p0.l = LO(IMEM_CONTROL); |
67 | p0.h = HI(IMEM_CONTROL); | 70 | p0.h = HI(IMEM_CONTROL); |
@@ -159,6 +162,41 @@ ENTRY(_coreb_trampoline_start) | |||
159 | ENDPROC(_coreb_trampoline_start) | 162 | ENDPROC(_coreb_trampoline_start) |
160 | ENTRY(_coreb_trampoline_end) | 163 | ENTRY(_coreb_trampoline_end) |
161 | 164 | ||
165 | .section ".text" | ||
166 | ENTRY(_set_sicb_iwr) | ||
167 | P0.H = hi(SICB_IWR0); | ||
168 | P0.L = lo(SICB_IWR0); | ||
169 | P1.H = hi(SICB_IWR1); | ||
170 | P1.L = lo(SICB_IWR1); | ||
171 | [P0] = R0; | ||
172 | [P1] = R1; | ||
173 | SSYNC; | ||
174 | RTS; | ||
175 | ENDPROC(_set_sicb_iwr) | ||
176 | |||
177 | ENTRY(_coreb_sleep) | ||
178 | sp.l = lo(INITIAL_STACK); | ||
179 | sp.h = hi(INITIAL_STACK); | ||
180 | fp = sp; | ||
181 | usp = sp; | ||
182 | |||
183 | call _set_sicb_iwr; | ||
184 | |||
185 | CLI R2; | ||
186 | SSYNC; | ||
187 | IDLE; | ||
188 | STI R2; | ||
189 | |||
190 | R0 = IWR_DISABLE_ALL; | ||
191 | R1 = IWR_DISABLE_ALL; | ||
192 | call _set_sicb_iwr; | ||
193 | |||
194 | p0.h = hi(COREB_L1_CODE_START); | ||
195 | p0.l = lo(COREB_L1_CODE_START); | ||
196 | jump (p0); | ||
197 | ENDPROC(_coreb_sleep) | ||
198 | |||
199 | __CPUINIT | ||
162 | ENTRY(_coreb_start) | 200 | ENTRY(_coreb_start) |
163 | [--sp] = reti; | 201 | [--sp] = reti; |
164 | 202 | ||
@@ -176,12 +214,20 @@ ENTRY(_coreb_start) | |||
176 | sp = [p0]; | 214 | sp = [p0]; |
177 | usp = sp; | 215 | usp = sp; |
178 | fp = sp; | 216 | fp = sp; |
217 | #ifdef CONFIG_HOTPLUG_CPU | ||
218 | p0.l = _hotplug_coreb; | ||
219 | p0.h = _hotplug_coreb; | ||
220 | r0 = [p0]; | ||
221 | cc = BITTST(r0, 0); | ||
222 | if cc jump 3f; | ||
223 | #endif | ||
179 | sp += -12; | 224 | sp += -12; |
180 | call _init_pda | 225 | call _init_pda |
181 | sp += 12; | 226 | sp += 12; |
227 | #ifdef CONFIG_HOTPLUG_CPU | ||
228 | 3: | ||
229 | #endif | ||
182 | call _secondary_start_kernel; | 230 | call _secondary_start_kernel; |
183 | .L_exit: | 231 | .L_exit: |
184 | jump.s .L_exit; | 232 | jump.s .L_exit; |
185 | ENDPROC(_coreb_start) | 233 | ENDPROC(_coreb_start) |
186 | |||
187 | __FINIT | ||
diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c index 0192532e96a2..3b9a4bf7dacc 100644 --- a/arch/blackfin/mach-bf561/smp.c +++ b/arch/blackfin/mach-bf561/smp.c | |||
@@ -11,11 +11,10 @@ | |||
11 | #include <linux/delay.h> | 11 | #include <linux/delay.h> |
12 | #include <asm/smp.h> | 12 | #include <asm/smp.h> |
13 | #include <asm/dma.h> | 13 | #include <asm/dma.h> |
14 | #include <asm/time.h> | ||
14 | 15 | ||
15 | static DEFINE_SPINLOCK(boot_lock); | 16 | static DEFINE_SPINLOCK(boot_lock); |
16 | 17 | ||
17 | static cpumask_t cpu_callin_map; | ||
18 | |||
19 | /* | 18 | /* |
20 | * platform_init_cpus() - Tell the world about how many cores we | 19 | * platform_init_cpus() - Tell the world about how many cores we |
21 | * have. This is called while setting up the architecture support | 20 | * have. This is called while setting up the architecture support |
@@ -66,13 +65,15 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
66 | bfin_write_SICB_IAR5(bfin_read_SICA_IAR5()); | 65 | bfin_write_SICB_IAR5(bfin_read_SICA_IAR5()); |
67 | bfin_write_SICB_IAR6(bfin_read_SICA_IAR6()); | 66 | bfin_write_SICB_IAR6(bfin_read_SICA_IAR6()); |
68 | bfin_write_SICB_IAR7(bfin_read_SICA_IAR7()); | 67 | bfin_write_SICB_IAR7(bfin_read_SICA_IAR7()); |
68 | bfin_write_SICB_IWR0(IWR_DISABLE_ALL); | ||
69 | bfin_write_SICB_IWR1(IWR_DISABLE_ALL); | ||
69 | SSYNC(); | 70 | SSYNC(); |
70 | 71 | ||
71 | /* Store CPU-private information to the cpu_data array. */ | 72 | /* Store CPU-private information to the cpu_data array. */ |
72 | bfin_setup_cpudata(cpu); | 73 | bfin_setup_cpudata(cpu); |
73 | 74 | ||
74 | /* We are done with local CPU inits, unblock the boot CPU. */ | 75 | /* We are done with local CPU inits, unblock the boot CPU. */ |
75 | cpu_set(cpu, cpu_callin_map); | 76 | set_cpu_online(cpu, true); |
76 | spin_lock(&boot_lock); | 77 | spin_lock(&boot_lock); |
77 | spin_unlock(&boot_lock); | 78 | spin_unlock(&boot_lock); |
78 | } | 79 | } |
@@ -81,28 +82,28 @@ int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle | |||
81 | { | 82 | { |
82 | unsigned long timeout; | 83 | unsigned long timeout; |
83 | 84 | ||
84 | /* CoreB already running?! */ | ||
85 | BUG_ON((bfin_read_SICA_SYSCR() & COREB_SRAM_INIT) == 0); | ||
86 | |||
87 | printk(KERN_INFO "Booting Core B.\n"); | 85 | printk(KERN_INFO "Booting Core B.\n"); |
88 | 86 | ||
89 | spin_lock(&boot_lock); | 87 | spin_lock(&boot_lock); |
90 | 88 | ||
91 | /* Kick CoreB, which should start execution from CORE_SRAM_BASE. */ | 89 | if ((bfin_read_SICA_SYSCR() & COREB_SRAM_INIT) == 0) { |
92 | SSYNC(); | 90 | /* CoreB already running, sending ipi to wakeup it */ |
93 | bfin_write_SICA_SYSCR(bfin_read_SICA_SYSCR() & ~COREB_SRAM_INIT); | 91 | platform_send_ipi_cpu(cpu, IRQ_SUPPLE_0); |
94 | SSYNC(); | 92 | } else { |
93 | /* Kick CoreB, which should start execution from CORE_SRAM_BASE. */ | ||
94 | bfin_write_SICA_SYSCR(bfin_read_SICA_SYSCR() & ~COREB_SRAM_INIT); | ||
95 | SSYNC(); | ||
96 | } | ||
95 | 97 | ||
96 | timeout = jiffies + 1 * HZ; | 98 | timeout = jiffies + 1 * HZ; |
97 | while (time_before(jiffies, timeout)) { | 99 | while (time_before(jiffies, timeout)) { |
98 | if (cpu_isset(cpu, cpu_callin_map)) | 100 | if (cpu_online(cpu)) |
99 | break; | 101 | break; |
100 | udelay(100); | 102 | udelay(100); |
101 | barrier(); | 103 | barrier(); |
102 | } | 104 | } |
103 | 105 | ||
104 | if (cpu_isset(cpu, cpu_callin_map)) { | 106 | if (cpu_online(cpu)) { |
105 | cpu_set(cpu, cpu_online_map); | ||
106 | /* release the lock and let coreb run */ | 107 | /* release the lock and let coreb run */ |
107 | spin_unlock(&boot_lock); | 108 | spin_unlock(&boot_lock); |
108 | return 0; | 109 | return 0; |
@@ -147,3 +148,20 @@ void platform_clear_ipi(unsigned int cpu) | |||
147 | bfin_write_SICB_SYSCR(bfin_read_SICB_SYSCR() | (1 << (10 + cpu))); | 148 | bfin_write_SICB_SYSCR(bfin_read_SICB_SYSCR() | (1 << (10 + cpu))); |
148 | SSYNC(); | 149 | SSYNC(); |
149 | } | 150 | } |
151 | |||
152 | /* | ||
153 | * Setup core B's local core timer. | ||
154 | * In SMP, core timer is used for clock event device. | ||
155 | */ | ||
156 | void __cpuinit bfin_local_timer_setup(void) | ||
157 | { | ||
158 | #if defined(CONFIG_TICKSOURCE_CORETMR) | ||
159 | bfin_coretmr_init(); | ||
160 | bfin_coretmr_clockevent_init(); | ||
161 | get_irq_chip(IRQ_CORETMR)->unmask(IRQ_CORETMR); | ||
162 | #else | ||
163 | /* Power down the core timer, just to play safe. */ | ||
164 | bfin_write_TCNTL(0); | ||
165 | #endif | ||
166 | |||
167 | } | ||
diff --git a/arch/blackfin/mach-common/cpufreq.c b/arch/blackfin/mach-common/cpufreq.c index 777582897253..4391d03dc845 100644 --- a/arch/blackfin/mach-common/cpufreq.c +++ b/arch/blackfin/mach-common/cpufreq.c | |||
@@ -11,10 +11,13 @@ | |||
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/cpufreq.h> | 12 | #include <linux/cpufreq.h> |
13 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
14 | #include <linux/delay.h> | ||
14 | #include <asm/blackfin.h> | 15 | #include <asm/blackfin.h> |
15 | #include <asm/time.h> | 16 | #include <asm/time.h> |
16 | #include <asm/dpmc.h> | 17 | #include <asm/dpmc.h> |
17 | 18 | ||
19 | #define CPUFREQ_CPU 0 | ||
20 | |||
18 | /* this is the table of CCLK frequencies, in Hz */ | 21 | /* this is the table of CCLK frequencies, in Hz */ |
19 | /* .index is the entry in the auxillary dpm_state_table[] */ | 22 | /* .index is the entry in the auxillary dpm_state_table[] */ |
20 | static struct cpufreq_frequency_table bfin_freq_table[] = { | 23 | static struct cpufreq_frequency_table bfin_freq_table[] = { |
@@ -41,64 +44,124 @@ static struct bfin_dpm_state { | |||
41 | unsigned int tscale; /* change the divider on the core timer interrupt */ | 44 | unsigned int tscale; /* change the divider on the core timer interrupt */ |
42 | } dpm_state_table[3]; | 45 | } dpm_state_table[3]; |
43 | 46 | ||
47 | #if defined(CONFIG_CYCLES_CLOCKSOURCE) | ||
44 | /* | 48 | /* |
45 | normalized to maximum frequncy offset for CYCLES, | 49 | * normalized to maximum frequncy offset for CYCLES, |
46 | used in time-ts cycles clock source, but could be used | 50 | * used in time-ts cycles clock source, but could be used |
47 | somewhere also. | 51 | * somewhere also. |
48 | */ | 52 | */ |
49 | unsigned long long __bfin_cycles_off; | 53 | unsigned long long __bfin_cycles_off; |
50 | unsigned int __bfin_cycles_mod; | 54 | unsigned int __bfin_cycles_mod; |
55 | #endif | ||
51 | 56 | ||
52 | /**************************************************************************/ | 57 | /**************************************************************************/ |
58 | static void __init bfin_init_tables(unsigned long cclk, unsigned long sclk) | ||
59 | { | ||
53 | 60 | ||
54 | static unsigned int bfin_getfreq_khz(unsigned int cpu) | 61 | unsigned long csel, min_cclk; |
62 | int index; | ||
63 | |||
64 | /* Anomaly 273 seems to still exist on non-BF54x w/dcache turned on */ | ||
65 | #if ANOMALY_05000273 || ANOMALY_05000274 || \ | ||
66 | (!defined(CONFIG_BF54x) && defined(CONFIG_BFIN_EXTMEM_DCACHEABLE)) | ||
67 | min_cclk = sclk * 2; | ||
68 | #else | ||
69 | min_cclk = sclk; | ||
70 | #endif | ||
71 | csel = ((bfin_read_PLL_DIV() & CSEL) >> 4); | ||
72 | |||
73 | for (index = 0; (cclk >> index) >= min_cclk && csel <= 3; index++, csel++) { | ||
74 | bfin_freq_table[index].frequency = cclk >> index; | ||
75 | dpm_state_table[index].csel = csel << 4; /* Shift now into PLL_DIV bitpos */ | ||
76 | dpm_state_table[index].tscale = (TIME_SCALE / (1 << csel)) - 1; | ||
77 | |||
78 | pr_debug("cpufreq: freq:%d csel:0x%x tscale:%d\n", | ||
79 | bfin_freq_table[index].frequency, | ||
80 | dpm_state_table[index].csel, | ||
81 | dpm_state_table[index].tscale); | ||
82 | } | ||
83 | return; | ||
84 | } | ||
85 | |||
86 | static void bfin_adjust_core_timer(void *info) | ||
55 | { | 87 | { |
56 | /* The driver only support single cpu */ | 88 | unsigned int tscale; |
57 | if (cpu != 0) | 89 | unsigned int index = *(unsigned int *)info; |
58 | return -1; | ||
59 | 90 | ||
60 | return get_cclk() / 1000; | 91 | /* we have to adjust the core timer, because it is using cclk */ |
92 | tscale = dpm_state_table[index].tscale; | ||
93 | bfin_write_TSCALE(tscale); | ||
94 | return; | ||
61 | } | 95 | } |
62 | 96 | ||
97 | static unsigned int bfin_getfreq_khz(unsigned int cpu) | ||
98 | { | ||
99 | /* Both CoreA/B have the same core clock */ | ||
100 | return get_cclk() / 1000; | ||
101 | } | ||
63 | 102 | ||
64 | static int bfin_target(struct cpufreq_policy *policy, | 103 | static int bfin_target(struct cpufreq_policy *poli, |
65 | unsigned int target_freq, unsigned int relation) | 104 | unsigned int target_freq, unsigned int relation) |
66 | { | 105 | { |
67 | unsigned int index, plldiv, tscale; | 106 | unsigned int index, plldiv, cpu; |
68 | unsigned long flags, cclk_hz; | 107 | unsigned long flags, cclk_hz; |
69 | struct cpufreq_freqs freqs; | 108 | struct cpufreq_freqs freqs; |
109 | static unsigned long lpj_ref; | ||
110 | static unsigned int lpj_ref_freq; | ||
111 | |||
112 | #if defined(CONFIG_CYCLES_CLOCKSOURCE) | ||
70 | cycles_t cycles; | 113 | cycles_t cycles; |
114 | #endif | ||
71 | 115 | ||
72 | if (cpufreq_frequency_table_target(policy, bfin_freq_table, | 116 | for_each_online_cpu(cpu) { |
73 | target_freq, relation, &index)) | 117 | struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); |
74 | return -EINVAL; | 118 | |
75 | 119 | if (!policy) | |
76 | cclk_hz = bfin_freq_table[index].frequency; | 120 | continue; |
77 | 121 | ||
78 | freqs.old = bfin_getfreq_khz(0); | 122 | if (cpufreq_frequency_table_target(policy, bfin_freq_table, |
79 | freqs.new = cclk_hz; | 123 | target_freq, relation, &index)) |
80 | freqs.cpu = 0; | 124 | return -EINVAL; |
81 | 125 | ||
82 | pr_debug("cpufreq: changing cclk to %lu; target = %u, oldfreq = %u\n", | 126 | cclk_hz = bfin_freq_table[index].frequency; |
83 | cclk_hz, target_freq, freqs.old); | 127 | |
84 | 128 | freqs.old = bfin_getfreq_khz(0); | |
85 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | 129 | freqs.new = cclk_hz; |
86 | local_irq_save_hw(flags); | 130 | freqs.cpu = cpu; |
87 | plldiv = (bfin_read_PLL_DIV() & SSEL) | dpm_state_table[index].csel; | 131 | |
88 | tscale = dpm_state_table[index].tscale; | 132 | pr_debug("cpufreq: changing cclk to %lu; target = %u, oldfreq = %u\n", |
89 | bfin_write_PLL_DIV(plldiv); | 133 | cclk_hz, target_freq, freqs.old); |
90 | /* we have to adjust the core timer, because it is using cclk */ | 134 | |
91 | bfin_write_TSCALE(tscale); | 135 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); |
92 | cycles = get_cycles(); | 136 | if (cpu == CPUFREQ_CPU) { |
93 | SSYNC(); | 137 | local_irq_save_hw(flags); |
94 | cycles += 10; /* ~10 cycles we lose after get_cycles() */ | 138 | plldiv = (bfin_read_PLL_DIV() & SSEL) | |
95 | __bfin_cycles_off += (cycles << __bfin_cycles_mod) - (cycles << index); | 139 | dpm_state_table[index].csel; |
96 | __bfin_cycles_mod = index; | 140 | bfin_write_PLL_DIV(plldiv); |
97 | local_irq_restore_hw(flags); | 141 | on_each_cpu(bfin_adjust_core_timer, &index, 1); |
98 | /* TODO: just test case for cycles clock source, remove later */ | 142 | #if defined(CONFIG_CYCLES_CLOCKSOURCE) |
99 | pr_debug("cpufreq: done\n"); | 143 | cycles = get_cycles(); |
100 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 144 | SSYNC(); |
145 | cycles += 10; /* ~10 cycles we lose after get_cycles() */ | ||
146 | __bfin_cycles_off += | ||
147 | (cycles << __bfin_cycles_mod) - (cycles << index); | ||
148 | __bfin_cycles_mod = index; | ||
149 | #endif | ||
150 | if (!lpj_ref_freq) { | ||
151 | lpj_ref = loops_per_jiffy; | ||
152 | lpj_ref_freq = freqs.old; | ||
153 | } | ||
154 | if (freqs.new != freqs.old) { | ||
155 | loops_per_jiffy = cpufreq_scale(lpj_ref, | ||
156 | lpj_ref_freq, freqs.new); | ||
157 | } | ||
158 | local_irq_restore_hw(flags); | ||
159 | } | ||
160 | /* TODO: just test case for cycles clock source, remove later */ | ||
161 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
162 | } | ||
101 | 163 | ||
164 | pr_debug("cpufreq: done\n"); | ||
102 | return 0; | 165 | return 0; |
103 | } | 166 | } |
104 | 167 | ||
@@ -110,37 +173,16 @@ static int bfin_verify_speed(struct cpufreq_policy *policy) | |||
110 | static int __init __bfin_cpu_init(struct cpufreq_policy *policy) | 173 | static int __init __bfin_cpu_init(struct cpufreq_policy *policy) |
111 | { | 174 | { |
112 | 175 | ||
113 | unsigned long cclk, sclk, csel, min_cclk; | 176 | unsigned long cclk, sclk; |
114 | int index; | ||
115 | |||
116 | if (policy->cpu != 0) | ||
117 | return -EINVAL; | ||
118 | 177 | ||
119 | cclk = get_cclk() / 1000; | 178 | cclk = get_cclk() / 1000; |
120 | sclk = get_sclk() / 1000; | 179 | sclk = get_sclk() / 1000; |
121 | 180 | ||
122 | #if ANOMALY_05000273 || ANOMALY_05000274 || \ | 181 | if (policy->cpu == CPUFREQ_CPU) |
123 | (!defined(CONFIG_BF54x) && defined(CONFIG_BFIN_EXTMEM_DCACHEABLE)) | 182 | bfin_init_tables(cclk, sclk); |
124 | min_cclk = sclk * 2; | ||
125 | #else | ||
126 | min_cclk = sclk; | ||
127 | #endif | ||
128 | csel = ((bfin_read_PLL_DIV() & CSEL) >> 4); | ||
129 | |||
130 | for (index = 0; (cclk >> index) >= min_cclk && csel <= 3; index++, csel++) { | ||
131 | bfin_freq_table[index].frequency = cclk >> index; | ||
132 | dpm_state_table[index].csel = csel << 4; /* Shift now into PLL_DIV bitpos */ | ||
133 | dpm_state_table[index].tscale = (TIME_SCALE / (1 << csel)) - 1; | ||
134 | |||
135 | pr_debug("cpufreq: freq:%d csel:0x%x tscale:%d\n", | ||
136 | bfin_freq_table[index].frequency, | ||
137 | dpm_state_table[index].csel, | ||
138 | dpm_state_table[index].tscale); | ||
139 | } | ||
140 | 183 | ||
141 | policy->cpuinfo.transition_latency = 50000; /* 50us assumed */ | 184 | policy->cpuinfo.transition_latency = 50000; /* 50us assumed */ |
142 | 185 | ||
143 | /*Now ,only support one cpu */ | ||
144 | policy->cur = cclk; | 186 | policy->cur = cclk; |
145 | cpufreq_frequency_table_get_attr(bfin_freq_table, policy->cpu); | 187 | cpufreq_frequency_table_get_attr(bfin_freq_table, policy->cpu); |
146 | return cpufreq_frequency_table_cpuinfo(policy, bfin_freq_table); | 188 | return cpufreq_frequency_table_cpuinfo(policy, bfin_freq_table); |
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 01b2f58dfb95..a5847f5d67c7 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -405,7 +405,7 @@ ENTRY(_double_fault) | |||
405 | 405 | ||
406 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ | 406 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ |
407 | SP += -12; | 407 | SP += -12; |
408 | call _double_fault_c; | 408 | pseudo_long_call _double_fault_c, p5; |
409 | SP += 12; | 409 | SP += 12; |
410 | .L_double_fault_panic: | 410 | .L_double_fault_panic: |
411 | JUMP .L_double_fault_panic | 411 | JUMP .L_double_fault_panic |
@@ -447,7 +447,7 @@ ENTRY(_exception_to_level5) | |||
447 | 447 | ||
448 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ | 448 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ |
449 | SP += -12; | 449 | SP += -12; |
450 | call _trap_c; | 450 | pseudo_long_call _trap_c, p4; |
451 | SP += 12; | 451 | SP += 12; |
452 | 452 | ||
453 | /* If interrupts were off during the exception (IPEND[4] = 1), turn them off | 453 | /* If interrupts were off during the exception (IPEND[4] = 1), turn them off |
@@ -482,6 +482,8 @@ ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ | |||
482 | [--sp] = ASTAT; | 482 | [--sp] = ASTAT; |
483 | [--sp] = (R7:6,P5:4); | 483 | [--sp] = (R7:6,P5:4); |
484 | 484 | ||
485 | ANOMALY_283_315_WORKAROUND(p5, r7) | ||
486 | |||
485 | #ifdef CONFIG_EXACT_HWERR | 487 | #ifdef CONFIG_EXACT_HWERR |
486 | /* Make sure all pending read/writes complete. This will ensure any | 488 | /* Make sure all pending read/writes complete. This will ensure any |
487 | * accesses which could cause hardware errors completes, and signal | 489 | * accesses which could cause hardware errors completes, and signal |
@@ -492,8 +494,6 @@ ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ | |||
492 | ssync; | 494 | ssync; |
493 | #endif | 495 | #endif |
494 | 496 | ||
495 | ANOMALY_283_315_WORKAROUND(p5, r7) | ||
496 | |||
497 | #ifdef CONFIG_DEBUG_DOUBLEFAULT | 497 | #ifdef CONFIG_DEBUG_DOUBLEFAULT |
498 | /* | 498 | /* |
499 | * Save these registers, as they are only valid in exception context | 499 | * Save these registers, as they are only valid in exception context |
@@ -551,7 +551,7 @@ ENTRY(_kernel_execve) | |||
551 | p0 = sp; | 551 | p0 = sp; |
552 | sp += -16; | 552 | sp += -16; |
553 | [sp + 12] = p0; | 553 | [sp + 12] = p0; |
554 | call _do_execve; | 554 | pseudo_long_call _do_execve, p5; |
555 | SP += 16; | 555 | SP += 16; |
556 | cc = r0 == 0; | 556 | cc = r0 == 0; |
557 | if ! cc jump .Lexecve_failed; | 557 | if ! cc jump .Lexecve_failed; |
@@ -626,13 +626,6 @@ ENTRY(_system_call) | |||
626 | p0 = [sp + PT_ORIG_P0]; | 626 | p0 = [sp + PT_ORIG_P0]; |
627 | #endif /* CONFIG_IPIPE */ | 627 | #endif /* CONFIG_IPIPE */ |
628 | 628 | ||
629 | /* Check the System Call */ | ||
630 | r7 = __NR_syscall; | ||
631 | /* System call number is passed in P0 */ | ||
632 | r6 = p0; | ||
633 | cc = r6 < r7; | ||
634 | if ! cc jump .Lbadsys; | ||
635 | |||
636 | /* are we tracing syscalls?*/ | 629 | /* are we tracing syscalls?*/ |
637 | r7 = sp; | 630 | r7 = sp; |
638 | r6.l = lo(ALIGN_PAGE_MASK); | 631 | r6.l = lo(ALIGN_PAGE_MASK); |
@@ -642,6 +635,14 @@ ENTRY(_system_call) | |||
642 | r7 = [p2+TI_FLAGS]; | 635 | r7 = [p2+TI_FLAGS]; |
643 | CC = BITTST(r7,TIF_SYSCALL_TRACE); | 636 | CC = BITTST(r7,TIF_SYSCALL_TRACE); |
644 | if CC JUMP _sys_trace; | 637 | if CC JUMP _sys_trace; |
638 | CC = BITTST(r7,TIF_SINGLESTEP); | ||
639 | if CC JUMP _sys_trace; | ||
640 | |||
641 | /* Make sure the system call # is valid */ | ||
642 | p4 = __NR_syscall; | ||
643 | /* System call number is passed in P0 */ | ||
644 | cc = p4 <= p0; | ||
645 | if cc jump .Lbadsys; | ||
645 | 646 | ||
646 | /* Execute the appropriate system call */ | 647 | /* Execute the appropriate system call */ |
647 | 648 | ||
@@ -704,7 +705,7 @@ ENTRY(_system_call) | |||
704 | sp += 4; | 705 | sp += 4; |
705 | 706 | ||
706 | SP += -12; | 707 | SP += -12; |
707 | call _schedule; | 708 | pseudo_long_call _schedule, p4; |
708 | SP += 12; | 709 | SP += 12; |
709 | 710 | ||
710 | jump .Lresume_userspace_1; | 711 | jump .Lresume_userspace_1; |
@@ -723,7 +724,7 @@ ENTRY(_system_call) | |||
723 | 724 | ||
724 | r0 = sp; | 725 | r0 = sp; |
725 | SP += -12; | 726 | SP += -12; |
726 | call _do_notify_resume; | 727 | pseudo_long_call _do_notify_resume, p5; |
727 | SP += 12; | 728 | SP += 12; |
728 | 729 | ||
729 | .Lsyscall_really_exit: | 730 | .Lsyscall_really_exit: |
@@ -736,11 +737,17 @@ ENDPROC(_system_call) | |||
736 | * this symbol need not be global anyways, so ... | 737 | * this symbol need not be global anyways, so ... |
737 | */ | 738 | */ |
738 | _sys_trace: | 739 | _sys_trace: |
739 | call _syscall_trace; | 740 | r0 = sp; |
740 | 741 | pseudo_long_call _syscall_trace_enter, p5; | |
741 | /* Execute the appropriate system call */ | ||
742 | 742 | ||
743 | /* Make sure the system call # is valid */ | ||
743 | p4 = [SP + PT_P0]; | 744 | p4 = [SP + PT_P0]; |
745 | p3 = __NR_syscall; | ||
746 | cc = p3 <= p4; | ||
747 | r0 = -ENOSYS; | ||
748 | if cc jump .Lsys_trace_badsys; | ||
749 | |||
750 | /* Execute the appropriate system call */ | ||
744 | p5.l = _sys_call_table; | 751 | p5.l = _sys_call_table; |
745 | p5.h = _sys_call_table; | 752 | p5.h = _sys_call_table; |
746 | p5 = p5 + (p4 << 2); | 753 | p5 = p5 + (p4 << 2); |
@@ -758,9 +765,11 @@ _sys_trace: | |||
758 | SP += -12; | 765 | SP += -12; |
759 | call (p5); | 766 | call (p5); |
760 | SP += 24; | 767 | SP += 24; |
768 | .Lsys_trace_badsys: | ||
761 | [sp + PT_R0] = r0; | 769 | [sp + PT_R0] = r0; |
762 | 770 | ||
763 | call _syscall_trace; | 771 | r0 = sp; |
772 | pseudo_long_call _syscall_trace_leave, p5; | ||
764 | jump .Lresume_userspace; | 773 | jump .Lresume_userspace; |
765 | ENDPROC(_sys_trace) | 774 | ENDPROC(_sys_trace) |
766 | 775 | ||
@@ -966,6 +975,13 @@ ENTRY(_evt_evt14) | |||
966 | #else | 975 | #else |
967 | cli r0; | 976 | cli r0; |
968 | #endif | 977 | #endif |
978 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
979 | [--sp] = rets; | ||
980 | sp += -12; | ||
981 | call _trace_hardirqs_off; | ||
982 | sp += 12; | ||
983 | rets = [sp++]; | ||
984 | #endif | ||
969 | [--sp] = RETI; | 985 | [--sp] = RETI; |
970 | SP += 4; | 986 | SP += 4; |
971 | rts; | 987 | rts; |
@@ -989,6 +1005,14 @@ ENTRY(_schedule_and_signal_from_int) | |||
989 | p1 = rets; | 1005 | p1 = rets; |
990 | [sp + PT_RESERVED] = p1; | 1006 | [sp + PT_RESERVED] = p1; |
991 | 1007 | ||
1008 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
1009 | /* trace_hardirqs_on() checks if all irqs are disabled. But here IRQ 15 | ||
1010 | * is turned on, so disable all irqs. */ | ||
1011 | cli r0; | ||
1012 | sp += -12; | ||
1013 | call _trace_hardirqs_on; | ||
1014 | sp += 12; | ||
1015 | #endif | ||
992 | #ifdef CONFIG_SMP | 1016 | #ifdef CONFIG_SMP |
993 | GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */ | 1017 | GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */ |
994 | r0 = [p0 + PDA_IRQFLAGS]; | 1018 | r0 = [p0 + PDA_IRQFLAGS]; |
@@ -1007,7 +1031,8 @@ ENTRY(_schedule_and_signal_from_int) | |||
1007 | 1031 | ||
1008 | r0 = sp; | 1032 | r0 = sp; |
1009 | sp += -12; | 1033 | sp += -12; |
1010 | call _finish_atomic_sections; | 1034 | |
1035 | pseudo_long_call _finish_atomic_sections, p5; | ||
1011 | sp += 12; | 1036 | sp += 12; |
1012 | jump.s .Lresume_userspace; | 1037 | jump.s .Lresume_userspace; |
1013 | ENDPROC(_schedule_and_signal_from_int) | 1038 | ENDPROC(_schedule_and_signal_from_int) |
@@ -1357,7 +1382,7 @@ ENTRY(_sys_call_table) | |||
1357 | .long _sys_newuname | 1382 | .long _sys_newuname |
1358 | .long _sys_ni_syscall /* old sys_modify_ldt */ | 1383 | .long _sys_ni_syscall /* old sys_modify_ldt */ |
1359 | .long _sys_adjtimex | 1384 | .long _sys_adjtimex |
1360 | .long _sys_ni_syscall /* 125 */ /* sys_mprotect */ | 1385 | .long _sys_mprotect /* 125 */ |
1361 | .long _sys_ni_syscall /* old sys_sigprocmask */ | 1386 | .long _sys_ni_syscall /* old sys_sigprocmask */ |
1362 | .long _sys_ni_syscall /* old "creat_module" */ | 1387 | .long _sys_ni_syscall /* old "creat_module" */ |
1363 | .long _sys_init_module | 1388 | .long _sys_init_module |
@@ -1376,16 +1401,16 @@ ENTRY(_sys_call_table) | |||
1376 | .long _sys_getdents | 1401 | .long _sys_getdents |
1377 | .long _sys_ni_syscall /* sys_select */ | 1402 | .long _sys_ni_syscall /* sys_select */ |
1378 | .long _sys_flock | 1403 | .long _sys_flock |
1379 | .long _sys_ni_syscall /* sys_msync */ | 1404 | .long _sys_msync |
1380 | .long _sys_readv /* 145 */ | 1405 | .long _sys_readv /* 145 */ |
1381 | .long _sys_writev | 1406 | .long _sys_writev |
1382 | .long _sys_getsid | 1407 | .long _sys_getsid |
1383 | .long _sys_fdatasync | 1408 | .long _sys_fdatasync |
1384 | .long _sys_sysctl | 1409 | .long _sys_sysctl |
1385 | .long _sys_ni_syscall /* 150 */ /* sys_mlock */ | 1410 | .long _sys_mlock /* 150 */ |
1386 | .long _sys_ni_syscall /* sys_munlock */ | 1411 | .long _sys_munlock |
1387 | .long _sys_ni_syscall /* sys_mlockall */ | 1412 | .long _sys_mlockall |
1388 | .long _sys_ni_syscall /* sys_munlockall */ | 1413 | .long _sys_munlockall |
1389 | .long _sys_sched_setparam | 1414 | .long _sys_sched_setparam |
1390 | .long _sys_sched_getparam /* 155 */ | 1415 | .long _sys_sched_getparam /* 155 */ |
1391 | .long _sys_sched_setscheduler | 1416 | .long _sys_sched_setscheduler |
@@ -1450,8 +1475,8 @@ ENTRY(_sys_call_table) | |||
1450 | .long _sys_setfsuid /* 215 */ | 1475 | .long _sys_setfsuid /* 215 */ |
1451 | .long _sys_setfsgid | 1476 | .long _sys_setfsgid |
1452 | .long _sys_pivot_root | 1477 | .long _sys_pivot_root |
1453 | .long _sys_ni_syscall /* sys_mincore */ | 1478 | .long _sys_mincore |
1454 | .long _sys_ni_syscall /* sys_madvise */ | 1479 | .long _sys_madvise |
1455 | .long _sys_getdents64 /* 220 */ | 1480 | .long _sys_getdents64 /* 220 */ |
1456 | .long _sys_fcntl64 | 1481 | .long _sys_fcntl64 |
1457 | .long _sys_ni_syscall /* reserved for TUX */ | 1482 | .long _sys_ni_syscall /* reserved for TUX */ |
@@ -1507,7 +1532,7 @@ ENTRY(_sys_call_table) | |||
1507 | .long _sys_utimes | 1532 | .long _sys_utimes |
1508 | .long _sys_fadvise64_64 | 1533 | .long _sys_fadvise64_64 |
1509 | .long _sys_ni_syscall /* vserver */ | 1534 | .long _sys_ni_syscall /* vserver */ |
1510 | .long _sys_ni_syscall /* 275, mbind */ | 1535 | .long _sys_mbind /* 275 */ |
1511 | .long _sys_ni_syscall /* get_mempolicy */ | 1536 | .long _sys_ni_syscall /* get_mempolicy */ |
1512 | .long _sys_ni_syscall /* set_mempolicy */ | 1537 | .long _sys_ni_syscall /* set_mempolicy */ |
1513 | .long _sys_mq_open | 1538 | .long _sys_mq_open |
diff --git a/arch/blackfin/mach-common/head.S b/arch/blackfin/mach-common/head.S index cab0a0031eee..4391621d9048 100644 --- a/arch/blackfin/mach-common/head.S +++ b/arch/blackfin/mach-common/head.S | |||
@@ -144,8 +144,8 @@ ENTRY(__start) | |||
144 | #endif | 144 | #endif |
145 | 145 | ||
146 | /* Initialize stack pointer */ | 146 | /* Initialize stack pointer */ |
147 | sp.l = _init_thread_union; | 147 | sp.l = _init_thread_union + THREAD_SIZE; |
148 | sp.h = _init_thread_union; | 148 | sp.h = _init_thread_union + THREAD_SIZE; |
149 | fp = sp; | 149 | fp = sp; |
150 | usp = sp; | 150 | usp = sp; |
151 | 151 | ||
@@ -186,6 +186,11 @@ ENTRY(__start) | |||
186 | 186 | ||
187 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ | 187 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ |
188 | call _bfin_relocate_l1_mem; | 188 | call _bfin_relocate_l1_mem; |
189 | |||
190 | #ifdef CONFIG_ROMKERNEL | ||
191 | call _bfin_relocate_xip_data; | ||
192 | #endif | ||
193 | |||
189 | #ifdef CONFIG_BFIN_KERNEL_CLOCK | 194 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
190 | /* Only use on-chip scratch space for stack when absolutely required | 195 | /* Only use on-chip scratch space for stack when absolutely required |
191 | * to avoid Anomaly 05000227 ... we know the init_clocks() func only | 196 | * to avoid Anomaly 05000227 ... we know the init_clocks() func only |
@@ -257,12 +262,7 @@ ENTRY(_real_start) | |||
257 | R0 = R7; | 262 | R0 = R7; |
258 | call _cmdline_init; | 263 | call _cmdline_init; |
259 | 264 | ||
260 | /* Load the current thread pointer and stack */ | 265 | sp += -12 + 4; /* +4 is for reti loading above */ |
261 | p1 = THREAD_SIZE + 4 (z); /* +4 is for reti loading */ | ||
262 | sp = sp + p1; | ||
263 | usp = sp; | ||
264 | fp = sp; | ||
265 | sp += -12; | ||
266 | call _init_pda | 266 | call _init_pda |
267 | sp += 12; | 267 | sp += 12; |
268 | jump.l _start_kernel; | 268 | jump.l _start_kernel; |
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S index 8085ff1cce00..cee62cf4acd4 100644 --- a/arch/blackfin/mach-common/interrupt.S +++ b/arch/blackfin/mach-common/interrupt.S | |||
@@ -88,6 +88,13 @@ __common_int_entry: | |||
88 | #else | 88 | #else |
89 | cli r1; | 89 | cli r1; |
90 | #endif | 90 | #endif |
91 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
92 | [--sp] = r0; | ||
93 | sp += -12; | ||
94 | call _trace_hardirqs_off; | ||
95 | sp += 12; | ||
96 | r0 = [sp++]; | ||
97 | #endif | ||
91 | [--sp] = RETI; /* orig_pc */ | 98 | [--sp] = RETI; /* orig_pc */ |
92 | /* Clear all L registers. */ | 99 | /* Clear all L registers. */ |
93 | r1 = 0 (x); | 100 | r1 = 0 (x); |
@@ -109,10 +116,10 @@ __common_int_entry: | |||
109 | cc = r0 == 0; | 116 | cc = r0 == 0; |
110 | if cc jump .Lcommon_restore_context; | 117 | if cc jump .Lcommon_restore_context; |
111 | #else /* CONFIG_IPIPE */ | 118 | #else /* CONFIG_IPIPE */ |
112 | call _do_irq; | 119 | pseudo_long_call _do_irq, p2; |
113 | SP += 12; | 120 | SP += 12; |
114 | #endif /* CONFIG_IPIPE */ | 121 | #endif /* CONFIG_IPIPE */ |
115 | call _return_from_int; | 122 | pseudo_long_call _return_from_int, p2; |
116 | .Lcommon_restore_context: | 123 | .Lcommon_restore_context: |
117 | RESTORE_CONTEXT | 124 | RESTORE_CONTEXT |
118 | rti; | 125 | rti; |
@@ -168,7 +175,7 @@ ENTRY(_evt_ivhw) | |||
168 | 175 | ||
169 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ | 176 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ |
170 | SP += -12; | 177 | SP += -12; |
171 | call _trap_c; | 178 | pseudo_long_call _trap_c, p5; |
172 | SP += 12; | 179 | SP += 12; |
173 | 180 | ||
174 | #ifdef EBIU_ERRMST | 181 | #ifdef EBIU_ERRMST |
@@ -179,7 +186,7 @@ ENTRY(_evt_ivhw) | |||
179 | w[p0] = r0.l; | 186 | w[p0] = r0.l; |
180 | #endif | 187 | #endif |
181 | 188 | ||
182 | call _ret_from_exception; | 189 | pseudo_long_call _ret_from_exception, p2; |
183 | 190 | ||
184 | .Lcommon_restore_all_sys: | 191 | .Lcommon_restore_all_sys: |
185 | RESTORE_ALL_SYS | 192 | RESTORE_ALL_SYS |
@@ -187,12 +194,28 @@ ENTRY(_evt_ivhw) | |||
187 | ENDPROC(_evt_ivhw) | 194 | ENDPROC(_evt_ivhw) |
188 | 195 | ||
189 | /* Interrupt routine for evt2 (NMI). | 196 | /* Interrupt routine for evt2 (NMI). |
190 | * We don't actually use this, so just return. | ||
191 | * For inner circle type details, please see: | 197 | * For inner circle type details, please see: |
192 | * http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:nmi | 198 | * http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:nmi |
193 | */ | 199 | */ |
194 | ENTRY(_evt_nmi) | 200 | ENTRY(_evt_nmi) |
201 | #ifndef CONFIG_NMI_WATCHDOG | ||
195 | .weak _evt_nmi | 202 | .weak _evt_nmi |
203 | #else | ||
204 | /* Not take account of CPLBs, this handler will not return */ | ||
205 | SAVE_ALL_SYS | ||
206 | r0 = sp; | ||
207 | r1 = retn; | ||
208 | [sp + PT_PC] = r1; | ||
209 | trace_buffer_save(p4,r5); | ||
210 | |||
211 | ANOMALY_283_315_WORKAROUND(p4, r5) | ||
212 | |||
213 | SP += -12; | ||
214 | call _do_nmi; | ||
215 | SP += 12; | ||
216 | 1: | ||
217 | jump 1b; | ||
218 | #endif | ||
196 | rtn; | 219 | rtn; |
197 | ENDPROC(_evt_nmi) | 220 | ENDPROC(_evt_nmi) |
198 | 221 | ||
@@ -223,7 +246,7 @@ ENTRY(_evt_system_call) | |||
223 | #ifdef CONFIG_FRAME_POINTER | 246 | #ifdef CONFIG_FRAME_POINTER |
224 | fp = 0; | 247 | fp = 0; |
225 | #endif | 248 | #endif |
226 | call _system_call; | 249 | pseudo_long_call _system_call, p2; |
227 | jump .Lcommon_restore_context; | 250 | jump .Lcommon_restore_context; |
228 | ENDPROC(_evt_system_call) | 251 | ENDPROC(_evt_system_call) |
229 | 252 | ||
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index 1873b2c1fede..7ad8878bfa18 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/dpmc.h> | 28 | #include <asm/dpmc.h> |
29 | #include <asm/bfin5xx_spi.h> | 29 | #include <asm/bfin5xx_spi.h> |
30 | #include <asm/bfin_sport.h> | 30 | #include <asm/bfin_sport.h> |
31 | #include <asm/bfin_can.h> | ||
31 | 32 | ||
32 | #define SIC_SYSIRQ(irq) (irq - (IRQ_CORETMR + 1)) | 33 | #define SIC_SYSIRQ(irq) (irq - (IRQ_CORETMR + 1)) |
33 | 34 | ||
@@ -172,7 +173,12 @@ static void bfin_internal_mask_irq(unsigned int irq) | |||
172 | local_irq_restore_hw(flags); | 173 | local_irq_restore_hw(flags); |
173 | } | 174 | } |
174 | 175 | ||
176 | #ifdef CONFIG_SMP | ||
177 | static void bfin_internal_unmask_irq_affinity(unsigned int irq, | ||
178 | const struct cpumask *affinity) | ||
179 | #else | ||
175 | static void bfin_internal_unmask_irq(unsigned int irq) | 180 | static void bfin_internal_unmask_irq(unsigned int irq) |
181 | #endif | ||
176 | { | 182 | { |
177 | unsigned long flags; | 183 | unsigned long flags; |
178 | 184 | ||
@@ -185,16 +191,38 @@ static void bfin_internal_unmask_irq(unsigned int irq) | |||
185 | local_irq_save_hw(flags); | 191 | local_irq_save_hw(flags); |
186 | mask_bank = SIC_SYSIRQ(irq) / 32; | 192 | mask_bank = SIC_SYSIRQ(irq) / 32; |
187 | mask_bit = SIC_SYSIRQ(irq) % 32; | 193 | mask_bit = SIC_SYSIRQ(irq) % 32; |
188 | bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) | | ||
189 | (1 << mask_bit)); | ||
190 | #ifdef CONFIG_SMP | 194 | #ifdef CONFIG_SMP |
191 | bfin_write_SICB_IMASK(mask_bank, bfin_read_SICB_IMASK(mask_bank) | | 195 | if (cpumask_test_cpu(0, affinity)) |
192 | (1 << mask_bit)); | 196 | #endif |
197 | bfin_write_SIC_IMASK(mask_bank, | ||
198 | bfin_read_SIC_IMASK(mask_bank) | | ||
199 | (1 << mask_bit)); | ||
200 | #ifdef CONFIG_SMP | ||
201 | if (cpumask_test_cpu(1, affinity)) | ||
202 | bfin_write_SICB_IMASK(mask_bank, | ||
203 | bfin_read_SICB_IMASK(mask_bank) | | ||
204 | (1 << mask_bit)); | ||
193 | #endif | 205 | #endif |
194 | #endif | 206 | #endif |
195 | local_irq_restore_hw(flags); | 207 | local_irq_restore_hw(flags); |
196 | } | 208 | } |
197 | 209 | ||
210 | #ifdef CONFIG_SMP | ||
211 | static void bfin_internal_unmask_irq(unsigned int irq) | ||
212 | { | ||
213 | struct irq_desc *desc = irq_to_desc(irq); | ||
214 | bfin_internal_unmask_irq_affinity(irq, desc->affinity); | ||
215 | } | ||
216 | |||
217 | static int bfin_internal_set_affinity(unsigned int irq, const struct cpumask *mask) | ||
218 | { | ||
219 | bfin_internal_mask_irq(irq); | ||
220 | bfin_internal_unmask_irq_affinity(irq, mask); | ||
221 | |||
222 | return 0; | ||
223 | } | ||
224 | #endif | ||
225 | |||
198 | #ifdef CONFIG_PM | 226 | #ifdef CONFIG_PM |
199 | int bfin_internal_set_wake(unsigned int irq, unsigned int state) | 227 | int bfin_internal_set_wake(unsigned int irq, unsigned int state) |
200 | { | 228 | { |
@@ -224,11 +252,6 @@ int bfin_internal_set_wake(unsigned int irq, unsigned int state) | |||
224 | wakeup |= USBWE; | 252 | wakeup |= USBWE; |
225 | break; | 253 | break; |
226 | #endif | 254 | #endif |
227 | #ifdef IRQ_KEY | ||
228 | case IRQ_KEY: | ||
229 | wakeup |= KPADWE; | ||
230 | break; | ||
231 | #endif | ||
232 | #ifdef CONFIG_BF54x | 255 | #ifdef CONFIG_BF54x |
233 | case IRQ_CNT: | 256 | case IRQ_CNT: |
234 | wakeup |= ROTWE; | 257 | wakeup |= ROTWE; |
@@ -270,6 +293,9 @@ static struct irq_chip bfin_internal_irqchip = { | |||
270 | .mask_ack = bfin_internal_mask_irq, | 293 | .mask_ack = bfin_internal_mask_irq, |
271 | .disable = bfin_internal_mask_irq, | 294 | .disable = bfin_internal_mask_irq, |
272 | .enable = bfin_internal_unmask_irq, | 295 | .enable = bfin_internal_unmask_irq, |
296 | #ifdef CONFIG_SMP | ||
297 | .set_affinity = bfin_internal_set_affinity, | ||
298 | #endif | ||
273 | #ifdef CONFIG_PM | 299 | #ifdef CONFIG_PM |
274 | .set_wake = bfin_internal_set_wake, | 300 | .set_wake = bfin_internal_set_wake, |
275 | #endif | 301 | #endif |
@@ -294,7 +320,6 @@ static int error_int_mask; | |||
294 | static void bfin_generic_error_mask_irq(unsigned int irq) | 320 | static void bfin_generic_error_mask_irq(unsigned int irq) |
295 | { | 321 | { |
296 | error_int_mask &= ~(1L << (irq - IRQ_PPI_ERROR)); | 322 | error_int_mask &= ~(1L << (irq - IRQ_PPI_ERROR)); |
297 | |||
298 | if (!error_int_mask) | 323 | if (!error_int_mask) |
299 | bfin_internal_mask_irq(IRQ_GENERIC_ERROR); | 324 | bfin_internal_mask_irq(IRQ_GENERIC_ERROR); |
300 | } | 325 | } |
@@ -385,6 +410,127 @@ static void bfin_demux_error_irq(unsigned int int_err_irq, | |||
385 | } | 410 | } |
386 | #endif /* BF537_GENERIC_ERROR_INT_DEMUX */ | 411 | #endif /* BF537_GENERIC_ERROR_INT_DEMUX */ |
387 | 412 | ||
413 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
414 | static int mac_stat_int_mask; | ||
415 | |||
416 | static void bfin_mac_status_ack_irq(unsigned int irq) | ||
417 | { | ||
418 | switch (irq) { | ||
419 | case IRQ_MAC_MMCINT: | ||
420 | bfin_write_EMAC_MMC_TIRQS( | ||
421 | bfin_read_EMAC_MMC_TIRQE() & | ||
422 | bfin_read_EMAC_MMC_TIRQS()); | ||
423 | bfin_write_EMAC_MMC_RIRQS( | ||
424 | bfin_read_EMAC_MMC_RIRQE() & | ||
425 | bfin_read_EMAC_MMC_RIRQS()); | ||
426 | break; | ||
427 | case IRQ_MAC_RXFSINT: | ||
428 | bfin_write_EMAC_RX_STKY( | ||
429 | bfin_read_EMAC_RX_IRQE() & | ||
430 | bfin_read_EMAC_RX_STKY()); | ||
431 | break; | ||
432 | case IRQ_MAC_TXFSINT: | ||
433 | bfin_write_EMAC_TX_STKY( | ||
434 | bfin_read_EMAC_TX_IRQE() & | ||
435 | bfin_read_EMAC_TX_STKY()); | ||
436 | break; | ||
437 | case IRQ_MAC_WAKEDET: | ||
438 | bfin_write_EMAC_WKUP_CTL( | ||
439 | bfin_read_EMAC_WKUP_CTL() | MPKS | RWKS); | ||
440 | break; | ||
441 | default: | ||
442 | /* These bits are W1C */ | ||
443 | bfin_write_EMAC_SYSTAT(1L << (irq - IRQ_MAC_PHYINT)); | ||
444 | break; | ||
445 | } | ||
446 | } | ||
447 | |||
448 | static void bfin_mac_status_mask_irq(unsigned int irq) | ||
449 | { | ||
450 | mac_stat_int_mask &= ~(1L << (irq - IRQ_MAC_PHYINT)); | ||
451 | #ifdef BF537_GENERIC_ERROR_INT_DEMUX | ||
452 | switch (irq) { | ||
453 | case IRQ_MAC_PHYINT: | ||
454 | bfin_write_EMAC_SYSCTL(bfin_read_EMAC_SYSCTL() & ~PHYIE); | ||
455 | break; | ||
456 | default: | ||
457 | break; | ||
458 | } | ||
459 | #else | ||
460 | if (!mac_stat_int_mask) | ||
461 | bfin_internal_mask_irq(IRQ_MAC_ERROR); | ||
462 | #endif | ||
463 | bfin_mac_status_ack_irq(irq); | ||
464 | } | ||
465 | |||
466 | static void bfin_mac_status_unmask_irq(unsigned int irq) | ||
467 | { | ||
468 | #ifdef BF537_GENERIC_ERROR_INT_DEMUX | ||
469 | switch (irq) { | ||
470 | case IRQ_MAC_PHYINT: | ||
471 | bfin_write_EMAC_SYSCTL(bfin_read_EMAC_SYSCTL() | PHYIE); | ||
472 | break; | ||
473 | default: | ||
474 | break; | ||
475 | } | ||
476 | #else | ||
477 | if (!mac_stat_int_mask) | ||
478 | bfin_internal_unmask_irq(IRQ_MAC_ERROR); | ||
479 | #endif | ||
480 | mac_stat_int_mask |= 1L << (irq - IRQ_MAC_PHYINT); | ||
481 | } | ||
482 | |||
483 | #ifdef CONFIG_PM | ||
484 | int bfin_mac_status_set_wake(unsigned int irq, unsigned int state) | ||
485 | { | ||
486 | #ifdef BF537_GENERIC_ERROR_INT_DEMUX | ||
487 | return bfin_internal_set_wake(IRQ_GENERIC_ERROR, state); | ||
488 | #else | ||
489 | return bfin_internal_set_wake(IRQ_MAC_ERROR, state); | ||
490 | #endif | ||
491 | } | ||
492 | #endif | ||
493 | |||
494 | static struct irq_chip bfin_mac_status_irqchip = { | ||
495 | .name = "MACST", | ||
496 | .ack = bfin_ack_noop, | ||
497 | .mask_ack = bfin_mac_status_mask_irq, | ||
498 | .mask = bfin_mac_status_mask_irq, | ||
499 | .unmask = bfin_mac_status_unmask_irq, | ||
500 | #ifdef CONFIG_PM | ||
501 | .set_wake = bfin_mac_status_set_wake, | ||
502 | #endif | ||
503 | }; | ||
504 | |||
505 | static void bfin_demux_mac_status_irq(unsigned int int_err_irq, | ||
506 | struct irq_desc *inta_desc) | ||
507 | { | ||
508 | int i, irq = 0; | ||
509 | u32 status = bfin_read_EMAC_SYSTAT(); | ||
510 | |||
511 | for (i = 0; i < (IRQ_MAC_STMDONE - IRQ_MAC_PHYINT); i++) | ||
512 | if (status & (1L << i)) { | ||
513 | irq = IRQ_MAC_PHYINT + i; | ||
514 | break; | ||
515 | } | ||
516 | |||
517 | if (irq) { | ||
518 | if (mac_stat_int_mask & (1L << (irq - IRQ_MAC_PHYINT))) { | ||
519 | bfin_handle_irq(irq); | ||
520 | } else { | ||
521 | bfin_mac_status_ack_irq(irq); | ||
522 | pr_debug("IRQ %d:" | ||
523 | " MASKED MAC ERROR INTERRUPT ASSERTED\n", | ||
524 | irq); | ||
525 | } | ||
526 | } else | ||
527 | printk(KERN_ERR | ||
528 | "%s : %s : LINE %d :\nIRQ ?: MAC ERROR" | ||
529 | " INTERRUPT ASSERTED BUT NO SOURCE FOUND\n", | ||
530 | __func__, __FILE__, __LINE__); | ||
531 | } | ||
532 | #endif | ||
533 | |||
388 | static inline void bfin_set_irq_handler(unsigned irq, irq_flow_handler_t handle) | 534 | static inline void bfin_set_irq_handler(unsigned irq, irq_flow_handler_t handle) |
389 | { | 535 | { |
390 | #ifdef CONFIG_IPIPE | 536 | #ifdef CONFIG_IPIPE |
@@ -1031,7 +1177,6 @@ int __init init_arch_irq(void) | |||
1031 | #elif defined(CONFIG_BF538) || defined(CONFIG_BF539) | 1177 | #elif defined(CONFIG_BF538) || defined(CONFIG_BF539) |
1032 | case IRQ_PORTF_INTA: | 1178 | case IRQ_PORTF_INTA: |
1033 | #endif | 1179 | #endif |
1034 | |||
1035 | set_irq_chained_handler(irq, | 1180 | set_irq_chained_handler(irq, |
1036 | bfin_demux_gpio_irq); | 1181 | bfin_demux_gpio_irq); |
1037 | break; | 1182 | break; |
@@ -1040,29 +1185,36 @@ int __init init_arch_irq(void) | |||
1040 | set_irq_chained_handler(irq, bfin_demux_error_irq); | 1185 | set_irq_chained_handler(irq, bfin_demux_error_irq); |
1041 | break; | 1186 | break; |
1042 | #endif | 1187 | #endif |
1043 | 1188 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | |
1044 | #ifdef CONFIG_SMP | 1189 | case IRQ_MAC_ERROR: |
1045 | #ifdef CONFIG_TICKSOURCE_GPTMR0 | 1190 | set_irq_chained_handler(irq, bfin_demux_mac_status_irq); |
1046 | case IRQ_TIMER0: | 1191 | break; |
1047 | #endif | ||
1048 | #ifdef CONFIG_TICKSOURCE_CORETMR | ||
1049 | case IRQ_CORETMR: | ||
1050 | #endif | 1192 | #endif |
1193 | #ifdef CONFIG_SMP | ||
1051 | case IRQ_SUPPLE_0: | 1194 | case IRQ_SUPPLE_0: |
1052 | case IRQ_SUPPLE_1: | 1195 | case IRQ_SUPPLE_1: |
1053 | set_irq_handler(irq, handle_percpu_irq); | 1196 | set_irq_handler(irq, handle_percpu_irq); |
1054 | break; | 1197 | break; |
1055 | #endif | 1198 | #endif |
1056 | 1199 | ||
1057 | #ifdef CONFIG_IPIPE | 1200 | #ifdef CONFIG_TICKSOURCE_CORETMR |
1058 | #ifndef CONFIG_TICKSOURCE_CORETMR | 1201 | case IRQ_CORETMR: |
1059 | case IRQ_TIMER0: | 1202 | # ifdef CONFIG_SMP |
1203 | set_irq_handler(irq, handle_percpu_irq); | ||
1204 | break; | ||
1205 | # else | ||
1060 | set_irq_handler(irq, handle_simple_irq); | 1206 | set_irq_handler(irq, handle_simple_irq); |
1061 | break; | 1207 | break; |
1208 | # endif | ||
1062 | #endif | 1209 | #endif |
1063 | case IRQ_CORETMR: | 1210 | |
1211 | #ifdef CONFIG_TICKSOURCE_GPTMR0 | ||
1212 | case IRQ_TIMER0: | ||
1064 | set_irq_handler(irq, handle_simple_irq); | 1213 | set_irq_handler(irq, handle_simple_irq); |
1065 | break; | 1214 | break; |
1215 | #endif | ||
1216 | |||
1217 | #ifdef CONFIG_IPIPE | ||
1066 | default: | 1218 | default: |
1067 | set_irq_handler(irq, handle_level_irq); | 1219 | set_irq_handler(irq, handle_level_irq); |
1068 | break; | 1220 | break; |
@@ -1078,14 +1230,22 @@ int __init init_arch_irq(void) | |||
1078 | for (irq = IRQ_PPI_ERROR; irq <= IRQ_UART1_ERROR; irq++) | 1230 | for (irq = IRQ_PPI_ERROR; irq <= IRQ_UART1_ERROR; irq++) |
1079 | set_irq_chip_and_handler(irq, &bfin_generic_error_irqchip, | 1231 | set_irq_chip_and_handler(irq, &bfin_generic_error_irqchip, |
1080 | handle_level_irq); | 1232 | handle_level_irq); |
1233 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
1234 | set_irq_chained_handler(IRQ_MAC_ERROR, bfin_demux_mac_status_irq); | ||
1235 | #endif | ||
1081 | #endif | 1236 | #endif |
1082 | 1237 | ||
1238 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
1239 | for (irq = IRQ_MAC_PHYINT; irq <= IRQ_MAC_STMDONE; irq++) | ||
1240 | set_irq_chip_and_handler(irq, &bfin_mac_status_irqchip, | ||
1241 | handle_level_irq); | ||
1242 | #endif | ||
1083 | /* if configured as edge, then will be changed to do_edge_IRQ */ | 1243 | /* if configured as edge, then will be changed to do_edge_IRQ */ |
1084 | for (irq = GPIO_IRQ_BASE; irq < NR_IRQS; irq++) | 1244 | for (irq = GPIO_IRQ_BASE; |
1245 | irq < (GPIO_IRQ_BASE + MAX_BLACKFIN_GPIOS); irq++) | ||
1085 | set_irq_chip_and_handler(irq, &bfin_gpio_irqchip, | 1246 | set_irq_chip_and_handler(irq, &bfin_gpio_irqchip, |
1086 | handle_level_irq); | 1247 | handle_level_irq); |
1087 | 1248 | ||
1088 | |||
1089 | bfin_write_IMASK(0); | 1249 | bfin_write_IMASK(0); |
1090 | CSYNC(); | 1250 | CSYNC(); |
1091 | ilat = bfin_read_ILAT(); | 1251 | ilat = bfin_read_ILAT(); |
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index 369e687582b7..7803f22d2ca7 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -122,9 +122,17 @@ static void ipi_call_function(unsigned int cpu, struct ipi_message *msg) | |||
122 | wait = msg->call_struct.wait; | 122 | wait = msg->call_struct.wait; |
123 | cpu_clear(cpu, msg->call_struct.pending); | 123 | cpu_clear(cpu, msg->call_struct.pending); |
124 | func(info); | 124 | func(info); |
125 | if (wait) | 125 | if (wait) { |
126 | #ifdef __ARCH_SYNC_CORE_DCACHE | ||
127 | /* | ||
128 | * 'wait' usually means synchronization between CPUs. | ||
129 | * Invalidate D cache in case shared data was changed | ||
130 | * by func() to ensure cache coherence. | ||
131 | */ | ||
132 | resync_core_dcache(); | ||
133 | #endif | ||
126 | cpu_clear(cpu, msg->call_struct.waitmask); | 134 | cpu_clear(cpu, msg->call_struct.waitmask); |
127 | else | 135 | } else |
128 | kfree(msg); | 136 | kfree(msg); |
129 | } | 137 | } |
130 | 138 | ||
@@ -219,6 +227,13 @@ int smp_call_function(void (*func)(void *info), void *info, int wait) | |||
219 | blackfin_dcache_invalidate_range( | 227 | blackfin_dcache_invalidate_range( |
220 | (unsigned long)(&msg->call_struct.waitmask), | 228 | (unsigned long)(&msg->call_struct.waitmask), |
221 | (unsigned long)(&msg->call_struct.waitmask)); | 229 | (unsigned long)(&msg->call_struct.waitmask)); |
230 | #ifdef __ARCH_SYNC_CORE_DCACHE | ||
231 | /* | ||
232 | * Invalidate D cache in case shared data was changed by | ||
233 | * other processors to ensure cache coherence. | ||
234 | */ | ||
235 | resync_core_dcache(); | ||
236 | #endif | ||
222 | kfree(msg); | 237 | kfree(msg); |
223 | } | 238 | } |
224 | return 0; | 239 | return 0; |
@@ -261,6 +276,13 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, | |||
261 | blackfin_dcache_invalidate_range( | 276 | blackfin_dcache_invalidate_range( |
262 | (unsigned long)(&msg->call_struct.waitmask), | 277 | (unsigned long)(&msg->call_struct.waitmask), |
263 | (unsigned long)(&msg->call_struct.waitmask)); | 278 | (unsigned long)(&msg->call_struct.waitmask)); |
279 | #ifdef __ARCH_SYNC_CORE_DCACHE | ||
280 | /* | ||
281 | * Invalidate D cache in case shared data was changed by | ||
282 | * other processors to ensure cache coherence. | ||
283 | */ | ||
284 | resync_core_dcache(); | ||
285 | #endif | ||
264 | kfree(msg); | 286 | kfree(msg); |
265 | } | 287 | } |
266 | return 0; | 288 | return 0; |
@@ -322,8 +344,11 @@ void smp_send_stop(void) | |||
322 | 344 | ||
323 | int __cpuinit __cpu_up(unsigned int cpu) | 345 | int __cpuinit __cpu_up(unsigned int cpu) |
324 | { | 346 | { |
325 | struct task_struct *idle; | ||
326 | int ret; | 347 | int ret; |
348 | static struct task_struct *idle; | ||
349 | |||
350 | if (idle) | ||
351 | free_task(idle); | ||
327 | 352 | ||
328 | idle = fork_idle(cpu); | 353 | idle = fork_idle(cpu); |
329 | if (IS_ERR(idle)) { | 354 | if (IS_ERR(idle)) { |
@@ -332,7 +357,6 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
332 | } | 357 | } |
333 | 358 | ||
334 | secondary_stack = task_stack_page(idle) + THREAD_SIZE; | 359 | secondary_stack = task_stack_page(idle) + THREAD_SIZE; |
335 | smp_wmb(); | ||
336 | 360 | ||
337 | ret = platform_boot_secondary(cpu, idle); | 361 | ret = platform_boot_secondary(cpu, idle); |
338 | 362 | ||
@@ -343,9 +367,6 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
343 | 367 | ||
344 | static void __cpuinit setup_secondary(unsigned int cpu) | 368 | static void __cpuinit setup_secondary(unsigned int cpu) |
345 | { | 369 | { |
346 | #if !defined(CONFIG_TICKSOURCE_GPTMR0) | ||
347 | struct irq_desc *timer_desc; | ||
348 | #endif | ||
349 | unsigned long ilat; | 370 | unsigned long ilat; |
350 | 371 | ||
351 | bfin_write_IMASK(0); | 372 | bfin_write_IMASK(0); |
@@ -360,17 +381,6 @@ static void __cpuinit setup_secondary(unsigned int cpu) | |||
360 | bfin_irq_flags |= IMASK_IVG15 | | 381 | bfin_irq_flags |= IMASK_IVG15 | |
361 | IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 | | 382 | IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 | |
362 | IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | IMASK_IVGHW; | 383 | IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | IMASK_IVGHW; |
363 | |||
364 | #if defined(CONFIG_TICKSOURCE_GPTMR0) | ||
365 | /* Power down the core timer, just to play safe. */ | ||
366 | bfin_write_TCNTL(0); | ||
367 | |||
368 | /* system timer0 has been setup by CoreA. */ | ||
369 | #else | ||
370 | timer_desc = irq_desc + IRQ_CORETMR; | ||
371 | setup_core_timer(); | ||
372 | timer_desc->chip->enable(IRQ_CORETMR); | ||
373 | #endif | ||
374 | } | 384 | } |
375 | 385 | ||
376 | void __cpuinit secondary_start_kernel(void) | 386 | void __cpuinit secondary_start_kernel(void) |
@@ -405,7 +415,6 @@ void __cpuinit secondary_start_kernel(void) | |||
405 | atomic_inc(&mm->mm_users); | 415 | atomic_inc(&mm->mm_users); |
406 | atomic_inc(&mm->mm_count); | 416 | atomic_inc(&mm->mm_count); |
407 | current->active_mm = mm; | 417 | current->active_mm = mm; |
408 | BUG_ON(current->mm); /* Can't be, but better be safe than sorry. */ | ||
409 | 418 | ||
410 | preempt_disable(); | 419 | preempt_disable(); |
411 | 420 | ||
@@ -413,6 +422,9 @@ void __cpuinit secondary_start_kernel(void) | |||
413 | 422 | ||
414 | platform_secondary_init(cpu); | 423 | platform_secondary_init(cpu); |
415 | 424 | ||
425 | /* setup local core timer */ | ||
426 | bfin_local_timer_setup(); | ||
427 | |||
416 | local_irq_enable(); | 428 | local_irq_enable(); |
417 | 429 | ||
418 | /* | 430 | /* |
@@ -462,25 +474,58 @@ void smp_icache_flush_range_others(unsigned long start, unsigned long end) | |||
462 | EXPORT_SYMBOL_GPL(smp_icache_flush_range_others); | 474 | EXPORT_SYMBOL_GPL(smp_icache_flush_range_others); |
463 | 475 | ||
464 | #ifdef __ARCH_SYNC_CORE_ICACHE | 476 | #ifdef __ARCH_SYNC_CORE_ICACHE |
477 | unsigned long icache_invld_count[NR_CPUS]; | ||
465 | void resync_core_icache(void) | 478 | void resync_core_icache(void) |
466 | { | 479 | { |
467 | unsigned int cpu = get_cpu(); | 480 | unsigned int cpu = get_cpu(); |
468 | blackfin_invalidate_entire_icache(); | 481 | blackfin_invalidate_entire_icache(); |
469 | ++per_cpu(cpu_data, cpu).icache_invld_count; | 482 | icache_invld_count[cpu]++; |
470 | put_cpu(); | 483 | put_cpu(); |
471 | } | 484 | } |
472 | EXPORT_SYMBOL(resync_core_icache); | 485 | EXPORT_SYMBOL(resync_core_icache); |
473 | #endif | 486 | #endif |
474 | 487 | ||
475 | #ifdef __ARCH_SYNC_CORE_DCACHE | 488 | #ifdef __ARCH_SYNC_CORE_DCACHE |
489 | unsigned long dcache_invld_count[NR_CPUS]; | ||
476 | unsigned long barrier_mask __attribute__ ((__section__(".l2.bss"))); | 490 | unsigned long barrier_mask __attribute__ ((__section__(".l2.bss"))); |
477 | 491 | ||
478 | void resync_core_dcache(void) | 492 | void resync_core_dcache(void) |
479 | { | 493 | { |
480 | unsigned int cpu = get_cpu(); | 494 | unsigned int cpu = get_cpu(); |
481 | blackfin_invalidate_entire_dcache(); | 495 | blackfin_invalidate_entire_dcache(); |
482 | ++per_cpu(cpu_data, cpu).dcache_invld_count; | 496 | dcache_invld_count[cpu]++; |
483 | put_cpu(); | 497 | put_cpu(); |
484 | } | 498 | } |
485 | EXPORT_SYMBOL(resync_core_dcache); | 499 | EXPORT_SYMBOL(resync_core_dcache); |
486 | #endif | 500 | #endif |
501 | |||
502 | #ifdef CONFIG_HOTPLUG_CPU | ||
503 | int __cpuexit __cpu_disable(void) | ||
504 | { | ||
505 | unsigned int cpu = smp_processor_id(); | ||
506 | |||
507 | if (cpu == 0) | ||
508 | return -EPERM; | ||
509 | |||
510 | set_cpu_online(cpu, false); | ||
511 | return 0; | ||
512 | } | ||
513 | |||
514 | static DECLARE_COMPLETION(cpu_killed); | ||
515 | |||
516 | int __cpuexit __cpu_die(unsigned int cpu) | ||
517 | { | ||
518 | return wait_for_completion_timeout(&cpu_killed, 5000); | ||
519 | } | ||
520 | |||
521 | void cpu_die(void) | ||
522 | { | ||
523 | complete(&cpu_killed); | ||
524 | |||
525 | atomic_dec(&init_mm.mm_users); | ||
526 | atomic_dec(&init_mm.mm_count); | ||
527 | |||
528 | local_irq_disable(); | ||
529 | platform_cpu_die(); | ||
530 | } | ||
531 | #endif | ||
diff --git a/arch/blackfin/mm/isram-driver.c b/arch/blackfin/mm/isram-driver.c index 84cdc5a1c139..9213e2357888 100644 --- a/arch/blackfin/mm/isram-driver.c +++ b/arch/blackfin/mm/isram-driver.c | |||
@@ -62,7 +62,7 @@ static void isram_write(const void *addr, uint64_t data) | |||
62 | uint32_t cmd; | 62 | uint32_t cmd; |
63 | unsigned long flags; | 63 | unsigned long flags; |
64 | 64 | ||
65 | if (addr >= (void *)(L1_CODE_START + L1_CODE_LENGTH)) | 65 | if (unlikely(addr >= (void *)(L1_CODE_START + L1_CODE_LENGTH))) |
66 | return; | 66 | return; |
67 | 67 | ||
68 | cmd = IADDR2DTEST(addr) | 2; /* write */ | 68 | cmd = IADDR2DTEST(addr) | 2; /* write */ |
@@ -93,7 +93,7 @@ static uint64_t isram_read(const void *addr) | |||
93 | unsigned long flags; | 93 | unsigned long flags; |
94 | uint64_t ret; | 94 | uint64_t ret; |
95 | 95 | ||
96 | if (addr > (void *)(L1_CODE_START + L1_CODE_LENGTH)) | 96 | if (unlikely(addr > (void *)(L1_CODE_START + L1_CODE_LENGTH))) |
97 | return 0; | 97 | return 0; |
98 | 98 | ||
99 | cmd = IADDR2DTEST(addr) | 0; /* read */ | 99 | cmd = IADDR2DTEST(addr) | 0; /* read */ |
@@ -120,7 +120,7 @@ static bool isram_check_addr(const void *addr, size_t n) | |||
120 | { | 120 | { |
121 | if ((addr >= (void *)L1_CODE_START) && | 121 | if ((addr >= (void *)L1_CODE_START) && |
122 | (addr < (void *)(L1_CODE_START + L1_CODE_LENGTH))) { | 122 | (addr < (void *)(L1_CODE_START + L1_CODE_LENGTH))) { |
123 | if ((addr + n) > (void *)(L1_CODE_START + L1_CODE_LENGTH)) { | 123 | if (unlikely((addr + n) > (void *)(L1_CODE_START + L1_CODE_LENGTH))) { |
124 | show_stack(NULL, NULL); | 124 | show_stack(NULL, NULL); |
125 | pr_err("copy involving %p length (%zu) too long\n", addr, n); | 125 | pr_err("copy involving %p length (%zu) too long\n", addr, n); |
126 | } | 126 | } |
diff --git a/arch/blackfin/mm/sram-alloc.c b/arch/blackfin/mm/sram-alloc.c index f068c11ea98f..5732da25ee2d 100644 --- a/arch/blackfin/mm/sram-alloc.c +++ b/arch/blackfin/mm/sram-alloc.c | |||
@@ -402,7 +402,7 @@ void *l1_data_A_sram_alloc(size_t size) | |||
402 | void *addr; | 402 | void *addr; |
403 | unsigned int cpu; | 403 | unsigned int cpu; |
404 | 404 | ||
405 | cpu = get_cpu(); | 405 | cpu = smp_processor_id(); |
406 | /* add mutex operation */ | 406 | /* add mutex operation */ |
407 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); | 407 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); |
408 | 408 | ||
@@ -411,7 +411,6 @@ void *l1_data_A_sram_alloc(size_t size) | |||
411 | 411 | ||
412 | /* add mutex operation */ | 412 | /* add mutex operation */ |
413 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); | 413 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); |
414 | put_cpu(); | ||
415 | 414 | ||
416 | pr_debug("Allocated address in l1_data_A_sram_alloc is 0x%lx+0x%lx\n", | 415 | pr_debug("Allocated address in l1_data_A_sram_alloc is 0x%lx+0x%lx\n", |
417 | (long unsigned int)addr, size); | 416 | (long unsigned int)addr, size); |
@@ -430,7 +429,7 @@ int l1_data_A_sram_free(const void *addr) | |||
430 | int ret; | 429 | int ret; |
431 | unsigned int cpu; | 430 | unsigned int cpu; |
432 | 431 | ||
433 | cpu = get_cpu(); | 432 | cpu = smp_processor_id(); |
434 | /* add mutex operation */ | 433 | /* add mutex operation */ |
435 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); | 434 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); |
436 | 435 | ||
@@ -439,7 +438,6 @@ int l1_data_A_sram_free(const void *addr) | |||
439 | 438 | ||
440 | /* add mutex operation */ | 439 | /* add mutex operation */ |
441 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); | 440 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); |
442 | put_cpu(); | ||
443 | 441 | ||
444 | return ret; | 442 | return ret; |
445 | #else | 443 | #else |
@@ -455,7 +453,7 @@ void *l1_data_B_sram_alloc(size_t size) | |||
455 | void *addr; | 453 | void *addr; |
456 | unsigned int cpu; | 454 | unsigned int cpu; |
457 | 455 | ||
458 | cpu = get_cpu(); | 456 | cpu = smp_processor_id(); |
459 | /* add mutex operation */ | 457 | /* add mutex operation */ |
460 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); | 458 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); |
461 | 459 | ||
@@ -464,7 +462,6 @@ void *l1_data_B_sram_alloc(size_t size) | |||
464 | 462 | ||
465 | /* add mutex operation */ | 463 | /* add mutex operation */ |
466 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); | 464 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); |
467 | put_cpu(); | ||
468 | 465 | ||
469 | pr_debug("Allocated address in l1_data_B_sram_alloc is 0x%lx+0x%lx\n", | 466 | pr_debug("Allocated address in l1_data_B_sram_alloc is 0x%lx+0x%lx\n", |
470 | (long unsigned int)addr, size); | 467 | (long unsigned int)addr, size); |
@@ -483,7 +480,7 @@ int l1_data_B_sram_free(const void *addr) | |||
483 | int ret; | 480 | int ret; |
484 | unsigned int cpu; | 481 | unsigned int cpu; |
485 | 482 | ||
486 | cpu = get_cpu(); | 483 | cpu = smp_processor_id(); |
487 | /* add mutex operation */ | 484 | /* add mutex operation */ |
488 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); | 485 | spin_lock_irqsave(&per_cpu(l1_data_sram_lock, cpu), flags); |
489 | 486 | ||
@@ -492,7 +489,6 @@ int l1_data_B_sram_free(const void *addr) | |||
492 | 489 | ||
493 | /* add mutex operation */ | 490 | /* add mutex operation */ |
494 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); | 491 | spin_unlock_irqrestore(&per_cpu(l1_data_sram_lock, cpu), flags); |
495 | put_cpu(); | ||
496 | 492 | ||
497 | return ret; | 493 | return ret; |
498 | #else | 494 | #else |
@@ -540,7 +536,7 @@ void *l1_inst_sram_alloc(size_t size) | |||
540 | void *addr; | 536 | void *addr; |
541 | unsigned int cpu; | 537 | unsigned int cpu; |
542 | 538 | ||
543 | cpu = get_cpu(); | 539 | cpu = smp_processor_id(); |
544 | /* add mutex operation */ | 540 | /* add mutex operation */ |
545 | spin_lock_irqsave(&per_cpu(l1_inst_sram_lock, cpu), flags); | 541 | spin_lock_irqsave(&per_cpu(l1_inst_sram_lock, cpu), flags); |
546 | 542 | ||
@@ -549,7 +545,6 @@ void *l1_inst_sram_alloc(size_t size) | |||
549 | 545 | ||
550 | /* add mutex operation */ | 546 | /* add mutex operation */ |
551 | spin_unlock_irqrestore(&per_cpu(l1_inst_sram_lock, cpu), flags); | 547 | spin_unlock_irqrestore(&per_cpu(l1_inst_sram_lock, cpu), flags); |
552 | put_cpu(); | ||
553 | 548 | ||
554 | pr_debug("Allocated address in l1_inst_sram_alloc is 0x%lx+0x%lx\n", | 549 | pr_debug("Allocated address in l1_inst_sram_alloc is 0x%lx+0x%lx\n", |
555 | (long unsigned int)addr, size); | 550 | (long unsigned int)addr, size); |
@@ -568,7 +563,7 @@ int l1_inst_sram_free(const void *addr) | |||
568 | int ret; | 563 | int ret; |
569 | unsigned int cpu; | 564 | unsigned int cpu; |
570 | 565 | ||
571 | cpu = get_cpu(); | 566 | cpu = smp_processor_id(); |
572 | /* add mutex operation */ | 567 | /* add mutex operation */ |
573 | spin_lock_irqsave(&per_cpu(l1_inst_sram_lock, cpu), flags); | 568 | spin_lock_irqsave(&per_cpu(l1_inst_sram_lock, cpu), flags); |
574 | 569 | ||
@@ -577,7 +572,6 @@ int l1_inst_sram_free(const void *addr) | |||
577 | 572 | ||
578 | /* add mutex operation */ | 573 | /* add mutex operation */ |
579 | spin_unlock_irqrestore(&per_cpu(l1_inst_sram_lock, cpu), flags); | 574 | spin_unlock_irqrestore(&per_cpu(l1_inst_sram_lock, cpu), flags); |
580 | put_cpu(); | ||
581 | 575 | ||
582 | return ret; | 576 | return ret; |
583 | #else | 577 | #else |
@@ -593,7 +587,7 @@ void *l1sram_alloc(size_t size) | |||
593 | void *addr; | 587 | void *addr; |
594 | unsigned int cpu; | 588 | unsigned int cpu; |
595 | 589 | ||
596 | cpu = get_cpu(); | 590 | cpu = smp_processor_id(); |
597 | /* add mutex operation */ | 591 | /* add mutex operation */ |
598 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); | 592 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); |
599 | 593 | ||
@@ -602,7 +596,6 @@ void *l1sram_alloc(size_t size) | |||
602 | 596 | ||
603 | /* add mutex operation */ | 597 | /* add mutex operation */ |
604 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); | 598 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); |
605 | put_cpu(); | ||
606 | 599 | ||
607 | return addr; | 600 | return addr; |
608 | } | 601 | } |
@@ -614,7 +607,7 @@ void *l1sram_alloc_max(size_t *psize) | |||
614 | void *addr; | 607 | void *addr; |
615 | unsigned int cpu; | 608 | unsigned int cpu; |
616 | 609 | ||
617 | cpu = get_cpu(); | 610 | cpu = smp_processor_id(); |
618 | /* add mutex operation */ | 611 | /* add mutex operation */ |
619 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); | 612 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); |
620 | 613 | ||
@@ -623,7 +616,6 @@ void *l1sram_alloc_max(size_t *psize) | |||
623 | 616 | ||
624 | /* add mutex operation */ | 617 | /* add mutex operation */ |
625 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); | 618 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); |
626 | put_cpu(); | ||
627 | 619 | ||
628 | return addr; | 620 | return addr; |
629 | } | 621 | } |
@@ -635,7 +627,7 @@ int l1sram_free(const void *addr) | |||
635 | int ret; | 627 | int ret; |
636 | unsigned int cpu; | 628 | unsigned int cpu; |
637 | 629 | ||
638 | cpu = get_cpu(); | 630 | cpu = smp_processor_id(); |
639 | /* add mutex operation */ | 631 | /* add mutex operation */ |
640 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); | 632 | spin_lock_irqsave(&per_cpu(l1sram_lock, cpu), flags); |
641 | 633 | ||
@@ -644,7 +636,6 @@ int l1sram_free(const void *addr) | |||
644 | 636 | ||
645 | /* add mutex operation */ | 637 | /* add mutex operation */ |
646 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); | 638 | spin_unlock_irqrestore(&per_cpu(l1sram_lock, cpu), flags); |
647 | put_cpu(); | ||
648 | 639 | ||
649 | return ret; | 640 | return ret; |
650 | } | 641 | } |
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index b008168ae946..203ec61c6d4c 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig | |||
@@ -14,6 +14,8 @@ config MICROBLAZE | |||
14 | select USB_ARCH_HAS_EHCI | 14 | select USB_ARCH_HAS_EHCI |
15 | select ARCH_WANT_OPTIONAL_GPIOLIB | 15 | select ARCH_WANT_OPTIONAL_GPIOLIB |
16 | select HAVE_OPROFILE | 16 | select HAVE_OPROFILE |
17 | select HAVE_DMA_ATTRS | ||
18 | select HAVE_DMA_API_DEBUG | ||
17 | select TRACING_SUPPORT | 19 | select TRACING_SUPPORT |
18 | 20 | ||
19 | config SWAP | 21 | config SWAP |
@@ -76,9 +78,6 @@ config HAVE_LATENCYTOP_SUPPORT | |||
76 | config PCI | 78 | config PCI |
77 | def_bool n | 79 | def_bool n |
78 | 80 | ||
79 | config NO_DMA | ||
80 | def_bool y | ||
81 | |||
82 | config DTC | 81 | config DTC |
83 | def_bool y | 82 | def_bool y |
84 | 83 | ||
@@ -146,7 +145,6 @@ menu "Advanced setup" | |||
146 | 145 | ||
147 | config ADVANCED_OPTIONS | 146 | config ADVANCED_OPTIONS |
148 | bool "Prompt for advanced kernel configuration options" | 147 | bool "Prompt for advanced kernel configuration options" |
149 | depends on MMU | ||
150 | help | 148 | help |
151 | This option will enable prompting for a variety of advanced kernel | 149 | This option will enable prompting for a variety of advanced kernel |
152 | configuration options. These options can cause the kernel to not | 150 | configuration options. These options can cause the kernel to not |
@@ -158,6 +156,15 @@ config ADVANCED_OPTIONS | |||
158 | comment "Default settings for advanced configuration options are used" | 156 | comment "Default settings for advanced configuration options are used" |
159 | depends on !ADVANCED_OPTIONS | 157 | depends on !ADVANCED_OPTIONS |
160 | 158 | ||
159 | config XILINX_UNCACHED_SHADOW | ||
160 | bool "Are you using uncached shadow for RAM ?" | ||
161 | depends on ADVANCED_OPTIONS && !MMU | ||
162 | default n | ||
163 | help | ||
164 | This is needed to be able to allocate uncachable memory regions. | ||
165 | The feature requires the design to define the RAM memory controller | ||
166 | window to be twice as large as the actual physical memory. | ||
167 | |||
161 | config HIGHMEM_START_BOOL | 168 | config HIGHMEM_START_BOOL |
162 | bool "Set high memory pool address" | 169 | bool "Set high memory pool address" |
163 | depends on ADVANCED_OPTIONS && HIGHMEM | 170 | depends on ADVANCED_OPTIONS && HIGHMEM |
@@ -175,7 +182,7 @@ config HIGHMEM_START | |||
175 | 182 | ||
176 | config LOWMEM_SIZE_BOOL | 183 | config LOWMEM_SIZE_BOOL |
177 | bool "Set maximum low memory" | 184 | bool "Set maximum low memory" |
178 | depends on ADVANCED_OPTIONS | 185 | depends on ADVANCED_OPTIONS && MMU |
179 | help | 186 | help |
180 | This option allows you to set the maximum amount of memory which | 187 | This option allows you to set the maximum amount of memory which |
181 | will be used as "low memory", that is, memory which the kernel can | 188 | will be used as "low memory", that is, memory which the kernel can |
@@ -187,7 +194,6 @@ config LOWMEM_SIZE_BOOL | |||
187 | 194 | ||
188 | config LOWMEM_SIZE | 195 | config LOWMEM_SIZE |
189 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL | 196 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL |
190 | depends on MMU | ||
191 | default "0x30000000" | 197 | default "0x30000000" |
192 | 198 | ||
193 | config KERNEL_START_BOOL | 199 | config KERNEL_START_BOOL |
@@ -208,7 +214,7 @@ config KERNEL_START | |||
208 | 214 | ||
209 | config TASK_SIZE_BOOL | 215 | config TASK_SIZE_BOOL |
210 | bool "Set custom user task size" | 216 | bool "Set custom user task size" |
211 | depends on ADVANCED_OPTIONS | 217 | depends on ADVANCED_OPTIONS && MMU |
212 | help | 218 | help |
213 | This option allows you to set the amount of virtual address space | 219 | This option allows you to set the amount of virtual address space |
214 | allocated to user tasks. This can be useful in optimizing the | 220 | allocated to user tasks. This can be useful in optimizing the |
@@ -218,42 +224,34 @@ config TASK_SIZE_BOOL | |||
218 | 224 | ||
219 | config TASK_SIZE | 225 | config TASK_SIZE |
220 | hex "Size of user task space" if TASK_SIZE_BOOL | 226 | hex "Size of user task space" if TASK_SIZE_BOOL |
221 | depends on MMU | ||
222 | default "0x80000000" | 227 | default "0x80000000" |
223 | 228 | ||
224 | config CONSISTENT_START_BOOL | 229 | endmenu |
225 | bool "Set custom consistent memory pool address" | ||
226 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
227 | help | ||
228 | This option allows you to set the base virtual address | ||
229 | of the the consistent memory pool. This pool of virtual | ||
230 | memory is used to make consistent memory allocations. | ||
231 | 230 | ||
232 | config CONSISTENT_START | 231 | source "mm/Kconfig" |
233 | hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL | ||
234 | depends on MMU | ||
235 | default "0xff100000" if NOT_COHERENT_CACHE | ||
236 | 232 | ||
237 | config CONSISTENT_SIZE_BOOL | 233 | menu "Exectuable file formats" |
238 | bool "Set custom consistent memory pool size" | ||
239 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
240 | help | ||
241 | This option allows you to set the size of the the | ||
242 | consistent memory pool. This pool of virtual memory | ||
243 | is used to make consistent memory allocations. | ||
244 | 234 | ||
245 | config CONSISTENT_SIZE | 235 | source "fs/Kconfig.binfmt" |
246 | hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL | ||
247 | depends on MMU | ||
248 | default "0x00200000" if NOT_COHERENT_CACHE | ||
249 | 236 | ||
250 | endmenu | 237 | endmenu |
251 | 238 | ||
252 | source "mm/Kconfig" | 239 | menu "Bus Options" |
253 | 240 | ||
254 | menu "Exectuable file formats" | 241 | config PCI |
242 | bool "PCI support" | ||
255 | 243 | ||
256 | source "fs/Kconfig.binfmt" | 244 | config PCI_DOMAINS |
245 | def_bool PCI | ||
246 | |||
247 | config PCI_SYSCALL | ||
248 | def_bool PCI | ||
249 | |||
250 | config PCI_XILINX | ||
251 | bool "Xilinx PCI host bridge support" | ||
252 | depends on PCI | ||
253 | |||
254 | source "drivers/pci/Kconfig" | ||
257 | 255 | ||
258 | endmenu | 256 | endmenu |
259 | 257 | ||
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index d2d6cfcb1a30..836832dd9b26 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile | |||
@@ -50,6 +50,7 @@ libs-y += $(LIBGCC) | |||
50 | core-y += arch/microblaze/kernel/ | 50 | core-y += arch/microblaze/kernel/ |
51 | core-y += arch/microblaze/mm/ | 51 | core-y += arch/microblaze/mm/ |
52 | core-y += arch/microblaze/platform/ | 52 | core-y += arch/microblaze/platform/ |
53 | core-$(CONFIG_PCI) += arch/microblaze/pci/ | ||
53 | 54 | ||
54 | drivers-$(CONFIG_OPROFILE) += arch/microblaze/oprofile/ | 55 | drivers-$(CONFIG_OPROFILE) += arch/microblaze/oprofile/ |
55 | 56 | ||
diff --git a/arch/microblaze/include/asm/device.h b/arch/microblaze/include/asm/device.h index 78a038452c0f..402b46e630f6 100644 --- a/arch/microblaze/include/asm/device.h +++ b/arch/microblaze/include/asm/device.h | |||
@@ -14,6 +14,10 @@ struct device_node; | |||
14 | struct dev_archdata { | 14 | struct dev_archdata { |
15 | /* Optional pointer to an OF device node */ | 15 | /* Optional pointer to an OF device node */ |
16 | struct device_node *of_node; | 16 | struct device_node *of_node; |
17 | |||
18 | /* DMA operations on that device */ | ||
19 | struct dma_map_ops *dma_ops; | ||
20 | void *dma_data; | ||
17 | }; | 21 | }; |
18 | 22 | ||
19 | struct pdev_archdata { | 23 | struct pdev_archdata { |
diff --git a/arch/microblaze/include/asm/dma-mapping.h b/arch/microblaze/include/asm/dma-mapping.h index d00e40099165..18b3731c8509 100644 --- a/arch/microblaze/include/asm/dma-mapping.h +++ b/arch/microblaze/include/asm/dma-mapping.h | |||
@@ -1 +1,153 @@ | |||
1 | #include <asm-generic/dma-mapping-broken.h> | 1 | /* |
2 | * Implements the generic device dma API for microblaze and the pci | ||
3 | * | ||
4 | * Copyright (C) 2009-2010 Michal Simek <monstr@monstr.eu> | ||
5 | * Copyright (C) 2009-2010 PetaLogix | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General | ||
8 | * Public License. See the file COPYING in the main directory of this | ||
9 | * archive for more details. | ||
10 | * | ||
11 | * This file is base on powerpc and x86 dma-mapping.h versions | ||
12 | * Copyright (C) 2004 IBM | ||
13 | */ | ||
14 | |||
15 | #ifndef _ASM_MICROBLAZE_DMA_MAPPING_H | ||
16 | #define _ASM_MICROBLAZE_DMA_MAPPING_H | ||
17 | |||
18 | /* | ||
19 | * See Documentation/PCI/PCI-DMA-mapping.txt and | ||
20 | * Documentation/DMA-API.txt for documentation. | ||
21 | */ | ||
22 | |||
23 | #include <linux/types.h> | ||
24 | #include <linux/cache.h> | ||
25 | #include <linux/mm.h> | ||
26 | #include <linux/scatterlist.h> | ||
27 | #include <linux/dma-debug.h> | ||
28 | #include <linux/dma-attrs.h> | ||
29 | #include <asm/io.h> | ||
30 | #include <asm-generic/dma-coherent.h> | ||
31 | |||
32 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) | ||
33 | |||
34 | #define __dma_alloc_coherent(dev, gfp, size, handle) NULL | ||
35 | #define __dma_free_coherent(size, addr) ((void)0) | ||
36 | #define __dma_sync(addr, size, rw) ((void)0) | ||
37 | |||
38 | static inline unsigned long device_to_mask(struct device *dev) | ||
39 | { | ||
40 | if (dev->dma_mask && *dev->dma_mask) | ||
41 | return *dev->dma_mask; | ||
42 | /* Assume devices without mask can take 32 bit addresses */ | ||
43 | return 0xfffffffful; | ||
44 | } | ||
45 | |||
46 | extern struct dma_map_ops *dma_ops; | ||
47 | |||
48 | /* | ||
49 | * Available generic sets of operations | ||
50 | */ | ||
51 | extern struct dma_map_ops dma_direct_ops; | ||
52 | |||
53 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) | ||
54 | { | ||
55 | /* We don't handle the NULL dev case for ISA for now. We could | ||
56 | * do it via an out of line call but it is not needed for now. The | ||
57 | * only ISA DMA device we support is the floppy and we have a hack | ||
58 | * in the floppy driver directly to get a device for us. | ||
59 | */ | ||
60 | if (unlikely(!dev) || !dev->archdata.dma_ops) | ||
61 | return NULL; | ||
62 | |||
63 | return dev->archdata.dma_ops; | ||
64 | } | ||
65 | |||
66 | static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops) | ||
67 | { | ||
68 | dev->archdata.dma_ops = ops; | ||
69 | } | ||
70 | |||
71 | static inline int dma_supported(struct device *dev, u64 mask) | ||
72 | { | ||
73 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
74 | |||
75 | if (unlikely(!ops)) | ||
76 | return 0; | ||
77 | if (!ops->dma_supported) | ||
78 | return 1; | ||
79 | return ops->dma_supported(dev, mask); | ||
80 | } | ||
81 | |||
82 | #ifdef CONFIG_PCI | ||
83 | /* We have our own implementation of pci_set_dma_mask() */ | ||
84 | #define HAVE_ARCH_PCI_SET_DMA_MASK | ||
85 | |||
86 | #endif | ||
87 | |||
88 | static inline int dma_set_mask(struct device *dev, u64 dma_mask) | ||
89 | { | ||
90 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
91 | |||
92 | if (unlikely(ops == NULL)) | ||
93 | return -EIO; | ||
94 | if (ops->set_dma_mask) | ||
95 | return ops->set_dma_mask(dev, dma_mask); | ||
96 | if (!dev->dma_mask || !dma_supported(dev, dma_mask)) | ||
97 | return -EIO; | ||
98 | *dev->dma_mask = dma_mask; | ||
99 | return 0; | ||
100 | } | ||
101 | |||
102 | #include <asm-generic/dma-mapping-common.h> | ||
103 | |||
104 | static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) | ||
105 | { | ||
106 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
107 | if (ops->mapping_error) | ||
108 | return ops->mapping_error(dev, dma_addr); | ||
109 | |||
110 | return (dma_addr == DMA_ERROR_CODE); | ||
111 | } | ||
112 | |||
113 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | ||
114 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | ||
115 | #define dma_is_consistent(d, h) (1) | ||
116 | |||
117 | static inline void *dma_alloc_coherent(struct device *dev, size_t size, | ||
118 | dma_addr_t *dma_handle, gfp_t flag) | ||
119 | { | ||
120 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
121 | void *memory; | ||
122 | |||
123 | BUG_ON(!ops); | ||
124 | |||
125 | memory = ops->alloc_coherent(dev, size, dma_handle, flag); | ||
126 | |||
127 | debug_dma_alloc_coherent(dev, size, *dma_handle, memory); | ||
128 | return memory; | ||
129 | } | ||
130 | |||
131 | static inline void dma_free_coherent(struct device *dev, size_t size, | ||
132 | void *cpu_addr, dma_addr_t dma_handle) | ||
133 | { | ||
134 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
135 | |||
136 | BUG_ON(!ops); | ||
137 | debug_dma_free_coherent(dev, size, cpu_addr, dma_handle); | ||
138 | ops->free_coherent(dev, size, cpu_addr, dma_handle); | ||
139 | } | ||
140 | |||
141 | static inline int dma_get_cache_alignment(void) | ||
142 | { | ||
143 | return L1_CACHE_BYTES; | ||
144 | } | ||
145 | |||
146 | static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size, | ||
147 | enum dma_data_direction direction) | ||
148 | { | ||
149 | BUG_ON(direction == DMA_NONE); | ||
150 | __dma_sync(vaddr, size, (int)direction); | ||
151 | } | ||
152 | |||
153 | #endif /* _ASM_MICROBLAZE_DMA_MAPPING_H */ | ||
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 267c7c779e53..32d621a56aee 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h | |||
@@ -15,7 +15,23 @@ | |||
15 | #include <asm/page.h> | 15 | #include <asm/page.h> |
16 | #include <linux/types.h> | 16 | #include <linux/types.h> |
17 | #include <linux/mm.h> /* Get struct page {...} */ | 17 | #include <linux/mm.h> /* Get struct page {...} */ |
18 | #include <asm-generic/iomap.h> | ||
18 | 19 | ||
20 | #ifndef CONFIG_PCI | ||
21 | #define _IO_BASE 0 | ||
22 | #define _ISA_MEM_BASE 0 | ||
23 | #define PCI_DRAM_OFFSET 0 | ||
24 | #else | ||
25 | #define _IO_BASE isa_io_base | ||
26 | #define _ISA_MEM_BASE isa_mem_base | ||
27 | #define PCI_DRAM_OFFSET pci_dram_offset | ||
28 | #endif | ||
29 | |||
30 | extern unsigned long isa_io_base; | ||
31 | extern unsigned long pci_io_base; | ||
32 | extern unsigned long pci_dram_offset; | ||
33 | |||
34 | extern resource_size_t isa_mem_base; | ||
19 | 35 | ||
20 | #define IO_SPACE_LIMIT (0xFFFFFFFF) | 36 | #define IO_SPACE_LIMIT (0xFFFFFFFF) |
21 | 37 | ||
@@ -124,9 +140,6 @@ static inline void writel(unsigned int v, volatile void __iomem *addr) | |||
124 | #define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr)) | 140 | #define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr)) |
125 | #define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr)) | 141 | #define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr)) |
126 | 142 | ||
127 | #define __page_address(page) \ | ||
128 | (PAGE_OFFSET + (((page) - mem_map) << PAGE_SHIFT)) | ||
129 | #define page_to_phys(page) virt_to_phys((void *)__page_address(page)) | ||
130 | #define page_to_bus(page) (page_to_phys(page)) | 143 | #define page_to_bus(page) (page_to_phys(page)) |
131 | #define bus_to_virt(addr) (phys_to_virt(addr)) | 144 | #define bus_to_virt(addr) (phys_to_virt(addr)) |
132 | 145 | ||
@@ -227,15 +240,7 @@ static inline void __iomem *__ioremap(phys_addr_t address, unsigned long size, | |||
227 | #define out_8(a, v) __raw_writeb((v), (a)) | 240 | #define out_8(a, v) __raw_writeb((v), (a)) |
228 | #define in_8(a) __raw_readb(a) | 241 | #define in_8(a) __raw_readb(a) |
229 | 242 | ||
230 | /* FIXME */ | 243 | #define ioport_map(port, nr) ((void __iomem *)(port)) |
231 | static inline void __iomem *ioport_map(unsigned long port, unsigned int len) | 244 | #define ioport_unmap(addr) |
232 | { | ||
233 | return (void __iomem *) (port); | ||
234 | } | ||
235 | |||
236 | static inline void ioport_unmap(void __iomem *addr) | ||
237 | { | ||
238 | /* Nothing to do */ | ||
239 | } | ||
240 | 245 | ||
241 | #endif /* _ASM_MICROBLAZE_IO_H */ | 246 | #endif /* _ASM_MICROBLAZE_IO_H */ |
diff --git a/arch/microblaze/include/asm/irq.h b/arch/microblaze/include/asm/irq.h index 90f050535ebe..31a35c33df63 100644 --- a/arch/microblaze/include/asm/irq.h +++ b/arch/microblaze/include/asm/irq.h | |||
@@ -14,6 +14,12 @@ | |||
14 | 14 | ||
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | 16 | ||
17 | /* This type is the placeholder for a hardware interrupt number. It has to | ||
18 | * be big enough to enclose whatever representation is used by a given | ||
19 | * platform. | ||
20 | */ | ||
21 | typedef unsigned long irq_hw_number_t; | ||
22 | |||
17 | extern unsigned int nr_irq; | 23 | extern unsigned int nr_irq; |
18 | 24 | ||
19 | #define NO_IRQ (-1) | 25 | #define NO_IRQ (-1) |
@@ -21,7 +27,8 @@ extern unsigned int nr_irq; | |||
21 | struct pt_regs; | 27 | struct pt_regs; |
22 | extern void do_IRQ(struct pt_regs *regs); | 28 | extern void do_IRQ(struct pt_regs *regs); |
23 | 29 | ||
24 | /* irq_of_parse_and_map - Parse and Map an interrupt into linux virq space | 30 | /** |
31 | * irq_of_parse_and_map - Parse and Map an interrupt into linux virq space | ||
25 | * @device: Device node of the device whose interrupt is to be mapped | 32 | * @device: Device node of the device whose interrupt is to be mapped |
26 | * @index: Index of the interrupt to map | 33 | * @index: Index of the interrupt to map |
27 | * | 34 | * |
@@ -40,4 +47,32 @@ static inline void irq_dispose_mapping(unsigned int virq) | |||
40 | return; | 47 | return; |
41 | } | 48 | } |
42 | 49 | ||
50 | struct irq_host; | ||
51 | |||
52 | /** | ||
53 | * irq_create_mapping - Map a hardware interrupt into linux virq space | ||
54 | * @host: host owning this hardware interrupt or NULL for default host | ||
55 | * @hwirq: hardware irq number in that host space | ||
56 | * | ||
57 | * Only one mapping per hardware interrupt is permitted. Returns a linux | ||
58 | * virq number. | ||
59 | * If the sense/trigger is to be specified, set_irq_type() should be called | ||
60 | * on the number returned from that call. | ||
61 | */ | ||
62 | extern unsigned int irq_create_mapping(struct irq_host *host, | ||
63 | irq_hw_number_t hwirq); | ||
64 | |||
65 | /** | ||
66 | * irq_create_of_mapping - Map a hardware interrupt into linux virq space | ||
67 | * @controller: Device node of the interrupt controller | ||
68 | * @inspec: Interrupt specifier from the device-tree | ||
69 | * @intsize: Size of the interrupt specifier from the device-tree | ||
70 | * | ||
71 | * This function is identical to irq_create_mapping except that it takes | ||
72 | * as input informations straight from the device-tree (typically the results | ||
73 | * of the of_irq_map_*() functions. | ||
74 | */ | ||
75 | extern unsigned int irq_create_of_mapping(struct device_node *controller, | ||
76 | u32 *intspec, unsigned int intsize); | ||
77 | |||
43 | #endif /* _ASM_MICROBLAZE_IRQ_H */ | 78 | #endif /* _ASM_MICROBLAZE_IRQ_H */ |
diff --git a/arch/microblaze/include/asm/page.h b/arch/microblaze/include/asm/page.h index 9b66c0fa9a32..2dd1d04129e0 100644 --- a/arch/microblaze/include/asm/page.h +++ b/arch/microblaze/include/asm/page.h | |||
@@ -62,12 +62,6 @@ extern unsigned int __page_offset; | |||
62 | #define PAGE_OFFSET CONFIG_KERNEL_START | 62 | #define PAGE_OFFSET CONFIG_KERNEL_START |
63 | 63 | ||
64 | /* | 64 | /* |
65 | * MAP_NR -- given an address, calculate the index of the page struct which | ||
66 | * points to the address's page. | ||
67 | */ | ||
68 | #define MAP_NR(addr) (((unsigned long)(addr) - PAGE_OFFSET) >> PAGE_SHIFT) | ||
69 | |||
70 | /* | ||
71 | * The basic type of a PTE - 32 bit physical addressing. | 65 | * The basic type of a PTE - 32 bit physical addressing. |
72 | */ | 66 | */ |
73 | typedef unsigned long pte_basic_t; | 67 | typedef unsigned long pte_basic_t; |
@@ -154,7 +148,11 @@ extern int page_is_ram(unsigned long pfn); | |||
154 | # define pfn_to_virt(pfn) __va(pfn_to_phys((pfn))) | 148 | # define pfn_to_virt(pfn) __va(pfn_to_phys((pfn))) |
155 | 149 | ||
156 | # ifdef CONFIG_MMU | 150 | # ifdef CONFIG_MMU |
157 | # define virt_to_page(kaddr) (mem_map + MAP_NR(kaddr)) | 151 | |
152 | # define virt_to_page(kaddr) (pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)) | ||
153 | # define page_to_virt(page) __va(page_to_pfn(page) << PAGE_SHIFT) | ||
154 | # define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) | ||
155 | |||
158 | # else /* CONFIG_MMU */ | 156 | # else /* CONFIG_MMU */ |
159 | # define virt_to_page(vaddr) (pfn_to_page(virt_to_pfn(vaddr))) | 157 | # define virt_to_page(vaddr) (pfn_to_page(virt_to_pfn(vaddr))) |
160 | # define page_to_virt(page) (pfn_to_virt(page_to_pfn(page))) | 158 | # define page_to_virt(page) (pfn_to_virt(page_to_pfn(page))) |
diff --git a/arch/microblaze/include/asm/pci-bridge.h b/arch/microblaze/include/asm/pci-bridge.h index 7ad28f6f5f1a..0c77cda9f5d8 100644 --- a/arch/microblaze/include/asm/pci-bridge.h +++ b/arch/microblaze/include/asm/pci-bridge.h | |||
@@ -1 +1,196 @@ | |||
1 | #ifndef _ASM_MICROBLAZE_PCI_BRIDGE_H | ||
2 | #define _ASM_MICROBLAZE_PCI_BRIDGE_H | ||
3 | #ifdef __KERNEL__ | ||
4 | /* | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version | ||
8 | * 2 of the License, or (at your option) any later version. | ||
9 | */ | ||
1 | #include <linux/pci.h> | 10 | #include <linux/pci.h> |
11 | #include <linux/list.h> | ||
12 | #include <linux/ioport.h> | ||
13 | |||
14 | struct device_node; | ||
15 | |||
16 | enum { | ||
17 | /* Force re-assigning all resources (ignore firmware | ||
18 | * setup completely) | ||
19 | */ | ||
20 | PCI_REASSIGN_ALL_RSRC = 0x00000001, | ||
21 | |||
22 | /* Re-assign all bus numbers */ | ||
23 | PCI_REASSIGN_ALL_BUS = 0x00000002, | ||
24 | |||
25 | /* Do not try to assign, just use existing setup */ | ||
26 | PCI_PROBE_ONLY = 0x00000004, | ||
27 | |||
28 | /* Don't bother with ISA alignment unless the bridge has | ||
29 | * ISA forwarding enabled | ||
30 | */ | ||
31 | PCI_CAN_SKIP_ISA_ALIGN = 0x00000008, | ||
32 | |||
33 | /* Enable domain numbers in /proc */ | ||
34 | PCI_ENABLE_PROC_DOMAINS = 0x00000010, | ||
35 | /* ... except for domain 0 */ | ||
36 | PCI_COMPAT_DOMAIN_0 = 0x00000020, | ||
37 | }; | ||
38 | |||
39 | /* | ||
40 | * Structure of a PCI controller (host bridge) | ||
41 | */ | ||
42 | struct pci_controller { | ||
43 | struct pci_bus *bus; | ||
44 | char is_dynamic; | ||
45 | struct device_node *dn; | ||
46 | struct list_head list_node; | ||
47 | struct device *parent; | ||
48 | |||
49 | int first_busno; | ||
50 | int last_busno; | ||
51 | |||
52 | int self_busno; | ||
53 | |||
54 | void __iomem *io_base_virt; | ||
55 | resource_size_t io_base_phys; | ||
56 | |||
57 | resource_size_t pci_io_size; | ||
58 | |||
59 | /* Some machines (PReP) have a non 1:1 mapping of | ||
60 | * the PCI memory space in the CPU bus space | ||
61 | */ | ||
62 | resource_size_t pci_mem_offset; | ||
63 | |||
64 | /* Some machines have a special region to forward the ISA | ||
65 | * "memory" cycles such as VGA memory regions. Left to 0 | ||
66 | * if unsupported | ||
67 | */ | ||
68 | resource_size_t isa_mem_phys; | ||
69 | resource_size_t isa_mem_size; | ||
70 | |||
71 | struct pci_ops *ops; | ||
72 | unsigned int __iomem *cfg_addr; | ||
73 | void __iomem *cfg_data; | ||
74 | |||
75 | /* | ||
76 | * Used for variants of PCI indirect handling and possible quirks: | ||
77 | * SET_CFG_TYPE - used on 4xx or any PHB that does explicit type0/1 | ||
78 | * EXT_REG - provides access to PCI-e extended registers | ||
79 | * SURPRESS_PRIMARY_BUS - we surpress the setting of PCI_PRIMARY_BUS | ||
80 | * on Freescale PCI-e controllers since they used the PCI_PRIMARY_BUS | ||
81 | * to determine which bus number to match on when generating type0 | ||
82 | * config cycles | ||
83 | * NO_PCIE_LINK - the Freescale PCI-e controllers have issues with | ||
84 | * hanging if we don't have link and try to do config cycles to | ||
85 | * anything but the PHB. Only allow talking to the PHB if this is | ||
86 | * set. | ||
87 | * BIG_ENDIAN - cfg_addr is a big endian register | ||
88 | * BROKEN_MRM - the 440EPx/GRx chips have an errata that causes hangs | ||
89 | * on the PLB4. Effectively disable MRM commands by setting this. | ||
90 | */ | ||
91 | #define INDIRECT_TYPE_SET_CFG_TYPE 0x00000001 | ||
92 | #define INDIRECT_TYPE_EXT_REG 0x00000002 | ||
93 | #define INDIRECT_TYPE_SURPRESS_PRIMARY_BUS 0x00000004 | ||
94 | #define INDIRECT_TYPE_NO_PCIE_LINK 0x00000008 | ||
95 | #define INDIRECT_TYPE_BIG_ENDIAN 0x00000010 | ||
96 | #define INDIRECT_TYPE_BROKEN_MRM 0x00000020 | ||
97 | u32 indirect_type; | ||
98 | |||
99 | /* Currently, we limit ourselves to 1 IO range and 3 mem | ||
100 | * ranges since the common pci_bus structure can't handle more | ||
101 | */ | ||
102 | struct resource io_resource; | ||
103 | struct resource mem_resources[3]; | ||
104 | int global_number; /* PCI domain number */ | ||
105 | }; | ||
106 | |||
107 | static inline struct pci_controller *pci_bus_to_host(const struct pci_bus *bus) | ||
108 | { | ||
109 | return bus->sysdata; | ||
110 | } | ||
111 | |||
112 | static inline int isa_vaddr_is_ioport(void __iomem *address) | ||
113 | { | ||
114 | /* No specific ISA handling on ppc32 at this stage, it | ||
115 | * all goes through PCI | ||
116 | */ | ||
117 | return 0; | ||
118 | } | ||
119 | |||
120 | /* These are used for config access before all the PCI probing | ||
121 | has been done. */ | ||
122 | extern int early_read_config_byte(struct pci_controller *hose, int bus, | ||
123 | int dev_fn, int where, u8 *val); | ||
124 | extern int early_read_config_word(struct pci_controller *hose, int bus, | ||
125 | int dev_fn, int where, u16 *val); | ||
126 | extern int early_read_config_dword(struct pci_controller *hose, int bus, | ||
127 | int dev_fn, int where, u32 *val); | ||
128 | extern int early_write_config_byte(struct pci_controller *hose, int bus, | ||
129 | int dev_fn, int where, u8 val); | ||
130 | extern int early_write_config_word(struct pci_controller *hose, int bus, | ||
131 | int dev_fn, int where, u16 val); | ||
132 | extern int early_write_config_dword(struct pci_controller *hose, int bus, | ||
133 | int dev_fn, int where, u32 val); | ||
134 | |||
135 | extern int early_find_capability(struct pci_controller *hose, int bus, | ||
136 | int dev_fn, int cap); | ||
137 | |||
138 | extern void setup_indirect_pci(struct pci_controller *hose, | ||
139 | resource_size_t cfg_addr, | ||
140 | resource_size_t cfg_data, u32 flags); | ||
141 | |||
142 | /* Get the PCI host controller for an OF device */ | ||
143 | extern struct pci_controller *pci_find_hose_for_OF_device( | ||
144 | struct device_node *node); | ||
145 | |||
146 | /* Fill up host controller resources from the OF node */ | ||
147 | extern void pci_process_bridge_OF_ranges(struct pci_controller *hose, | ||
148 | struct device_node *dev, int primary); | ||
149 | |||
150 | /* Allocate & free a PCI host bridge structure */ | ||
151 | extern struct pci_controller *pcibios_alloc_controller(struct device_node *dev); | ||
152 | extern void pcibios_free_controller(struct pci_controller *phb); | ||
153 | extern void pcibios_setup_phb_resources(struct pci_controller *hose); | ||
154 | |||
155 | #ifdef CONFIG_PCI | ||
156 | extern unsigned int pci_flags; | ||
157 | |||
158 | static inline void pci_set_flags(int flags) | ||
159 | { | ||
160 | pci_flags = flags; | ||
161 | } | ||
162 | |||
163 | static inline void pci_add_flags(int flags) | ||
164 | { | ||
165 | pci_flags |= flags; | ||
166 | } | ||
167 | |||
168 | static inline int pci_has_flag(int flag) | ||
169 | { | ||
170 | return pci_flags & flag; | ||
171 | } | ||
172 | |||
173 | extern struct list_head hose_list; | ||
174 | |||
175 | extern unsigned long pci_address_to_pio(phys_addr_t address); | ||
176 | extern int pcibios_vaddr_is_ioport(void __iomem *address); | ||
177 | #else | ||
178 | static inline unsigned long pci_address_to_pio(phys_addr_t address) | ||
179 | { | ||
180 | return (unsigned long)-1; | ||
181 | } | ||
182 | static inline int pcibios_vaddr_is_ioport(void __iomem *address) | ||
183 | { | ||
184 | return 0; | ||
185 | } | ||
186 | |||
187 | static inline void pci_set_flags(int flags) { } | ||
188 | static inline void pci_add_flags(int flags) { } | ||
189 | static inline int pci_has_flag(int flag) | ||
190 | { | ||
191 | return 0; | ||
192 | } | ||
193 | #endif /* CONFIG_PCI */ | ||
194 | |||
195 | #endif /* __KERNEL__ */ | ||
196 | #endif /* _ASM_MICROBLAZE_PCI_BRIDGE_H */ | ||
diff --git a/arch/microblaze/include/asm/pci.h b/arch/microblaze/include/asm/pci.h index 9f0df5faf2c8..bdd65aaee30d 100644 --- a/arch/microblaze/include/asm/pci.h +++ b/arch/microblaze/include/asm/pci.h | |||
@@ -1 +1,177 @@ | |||
1 | #include <asm-generic/pci.h> | 1 | /* |
2 | * This program is free software; you can redistribute it and/or | ||
3 | * modify it under the terms of the GNU General Public License | ||
4 | * as published by the Free Software Foundation; either version | ||
5 | * 2 of the License, or (at your option) any later version. | ||
6 | * | ||
7 | * Based on powerpc version | ||
8 | */ | ||
9 | |||
10 | #ifndef __ASM_MICROBLAZE_PCI_H | ||
11 | #define __ASM_MICROBLAZE_PCI_H | ||
12 | #ifdef __KERNEL__ | ||
13 | |||
14 | #include <linux/types.h> | ||
15 | #include <linux/slab.h> | ||
16 | #include <linux/string.h> | ||
17 | #include <linux/dma-mapping.h> | ||
18 | #include <linux/pci.h> | ||
19 | |||
20 | #include <asm/scatterlist.h> | ||
21 | #include <asm/io.h> | ||
22 | #include <asm/prom.h> | ||
23 | #include <asm/pci-bridge.h> | ||
24 | |||
25 | #define PCIBIOS_MIN_IO 0x1000 | ||
26 | #define PCIBIOS_MIN_MEM 0x10000000 | ||
27 | |||
28 | struct pci_dev; | ||
29 | |||
30 | /* Values for the `which' argument to sys_pciconfig_iobase syscall. */ | ||
31 | #define IOBASE_BRIDGE_NUMBER 0 | ||
32 | #define IOBASE_MEMORY 1 | ||
33 | #define IOBASE_IO 2 | ||
34 | #define IOBASE_ISA_IO 3 | ||
35 | #define IOBASE_ISA_MEM 4 | ||
36 | |||
37 | #define pcibios_scan_all_fns(a, b) 0 | ||
38 | |||
39 | /* | ||
40 | * Set this to 1 if you want the kernel to re-assign all PCI | ||
41 | * bus numbers (don't do that on ppc64 yet !) | ||
42 | */ | ||
43 | #define pcibios_assign_all_busses() \ | ||
44 | (pci_has_flag(PCI_REASSIGN_ALL_BUS)) | ||
45 | |||
46 | static inline void pcibios_set_master(struct pci_dev *dev) | ||
47 | { | ||
48 | /* No special bus mastering setup handling */ | ||
49 | } | ||
50 | |||
51 | static inline void pcibios_penalize_isa_irq(int irq, int active) | ||
52 | { | ||
53 | /* We don't do dynamic PCI IRQ allocation */ | ||
54 | } | ||
55 | |||
56 | #ifdef CONFIG_PCI | ||
57 | extern void set_pci_dma_ops(struct dma_map_ops *dma_ops); | ||
58 | extern struct dma_map_ops *get_pci_dma_ops(void); | ||
59 | #else /* CONFIG_PCI */ | ||
60 | #define set_pci_dma_ops(d) | ||
61 | #define get_pci_dma_ops() NULL | ||
62 | #endif | ||
63 | |||
64 | #ifdef CONFIG_PCI | ||
65 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
66 | enum pci_dma_burst_strategy *strat, | ||
67 | unsigned long *strategy_parameter) | ||
68 | { | ||
69 | *strat = PCI_DMA_BURST_INFINITY; | ||
70 | *strategy_parameter = ~0UL; | ||
71 | } | ||
72 | #endif | ||
73 | |||
74 | extern int pci_domain_nr(struct pci_bus *bus); | ||
75 | |||
76 | /* Decide whether to display the domain number in /proc */ | ||
77 | extern int pci_proc_domain(struct pci_bus *bus); | ||
78 | |||
79 | struct vm_area_struct; | ||
80 | /* Map a range of PCI memory or I/O space for a device into user space */ | ||
81 | int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, | ||
82 | enum pci_mmap_state mmap_state, int write_combine); | ||
83 | |||
84 | /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */ | ||
85 | #define HAVE_PCI_MMAP 1 | ||
86 | |||
87 | extern int pci_legacy_read(struct pci_bus *bus, loff_t port, u32 *val, | ||
88 | size_t count); | ||
89 | extern int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, | ||
90 | size_t count); | ||
91 | extern int pci_mmap_legacy_page_range(struct pci_bus *bus, | ||
92 | struct vm_area_struct *vma, | ||
93 | enum pci_mmap_state mmap_state); | ||
94 | |||
95 | #define HAVE_PCI_LEGACY 1 | ||
96 | |||
97 | /* pci_unmap_{page,single} is a nop so... */ | ||
98 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) | ||
99 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) | ||
100 | #define pci_unmap_addr(PTR, ADDR_NAME) (0) | ||
101 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0) | ||
102 | #define pci_unmap_len(PTR, LEN_NAME) (0) | ||
103 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | ||
104 | |||
105 | /* The PCI address space does equal the physical memory | ||
106 | * address space (no IOMMU). The IDE and SCSI device layers use | ||
107 | * this boolean for bounce buffer decisions. | ||
108 | */ | ||
109 | #define PCI_DMA_BUS_IS_PHYS (1) | ||
110 | |||
111 | extern void pcibios_resource_to_bus(struct pci_dev *dev, | ||
112 | struct pci_bus_region *region, | ||
113 | struct resource *res); | ||
114 | |||
115 | extern void pcibios_bus_to_resource(struct pci_dev *dev, | ||
116 | struct resource *res, | ||
117 | struct pci_bus_region *region); | ||
118 | |||
119 | static inline struct resource *pcibios_select_root(struct pci_dev *pdev, | ||
120 | struct resource *res) | ||
121 | { | ||
122 | struct resource *root = NULL; | ||
123 | |||
124 | if (res->flags & IORESOURCE_IO) | ||
125 | root = &ioport_resource; | ||
126 | if (res->flags & IORESOURCE_MEM) | ||
127 | root = &iomem_resource; | ||
128 | |||
129 | return root; | ||
130 | } | ||
131 | |||
132 | extern void pcibios_claim_one_bus(struct pci_bus *b); | ||
133 | |||
134 | extern void pcibios_finish_adding_to_bus(struct pci_bus *bus); | ||
135 | |||
136 | extern void pcibios_resource_survey(void); | ||
137 | |||
138 | extern struct pci_controller *init_phb_dynamic(struct device_node *dn); | ||
139 | extern int remove_phb_dynamic(struct pci_controller *phb); | ||
140 | |||
141 | extern struct pci_dev *of_create_pci_dev(struct device_node *node, | ||
142 | struct pci_bus *bus, int devfn); | ||
143 | |||
144 | extern void of_scan_pci_bridge(struct device_node *node, | ||
145 | struct pci_dev *dev); | ||
146 | |||
147 | extern void of_scan_bus(struct device_node *node, struct pci_bus *bus); | ||
148 | extern void of_rescan_bus(struct device_node *node, struct pci_bus *bus); | ||
149 | |||
150 | extern int pci_read_irq_line(struct pci_dev *dev); | ||
151 | |||
152 | extern int pci_bus_find_capability(struct pci_bus *bus, | ||
153 | unsigned int devfn, int cap); | ||
154 | |||
155 | struct file; | ||
156 | extern pgprot_t pci_phys_mem_access_prot(struct file *file, | ||
157 | unsigned long pfn, | ||
158 | unsigned long size, | ||
159 | pgprot_t prot); | ||
160 | |||
161 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER | ||
162 | extern void pci_resource_to_user(const struct pci_dev *dev, int bar, | ||
163 | const struct resource *rsrc, | ||
164 | resource_size_t *start, resource_size_t *end); | ||
165 | |||
166 | extern void pcibios_setup_bus_devices(struct pci_bus *bus); | ||
167 | extern void pcibios_setup_bus_self(struct pci_bus *bus); | ||
168 | |||
169 | /* This part of code was originaly in xilinx-pci.h */ | ||
170 | #ifdef CONFIG_PCI_XILINX | ||
171 | extern void __init xilinx_pci_init(void); | ||
172 | #else | ||
173 | static inline void __init xilinx_pci_init(void) { return; } | ||
174 | #endif | ||
175 | |||
176 | #endif /* __KERNEL__ */ | ||
177 | #endif /* __ASM_MICROBLAZE_PCI_H */ | ||
diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h index 7547f5064560..f44b0d696fe2 100644 --- a/arch/microblaze/include/asm/pgalloc.h +++ b/arch/microblaze/include/asm/pgalloc.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | #include <asm/page.h> | 20 | #include <asm/page.h> |
21 | #include <asm/cache.h> | 21 | #include <asm/cache.h> |
22 | #include <asm/pgtable.h> | ||
22 | 23 | ||
23 | #define PGDIR_ORDER 0 | 24 | #define PGDIR_ORDER 0 |
24 | 25 | ||
@@ -111,7 +112,6 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | |||
111 | unsigned long address) | 112 | unsigned long address) |
112 | { | 113 | { |
113 | pte_t *pte; | 114 | pte_t *pte; |
114 | extern int mem_init_done; | ||
115 | extern void *early_get_page(void); | 115 | extern void *early_get_page(void); |
116 | if (mem_init_done) { | 116 | if (mem_init_done) { |
117 | pte = (pte_t *)__get_free_page(GFP_KERNEL | | 117 | pte = (pte_t *)__get_free_page(GFP_KERNEL | |
diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h index cc3a4dfc3eaa..dd2bb60651c7 100644 --- a/arch/microblaze/include/asm/pgtable.h +++ b/arch/microblaze/include/asm/pgtable.h | |||
@@ -16,6 +16,10 @@ | |||
16 | #define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ | 16 | #define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ |
17 | remap_pfn_range(vma, vaddr, pfn, size, prot) | 17 | remap_pfn_range(vma, vaddr, pfn, size, prot) |
18 | 18 | ||
19 | #ifndef __ASSEMBLY__ | ||
20 | extern int mem_init_done; | ||
21 | #endif | ||
22 | |||
19 | #ifndef CONFIG_MMU | 23 | #ifndef CONFIG_MMU |
20 | 24 | ||
21 | #define pgd_present(pgd) (1) /* pages are always present on non MMU */ | 25 | #define pgd_present(pgd) (1) /* pages are always present on non MMU */ |
@@ -51,6 +55,8 @@ static inline int pte_file(pte_t pte) { return 0; } | |||
51 | 55 | ||
52 | #define arch_enter_lazy_cpu_mode() do {} while (0) | 56 | #define arch_enter_lazy_cpu_mode() do {} while (0) |
53 | 57 | ||
58 | #define pgprot_noncached_wc(prot) prot | ||
59 | |||
54 | #else /* CONFIG_MMU */ | 60 | #else /* CONFIG_MMU */ |
55 | 61 | ||
56 | #include <asm-generic/4level-fixup.h> | 62 | #include <asm-generic/4level-fixup.h> |
@@ -68,7 +74,6 @@ static inline int pte_file(pte_t pte) { return 0; } | |||
68 | 74 | ||
69 | extern unsigned long va_to_phys(unsigned long address); | 75 | extern unsigned long va_to_phys(unsigned long address); |
70 | extern pte_t *va_to_pte(unsigned long address); | 76 | extern pte_t *va_to_pte(unsigned long address); |
71 | extern unsigned long ioremap_bot, ioremap_base; | ||
72 | 77 | ||
73 | /* | 78 | /* |
74 | * The following only work if pte_present() is true. | 79 | * The following only work if pte_present() is true. |
@@ -85,11 +90,25 @@ static inline pte_t pte_mkspecial(pte_t pte) { return pte; } | |||
85 | #define VMALLOC_START (CONFIG_KERNEL_START + \ | 90 | #define VMALLOC_START (CONFIG_KERNEL_START + \ |
86 | max(32 * 1024 * 1024UL, memory_size)) | 91 | max(32 * 1024 * 1024UL, memory_size)) |
87 | #define VMALLOC_END ioremap_bot | 92 | #define VMALLOC_END ioremap_bot |
88 | #define VMALLOC_VMADDR(x) ((unsigned long)(x)) | ||
89 | 93 | ||
90 | #endif /* __ASSEMBLY__ */ | 94 | #endif /* __ASSEMBLY__ */ |
91 | 95 | ||
92 | /* | 96 | /* |
97 | * Macro to mark a page protection value as "uncacheable". | ||
98 | */ | ||
99 | |||
100 | #define _PAGE_CACHE_CTL (_PAGE_GUARDED | _PAGE_NO_CACHE | \ | ||
101 | _PAGE_WRITETHRU) | ||
102 | |||
103 | #define pgprot_noncached(prot) \ | ||
104 | (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ | ||
105 | _PAGE_NO_CACHE | _PAGE_GUARDED)) | ||
106 | |||
107 | #define pgprot_noncached_wc(prot) \ | ||
108 | (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ | ||
109 | _PAGE_NO_CACHE)) | ||
110 | |||
111 | /* | ||
93 | * The MicroBlaze MMU is identical to the PPC-40x MMU, and uses a hash | 112 | * The MicroBlaze MMU is identical to the PPC-40x MMU, and uses a hash |
94 | * table containing PTEs, together with a set of 16 segment registers, to | 113 | * table containing PTEs, together with a set of 16 segment registers, to |
95 | * define the virtual to physical address mapping. | 114 | * define the virtual to physical address mapping. |
@@ -397,7 +416,7 @@ static inline unsigned long pte_update(pte_t *p, unsigned long clr, | |||
397 | mts rmsr, %2\n\ | 416 | mts rmsr, %2\n\ |
398 | nop" | 417 | nop" |
399 | : "=&r" (old), "=&r" (tmp), "=&r" (msr), "=m" (*p) | 418 | : "=&r" (old), "=&r" (tmp), "=&r" (msr), "=m" (*p) |
400 | : "r" ((unsigned long)(p+1) - 4), "r" (clr), "r" (set), "m" (*p) | 419 | : "r" ((unsigned long)(p + 1) - 4), "r" (clr), "r" (set), "m" (*p) |
401 | : "cc"); | 420 | : "cc"); |
402 | 421 | ||
403 | return old; | 422 | return old; |
@@ -566,18 +585,11 @@ void mapin_ram(void); | |||
566 | int map_page(unsigned long va, phys_addr_t pa, int flags); | 585 | int map_page(unsigned long va, phys_addr_t pa, int flags); |
567 | 586 | ||
568 | extern int mem_init_done; | 587 | extern int mem_init_done; |
569 | extern unsigned long ioremap_base; | ||
570 | extern unsigned long ioremap_bot; | ||
571 | 588 | ||
572 | asmlinkage void __init mmu_init(void); | 589 | asmlinkage void __init mmu_init(void); |
573 | 590 | ||
574 | void __init *early_get_page(void); | 591 | void __init *early_get_page(void); |
575 | 592 | ||
576 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); | ||
577 | void consistent_free(void *vaddr); | ||
578 | void consistent_sync(void *vaddr, size_t size, int direction); | ||
579 | void consistent_sync_page(struct page *page, unsigned long offset, | ||
580 | size_t size, int direction); | ||
581 | #endif /* __ASSEMBLY__ */ | 593 | #endif /* __ASSEMBLY__ */ |
582 | #endif /* __KERNEL__ */ | 594 | #endif /* __KERNEL__ */ |
583 | 595 | ||
@@ -586,6 +598,14 @@ void consistent_sync_page(struct page *page, unsigned long offset, | |||
586 | #ifndef __ASSEMBLY__ | 598 | #ifndef __ASSEMBLY__ |
587 | #include <asm-generic/pgtable.h> | 599 | #include <asm-generic/pgtable.h> |
588 | 600 | ||
601 | extern unsigned long ioremap_bot, ioremap_base; | ||
602 | |||
603 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); | ||
604 | void consistent_free(void *vaddr); | ||
605 | void consistent_sync(void *vaddr, size_t size, int direction); | ||
606 | void consistent_sync_page(struct page *page, unsigned long offset, | ||
607 | size_t size, int direction); | ||
608 | |||
589 | void setup_memory(void); | 609 | void setup_memory(void); |
590 | #endif /* __ASSEMBLY__ */ | 610 | #endif /* __ASSEMBLY__ */ |
591 | 611 | ||
diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h index 03f45a963204..e7d67a329bd7 100644 --- a/arch/microblaze/include/asm/prom.h +++ b/arch/microblaze/include/asm/prom.h | |||
@@ -31,6 +31,21 @@ | |||
31 | /* Other Prototypes */ | 31 | /* Other Prototypes */ |
32 | extern int early_uartlite_console(void); | 32 | extern int early_uartlite_console(void); |
33 | 33 | ||
34 | #ifdef CONFIG_PCI | ||
35 | /* | ||
36 | * PCI <-> OF matching functions | ||
37 | * (XXX should these be here?) | ||
38 | */ | ||
39 | struct pci_bus; | ||
40 | struct pci_dev; | ||
41 | extern int pci_device_from_OF_node(struct device_node *node, | ||
42 | u8 *bus, u8 *devfn); | ||
43 | extern struct device_node *pci_busdev_to_OF_node(struct pci_bus *bus, | ||
44 | int devfn); | ||
45 | extern struct device_node *pci_device_to_OF_node(struct pci_dev *dev); | ||
46 | extern void pci_create_OF_bus_map(void); | ||
47 | #endif | ||
48 | |||
34 | /* | 49 | /* |
35 | * OF address retreival & translation | 50 | * OF address retreival & translation |
36 | */ | 51 | */ |
diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h index 88fc92cdd8ce..48c4f0335e3f 100644 --- a/arch/microblaze/include/asm/system.h +++ b/arch/microblaze/include/asm/system.h | |||
@@ -88,6 +88,9 @@ void free_initmem(void); | |||
88 | extern char *klimit; | 88 | extern char *klimit; |
89 | extern void ret_from_fork(void); | 89 | extern void ret_from_fork(void); |
90 | 90 | ||
91 | extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); | ||
92 | extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask); | ||
93 | |||
91 | #ifdef CONFIG_DEBUG_FS | 94 | #ifdef CONFIG_DEBUG_FS |
92 | extern struct dentry *of_debugfs_root; | 95 | extern struct dentry *of_debugfs_root; |
93 | #endif | 96 | #endif |
diff --git a/arch/microblaze/include/asm/tlbflush.h b/arch/microblaze/include/asm/tlbflush.h index 10ec70cd8735..bcb8b41d55af 100644 --- a/arch/microblaze/include/asm/tlbflush.h +++ b/arch/microblaze/include/asm/tlbflush.h | |||
@@ -23,7 +23,7 @@ | |||
23 | extern void _tlbie(unsigned long address); | 23 | extern void _tlbie(unsigned long address); |
24 | extern void _tlbia(void); | 24 | extern void _tlbia(void); |
25 | 25 | ||
26 | #define __tlbia() _tlbia() | 26 | #define __tlbia() { preempt_disable(); _tlbia(); preempt_enable(); } |
27 | 27 | ||
28 | static inline void local_flush_tlb_all(void) | 28 | static inline void local_flush_tlb_all(void) |
29 | { __tlbia(); } | 29 | { __tlbia(); } |
diff --git a/arch/microblaze/kernel/Makefile b/arch/microblaze/kernel/Makefile index b07594eccf9b..e51bc1520825 100644 --- a/arch/microblaze/kernel/Makefile +++ b/arch/microblaze/kernel/Makefile | |||
@@ -14,7 +14,7 @@ endif | |||
14 | 14 | ||
15 | extra-y := head.o vmlinux.lds | 15 | extra-y := head.o vmlinux.lds |
16 | 16 | ||
17 | obj-y += exceptions.o \ | 17 | obj-y += dma.o exceptions.o \ |
18 | hw_exception_handler.o init_task.o intc.o irq.o of_device.o \ | 18 | hw_exception_handler.o init_task.o intc.o irq.o of_device.o \ |
19 | of_platform.o process.o prom.o prom_parse.o ptrace.o \ | 19 | of_platform.o process.o prom.o prom_parse.o ptrace.o \ |
20 | setup.o signal.o sys_microblaze.o timer.o traps.o reset.o | 20 | setup.o signal.o sys_microblaze.o timer.o traps.o reset.o |
diff --git a/arch/microblaze/kernel/asm-offsets.c b/arch/microblaze/kernel/asm-offsets.c index 7bc7b68f97db..0071260a672c 100644 --- a/arch/microblaze/kernel/asm-offsets.c +++ b/arch/microblaze/kernel/asm-offsets.c | |||
@@ -90,6 +90,7 @@ int main(int argc, char *argv[]) | |||
90 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 90 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
91 | DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); | 91 | DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); |
92 | DEFINE(TI_CPU_CONTEXT, offsetof(struct thread_info, cpu_context)); | 92 | DEFINE(TI_CPU_CONTEXT, offsetof(struct thread_info, cpu_context)); |
93 | DEFINE(TI_PREEMPT_COUNT, offsetof(struct thread_info, preempt_count)); | ||
93 | BLANK(); | 94 | BLANK(); |
94 | 95 | ||
95 | /* struct cpu_context */ | 96 | /* struct cpu_context */ |
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c index 2a56bccce4e0..f04d8a86dead 100644 --- a/arch/microblaze/kernel/cpu/cache.c +++ b/arch/microblaze/kernel/cpu/cache.c | |||
@@ -15,25 +15,6 @@ | |||
15 | #include <asm/cpuinfo.h> | 15 | #include <asm/cpuinfo.h> |
16 | #include <asm/pvr.h> | 16 | #include <asm/pvr.h> |
17 | 17 | ||
18 | static inline void __invalidate_flush_icache(unsigned int addr) | ||
19 | { | ||
20 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
21 | : : "r" (addr)); | ||
22 | } | ||
23 | |||
24 | static inline void __flush_dcache(unsigned int addr) | ||
25 | { | ||
26 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ | ||
27 | : : "r" (addr)); | ||
28 | } | ||
29 | |||
30 | static inline void __invalidate_dcache(unsigned int baseaddr, | ||
31 | unsigned int offset) | ||
32 | { | ||
33 | __asm__ __volatile__ ("wdc.clear %0, %1;" \ | ||
34 | : : "r" (baseaddr), "r" (offset)); | ||
35 | } | ||
36 | |||
37 | static inline void __enable_icache_msr(void) | 18 | static inline void __enable_icache_msr(void) |
38 | { | 19 | { |
39 | __asm__ __volatile__ (" msrset r0, %0; \ | 20 | __asm__ __volatile__ (" msrset r0, %0; \ |
@@ -148,9 +129,9 @@ do { \ | |||
148 | int step = -line_length; \ | 129 | int step = -line_length; \ |
149 | BUG_ON(step >= 0); \ | 130 | BUG_ON(step >= 0); \ |
150 | \ | 131 | \ |
151 | __asm__ __volatile__ (" 1: " #op " r0, %0; \ | 132 | __asm__ __volatile__ (" 1: " #op " r0, %0; \ |
152 | bgtid %0, 1b; \ | 133 | bgtid %0, 1b; \ |
153 | addk %0, %0, %1; \ | 134 | addk %0, %0, %1; \ |
154 | " : : "r" (len), "r" (step) \ | 135 | " : : "r" (len), "r" (step) \ |
155 | : "memory"); \ | 136 | : "memory"); \ |
156 | } while (0); | 137 | } while (0); |
@@ -162,9 +143,9 @@ do { \ | |||
162 | int count = end - start; \ | 143 | int count = end - start; \ |
163 | BUG_ON(count <= 0); \ | 144 | BUG_ON(count <= 0); \ |
164 | \ | 145 | \ |
165 | __asm__ __volatile__ (" 1: " #op " %0, %1; \ | 146 | __asm__ __volatile__ (" 1: " #op " %0, %1; \ |
166 | bgtid %1, 1b; \ | 147 | bgtid %1, 1b; \ |
167 | addk %1, %1, %2; \ | 148 | addk %1, %1, %2; \ |
168 | " : : "r" (start), "r" (count), \ | 149 | " : : "r" (start), "r" (count), \ |
169 | "r" (step) : "memory"); \ | 150 | "r" (step) : "memory"); \ |
170 | } while (0); | 151 | } while (0); |
@@ -175,7 +156,7 @@ do { \ | |||
175 | int volatile temp; \ | 156 | int volatile temp; \ |
176 | BUG_ON(end - start <= 0); \ | 157 | BUG_ON(end - start <= 0); \ |
177 | \ | 158 | \ |
178 | __asm__ __volatile__ (" 1: " #op " %1, r0; \ | 159 | __asm__ __volatile__ (" 1: " #op " %1, r0; \ |
179 | cmpu %0, %1, %2; \ | 160 | cmpu %0, %1, %2; \ |
180 | bgtid %0, 1b; \ | 161 | bgtid %0, 1b; \ |
181 | addk %1, %1, %3; \ | 162 | addk %1, %1, %3; \ |
@@ -183,10 +164,14 @@ do { \ | |||
183 | "r" (line_length) : "memory"); \ | 164 | "r" (line_length) : "memory"); \ |
184 | } while (0); | 165 | } while (0); |
185 | 166 | ||
167 | #define ASM_LOOP | ||
168 | |||
186 | static void __flush_icache_range_msr_irq(unsigned long start, unsigned long end) | 169 | static void __flush_icache_range_msr_irq(unsigned long start, unsigned long end) |
187 | { | 170 | { |
188 | unsigned long flags; | 171 | unsigned long flags; |
189 | 172 | #ifndef ASM_LOOP | |
173 | int i; | ||
174 | #endif | ||
190 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 175 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
191 | (unsigned int)start, (unsigned int) end); | 176 | (unsigned int)start, (unsigned int) end); |
192 | 177 | ||
@@ -196,8 +181,13 @@ static void __flush_icache_range_msr_irq(unsigned long start, unsigned long end) | |||
196 | local_irq_save(flags); | 181 | local_irq_save(flags); |
197 | __disable_icache_msr(); | 182 | __disable_icache_msr(); |
198 | 183 | ||
184 | #ifdef ASM_LOOP | ||
199 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); | 185 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); |
200 | 186 | #else | |
187 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
188 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
189 | : : "r" (i)); | ||
190 | #endif | ||
201 | __enable_icache_msr(); | 191 | __enable_icache_msr(); |
202 | local_irq_restore(flags); | 192 | local_irq_restore(flags); |
203 | } | 193 | } |
@@ -206,7 +196,9 @@ static void __flush_icache_range_nomsr_irq(unsigned long start, | |||
206 | unsigned long end) | 196 | unsigned long end) |
207 | { | 197 | { |
208 | unsigned long flags; | 198 | unsigned long flags; |
209 | 199 | #ifndef ASM_LOOP | |
200 | int i; | ||
201 | #endif | ||
210 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 202 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
211 | (unsigned int)start, (unsigned int) end); | 203 | (unsigned int)start, (unsigned int) end); |
212 | 204 | ||
@@ -216,7 +208,13 @@ static void __flush_icache_range_nomsr_irq(unsigned long start, | |||
216 | local_irq_save(flags); | 208 | local_irq_save(flags); |
217 | __disable_icache_nomsr(); | 209 | __disable_icache_nomsr(); |
218 | 210 | ||
211 | #ifdef ASM_LOOP | ||
219 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); | 212 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); |
213 | #else | ||
214 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
215 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
216 | : : "r" (i)); | ||
217 | #endif | ||
220 | 218 | ||
221 | __enable_icache_nomsr(); | 219 | __enable_icache_nomsr(); |
222 | local_irq_restore(flags); | 220 | local_irq_restore(flags); |
@@ -225,25 +223,41 @@ static void __flush_icache_range_nomsr_irq(unsigned long start, | |||
225 | static void __flush_icache_range_noirq(unsigned long start, | 223 | static void __flush_icache_range_noirq(unsigned long start, |
226 | unsigned long end) | 224 | unsigned long end) |
227 | { | 225 | { |
226 | #ifndef ASM_LOOP | ||
227 | int i; | ||
228 | #endif | ||
228 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 229 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
229 | (unsigned int)start, (unsigned int) end); | 230 | (unsigned int)start, (unsigned int) end); |
230 | 231 | ||
231 | CACHE_LOOP_LIMITS(start, end, | 232 | CACHE_LOOP_LIMITS(start, end, |
232 | cpuinfo.icache_line_length, cpuinfo.icache_size); | 233 | cpuinfo.icache_line_length, cpuinfo.icache_size); |
234 | #ifdef ASM_LOOP | ||
233 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); | 235 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); |
236 | #else | ||
237 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
238 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
239 | : : "r" (i)); | ||
240 | #endif | ||
234 | } | 241 | } |
235 | 242 | ||
236 | static void __flush_icache_all_msr_irq(void) | 243 | static void __flush_icache_all_msr_irq(void) |
237 | { | 244 | { |
238 | unsigned long flags; | 245 | unsigned long flags; |
239 | 246 | #ifndef ASM_LOOP | |
247 | int i; | ||
248 | #endif | ||
240 | pr_debug("%s\n", __func__); | 249 | pr_debug("%s\n", __func__); |
241 | 250 | ||
242 | local_irq_save(flags); | 251 | local_irq_save(flags); |
243 | __disable_icache_msr(); | 252 | __disable_icache_msr(); |
244 | 253 | #ifdef ASM_LOOP | |
245 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | 254 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); |
246 | 255 | #else | |
256 | for (i = 0; i < cpuinfo.icache_size; | ||
257 | i += cpuinfo.icache_line_length) | ||
258 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
259 | : : "r" (i)); | ||
260 | #endif | ||
247 | __enable_icache_msr(); | 261 | __enable_icache_msr(); |
248 | local_irq_restore(flags); | 262 | local_irq_restore(flags); |
249 | } | 263 | } |
@@ -251,35 +265,59 @@ static void __flush_icache_all_msr_irq(void) | |||
251 | static void __flush_icache_all_nomsr_irq(void) | 265 | static void __flush_icache_all_nomsr_irq(void) |
252 | { | 266 | { |
253 | unsigned long flags; | 267 | unsigned long flags; |
254 | 268 | #ifndef ASM_LOOP | |
269 | int i; | ||
270 | #endif | ||
255 | pr_debug("%s\n", __func__); | 271 | pr_debug("%s\n", __func__); |
256 | 272 | ||
257 | local_irq_save(flags); | 273 | local_irq_save(flags); |
258 | __disable_icache_nomsr(); | 274 | __disable_icache_nomsr(); |
259 | 275 | #ifdef ASM_LOOP | |
260 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | 276 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); |
261 | 277 | #else | |
278 | for (i = 0; i < cpuinfo.icache_size; | ||
279 | i += cpuinfo.icache_line_length) | ||
280 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
281 | : : "r" (i)); | ||
282 | #endif | ||
262 | __enable_icache_nomsr(); | 283 | __enable_icache_nomsr(); |
263 | local_irq_restore(flags); | 284 | local_irq_restore(flags); |
264 | } | 285 | } |
265 | 286 | ||
266 | static void __flush_icache_all_noirq(void) | 287 | static void __flush_icache_all_noirq(void) |
267 | { | 288 | { |
289 | #ifndef ASM_LOOP | ||
290 | int i; | ||
291 | #endif | ||
268 | pr_debug("%s\n", __func__); | 292 | pr_debug("%s\n", __func__); |
293 | #ifdef ASM_LOOP | ||
269 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | 294 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); |
295 | #else | ||
296 | for (i = 0; i < cpuinfo.icache_size; | ||
297 | i += cpuinfo.icache_line_length) | ||
298 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
299 | : : "r" (i)); | ||
300 | #endif | ||
270 | } | 301 | } |
271 | 302 | ||
272 | static void __invalidate_dcache_all_msr_irq(void) | 303 | static void __invalidate_dcache_all_msr_irq(void) |
273 | { | 304 | { |
274 | unsigned long flags; | 305 | unsigned long flags; |
275 | 306 | #ifndef ASM_LOOP | |
307 | int i; | ||
308 | #endif | ||
276 | pr_debug("%s\n", __func__); | 309 | pr_debug("%s\n", __func__); |
277 | 310 | ||
278 | local_irq_save(flags); | 311 | local_irq_save(flags); |
279 | __disable_dcache_msr(); | 312 | __disable_dcache_msr(); |
280 | 313 | #ifdef ASM_LOOP | |
281 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); | 314 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); |
282 | 315 | #else | |
316 | for (i = 0; i < cpuinfo.dcache_size; | ||
317 | i += cpuinfo.dcache_line_length) | ||
318 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
319 | : : "r" (i)); | ||
320 | #endif | ||
283 | __enable_dcache_msr(); | 321 | __enable_dcache_msr(); |
284 | local_irq_restore(flags); | 322 | local_irq_restore(flags); |
285 | } | 323 | } |
@@ -287,60 +325,107 @@ static void __invalidate_dcache_all_msr_irq(void) | |||
287 | static void __invalidate_dcache_all_nomsr_irq(void) | 325 | static void __invalidate_dcache_all_nomsr_irq(void) |
288 | { | 326 | { |
289 | unsigned long flags; | 327 | unsigned long flags; |
290 | 328 | #ifndef ASM_LOOP | |
329 | int i; | ||
330 | #endif | ||
291 | pr_debug("%s\n", __func__); | 331 | pr_debug("%s\n", __func__); |
292 | 332 | ||
293 | local_irq_save(flags); | 333 | local_irq_save(flags); |
294 | __disable_dcache_nomsr(); | 334 | __disable_dcache_nomsr(); |
295 | 335 | #ifdef ASM_LOOP | |
296 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); | 336 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); |
297 | 337 | #else | |
338 | for (i = 0; i < cpuinfo.dcache_size; | ||
339 | i += cpuinfo.dcache_line_length) | ||
340 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
341 | : : "r" (i)); | ||
342 | #endif | ||
298 | __enable_dcache_nomsr(); | 343 | __enable_dcache_nomsr(); |
299 | local_irq_restore(flags); | 344 | local_irq_restore(flags); |
300 | } | 345 | } |
301 | 346 | ||
302 | static void __invalidate_dcache_all_noirq_wt(void) | 347 | static void __invalidate_dcache_all_noirq_wt(void) |
303 | { | 348 | { |
349 | #ifndef ASM_LOOP | ||
350 | int i; | ||
351 | #endif | ||
304 | pr_debug("%s\n", __func__); | 352 | pr_debug("%s\n", __func__); |
353 | #ifdef ASM_LOOP | ||
305 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc) | 354 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc) |
355 | #else | ||
356 | for (i = 0; i < cpuinfo.dcache_size; | ||
357 | i += cpuinfo.dcache_line_length) | ||
358 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
359 | : : "r" (i)); | ||
360 | #endif | ||
306 | } | 361 | } |
307 | 362 | ||
308 | /* FIXME this is weird - should be only wdc but not work | 363 | /* FIXME this is weird - should be only wdc but not work |
309 | * MS: I am getting bus errors and other weird things */ | 364 | * MS: I am getting bus errors and other weird things */ |
310 | static void __invalidate_dcache_all_wb(void) | 365 | static void __invalidate_dcache_all_wb(void) |
311 | { | 366 | { |
367 | #ifndef ASM_LOOP | ||
368 | int i; | ||
369 | #endif | ||
312 | pr_debug("%s\n", __func__); | 370 | pr_debug("%s\n", __func__); |
371 | #ifdef ASM_LOOP | ||
313 | CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length, | 372 | CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length, |
314 | wdc.clear) | 373 | wdc.clear) |
374 | #else | ||
375 | for (i = 0; i < cpuinfo.dcache_size; | ||
376 | i += cpuinfo.dcache_line_length) | ||
377 | __asm__ __volatile__ ("wdc.clear %0, r0;" \ | ||
378 | : : "r" (i)); | ||
379 | #endif | ||
315 | } | 380 | } |
316 | 381 | ||
317 | static void __invalidate_dcache_range_wb(unsigned long start, | 382 | static void __invalidate_dcache_range_wb(unsigned long start, |
318 | unsigned long end) | 383 | unsigned long end) |
319 | { | 384 | { |
385 | #ifndef ASM_LOOP | ||
386 | int i; | ||
387 | #endif | ||
320 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 388 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
321 | (unsigned int)start, (unsigned int) end); | 389 | (unsigned int)start, (unsigned int) end); |
322 | 390 | ||
323 | CACHE_LOOP_LIMITS(start, end, | 391 | CACHE_LOOP_LIMITS(start, end, |
324 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | 392 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); |
393 | #ifdef ASM_LOOP | ||
325 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); | 394 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); |
395 | #else | ||
396 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
397 | __asm__ __volatile__ ("wdc.clear %0, r0;" \ | ||
398 | : : "r" (i)); | ||
399 | #endif | ||
326 | } | 400 | } |
327 | 401 | ||
328 | static void __invalidate_dcache_range_nomsr_wt(unsigned long start, | 402 | static void __invalidate_dcache_range_nomsr_wt(unsigned long start, |
329 | unsigned long end) | 403 | unsigned long end) |
330 | { | 404 | { |
405 | #ifndef ASM_LOOP | ||
406 | int i; | ||
407 | #endif | ||
331 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 408 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
332 | (unsigned int)start, (unsigned int) end); | 409 | (unsigned int)start, (unsigned int) end); |
333 | CACHE_LOOP_LIMITS(start, end, | 410 | CACHE_LOOP_LIMITS(start, end, |
334 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | 411 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); |
335 | 412 | ||
413 | #ifdef ASM_LOOP | ||
336 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 414 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
415 | #else | ||
416 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
417 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
418 | : : "r" (i)); | ||
419 | #endif | ||
337 | } | 420 | } |
338 | 421 | ||
339 | static void __invalidate_dcache_range_msr_irq_wt(unsigned long start, | 422 | static void __invalidate_dcache_range_msr_irq_wt(unsigned long start, |
340 | unsigned long end) | 423 | unsigned long end) |
341 | { | 424 | { |
342 | unsigned long flags; | 425 | unsigned long flags; |
343 | 426 | #ifndef ASM_LOOP | |
427 | int i; | ||
428 | #endif | ||
344 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 429 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
345 | (unsigned int)start, (unsigned int) end); | 430 | (unsigned int)start, (unsigned int) end); |
346 | CACHE_LOOP_LIMITS(start, end, | 431 | CACHE_LOOP_LIMITS(start, end, |
@@ -349,7 +434,13 @@ static void __invalidate_dcache_range_msr_irq_wt(unsigned long start, | |||
349 | local_irq_save(flags); | 434 | local_irq_save(flags); |
350 | __disable_dcache_msr(); | 435 | __disable_dcache_msr(); |
351 | 436 | ||
437 | #ifdef ASM_LOOP | ||
352 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 438 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
439 | #else | ||
440 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
441 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
442 | : : "r" (i)); | ||
443 | #endif | ||
353 | 444 | ||
354 | __enable_dcache_msr(); | 445 | __enable_dcache_msr(); |
355 | local_irq_restore(flags); | 446 | local_irq_restore(flags); |
@@ -359,7 +450,9 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start, | |||
359 | unsigned long end) | 450 | unsigned long end) |
360 | { | 451 | { |
361 | unsigned long flags; | 452 | unsigned long flags; |
362 | 453 | #ifndef ASM_LOOP | |
454 | int i; | ||
455 | #endif | ||
363 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 456 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
364 | (unsigned int)start, (unsigned int) end); | 457 | (unsigned int)start, (unsigned int) end); |
365 | 458 | ||
@@ -369,7 +462,13 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start, | |||
369 | local_irq_save(flags); | 462 | local_irq_save(flags); |
370 | __disable_dcache_nomsr(); | 463 | __disable_dcache_nomsr(); |
371 | 464 | ||
465 | #ifdef ASM_LOOP | ||
372 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | 466 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); |
467 | #else | ||
468 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
469 | __asm__ __volatile__ ("wdc %0, r0;" \ | ||
470 | : : "r" (i)); | ||
471 | #endif | ||
373 | 472 | ||
374 | __enable_dcache_nomsr(); | 473 | __enable_dcache_nomsr(); |
375 | local_irq_restore(flags); | 474 | local_irq_restore(flags); |
@@ -377,19 +476,38 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start, | |||
377 | 476 | ||
378 | static void __flush_dcache_all_wb(void) | 477 | static void __flush_dcache_all_wb(void) |
379 | { | 478 | { |
479 | #ifndef ASM_LOOP | ||
480 | int i; | ||
481 | #endif | ||
380 | pr_debug("%s\n", __func__); | 482 | pr_debug("%s\n", __func__); |
483 | #ifdef ASM_LOOP | ||
381 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, | 484 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, |
382 | wdc.flush); | 485 | wdc.flush); |
486 | #else | ||
487 | for (i = 0; i < cpuinfo.dcache_size; | ||
488 | i += cpuinfo.dcache_line_length) | ||
489 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ | ||
490 | : : "r" (i)); | ||
491 | #endif | ||
383 | } | 492 | } |
384 | 493 | ||
385 | static void __flush_dcache_range_wb(unsigned long start, unsigned long end) | 494 | static void __flush_dcache_range_wb(unsigned long start, unsigned long end) |
386 | { | 495 | { |
496 | #ifndef ASM_LOOP | ||
497 | int i; | ||
498 | #endif | ||
387 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | 499 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
388 | (unsigned int)start, (unsigned int) end); | 500 | (unsigned int)start, (unsigned int) end); |
389 | 501 | ||
390 | CACHE_LOOP_LIMITS(start, end, | 502 | CACHE_LOOP_LIMITS(start, end, |
391 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | 503 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); |
504 | #ifdef ASM_LOOP | ||
392 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); | 505 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); |
506 | #else | ||
507 | for (i = start; i < end; i += cpuinfo.icache_line_length) | ||
508 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ | ||
509 | : : "r" (i)); | ||
510 | #endif | ||
393 | } | 511 | } |
394 | 512 | ||
395 | /* struct for wb caches and for wt caches */ | 513 | /* struct for wb caches and for wt caches */ |
@@ -493,7 +611,7 @@ const struct scache wt_nomsr_noirq = { | |||
493 | #define CPUVER_7_20_A 0x0c | 611 | #define CPUVER_7_20_A 0x0c |
494 | #define CPUVER_7_20_D 0x0f | 612 | #define CPUVER_7_20_D 0x0f |
495 | 613 | ||
496 | #define INFO(s) printk(KERN_INFO "cache: " s " \n"); | 614 | #define INFO(s) printk(KERN_INFO "cache: " s "\n"); |
497 | 615 | ||
498 | void microblaze_cache_init(void) | 616 | void microblaze_cache_init(void) |
499 | { | 617 | { |
@@ -532,4 +650,9 @@ void microblaze_cache_init(void) | |||
532 | } | 650 | } |
533 | } | 651 | } |
534 | } | 652 | } |
653 | invalidate_dcache(); | ||
654 | enable_dcache(); | ||
655 | |||
656 | invalidate_icache(); | ||
657 | enable_icache(); | ||
535 | } | 658 | } |
diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c new file mode 100644 index 000000000000..b1084974fccd --- /dev/null +++ b/arch/microblaze/kernel/dma.c | |||
@@ -0,0 +1,156 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009-2010 PetaLogix | ||
3 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corporation | ||
4 | * | ||
5 | * Provide default implementations of the DMA mapping callbacks for | ||
6 | * directly mapped busses. | ||
7 | */ | ||
8 | |||
9 | #include <linux/device.h> | ||
10 | #include <linux/dma-mapping.h> | ||
11 | #include <linux/dma-debug.h> | ||
12 | #include <asm/bug.h> | ||
13 | #include <asm/cacheflush.h> | ||
14 | |||
15 | /* | ||
16 | * Generic direct DMA implementation | ||
17 | * | ||
18 | * This implementation supports a per-device offset that can be applied if | ||
19 | * the address at which memory is visible to devices is not 0. Platform code | ||
20 | * can set archdata.dma_data to an unsigned long holding the offset. By | ||
21 | * default the offset is PCI_DRAM_OFFSET. | ||
22 | */ | ||
23 | static inline void __dma_sync_page(unsigned long paddr, unsigned long offset, | ||
24 | size_t size, enum dma_data_direction direction) | ||
25 | { | ||
26 | switch (direction) { | ||
27 | case DMA_TO_DEVICE: | ||
28 | flush_dcache_range(paddr + offset, paddr + offset + size); | ||
29 | break; | ||
30 | case DMA_FROM_DEVICE: | ||
31 | invalidate_dcache_range(paddr + offset, paddr + offset + size); | ||
32 | break; | ||
33 | default: | ||
34 | BUG(); | ||
35 | } | ||
36 | } | ||
37 | |||
38 | static unsigned long get_dma_direct_offset(struct device *dev) | ||
39 | { | ||
40 | if (dev) | ||
41 | return (unsigned long)dev->archdata.dma_data; | ||
42 | |||
43 | return PCI_DRAM_OFFSET; /* FIXME Not sure if is correct */ | ||
44 | } | ||
45 | |||
46 | #define NOT_COHERENT_CACHE | ||
47 | |||
48 | static void *dma_direct_alloc_coherent(struct device *dev, size_t size, | ||
49 | dma_addr_t *dma_handle, gfp_t flag) | ||
50 | { | ||
51 | #ifdef NOT_COHERENT_CACHE | ||
52 | return consistent_alloc(flag, size, dma_handle); | ||
53 | #else | ||
54 | void *ret; | ||
55 | struct page *page; | ||
56 | int node = dev_to_node(dev); | ||
57 | |||
58 | /* ignore region specifiers */ | ||
59 | flag &= ~(__GFP_HIGHMEM); | ||
60 | |||
61 | page = alloc_pages_node(node, flag, get_order(size)); | ||
62 | if (page == NULL) | ||
63 | return NULL; | ||
64 | ret = page_address(page); | ||
65 | memset(ret, 0, size); | ||
66 | *dma_handle = virt_to_phys(ret) + get_dma_direct_offset(dev); | ||
67 | |||
68 | return ret; | ||
69 | #endif | ||
70 | } | ||
71 | |||
72 | static void dma_direct_free_coherent(struct device *dev, size_t size, | ||
73 | void *vaddr, dma_addr_t dma_handle) | ||
74 | { | ||
75 | #ifdef NOT_COHERENT_CACHE | ||
76 | consistent_free(vaddr); | ||
77 | #else | ||
78 | free_pages((unsigned long)vaddr, get_order(size)); | ||
79 | #endif | ||
80 | } | ||
81 | |||
82 | static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, | ||
83 | int nents, enum dma_data_direction direction, | ||
84 | struct dma_attrs *attrs) | ||
85 | { | ||
86 | struct scatterlist *sg; | ||
87 | int i; | ||
88 | |||
89 | /* FIXME this part of code is untested */ | ||
90 | for_each_sg(sgl, sg, nents, i) { | ||
91 | sg->dma_address = sg_phys(sg) + get_dma_direct_offset(dev); | ||
92 | sg->dma_length = sg->length; | ||
93 | __dma_sync_page(page_to_phys(sg_page(sg)), sg->offset, | ||
94 | sg->length, direction); | ||
95 | } | ||
96 | |||
97 | return nents; | ||
98 | } | ||
99 | |||
100 | static void dma_direct_unmap_sg(struct device *dev, struct scatterlist *sg, | ||
101 | int nents, enum dma_data_direction direction, | ||
102 | struct dma_attrs *attrs) | ||
103 | { | ||
104 | } | ||
105 | |||
106 | static int dma_direct_dma_supported(struct device *dev, u64 mask) | ||
107 | { | ||
108 | return 1; | ||
109 | } | ||
110 | |||
111 | static inline dma_addr_t dma_direct_map_page(struct device *dev, | ||
112 | struct page *page, | ||
113 | unsigned long offset, | ||
114 | size_t size, | ||
115 | enum dma_data_direction direction, | ||
116 | struct dma_attrs *attrs) | ||
117 | { | ||
118 | __dma_sync_page(page_to_phys(page), offset, size, direction); | ||
119 | return page_to_phys(page) + offset + get_dma_direct_offset(dev); | ||
120 | } | ||
121 | |||
122 | static inline void dma_direct_unmap_page(struct device *dev, | ||
123 | dma_addr_t dma_address, | ||
124 | size_t size, | ||
125 | enum dma_data_direction direction, | ||
126 | struct dma_attrs *attrs) | ||
127 | { | ||
128 | /* There is not necessary to do cache cleanup | ||
129 | * | ||
130 | * phys_to_virt is here because in __dma_sync_page is __virt_to_phys and | ||
131 | * dma_address is physical address | ||
132 | */ | ||
133 | __dma_sync_page(dma_address, 0 , size, direction); | ||
134 | } | ||
135 | |||
136 | struct dma_map_ops dma_direct_ops = { | ||
137 | .alloc_coherent = dma_direct_alloc_coherent, | ||
138 | .free_coherent = dma_direct_free_coherent, | ||
139 | .map_sg = dma_direct_map_sg, | ||
140 | .unmap_sg = dma_direct_unmap_sg, | ||
141 | .dma_supported = dma_direct_dma_supported, | ||
142 | .map_page = dma_direct_map_page, | ||
143 | .unmap_page = dma_direct_unmap_page, | ||
144 | }; | ||
145 | EXPORT_SYMBOL(dma_direct_ops); | ||
146 | |||
147 | /* Number of entries preallocated for DMA-API debugging */ | ||
148 | #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16) | ||
149 | |||
150 | static int __init dma_init(void) | ||
151 | { | ||
152 | dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); | ||
153 | |||
154 | return 0; | ||
155 | } | ||
156 | fs_initcall(dma_init); | ||
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 3bad4ff49471..c0ede25c5b99 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -305,7 +305,7 @@ C_ENTRY(_user_exception): | |||
305 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ | 305 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ |
306 | addi r11, r0, 1; | 306 | addi r11, r0, 1; |
307 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */ | 307 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */ |
308 | 2: lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* get saved current */ | 308 | 2: lwi CURRENT_TASK, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); |
309 | /* Save away the syscall number. */ | 309 | /* Save away the syscall number. */ |
310 | swi r12, r1, PTO+PT_R0; | 310 | swi r12, r1, PTO+PT_R0; |
311 | tovirt(r1,r1) | 311 | tovirt(r1,r1) |
@@ -322,8 +322,7 @@ C_ENTRY(_user_exception): | |||
322 | rtid r11, 0 | 322 | rtid r11, 0 |
323 | nop | 323 | nop |
324 | 3: | 324 | 3: |
325 | add r11, r0, CURRENT_TASK /* Get current task ptr into r11 */ | 325 | lwi r11, CURRENT_TASK, TS_THREAD_INFO /* get thread info */ |
326 | lwi r11, r11, TS_THREAD_INFO /* get thread info */ | ||
327 | lwi r11, r11, TI_FLAGS /* get flags in thread info */ | 326 | lwi r11, r11, TI_FLAGS /* get flags in thread info */ |
328 | andi r11, r11, _TIF_WORK_SYSCALL_MASK | 327 | andi r11, r11, _TIF_WORK_SYSCALL_MASK |
329 | beqi r11, 4f | 328 | beqi r11, 4f |
@@ -382,60 +381,50 @@ C_ENTRY(ret_from_trap): | |||
382 | /* See if returning to kernel mode, if so, skip resched &c. */ | 381 | /* See if returning to kernel mode, if so, skip resched &c. */ |
383 | bnei r11, 2f; | 382 | bnei r11, 2f; |
384 | 383 | ||
384 | swi r3, r1, PTO + PT_R3 | ||
385 | swi r4, r1, PTO + PT_R4 | ||
386 | |||
385 | /* We're returning to user mode, so check for various conditions that | 387 | /* We're returning to user mode, so check for various conditions that |
386 | * trigger rescheduling. */ | 388 | * trigger rescheduling. */ |
387 | # FIXME: Restructure all these flag checks. | 389 | /* FIXME: Restructure all these flag checks. */ |
388 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 390 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ |
389 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
390 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 391 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
391 | andi r11, r11, _TIF_WORK_SYSCALL_MASK | 392 | andi r11, r11, _TIF_WORK_SYSCALL_MASK |
392 | beqi r11, 1f | 393 | beqi r11, 1f |
393 | 394 | ||
394 | swi r3, r1, PTO + PT_R3 | ||
395 | swi r4, r1, PTO + PT_R4 | ||
396 | brlid r15, do_syscall_trace_leave | 395 | brlid r15, do_syscall_trace_leave |
397 | addik r5, r1, PTO + PT_R0 | 396 | addik r5, r1, PTO + PT_R0 |
398 | lwi r3, r1, PTO + PT_R3 | ||
399 | lwi r4, r1, PTO + PT_R4 | ||
400 | 1: | 397 | 1: |
401 | |||
402 | /* We're returning to user mode, so check for various conditions that | 398 | /* We're returning to user mode, so check for various conditions that |
403 | * trigger rescheduling. */ | 399 | * trigger rescheduling. */ |
404 | /* Get current task ptr into r11 */ | 400 | /* get thread info from current task */ |
405 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 401 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; |
406 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
407 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 402 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
408 | andi r11, r11, _TIF_NEED_RESCHED; | 403 | andi r11, r11, _TIF_NEED_RESCHED; |
409 | beqi r11, 5f; | 404 | beqi r11, 5f; |
410 | 405 | ||
411 | swi r3, r1, PTO + PT_R3; /* store syscall result */ | ||
412 | swi r4, r1, PTO + PT_R4; | ||
413 | bralid r15, schedule; /* Call scheduler */ | 406 | bralid r15, schedule; /* Call scheduler */ |
414 | nop; /* delay slot */ | 407 | nop; /* delay slot */ |
415 | lwi r3, r1, PTO + PT_R3; /* restore syscall result */ | ||
416 | lwi r4, r1, PTO + PT_R4; | ||
417 | 408 | ||
418 | /* Maybe handle a signal */ | 409 | /* Maybe handle a signal */ |
419 | 5: add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 410 | 5: /* get thread info from current task*/ |
420 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | 411 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; |
421 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 412 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
422 | andi r11, r11, _TIF_SIGPENDING; | 413 | andi r11, r11, _TIF_SIGPENDING; |
423 | beqi r11, 1f; /* Signals to handle, handle them */ | 414 | beqi r11, 1f; /* Signals to handle, handle them */ |
424 | 415 | ||
425 | swi r3, r1, PTO + PT_R3; /* store syscall result */ | ||
426 | swi r4, r1, PTO + PT_R4; | ||
427 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ | 416 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ |
428 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ | ||
429 | addi r7, r0, 1; /* Arg 3: int in_syscall */ | 417 | addi r7, r0, 1; /* Arg 3: int in_syscall */ |
430 | bralid r15, do_signal; /* Handle any signals */ | 418 | bralid r15, do_signal; /* Handle any signals */ |
431 | nop; | 419 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ |
420 | |||
421 | /* Finally, return to user state. */ | ||
422 | 1: | ||
432 | lwi r3, r1, PTO + PT_R3; /* restore syscall result */ | 423 | lwi r3, r1, PTO + PT_R3; /* restore syscall result */ |
433 | lwi r4, r1, PTO + PT_R4; | 424 | lwi r4, r1, PTO + PT_R4; |
434 | 425 | ||
435 | /* Finally, return to user state. */ | 426 | swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ |
436 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ | 427 | swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */ |
437 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | ||
438 | swi r11, r0, PER_CPU(CURRENT_SAVE); /* save current */ | ||
439 | VM_OFF; | 428 | VM_OFF; |
440 | tophys(r1,r1); | 429 | tophys(r1,r1); |
441 | RESTORE_REGS; | 430 | RESTORE_REGS; |
@@ -565,7 +554,7 @@ C_ENTRY(sys_rt_sigreturn_wrapper): | |||
565 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ \ | 554 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ \ |
566 | addi r11, r0, 1; \ | 555 | addi r11, r0, 1; \ |
567 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode.*/\ | 556 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode.*/\ |
568 | 2: lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* get saved current */\ | 557 | 2: lwi CURRENT_TASK, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); \ |
569 | /* Save away the syscall number. */ \ | 558 | /* Save away the syscall number. */ \ |
570 | swi r0, r1, PTO+PT_R0; \ | 559 | swi r0, r1, PTO+PT_R0; \ |
571 | tovirt(r1,r1) | 560 | tovirt(r1,r1) |
@@ -673,9 +662,7 @@ C_ENTRY(ret_from_exc): | |||
673 | 662 | ||
674 | /* We're returning to user mode, so check for various conditions that | 663 | /* We're returning to user mode, so check for various conditions that |
675 | trigger rescheduling. */ | 664 | trigger rescheduling. */ |
676 | /* Get current task ptr into r11 */ | 665 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ |
677 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | ||
678 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
679 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 666 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
680 | andi r11, r11, _TIF_NEED_RESCHED; | 667 | andi r11, r11, _TIF_NEED_RESCHED; |
681 | beqi r11, 5f; | 668 | beqi r11, 5f; |
@@ -685,8 +672,7 @@ C_ENTRY(ret_from_exc): | |||
685 | nop; /* delay slot */ | 672 | nop; /* delay slot */ |
686 | 673 | ||
687 | /* Maybe handle a signal */ | 674 | /* Maybe handle a signal */ |
688 | 5: add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 675 | 5: lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ |
689 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
690 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 676 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
691 | andi r11, r11, _TIF_SIGPENDING; | 677 | andi r11, r11, _TIF_SIGPENDING; |
692 | beqi r11, 1f; /* Signals to handle, handle them */ | 678 | beqi r11, 1f; /* Signals to handle, handle them */ |
@@ -705,15 +691,13 @@ C_ENTRY(ret_from_exc): | |||
705 | * store return registers separately because this macros is use | 691 | * store return registers separately because this macros is use |
706 | * for others exceptions */ | 692 | * for others exceptions */ |
707 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ | 693 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ |
708 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ | ||
709 | addi r7, r0, 0; /* Arg 3: int in_syscall */ | 694 | addi r7, r0, 0; /* Arg 3: int in_syscall */ |
710 | bralid r15, do_signal; /* Handle any signals */ | 695 | bralid r15, do_signal; /* Handle any signals */ |
711 | nop; | 696 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ |
712 | 697 | ||
713 | /* Finally, return to user state. */ | 698 | /* Finally, return to user state. */ |
714 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ | 699 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ |
715 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 700 | swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */ |
716 | swi r11, r0, PER_CPU(CURRENT_SAVE); /* save current */ | ||
717 | VM_OFF; | 701 | VM_OFF; |
718 | tophys(r1,r1); | 702 | tophys(r1,r1); |
719 | 703 | ||
@@ -802,7 +786,7 @@ C_ENTRY(_interrupt): | |||
802 | swi r11, r0, TOPHYS(PER_CPU(KM)); | 786 | swi r11, r0, TOPHYS(PER_CPU(KM)); |
803 | 787 | ||
804 | 2: | 788 | 2: |
805 | lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); | 789 | lwi CURRENT_TASK, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); |
806 | swi r0, r1, PTO + PT_R0; | 790 | swi r0, r1, PTO + PT_R0; |
807 | tovirt(r1,r1) | 791 | tovirt(r1,r1) |
808 | la r5, r1, PTO; | 792 | la r5, r1, PTO; |
@@ -817,8 +801,7 @@ ret_from_irq: | |||
817 | lwi r11, r1, PTO + PT_MODE; | 801 | lwi r11, r1, PTO + PT_MODE; |
818 | bnei r11, 2f; | 802 | bnei r11, 2f; |
819 | 803 | ||
820 | add r11, r0, CURRENT_TASK; | 804 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; |
821 | lwi r11, r11, TS_THREAD_INFO; | ||
822 | lwi r11, r11, TI_FLAGS; /* MS: get flags from thread info */ | 805 | lwi r11, r11, TI_FLAGS; /* MS: get flags from thread info */ |
823 | andi r11, r11, _TIF_NEED_RESCHED; | 806 | andi r11, r11, _TIF_NEED_RESCHED; |
824 | beqi r11, 5f | 807 | beqi r11, 5f |
@@ -826,8 +809,7 @@ ret_from_irq: | |||
826 | nop; /* delay slot */ | 809 | nop; /* delay slot */ |
827 | 810 | ||
828 | /* Maybe handle a signal */ | 811 | /* Maybe handle a signal */ |
829 | 5: add r11, r0, CURRENT_TASK; | 812 | 5: lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* MS: get thread info */ |
830 | lwi r11, r11, TS_THREAD_INFO; /* MS: get thread info */ | ||
831 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 813 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
832 | andi r11, r11, _TIF_SIGPENDING; | 814 | andi r11, r11, _TIF_SIGPENDING; |
833 | beqid r11, no_intr_resched | 815 | beqid r11, no_intr_resched |
@@ -842,8 +824,7 @@ no_intr_resched: | |||
842 | /* Disable interrupts, we are now committed to the state restore */ | 824 | /* Disable interrupts, we are now committed to the state restore */ |
843 | disable_irq | 825 | disable_irq |
844 | swi r0, r0, PER_CPU(KM); /* MS: Now officially in user state. */ | 826 | swi r0, r0, PER_CPU(KM); /* MS: Now officially in user state. */ |
845 | add r11, r0, CURRENT_TASK; | 827 | swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); |
846 | swi r11, r0, PER_CPU(CURRENT_SAVE); | ||
847 | VM_OFF; | 828 | VM_OFF; |
848 | tophys(r1,r1); | 829 | tophys(r1,r1); |
849 | lwi r3, r1, PTO + PT_R3; /* MS: restore saved r3, r4 registers */ | 830 | lwi r3, r1, PTO + PT_R3; /* MS: restore saved r3, r4 registers */ |
@@ -853,7 +834,28 @@ no_intr_resched: | |||
853 | lwi r1, r1, PT_R1 - PT_SIZE; | 834 | lwi r1, r1, PT_R1 - PT_SIZE; |
854 | bri 6f; | 835 | bri 6f; |
855 | /* MS: Return to kernel state. */ | 836 | /* MS: Return to kernel state. */ |
856 | 2: VM_OFF /* MS: turn off MMU */ | 837 | 2: |
838 | #ifdef CONFIG_PREEMPT | ||
839 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; | ||
840 | /* MS: get preempt_count from thread info */ | ||
841 | lwi r5, r11, TI_PREEMPT_COUNT; | ||
842 | bgti r5, restore; | ||
843 | |||
844 | lwi r5, r11, TI_FLAGS; /* get flags in thread info */ | ||
845 | andi r5, r5, _TIF_NEED_RESCHED; | ||
846 | beqi r5, restore /* if zero jump over */ | ||
847 | |||
848 | preempt: | ||
849 | /* interrupts are off that's why I am calling preempt_chedule_irq */ | ||
850 | bralid r15, preempt_schedule_irq | ||
851 | nop | ||
852 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ | ||
853 | lwi r5, r11, TI_FLAGS; /* get flags in thread info */ | ||
854 | andi r5, r5, _TIF_NEED_RESCHED; | ||
855 | bnei r5, preempt /* if non zero jump to resched */ | ||
856 | restore: | ||
857 | #endif | ||
858 | VM_OFF /* MS: turn off MMU */ | ||
857 | tophys(r1,r1) | 859 | tophys(r1,r1) |
858 | lwi r3, r1, PTO + PT_R3; /* MS: restore saved r3, r4 registers */ | 860 | lwi r3, r1, PTO + PT_R3; /* MS: restore saved r3, r4 registers */ |
859 | lwi r4, r1, PTO + PT_R4; | 861 | lwi r4, r1, PTO + PT_R4; |
@@ -915,7 +917,7 @@ C_ENTRY(_debug_exception): | |||
915 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ | 917 | swi r11, r1, PTO+PT_R1; /* Store user SP. */ |
916 | addi r11, r0, 1; | 918 | addi r11, r0, 1; |
917 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */ | 919 | swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */ |
918 | 2: lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* get saved current */ | 920 | 2: lwi CURRENT_TASK, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); |
919 | /* Save away the syscall number. */ | 921 | /* Save away the syscall number. */ |
920 | swi r0, r1, PTO+PT_R0; | 922 | swi r0, r1, PTO+PT_R0; |
921 | tovirt(r1,r1) | 923 | tovirt(r1,r1) |
@@ -935,8 +937,7 @@ dbtrap_call: rtbd r11, 0; | |||
935 | bnei r11, 2f; | 937 | bnei r11, 2f; |
936 | 938 | ||
937 | /* Get current task ptr into r11 */ | 939 | /* Get current task ptr into r11 */ |
938 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 940 | lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ |
939 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
940 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 941 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
941 | andi r11, r11, _TIF_NEED_RESCHED; | 942 | andi r11, r11, _TIF_NEED_RESCHED; |
942 | beqi r11, 5f; | 943 | beqi r11, 5f; |
@@ -949,8 +950,7 @@ dbtrap_call: rtbd r11, 0; | |||
949 | /* XXX m68knommu also checks TASK_STATE & TASK_COUNTER here. */ | 950 | /* XXX m68knommu also checks TASK_STATE & TASK_COUNTER here. */ |
950 | 951 | ||
951 | /* Maybe handle a signal */ | 952 | /* Maybe handle a signal */ |
952 | 5: add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 953 | 5: lwi r11, CURRENT_TASK, TS_THREAD_INFO; /* get thread info */ |
953 | lwi r11, r11, TS_THREAD_INFO; /* get thread info */ | ||
954 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ | 954 | lwi r11, r11, TI_FLAGS; /* get flags in thread info */ |
955 | andi r11, r11, _TIF_SIGPENDING; | 955 | andi r11, r11, _TIF_SIGPENDING; |
956 | beqi r11, 1f; /* Signals to handle, handle them */ | 956 | beqi r11, 1f; /* Signals to handle, handle them */ |
@@ -966,16 +966,14 @@ dbtrap_call: rtbd r11, 0; | |||
966 | (in a possibly modified form) after do_signal returns. */ | 966 | (in a possibly modified form) after do_signal returns. */ |
967 | 967 | ||
968 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ | 968 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ |
969 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ | ||
970 | addi r7, r0, 0; /* Arg 3: int in_syscall */ | 969 | addi r7, r0, 0; /* Arg 3: int in_syscall */ |
971 | bralid r15, do_signal; /* Handle any signals */ | 970 | bralid r15, do_signal; /* Handle any signals */ |
972 | nop; | 971 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ |
973 | 972 | ||
974 | 973 | ||
975 | /* Finally, return to user state. */ | 974 | /* Finally, return to user state. */ |
976 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ | 975 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ |
977 | add r11, r0, CURRENT_TASK; /* Get current task ptr into r11 */ | 976 | swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */ |
978 | swi r11, r0, PER_CPU(CURRENT_SAVE); /* save current */ | ||
979 | VM_OFF; | 977 | VM_OFF; |
980 | tophys(r1,r1); | 978 | tophys(r1,r1); |
981 | 979 | ||
@@ -1007,7 +1005,7 @@ DBTRAP_return: /* Make global symbol for debugging */ | |||
1007 | 1005 | ||
1008 | ENTRY(_switch_to) | 1006 | ENTRY(_switch_to) |
1009 | /* prepare return value */ | 1007 | /* prepare return value */ |
1010 | addk r3, r0, r31 | 1008 | addk r3, r0, CURRENT_TASK |
1011 | 1009 | ||
1012 | /* save registers in cpu_context */ | 1010 | /* save registers in cpu_context */ |
1013 | /* use r11 and r12, volatile registers, as temp register */ | 1011 | /* use r11 and r12, volatile registers, as temp register */ |
@@ -1051,10 +1049,10 @@ ENTRY(_switch_to) | |||
1051 | nop | 1049 | nop |
1052 | swi r12, r11, CC_FSR | 1050 | swi r12, r11, CC_FSR |
1053 | 1051 | ||
1054 | /* update r31, the current */ | 1052 | /* update r31, the current-give me pointer to task which will be next */ |
1055 | lwi r31, r6, TI_TASK/* give me pointer to task which will be next */ | 1053 | lwi CURRENT_TASK, r6, TI_TASK |
1056 | /* stored it to current_save too */ | 1054 | /* stored it to current_save too */ |
1057 | swi r31, r0, PER_CPU(CURRENT_SAVE) | 1055 | swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE) |
1058 | 1056 | ||
1059 | /* get new process' cpu context and restore */ | 1057 | /* get new process' cpu context and restore */ |
1060 | /* give me start where start context of next task */ | 1058 | /* give me start where start context of next task */ |
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S index 30916193fcc7..cb7815cfe5ab 100644 --- a/arch/microblaze/kernel/head.S +++ b/arch/microblaze/kernel/head.S | |||
@@ -99,8 +99,8 @@ no_fdt_arg: | |||
99 | tophys(r4,r4) /* convert to phys address */ | 99 | tophys(r4,r4) /* convert to phys address */ |
100 | ori r3, r0, COMMAND_LINE_SIZE - 1 /* number of loops */ | 100 | ori r3, r0, COMMAND_LINE_SIZE - 1 /* number of loops */ |
101 | _copy_command_line: | 101 | _copy_command_line: |
102 | lbu r7, r5, r6 /* r7=r5+r6 - r5 contain pointer to command line */ | 102 | lbu r2, r5, r6 /* r7=r5+r6 - r5 contain pointer to command line */ |
103 | sb r7, r4, r6 /* addr[r4+r6]= r7*/ | 103 | sb r2, r4, r6 /* addr[r4+r6]= r7*/ |
104 | addik r6, r6, 1 /* increment counting */ | 104 | addik r6, r6, 1 /* increment counting */ |
105 | bgtid r3, _copy_command_line /* loop for all entries */ | 105 | bgtid r3, _copy_command_line /* loop for all entries */ |
106 | addik r3, r3, -1 /* descrement loop */ | 106 | addik r3, r3, -1 /* descrement loop */ |
@@ -136,6 +136,11 @@ _invalidate: | |||
136 | addik r3, r3, -1 | 136 | addik r3, r3, -1 |
137 | /* sync */ | 137 | /* sync */ |
138 | 138 | ||
139 | /* Setup the kernel PID */ | ||
140 | mts rpid,r0 /* Load the kernel PID */ | ||
141 | nop | ||
142 | bri 4 | ||
143 | |||
139 | /* | 144 | /* |
140 | * We should still be executing code at physical address area | 145 | * We should still be executing code at physical address area |
141 | * RAM_BASEADDR at this point. However, kernel code is at | 146 | * RAM_BASEADDR at this point. However, kernel code is at |
@@ -146,10 +151,6 @@ _invalidate: | |||
146 | addik r3,r0, CONFIG_KERNEL_START /* Load the kernel virtual address */ | 151 | addik r3,r0, CONFIG_KERNEL_START /* Load the kernel virtual address */ |
147 | tophys(r4,r3) /* Load the kernel physical address */ | 152 | tophys(r4,r3) /* Load the kernel physical address */ |
148 | 153 | ||
149 | mts rpid,r0 /* Load the kernel PID */ | ||
150 | nop | ||
151 | bri 4 | ||
152 | |||
153 | /* | 154 | /* |
154 | * Configure and load two entries into TLB slots 0 and 1. | 155 | * Configure and load two entries into TLB slots 0 and 1. |
155 | * In case we are pinning TLBs, these are reserved in by the | 156 | * In case we are pinning TLBs, these are reserved in by the |
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c index 0f06034d1fe0..6f39e2c001f3 100644 --- a/arch/microblaze/kernel/irq.c +++ b/arch/microblaze/kernel/irq.c | |||
@@ -93,3 +93,18 @@ skip: | |||
93 | } | 93 | } |
94 | return 0; | 94 | return 0; |
95 | } | 95 | } |
96 | |||
97 | /* MS: There is no any advance mapping mechanism. We are using simple 32bit | ||
98 | intc without any cascades or any connection that's why mapping is 1:1 */ | ||
99 | unsigned int irq_create_mapping(struct irq_host *host, irq_hw_number_t hwirq) | ||
100 | { | ||
101 | return hwirq; | ||
102 | } | ||
103 | EXPORT_SYMBOL_GPL(irq_create_mapping); | ||
104 | |||
105 | unsigned int irq_create_of_mapping(struct device_node *controller, | ||
106 | u32 *intspec, unsigned int intsize) | ||
107 | { | ||
108 | return intspec[0]; | ||
109 | } | ||
110 | EXPORT_SYMBOL_GPL(irq_create_of_mapping); | ||
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c index bb8c4b9ccb80..f974ec7aa357 100644 --- a/arch/microblaze/kernel/setup.c +++ b/arch/microblaze/kernel/setup.c | |||
@@ -22,7 +22,10 @@ | |||
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | #include <linux/bug.h> | 23 | #include <linux/bug.h> |
24 | #include <linux/param.h> | 24 | #include <linux/param.h> |
25 | #include <linux/pci.h> | ||
25 | #include <linux/cache.h> | 26 | #include <linux/cache.h> |
27 | #include <linux/of_platform.h> | ||
28 | #include <linux/dma-mapping.h> | ||
26 | #include <asm/cacheflush.h> | 29 | #include <asm/cacheflush.h> |
27 | #include <asm/entry.h> | 30 | #include <asm/entry.h> |
28 | #include <asm/cpuinfo.h> | 31 | #include <asm/cpuinfo.h> |
@@ -54,14 +57,10 @@ void __init setup_arch(char **cmdline_p) | |||
54 | 57 | ||
55 | microblaze_cache_init(); | 58 | microblaze_cache_init(); |
56 | 59 | ||
57 | invalidate_dcache(); | ||
58 | enable_dcache(); | ||
59 | |||
60 | invalidate_icache(); | ||
61 | enable_icache(); | ||
62 | |||
63 | setup_memory(); | 60 | setup_memory(); |
64 | 61 | ||
62 | xilinx_pci_init(); | ||
63 | |||
65 | #if defined(CONFIG_SELFMOD_INTC) || defined(CONFIG_SELFMOD_TIMER) | 64 | #if defined(CONFIG_SELFMOD_INTC) || defined(CONFIG_SELFMOD_TIMER) |
66 | printk(KERN_NOTICE "Self modified code enable\n"); | 65 | printk(KERN_NOTICE "Self modified code enable\n"); |
67 | #endif | 66 | #endif |
@@ -188,3 +187,37 @@ static int microblaze_debugfs_init(void) | |||
188 | } | 187 | } |
189 | arch_initcall(microblaze_debugfs_init); | 188 | arch_initcall(microblaze_debugfs_init); |
190 | #endif | 189 | #endif |
190 | |||
191 | static int dflt_bus_notify(struct notifier_block *nb, | ||
192 | unsigned long action, void *data) | ||
193 | { | ||
194 | struct device *dev = data; | ||
195 | |||
196 | /* We are only intereted in device addition */ | ||
197 | if (action != BUS_NOTIFY_ADD_DEVICE) | ||
198 | return 0; | ||
199 | |||
200 | set_dma_ops(dev, &dma_direct_ops); | ||
201 | |||
202 | return NOTIFY_DONE; | ||
203 | } | ||
204 | |||
205 | static struct notifier_block dflt_plat_bus_notifier = { | ||
206 | .notifier_call = dflt_bus_notify, | ||
207 | .priority = INT_MAX, | ||
208 | }; | ||
209 | |||
210 | static struct notifier_block dflt_of_bus_notifier = { | ||
211 | .notifier_call = dflt_bus_notify, | ||
212 | .priority = INT_MAX, | ||
213 | }; | ||
214 | |||
215 | static int __init setup_bus_notifier(void) | ||
216 | { | ||
217 | bus_register_notifier(&platform_bus_type, &dflt_plat_bus_notifier); | ||
218 | bus_register_notifier(&of_platform_bus_type, &dflt_of_bus_notifier); | ||
219 | |||
220 | return 0; | ||
221 | } | ||
222 | |||
223 | arch_initcall(setup_bus_notifier); | ||
diff --git a/arch/microblaze/mm/Makefile b/arch/microblaze/mm/Makefile index 6c8a924d9e26..09c49ed87235 100644 --- a/arch/microblaze/mm/Makefile +++ b/arch/microblaze/mm/Makefile | |||
@@ -2,6 +2,6 @@ | |||
2 | # Makefile | 2 | # Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := init.o | 5 | obj-y := consistent.o init.o |
6 | 6 | ||
7 | obj-$(CONFIG_MMU) += pgtable.o mmu_context.o fault.o | 7 | obj-$(CONFIG_MMU) += pgtable.o mmu_context.o fault.o |
diff --git a/arch/microblaze/mm/consistent.c b/arch/microblaze/mm/consistent.c new file mode 100644 index 000000000000..a9b443e3fb98 --- /dev/null +++ b/arch/microblaze/mm/consistent.c | |||
@@ -0,0 +1,246 @@ | |||
1 | /* | ||
2 | * Microblaze support for cache consistent memory. | ||
3 | * Copyright (C) 2010 Michal Simek <monstr@monstr.eu> | ||
4 | * Copyright (C) 2010 PetaLogix | ||
5 | * Copyright (C) 2005 John Williams <jwilliams@itee.uq.edu.au> | ||
6 | * | ||
7 | * Based on PowerPC version derived from arch/arm/mm/consistent.c | ||
8 | * Copyright (C) 2001 Dan Malek (dmalek@jlc.net) | ||
9 | * Copyright (C) 2000 Russell King | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #include <linux/module.h> | ||
17 | #include <linux/signal.h> | ||
18 | #include <linux/sched.h> | ||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/errno.h> | ||
21 | #include <linux/string.h> | ||
22 | #include <linux/types.h> | ||
23 | #include <linux/ptrace.h> | ||
24 | #include <linux/mman.h> | ||
25 | #include <linux/mm.h> | ||
26 | #include <linux/swap.h> | ||
27 | #include <linux/stddef.h> | ||
28 | #include <linux/vmalloc.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/delay.h> | ||
31 | #include <linux/bootmem.h> | ||
32 | #include <linux/highmem.h> | ||
33 | #include <linux/pci.h> | ||
34 | #include <linux/interrupt.h> | ||
35 | |||
36 | #include <asm/pgalloc.h> | ||
37 | #include <linux/io.h> | ||
38 | #include <linux/hardirq.h> | ||
39 | #include <asm/mmu_context.h> | ||
40 | #include <asm/mmu.h> | ||
41 | #include <linux/uaccess.h> | ||
42 | #include <asm/pgtable.h> | ||
43 | #include <asm/cpuinfo.h> | ||
44 | |||
45 | #ifndef CONFIG_MMU | ||
46 | |||
47 | /* I have to use dcache values because I can't relate on ram size */ | ||
48 | #define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1) | ||
49 | |||
50 | /* | ||
51 | * Consistent memory allocators. Used for DMA devices that want to | ||
52 | * share uncached memory with the processor core. | ||
53 | * My crufty no-MMU approach is simple. In the HW platform we can optionally | ||
54 | * mirror the DDR up above the processor cacheable region. So, memory accessed | ||
55 | * in this mirror region will not be cached. It's alloced from the same | ||
56 | * pool as normal memory, but the handle we return is shifted up into the | ||
57 | * uncached region. This will no doubt cause big problems if memory allocated | ||
58 | * here is not also freed properly. -- JW | ||
59 | */ | ||
60 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) | ||
61 | { | ||
62 | struct page *page, *end, *free; | ||
63 | unsigned long order; | ||
64 | void *ret, *virt; | ||
65 | |||
66 | if (in_interrupt()) | ||
67 | BUG(); | ||
68 | |||
69 | size = PAGE_ALIGN(size); | ||
70 | order = get_order(size); | ||
71 | |||
72 | page = alloc_pages(gfp, order); | ||
73 | if (!page) | ||
74 | goto no_page; | ||
75 | |||
76 | /* We could do with a page_to_phys and page_to_bus here. */ | ||
77 | virt = page_address(page); | ||
78 | ret = ioremap(virt_to_phys(virt), size); | ||
79 | if (!ret) | ||
80 | goto no_remap; | ||
81 | |||
82 | /* | ||
83 | * Here's the magic! Note if the uncached shadow is not implemented, | ||
84 | * it's up to the calling code to also test that condition and make | ||
85 | * other arranegments, such as manually flushing the cache and so on. | ||
86 | */ | ||
87 | #ifdef CONFIG_XILINX_UNCACHED_SHADOW | ||
88 | ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK); | ||
89 | #endif | ||
90 | /* dma_handle is same as physical (shadowed) address */ | ||
91 | *dma_handle = (dma_addr_t)ret; | ||
92 | |||
93 | /* | ||
94 | * free wasted pages. We skip the first page since we know | ||
95 | * that it will have count = 1 and won't require freeing. | ||
96 | * We also mark the pages in use as reserved so that | ||
97 | * remap_page_range works. | ||
98 | */ | ||
99 | page = virt_to_page(virt); | ||
100 | free = page + (size >> PAGE_SHIFT); | ||
101 | end = page + (1 << order); | ||
102 | |||
103 | for (; page < end; page++) { | ||
104 | init_page_count(page); | ||
105 | if (page >= free) | ||
106 | __free_page(page); | ||
107 | else | ||
108 | SetPageReserved(page); | ||
109 | } | ||
110 | |||
111 | return ret; | ||
112 | no_remap: | ||
113 | __free_pages(page, order); | ||
114 | no_page: | ||
115 | return NULL; | ||
116 | } | ||
117 | |||
118 | #else | ||
119 | |||
120 | void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) | ||
121 | { | ||
122 | int order, err, i; | ||
123 | unsigned long page, va, flags; | ||
124 | phys_addr_t pa; | ||
125 | struct vm_struct *area; | ||
126 | void *ret; | ||
127 | |||
128 | if (in_interrupt()) | ||
129 | BUG(); | ||
130 | |||
131 | /* Only allocate page size areas. */ | ||
132 | size = PAGE_ALIGN(size); | ||
133 | order = get_order(size); | ||
134 | |||
135 | page = __get_free_pages(gfp, order); | ||
136 | if (!page) { | ||
137 | BUG(); | ||
138 | return NULL; | ||
139 | } | ||
140 | |||
141 | /* | ||
142 | * we need to ensure that there are no cachelines in use, | ||
143 | * or worse dirty in this area. | ||
144 | */ | ||
145 | flush_dcache_range(virt_to_phys(page), virt_to_phys(page) + size); | ||
146 | |||
147 | /* Allocate some common virtual space to map the new pages. */ | ||
148 | area = get_vm_area(size, VM_ALLOC); | ||
149 | if (area == NULL) { | ||
150 | free_pages(page, order); | ||
151 | return NULL; | ||
152 | } | ||
153 | va = (unsigned long) area->addr; | ||
154 | ret = (void *)va; | ||
155 | |||
156 | /* This gives us the real physical address of the first page. */ | ||
157 | *dma_handle = pa = virt_to_bus((void *)page); | ||
158 | |||
159 | /* MS: This is the whole magic - use cache inhibit pages */ | ||
160 | flags = _PAGE_KERNEL | _PAGE_NO_CACHE; | ||
161 | |||
162 | /* | ||
163 | * Set refcount=1 on all pages in an order>0 | ||
164 | * allocation so that vfree() will actually | ||
165 | * free all pages that were allocated. | ||
166 | */ | ||
167 | if (order > 0) { | ||
168 | struct page *rpage = virt_to_page(page); | ||
169 | for (i = 1; i < (1 << order); i++) | ||
170 | init_page_count(rpage+i); | ||
171 | } | ||
172 | |||
173 | err = 0; | ||
174 | for (i = 0; i < size && err == 0; i += PAGE_SIZE) | ||
175 | err = map_page(va+i, pa+i, flags); | ||
176 | |||
177 | if (err) { | ||
178 | vfree((void *)va); | ||
179 | return NULL; | ||
180 | } | ||
181 | |||
182 | return ret; | ||
183 | } | ||
184 | #endif /* CONFIG_MMU */ | ||
185 | EXPORT_SYMBOL(consistent_alloc); | ||
186 | |||
187 | /* | ||
188 | * free page(s) as defined by the above mapping. | ||
189 | */ | ||
190 | void consistent_free(void *vaddr) | ||
191 | { | ||
192 | if (in_interrupt()) | ||
193 | BUG(); | ||
194 | |||
195 | /* Clear SHADOW_MASK bit in address, and free as per usual */ | ||
196 | #ifdef CONFIG_XILINX_UNCACHED_SHADOW | ||
197 | vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK); | ||
198 | #endif | ||
199 | vfree(vaddr); | ||
200 | } | ||
201 | EXPORT_SYMBOL(consistent_free); | ||
202 | |||
203 | /* | ||
204 | * make an area consistent. | ||
205 | */ | ||
206 | void consistent_sync(void *vaddr, size_t size, int direction) | ||
207 | { | ||
208 | unsigned long start; | ||
209 | unsigned long end; | ||
210 | |||
211 | start = (unsigned long)vaddr; | ||
212 | |||
213 | /* Convert start address back down to unshadowed memory region */ | ||
214 | #ifdef CONFIG_XILINX_UNCACHED_SHADOW | ||
215 | start &= ~UNCACHED_SHADOW_MASK; | ||
216 | #endif | ||
217 | end = start + size; | ||
218 | |||
219 | switch (direction) { | ||
220 | case PCI_DMA_NONE: | ||
221 | BUG(); | ||
222 | case PCI_DMA_FROMDEVICE: /* invalidate only */ | ||
223 | flush_dcache_range(start, end); | ||
224 | break; | ||
225 | case PCI_DMA_TODEVICE: /* writeback only */ | ||
226 | flush_dcache_range(start, end); | ||
227 | break; | ||
228 | case PCI_DMA_BIDIRECTIONAL: /* writeback and invalidate */ | ||
229 | flush_dcache_range(start, end); | ||
230 | break; | ||
231 | } | ||
232 | } | ||
233 | EXPORT_SYMBOL(consistent_sync); | ||
234 | |||
235 | /* | ||
236 | * consistent_sync_page makes memory consistent. identical | ||
237 | * to consistent_sync, but takes a struct page instead of a | ||
238 | * virtual address | ||
239 | */ | ||
240 | void consistent_sync_page(struct page *page, unsigned long offset, | ||
241 | size_t size, int direction) | ||
242 | { | ||
243 | unsigned long start = (unsigned long)page_address(page) + offset; | ||
244 | consistent_sync((void *)start, size, direction); | ||
245 | } | ||
246 | EXPORT_SYMBOL(consistent_sync_page); | ||
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index a57cedf36715..1608e2e1a44a 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c | |||
@@ -23,6 +23,9 @@ | |||
23 | #include <asm/sections.h> | 23 | #include <asm/sections.h> |
24 | #include <asm/tlb.h> | 24 | #include <asm/tlb.h> |
25 | 25 | ||
26 | /* Use for MMU and noMMU because of PCI generic code */ | ||
27 | int mem_init_done; | ||
28 | |||
26 | #ifndef CONFIG_MMU | 29 | #ifndef CONFIG_MMU |
27 | unsigned int __page_offset; | 30 | unsigned int __page_offset; |
28 | EXPORT_SYMBOL(__page_offset); | 31 | EXPORT_SYMBOL(__page_offset); |
@@ -30,7 +33,6 @@ EXPORT_SYMBOL(__page_offset); | |||
30 | #else | 33 | #else |
31 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 34 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
32 | 35 | ||
33 | int mem_init_done; | ||
34 | static int init_bootmem_done; | 36 | static int init_bootmem_done; |
35 | #endif /* CONFIG_MMU */ | 37 | #endif /* CONFIG_MMU */ |
36 | 38 | ||
@@ -193,12 +195,6 @@ void free_initmem(void) | |||
193 | (unsigned long)(&__init_end)); | 195 | (unsigned long)(&__init_end)); |
194 | } | 196 | } |
195 | 197 | ||
196 | /* FIXME from arch/powerpc/mm/mem.c*/ | ||
197 | void show_mem(void) | ||
198 | { | ||
199 | printk(KERN_NOTICE "%s\n", __func__); | ||
200 | } | ||
201 | |||
202 | void __init mem_init(void) | 198 | void __init mem_init(void) |
203 | { | 199 | { |
204 | high_memory = (void *)__va(memory_end); | 200 | high_memory = (void *)__va(memory_end); |
@@ -208,9 +204,7 @@ void __init mem_init(void) | |||
208 | printk(KERN_INFO "Memory: %luk/%luk available\n", | 204 | printk(KERN_INFO "Memory: %luk/%luk available\n", |
209 | nr_free_pages() << (PAGE_SHIFT-10), | 205 | nr_free_pages() << (PAGE_SHIFT-10), |
210 | num_physpages << (PAGE_SHIFT-10)); | 206 | num_physpages << (PAGE_SHIFT-10)); |
211 | #ifdef CONFIG_MMU | ||
212 | mem_init_done = 1; | 207 | mem_init_done = 1; |
213 | #endif | ||
214 | } | 208 | } |
215 | 209 | ||
216 | #ifndef CONFIG_MMU | 210 | #ifndef CONFIG_MMU |
@@ -222,6 +216,10 @@ int ___range_ok(unsigned long addr, unsigned long size) | |||
222 | } | 216 | } |
223 | EXPORT_SYMBOL(___range_ok); | 217 | EXPORT_SYMBOL(___range_ok); |
224 | 218 | ||
219 | int page_is_ram(unsigned long pfn) | ||
220 | { | ||
221 | return __range_ok(pfn, 0); | ||
222 | } | ||
225 | #else | 223 | #else |
226 | int page_is_ram(unsigned long pfn) | 224 | int page_is_ram(unsigned long pfn) |
227 | { | 225 | { |
@@ -349,4 +347,27 @@ void __init *early_get_page(void) | |||
349 | } | 347 | } |
350 | return p; | 348 | return p; |
351 | } | 349 | } |
350 | |||
352 | #endif /* CONFIG_MMU */ | 351 | #endif /* CONFIG_MMU */ |
352 | |||
353 | void * __init_refok alloc_maybe_bootmem(size_t size, gfp_t mask) | ||
354 | { | ||
355 | if (mem_init_done) | ||
356 | return kmalloc(size, mask); | ||
357 | else | ||
358 | return alloc_bootmem(size); | ||
359 | } | ||
360 | |||
361 | void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask) | ||
362 | { | ||
363 | void *p; | ||
364 | |||
365 | if (mem_init_done) | ||
366 | p = kzalloc(size, mask); | ||
367 | else { | ||
368 | p = alloc_bootmem(size); | ||
369 | if (p) | ||
370 | memset(p, 0, size); | ||
371 | } | ||
372 | return p; | ||
373 | } | ||
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index 2820081b21ab..63a6fd07c48f 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c | |||
@@ -103,7 +103,7 @@ static void __iomem *__ioremap(phys_addr_t addr, unsigned long size, | |||
103 | area = get_vm_area(size, VM_IOREMAP); | 103 | area = get_vm_area(size, VM_IOREMAP); |
104 | if (area == NULL) | 104 | if (area == NULL) |
105 | return NULL; | 105 | return NULL; |
106 | v = VMALLOC_VMADDR(area->addr); | 106 | v = (unsigned long) area->addr; |
107 | } else { | 107 | } else { |
108 | v = (ioremap_bot -= size); | 108 | v = (ioremap_bot -= size); |
109 | } | 109 | } |
diff --git a/arch/microblaze/pci/Makefile b/arch/microblaze/pci/Makefile new file mode 100644 index 000000000000..9889cc2e1294 --- /dev/null +++ b/arch/microblaze/pci/Makefile | |||
@@ -0,0 +1,6 @@ | |||
1 | # | ||
2 | # Makefile | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_PCI) += pci_32.o pci-common.o indirect_pci.o iomap.o | ||
6 | obj-$(CONFIG_PCI_XILINX) += xilinx_pci.o | ||
diff --git a/arch/microblaze/pci/indirect_pci.c b/arch/microblaze/pci/indirect_pci.c new file mode 100644 index 000000000000..25f18f017f21 --- /dev/null +++ b/arch/microblaze/pci/indirect_pci.c | |||
@@ -0,0 +1,163 @@ | |||
1 | /* | ||
2 | * Support for indirect PCI bridges. | ||
3 | * | ||
4 | * Copyright (C) 1998 Gabriel Paubert. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/pci.h> | ||
14 | #include <linux/delay.h> | ||
15 | #include <linux/string.h> | ||
16 | #include <linux/init.h> | ||
17 | |||
18 | #include <asm/io.h> | ||
19 | #include <asm/prom.h> | ||
20 | #include <asm/pci-bridge.h> | ||
21 | |||
22 | static int | ||
23 | indirect_read_config(struct pci_bus *bus, unsigned int devfn, int offset, | ||
24 | int len, u32 *val) | ||
25 | { | ||
26 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
27 | volatile void __iomem *cfg_data; | ||
28 | u8 cfg_type = 0; | ||
29 | u32 bus_no, reg; | ||
30 | |||
31 | if (hose->indirect_type & INDIRECT_TYPE_NO_PCIE_LINK) { | ||
32 | if (bus->number != hose->first_busno) | ||
33 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
34 | if (devfn != 0) | ||
35 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
36 | } | ||
37 | |||
38 | if (hose->indirect_type & INDIRECT_TYPE_SET_CFG_TYPE) | ||
39 | if (bus->number != hose->first_busno) | ||
40 | cfg_type = 1; | ||
41 | |||
42 | bus_no = (bus->number == hose->first_busno) ? | ||
43 | hose->self_busno : bus->number; | ||
44 | |||
45 | if (hose->indirect_type & INDIRECT_TYPE_EXT_REG) | ||
46 | reg = ((offset & 0xf00) << 16) | (offset & 0xfc); | ||
47 | else | ||
48 | reg = offset & 0xfc; /* Only 3 bits for function */ | ||
49 | |||
50 | if (hose->indirect_type & INDIRECT_TYPE_BIG_ENDIAN) | ||
51 | out_be32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | | ||
52 | (devfn << 8) | reg | cfg_type)); | ||
53 | else | ||
54 | out_le32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | | ||
55 | (devfn << 8) | reg | cfg_type)); | ||
56 | |||
57 | /* | ||
58 | * Note: the caller has already checked that offset is | ||
59 | * suitably aligned and that len is 1, 2 or 4. | ||
60 | */ | ||
61 | cfg_data = hose->cfg_data + (offset & 3); /* Only 3 bits for function */ | ||
62 | switch (len) { | ||
63 | case 1: | ||
64 | *val = in_8(cfg_data); | ||
65 | break; | ||
66 | case 2: | ||
67 | *val = in_le16(cfg_data); | ||
68 | break; | ||
69 | default: | ||
70 | *val = in_le32(cfg_data); | ||
71 | break; | ||
72 | } | ||
73 | return PCIBIOS_SUCCESSFUL; | ||
74 | } | ||
75 | |||
76 | static int | ||
77 | indirect_write_config(struct pci_bus *bus, unsigned int devfn, int offset, | ||
78 | int len, u32 val) | ||
79 | { | ||
80 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
81 | volatile void __iomem *cfg_data; | ||
82 | u8 cfg_type = 0; | ||
83 | u32 bus_no, reg; | ||
84 | |||
85 | if (hose->indirect_type & INDIRECT_TYPE_NO_PCIE_LINK) { | ||
86 | if (bus->number != hose->first_busno) | ||
87 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
88 | if (devfn != 0) | ||
89 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
90 | } | ||
91 | |||
92 | if (hose->indirect_type & INDIRECT_TYPE_SET_CFG_TYPE) | ||
93 | if (bus->number != hose->first_busno) | ||
94 | cfg_type = 1; | ||
95 | |||
96 | bus_no = (bus->number == hose->first_busno) ? | ||
97 | hose->self_busno : bus->number; | ||
98 | |||
99 | if (hose->indirect_type & INDIRECT_TYPE_EXT_REG) | ||
100 | reg = ((offset & 0xf00) << 16) | (offset & 0xfc); | ||
101 | else | ||
102 | reg = offset & 0xfc; | ||
103 | |||
104 | if (hose->indirect_type & INDIRECT_TYPE_BIG_ENDIAN) | ||
105 | out_be32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | | ||
106 | (devfn << 8) | reg | cfg_type)); | ||
107 | else | ||
108 | out_le32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | | ||
109 | (devfn << 8) | reg | cfg_type)); | ||
110 | |||
111 | /* surpress setting of PCI_PRIMARY_BUS */ | ||
112 | if (hose->indirect_type & INDIRECT_TYPE_SURPRESS_PRIMARY_BUS) | ||
113 | if ((offset == PCI_PRIMARY_BUS) && | ||
114 | (bus->number == hose->first_busno)) | ||
115 | val &= 0xffffff00; | ||
116 | |||
117 | /* Workaround for PCI_28 Errata in 440EPx/GRx */ | ||
118 | if ((hose->indirect_type & INDIRECT_TYPE_BROKEN_MRM) && | ||
119 | offset == PCI_CACHE_LINE_SIZE) { | ||
120 | val = 0; | ||
121 | } | ||
122 | |||
123 | /* | ||
124 | * Note: the caller has already checked that offset is | ||
125 | * suitably aligned and that len is 1, 2 or 4. | ||
126 | */ | ||
127 | cfg_data = hose->cfg_data + (offset & 3); | ||
128 | switch (len) { | ||
129 | case 1: | ||
130 | out_8(cfg_data, val); | ||
131 | break; | ||
132 | case 2: | ||
133 | out_le16(cfg_data, val); | ||
134 | break; | ||
135 | default: | ||
136 | out_le32(cfg_data, val); | ||
137 | break; | ||
138 | } | ||
139 | |||
140 | return PCIBIOS_SUCCESSFUL; | ||
141 | } | ||
142 | |||
143 | static struct pci_ops indirect_pci_ops = { | ||
144 | .read = indirect_read_config, | ||
145 | .write = indirect_write_config, | ||
146 | }; | ||
147 | |||
148 | void __init | ||
149 | setup_indirect_pci(struct pci_controller *hose, | ||
150 | resource_size_t cfg_addr, | ||
151 | resource_size_t cfg_data, u32 flags) | ||
152 | { | ||
153 | resource_size_t base = cfg_addr & PAGE_MASK; | ||
154 | void __iomem *mbase; | ||
155 | |||
156 | mbase = ioremap(base, PAGE_SIZE); | ||
157 | hose->cfg_addr = mbase + (cfg_addr & ~PAGE_MASK); | ||
158 | if ((cfg_data & PAGE_MASK) != base) | ||
159 | mbase = ioremap(cfg_data & PAGE_MASK, PAGE_SIZE); | ||
160 | hose->cfg_data = mbase + (cfg_data & ~PAGE_MASK); | ||
161 | hose->ops = &indirect_pci_ops; | ||
162 | hose->indirect_type = flags; | ||
163 | } | ||
diff --git a/arch/microblaze/pci/iomap.c b/arch/microblaze/pci/iomap.c new file mode 100644 index 000000000000..3fbf16f4e16c --- /dev/null +++ b/arch/microblaze/pci/iomap.c | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * ppc64 "iomap" interface implementation. | ||
3 | * | ||
4 | * (C) Copyright 2004 Linus Torvalds | ||
5 | */ | ||
6 | #include <linux/init.h> | ||
7 | #include <linux/pci.h> | ||
8 | #include <linux/mm.h> | ||
9 | #include <asm/io.h> | ||
10 | #include <asm/pci-bridge.h> | ||
11 | |||
12 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max) | ||
13 | { | ||
14 | resource_size_t start = pci_resource_start(dev, bar); | ||
15 | resource_size_t len = pci_resource_len(dev, bar); | ||
16 | unsigned long flags = pci_resource_flags(dev, bar); | ||
17 | |||
18 | if (!len) | ||
19 | return NULL; | ||
20 | if (max && len > max) | ||
21 | len = max; | ||
22 | if (flags & IORESOURCE_IO) | ||
23 | return ioport_map(start, len); | ||
24 | if (flags & IORESOURCE_MEM) | ||
25 | return ioremap(start, len); | ||
26 | /* What? */ | ||
27 | return NULL; | ||
28 | } | ||
29 | EXPORT_SYMBOL(pci_iomap); | ||
30 | |||
31 | void pci_iounmap(struct pci_dev *dev, void __iomem *addr) | ||
32 | { | ||
33 | if (isa_vaddr_is_ioport(addr)) | ||
34 | return; | ||
35 | if (pcibios_vaddr_is_ioport(addr)) | ||
36 | return; | ||
37 | iounmap(addr); | ||
38 | } | ||
39 | EXPORT_SYMBOL(pci_iounmap); | ||
diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c new file mode 100644 index 000000000000..0be34350d733 --- /dev/null +++ b/arch/microblaze/pci/pci-common.c | |||
@@ -0,0 +1,1642 @@ | |||
1 | /* | ||
2 | * Contains common pci routines for ALL ppc platform | ||
3 | * (based on pci_32.c and pci_64.c) | ||
4 | * | ||
5 | * Port for PPC64 David Engebretsen, IBM Corp. | ||
6 | * Contains common pci routines for ppc64 platform, pSeries and iSeries brands. | ||
7 | * | ||
8 | * Copyright (C) 2003 Anton Blanchard <anton@au.ibm.com>, IBM | ||
9 | * Rework, based on alpha PCI code. | ||
10 | * | ||
11 | * Common pmac/prep/chrp pci routines. -- Cort | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public License | ||
15 | * as published by the Free Software Foundation; either version | ||
16 | * 2 of the License, or (at your option) any later version. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/pci.h> | ||
21 | #include <linux/string.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/bootmem.h> | ||
24 | #include <linux/mm.h> | ||
25 | #include <linux/list.h> | ||
26 | #include <linux/syscalls.h> | ||
27 | #include <linux/irq.h> | ||
28 | #include <linux/vmalloc.h> | ||
29 | |||
30 | #include <asm/processor.h> | ||
31 | #include <asm/io.h> | ||
32 | #include <asm/prom.h> | ||
33 | #include <asm/pci-bridge.h> | ||
34 | #include <asm/byteorder.h> | ||
35 | |||
36 | static DEFINE_SPINLOCK(hose_spinlock); | ||
37 | LIST_HEAD(hose_list); | ||
38 | |||
39 | /* XXX kill that some day ... */ | ||
40 | static int global_phb_number; /* Global phb counter */ | ||
41 | |||
42 | /* ISA Memory physical address */ | ||
43 | resource_size_t isa_mem_base; | ||
44 | |||
45 | /* Default PCI flags is 0 on ppc32, modified at boot on ppc64 */ | ||
46 | unsigned int pci_flags; | ||
47 | |||
48 | static struct dma_map_ops *pci_dma_ops = &dma_direct_ops; | ||
49 | |||
50 | void set_pci_dma_ops(struct dma_map_ops *dma_ops) | ||
51 | { | ||
52 | pci_dma_ops = dma_ops; | ||
53 | } | ||
54 | |||
55 | struct dma_map_ops *get_pci_dma_ops(void) | ||
56 | { | ||
57 | return pci_dma_ops; | ||
58 | } | ||
59 | EXPORT_SYMBOL(get_pci_dma_ops); | ||
60 | |||
61 | int pci_set_dma_mask(struct pci_dev *dev, u64 mask) | ||
62 | { | ||
63 | return dma_set_mask(&dev->dev, mask); | ||
64 | } | ||
65 | |||
66 | int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) | ||
67 | { | ||
68 | int rc; | ||
69 | |||
70 | rc = dma_set_mask(&dev->dev, mask); | ||
71 | dev->dev.coherent_dma_mask = dev->dma_mask; | ||
72 | |||
73 | return rc; | ||
74 | } | ||
75 | |||
76 | struct pci_controller *pcibios_alloc_controller(struct device_node *dev) | ||
77 | { | ||
78 | struct pci_controller *phb; | ||
79 | |||
80 | phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); | ||
81 | if (!phb) | ||
82 | return NULL; | ||
83 | spin_lock(&hose_spinlock); | ||
84 | phb->global_number = global_phb_number++; | ||
85 | list_add_tail(&phb->list_node, &hose_list); | ||
86 | spin_unlock(&hose_spinlock); | ||
87 | phb->dn = dev; | ||
88 | phb->is_dynamic = mem_init_done; | ||
89 | return phb; | ||
90 | } | ||
91 | |||
92 | void pcibios_free_controller(struct pci_controller *phb) | ||
93 | { | ||
94 | spin_lock(&hose_spinlock); | ||
95 | list_del(&phb->list_node); | ||
96 | spin_unlock(&hose_spinlock); | ||
97 | |||
98 | if (phb->is_dynamic) | ||
99 | kfree(phb); | ||
100 | } | ||
101 | |||
102 | static resource_size_t pcibios_io_size(const struct pci_controller *hose) | ||
103 | { | ||
104 | return hose->io_resource.end - hose->io_resource.start + 1; | ||
105 | } | ||
106 | |||
107 | int pcibios_vaddr_is_ioport(void __iomem *address) | ||
108 | { | ||
109 | int ret = 0; | ||
110 | struct pci_controller *hose; | ||
111 | resource_size_t size; | ||
112 | |||
113 | spin_lock(&hose_spinlock); | ||
114 | list_for_each_entry(hose, &hose_list, list_node) { | ||
115 | size = pcibios_io_size(hose); | ||
116 | if (address >= hose->io_base_virt && | ||
117 | address < (hose->io_base_virt + size)) { | ||
118 | ret = 1; | ||
119 | break; | ||
120 | } | ||
121 | } | ||
122 | spin_unlock(&hose_spinlock); | ||
123 | return ret; | ||
124 | } | ||
125 | |||
126 | unsigned long pci_address_to_pio(phys_addr_t address) | ||
127 | { | ||
128 | struct pci_controller *hose; | ||
129 | resource_size_t size; | ||
130 | unsigned long ret = ~0; | ||
131 | |||
132 | spin_lock(&hose_spinlock); | ||
133 | list_for_each_entry(hose, &hose_list, list_node) { | ||
134 | size = pcibios_io_size(hose); | ||
135 | if (address >= hose->io_base_phys && | ||
136 | address < (hose->io_base_phys + size)) { | ||
137 | unsigned long base = | ||
138 | (unsigned long)hose->io_base_virt - _IO_BASE; | ||
139 | ret = base + (address - hose->io_base_phys); | ||
140 | break; | ||
141 | } | ||
142 | } | ||
143 | spin_unlock(&hose_spinlock); | ||
144 | |||
145 | return ret; | ||
146 | } | ||
147 | EXPORT_SYMBOL_GPL(pci_address_to_pio); | ||
148 | |||
149 | /* | ||
150 | * Return the domain number for this bus. | ||
151 | */ | ||
152 | int pci_domain_nr(struct pci_bus *bus) | ||
153 | { | ||
154 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
155 | |||
156 | return hose->global_number; | ||
157 | } | ||
158 | EXPORT_SYMBOL(pci_domain_nr); | ||
159 | |||
160 | /* This routine is meant to be used early during boot, when the | ||
161 | * PCI bus numbers have not yet been assigned, and you need to | ||
162 | * issue PCI config cycles to an OF device. | ||
163 | * It could also be used to "fix" RTAS config cycles if you want | ||
164 | * to set pci_assign_all_buses to 1 and still use RTAS for PCI | ||
165 | * config cycles. | ||
166 | */ | ||
167 | struct pci_controller *pci_find_hose_for_OF_device(struct device_node *node) | ||
168 | { | ||
169 | while (node) { | ||
170 | struct pci_controller *hose, *tmp; | ||
171 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) | ||
172 | if (hose->dn == node) | ||
173 | return hose; | ||
174 | node = node->parent; | ||
175 | } | ||
176 | return NULL; | ||
177 | } | ||
178 | |||
179 | static ssize_t pci_show_devspec(struct device *dev, | ||
180 | struct device_attribute *attr, char *buf) | ||
181 | { | ||
182 | struct pci_dev *pdev; | ||
183 | struct device_node *np; | ||
184 | |||
185 | pdev = to_pci_dev(dev); | ||
186 | np = pci_device_to_OF_node(pdev); | ||
187 | if (np == NULL || np->full_name == NULL) | ||
188 | return 0; | ||
189 | return sprintf(buf, "%s", np->full_name); | ||
190 | } | ||
191 | static DEVICE_ATTR(devspec, S_IRUGO, pci_show_devspec, NULL); | ||
192 | |||
193 | /* Add sysfs properties */ | ||
194 | int pcibios_add_platform_entries(struct pci_dev *pdev) | ||
195 | { | ||
196 | return device_create_file(&pdev->dev, &dev_attr_devspec); | ||
197 | } | ||
198 | |||
199 | char __devinit *pcibios_setup(char *str) | ||
200 | { | ||
201 | return str; | ||
202 | } | ||
203 | |||
204 | /* | ||
205 | * Reads the interrupt pin to determine if interrupt is use by card. | ||
206 | * If the interrupt is used, then gets the interrupt line from the | ||
207 | * openfirmware and sets it in the pci_dev and pci_config line. | ||
208 | */ | ||
209 | int pci_read_irq_line(struct pci_dev *pci_dev) | ||
210 | { | ||
211 | struct of_irq oirq; | ||
212 | unsigned int virq; | ||
213 | |||
214 | /* The current device-tree that iSeries generates from the HV | ||
215 | * PCI informations doesn't contain proper interrupt routing, | ||
216 | * and all the fallback would do is print out crap, so we | ||
217 | * don't attempt to resolve the interrupts here at all, some | ||
218 | * iSeries specific fixup does it. | ||
219 | * | ||
220 | * In the long run, we will hopefully fix the generated device-tree | ||
221 | * instead. | ||
222 | */ | ||
223 | pr_debug("PCI: Try to map irq for %s...\n", pci_name(pci_dev)); | ||
224 | |||
225 | #ifdef DEBUG | ||
226 | memset(&oirq, 0xff, sizeof(oirq)); | ||
227 | #endif | ||
228 | /* Try to get a mapping from the device-tree */ | ||
229 | if (of_irq_map_pci(pci_dev, &oirq)) { | ||
230 | u8 line, pin; | ||
231 | |||
232 | /* If that fails, lets fallback to what is in the config | ||
233 | * space and map that through the default controller. We | ||
234 | * also set the type to level low since that's what PCI | ||
235 | * interrupts are. If your platform does differently, then | ||
236 | * either provide a proper interrupt tree or don't use this | ||
237 | * function. | ||
238 | */ | ||
239 | if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_PIN, &pin)) | ||
240 | return -1; | ||
241 | if (pin == 0) | ||
242 | return -1; | ||
243 | if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_LINE, &line) || | ||
244 | line == 0xff || line == 0) { | ||
245 | return -1; | ||
246 | } | ||
247 | pr_debug(" No map ! Using line %d (pin %d) from PCI config\n", | ||
248 | line, pin); | ||
249 | |||
250 | virq = irq_create_mapping(NULL, line); | ||
251 | if (virq != NO_IRQ) | ||
252 | set_irq_type(virq, IRQ_TYPE_LEVEL_LOW); | ||
253 | } else { | ||
254 | pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n", | ||
255 | oirq.size, oirq.specifier[0], oirq.specifier[1], | ||
256 | oirq.controller ? oirq.controller->full_name : | ||
257 | "<default>"); | ||
258 | |||
259 | virq = irq_create_of_mapping(oirq.controller, oirq.specifier, | ||
260 | oirq.size); | ||
261 | } | ||
262 | if (virq == NO_IRQ) { | ||
263 | pr_debug(" Failed to map !\n"); | ||
264 | return -1; | ||
265 | } | ||
266 | |||
267 | pr_debug(" Mapped to linux irq %d\n", virq); | ||
268 | |||
269 | pci_dev->irq = virq; | ||
270 | |||
271 | return 0; | ||
272 | } | ||
273 | EXPORT_SYMBOL(pci_read_irq_line); | ||
274 | |||
275 | /* | ||
276 | * Platform support for /proc/bus/pci/X/Y mmap()s, | ||
277 | * modelled on the sparc64 implementation by Dave Miller. | ||
278 | * -- paulus. | ||
279 | */ | ||
280 | |||
281 | /* | ||
282 | * Adjust vm_pgoff of VMA such that it is the physical page offset | ||
283 | * corresponding to the 32-bit pci bus offset for DEV requested by the user. | ||
284 | * | ||
285 | * Basically, the user finds the base address for his device which he wishes | ||
286 | * to mmap. They read the 32-bit value from the config space base register, | ||
287 | * add whatever PAGE_SIZE multiple offset they wish, and feed this into the | ||
288 | * offset parameter of mmap on /proc/bus/pci/XXX for that device. | ||
289 | * | ||
290 | * Returns negative error code on failure, zero on success. | ||
291 | */ | ||
292 | static struct resource *__pci_mmap_make_offset(struct pci_dev *dev, | ||
293 | resource_size_t *offset, | ||
294 | enum pci_mmap_state mmap_state) | ||
295 | { | ||
296 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
297 | unsigned long io_offset = 0; | ||
298 | int i, res_bit; | ||
299 | |||
300 | if (hose == 0) | ||
301 | return NULL; /* should never happen */ | ||
302 | |||
303 | /* If memory, add on the PCI bridge address offset */ | ||
304 | if (mmap_state == pci_mmap_mem) { | ||
305 | #if 0 /* See comment in pci_resource_to_user() for why this is disabled */ | ||
306 | *offset += hose->pci_mem_offset; | ||
307 | #endif | ||
308 | res_bit = IORESOURCE_MEM; | ||
309 | } else { | ||
310 | io_offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
311 | *offset += io_offset; | ||
312 | res_bit = IORESOURCE_IO; | ||
313 | } | ||
314 | |||
315 | /* | ||
316 | * Check that the offset requested corresponds to one of the | ||
317 | * resources of the device. | ||
318 | */ | ||
319 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { | ||
320 | struct resource *rp = &dev->resource[i]; | ||
321 | int flags = rp->flags; | ||
322 | |||
323 | /* treat ROM as memory (should be already) */ | ||
324 | if (i == PCI_ROM_RESOURCE) | ||
325 | flags |= IORESOURCE_MEM; | ||
326 | |||
327 | /* Active and same type? */ | ||
328 | if ((flags & res_bit) == 0) | ||
329 | continue; | ||
330 | |||
331 | /* In the range of this resource? */ | ||
332 | if (*offset < (rp->start & PAGE_MASK) || *offset > rp->end) | ||
333 | continue; | ||
334 | |||
335 | /* found it! construct the final physical address */ | ||
336 | if (mmap_state == pci_mmap_io) | ||
337 | *offset += hose->io_base_phys - io_offset; | ||
338 | return rp; | ||
339 | } | ||
340 | |||
341 | return NULL; | ||
342 | } | ||
343 | |||
344 | /* | ||
345 | * Set vm_page_prot of VMA, as appropriate for this architecture, for a pci | ||
346 | * device mapping. | ||
347 | */ | ||
348 | static pgprot_t __pci_mmap_set_pgprot(struct pci_dev *dev, struct resource *rp, | ||
349 | pgprot_t protection, | ||
350 | enum pci_mmap_state mmap_state, | ||
351 | int write_combine) | ||
352 | { | ||
353 | pgprot_t prot = protection; | ||
354 | |||
355 | /* Write combine is always 0 on non-memory space mappings. On | ||
356 | * memory space, if the user didn't pass 1, we check for a | ||
357 | * "prefetchable" resource. This is a bit hackish, but we use | ||
358 | * this to workaround the inability of /sysfs to provide a write | ||
359 | * combine bit | ||
360 | */ | ||
361 | if (mmap_state != pci_mmap_mem) | ||
362 | write_combine = 0; | ||
363 | else if (write_combine == 0) { | ||
364 | if (rp->flags & IORESOURCE_PREFETCH) | ||
365 | write_combine = 1; | ||
366 | } | ||
367 | |||
368 | return pgprot_noncached(prot); | ||
369 | } | ||
370 | |||
371 | /* | ||
372 | * This one is used by /dev/mem and fbdev who have no clue about the | ||
373 | * PCI device, it tries to find the PCI device first and calls the | ||
374 | * above routine | ||
375 | */ | ||
376 | pgprot_t pci_phys_mem_access_prot(struct file *file, | ||
377 | unsigned long pfn, | ||
378 | unsigned long size, | ||
379 | pgprot_t prot) | ||
380 | { | ||
381 | struct pci_dev *pdev = NULL; | ||
382 | struct resource *found = NULL; | ||
383 | resource_size_t offset = ((resource_size_t)pfn) << PAGE_SHIFT; | ||
384 | int i; | ||
385 | |||
386 | if (page_is_ram(pfn)) | ||
387 | return prot; | ||
388 | |||
389 | prot = pgprot_noncached(prot); | ||
390 | for_each_pci_dev(pdev) { | ||
391 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { | ||
392 | struct resource *rp = &pdev->resource[i]; | ||
393 | int flags = rp->flags; | ||
394 | |||
395 | /* Active and same type? */ | ||
396 | if ((flags & IORESOURCE_MEM) == 0) | ||
397 | continue; | ||
398 | /* In the range of this resource? */ | ||
399 | if (offset < (rp->start & PAGE_MASK) || | ||
400 | offset > rp->end) | ||
401 | continue; | ||
402 | found = rp; | ||
403 | break; | ||
404 | } | ||
405 | if (found) | ||
406 | break; | ||
407 | } | ||
408 | if (found) { | ||
409 | if (found->flags & IORESOURCE_PREFETCH) | ||
410 | prot = pgprot_noncached_wc(prot); | ||
411 | pci_dev_put(pdev); | ||
412 | } | ||
413 | |||
414 | pr_debug("PCI: Non-PCI map for %llx, prot: %lx\n", | ||
415 | (unsigned long long)offset, pgprot_val(prot)); | ||
416 | |||
417 | return prot; | ||
418 | } | ||
419 | |||
420 | /* | ||
421 | * Perform the actual remap of the pages for a PCI device mapping, as | ||
422 | * appropriate for this architecture. The region in the process to map | ||
423 | * is described by vm_start and vm_end members of VMA, the base physical | ||
424 | * address is found in vm_pgoff. | ||
425 | * The pci device structure is provided so that architectures may make mapping | ||
426 | * decisions on a per-device or per-bus basis. | ||
427 | * | ||
428 | * Returns a negative error code on failure, zero on success. | ||
429 | */ | ||
430 | int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | ||
431 | enum pci_mmap_state mmap_state, int write_combine) | ||
432 | { | ||
433 | resource_size_t offset = | ||
434 | ((resource_size_t)vma->vm_pgoff) << PAGE_SHIFT; | ||
435 | struct resource *rp; | ||
436 | int ret; | ||
437 | |||
438 | rp = __pci_mmap_make_offset(dev, &offset, mmap_state); | ||
439 | if (rp == NULL) | ||
440 | return -EINVAL; | ||
441 | |||
442 | vma->vm_pgoff = offset >> PAGE_SHIFT; | ||
443 | vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp, | ||
444 | vma->vm_page_prot, | ||
445 | mmap_state, write_combine); | ||
446 | |||
447 | ret = remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, | ||
448 | vma->vm_end - vma->vm_start, vma->vm_page_prot); | ||
449 | |||
450 | return ret; | ||
451 | } | ||
452 | |||
453 | /* This provides legacy IO read access on a bus */ | ||
454 | int pci_legacy_read(struct pci_bus *bus, loff_t port, u32 *val, size_t size) | ||
455 | { | ||
456 | unsigned long offset; | ||
457 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
458 | struct resource *rp = &hose->io_resource; | ||
459 | void __iomem *addr; | ||
460 | |||
461 | /* Check if port can be supported by that bus. We only check | ||
462 | * the ranges of the PHB though, not the bus itself as the rules | ||
463 | * for forwarding legacy cycles down bridges are not our problem | ||
464 | * here. So if the host bridge supports it, we do it. | ||
465 | */ | ||
466 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
467 | offset += port; | ||
468 | |||
469 | if (!(rp->flags & IORESOURCE_IO)) | ||
470 | return -ENXIO; | ||
471 | if (offset < rp->start || (offset + size) > rp->end) | ||
472 | return -ENXIO; | ||
473 | addr = hose->io_base_virt + port; | ||
474 | |||
475 | switch (size) { | ||
476 | case 1: | ||
477 | *((u8 *)val) = in_8(addr); | ||
478 | return 1; | ||
479 | case 2: | ||
480 | if (port & 1) | ||
481 | return -EINVAL; | ||
482 | *((u16 *)val) = in_le16(addr); | ||
483 | return 2; | ||
484 | case 4: | ||
485 | if (port & 3) | ||
486 | return -EINVAL; | ||
487 | *((u32 *)val) = in_le32(addr); | ||
488 | return 4; | ||
489 | } | ||
490 | return -EINVAL; | ||
491 | } | ||
492 | |||
493 | /* This provides legacy IO write access on a bus */ | ||
494 | int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, size_t size) | ||
495 | { | ||
496 | unsigned long offset; | ||
497 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
498 | struct resource *rp = &hose->io_resource; | ||
499 | void __iomem *addr; | ||
500 | |||
501 | /* Check if port can be supported by that bus. We only check | ||
502 | * the ranges of the PHB though, not the bus itself as the rules | ||
503 | * for forwarding legacy cycles down bridges are not our problem | ||
504 | * here. So if the host bridge supports it, we do it. | ||
505 | */ | ||
506 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
507 | offset += port; | ||
508 | |||
509 | if (!(rp->flags & IORESOURCE_IO)) | ||
510 | return -ENXIO; | ||
511 | if (offset < rp->start || (offset + size) > rp->end) | ||
512 | return -ENXIO; | ||
513 | addr = hose->io_base_virt + port; | ||
514 | |||
515 | /* WARNING: The generic code is idiotic. It gets passed a pointer | ||
516 | * to what can be a 1, 2 or 4 byte quantity and always reads that | ||
517 | * as a u32, which means that we have to correct the location of | ||
518 | * the data read within those 32 bits for size 1 and 2 | ||
519 | */ | ||
520 | switch (size) { | ||
521 | case 1: | ||
522 | out_8(addr, val >> 24); | ||
523 | return 1; | ||
524 | case 2: | ||
525 | if (port & 1) | ||
526 | return -EINVAL; | ||
527 | out_le16(addr, val >> 16); | ||
528 | return 2; | ||
529 | case 4: | ||
530 | if (port & 3) | ||
531 | return -EINVAL; | ||
532 | out_le32(addr, val); | ||
533 | return 4; | ||
534 | } | ||
535 | return -EINVAL; | ||
536 | } | ||
537 | |||
538 | /* This provides legacy IO or memory mmap access on a bus */ | ||
539 | int pci_mmap_legacy_page_range(struct pci_bus *bus, | ||
540 | struct vm_area_struct *vma, | ||
541 | enum pci_mmap_state mmap_state) | ||
542 | { | ||
543 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
544 | resource_size_t offset = | ||
545 | ((resource_size_t)vma->vm_pgoff) << PAGE_SHIFT; | ||
546 | resource_size_t size = vma->vm_end - vma->vm_start; | ||
547 | struct resource *rp; | ||
548 | |||
549 | pr_debug("pci_mmap_legacy_page_range(%04x:%02x, %s @%llx..%llx)\n", | ||
550 | pci_domain_nr(bus), bus->number, | ||
551 | mmap_state == pci_mmap_mem ? "MEM" : "IO", | ||
552 | (unsigned long long)offset, | ||
553 | (unsigned long long)(offset + size - 1)); | ||
554 | |||
555 | if (mmap_state == pci_mmap_mem) { | ||
556 | /* Hack alert ! | ||
557 | * | ||
558 | * Because X is lame and can fail starting if it gets an error | ||
559 | * trying to mmap legacy_mem (instead of just moving on without | ||
560 | * legacy memory access) we fake it here by giving it anonymous | ||
561 | * memory, effectively behaving just like /dev/zero | ||
562 | */ | ||
563 | if ((offset + size) > hose->isa_mem_size) { | ||
564 | #ifdef CONFIG_MMU | ||
565 | printk(KERN_DEBUG | ||
566 | "Process %s (pid:%d) mapped non-existing PCI" | ||
567 | "legacy memory for 0%04x:%02x\n", | ||
568 | current->comm, current->pid, pci_domain_nr(bus), | ||
569 | bus->number); | ||
570 | #endif | ||
571 | if (vma->vm_flags & VM_SHARED) | ||
572 | return shmem_zero_setup(vma); | ||
573 | return 0; | ||
574 | } | ||
575 | offset += hose->isa_mem_phys; | ||
576 | } else { | ||
577 | unsigned long io_offset = (unsigned long)hose->io_base_virt - \ | ||
578 | _IO_BASE; | ||
579 | unsigned long roffset = offset + io_offset; | ||
580 | rp = &hose->io_resource; | ||
581 | if (!(rp->flags & IORESOURCE_IO)) | ||
582 | return -ENXIO; | ||
583 | if (roffset < rp->start || (roffset + size) > rp->end) | ||
584 | return -ENXIO; | ||
585 | offset += hose->io_base_phys; | ||
586 | } | ||
587 | pr_debug(" -> mapping phys %llx\n", (unsigned long long)offset); | ||
588 | |||
589 | vma->vm_pgoff = offset >> PAGE_SHIFT; | ||
590 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); | ||
591 | return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, | ||
592 | vma->vm_end - vma->vm_start, | ||
593 | vma->vm_page_prot); | ||
594 | } | ||
595 | |||
596 | void pci_resource_to_user(const struct pci_dev *dev, int bar, | ||
597 | const struct resource *rsrc, | ||
598 | resource_size_t *start, resource_size_t *end) | ||
599 | { | ||
600 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
601 | resource_size_t offset = 0; | ||
602 | |||
603 | if (hose == NULL) | ||
604 | return; | ||
605 | |||
606 | if (rsrc->flags & IORESOURCE_IO) | ||
607 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
608 | |||
609 | /* We pass a fully fixed up address to userland for MMIO instead of | ||
610 | * a BAR value because X is lame and expects to be able to use that | ||
611 | * to pass to /dev/mem ! | ||
612 | * | ||
613 | * That means that we'll have potentially 64 bits values where some | ||
614 | * userland apps only expect 32 (like X itself since it thinks only | ||
615 | * Sparc has 64 bits MMIO) but if we don't do that, we break it on | ||
616 | * 32 bits CHRPs :-( | ||
617 | * | ||
618 | * Hopefully, the sysfs insterface is immune to that gunk. Once X | ||
619 | * has been fixed (and the fix spread enough), we can re-enable the | ||
620 | * 2 lines below and pass down a BAR value to userland. In that case | ||
621 | * we'll also have to re-enable the matching code in | ||
622 | * __pci_mmap_make_offset(). | ||
623 | * | ||
624 | * BenH. | ||
625 | */ | ||
626 | #if 0 | ||
627 | else if (rsrc->flags & IORESOURCE_MEM) | ||
628 | offset = hose->pci_mem_offset; | ||
629 | #endif | ||
630 | |||
631 | *start = rsrc->start - offset; | ||
632 | *end = rsrc->end - offset; | ||
633 | } | ||
634 | |||
635 | /** | ||
636 | * pci_process_bridge_OF_ranges - Parse PCI bridge resources from device tree | ||
637 | * @hose: newly allocated pci_controller to be setup | ||
638 | * @dev: device node of the host bridge | ||
639 | * @primary: set if primary bus (32 bits only, soon to be deprecated) | ||
640 | * | ||
641 | * This function will parse the "ranges" property of a PCI host bridge device | ||
642 | * node and setup the resource mapping of a pci controller based on its | ||
643 | * content. | ||
644 | * | ||
645 | * Life would be boring if it wasn't for a few issues that we have to deal | ||
646 | * with here: | ||
647 | * | ||
648 | * - We can only cope with one IO space range and up to 3 Memory space | ||
649 | * ranges. However, some machines (thanks Apple !) tend to split their | ||
650 | * space into lots of small contiguous ranges. So we have to coalesce. | ||
651 | * | ||
652 | * - We can only cope with all memory ranges having the same offset | ||
653 | * between CPU addresses and PCI addresses. Unfortunately, some bridges | ||
654 | * are setup for a large 1:1 mapping along with a small "window" which | ||
655 | * maps PCI address 0 to some arbitrary high address of the CPU space in | ||
656 | * order to give access to the ISA memory hole. | ||
657 | * The way out of here that I've chosen for now is to always set the | ||
658 | * offset based on the first resource found, then override it if we | ||
659 | * have a different offset and the previous was set by an ISA hole. | ||
660 | * | ||
661 | * - Some busses have IO space not starting at 0, which causes trouble with | ||
662 | * the way we do our IO resource renumbering. The code somewhat deals with | ||
663 | * it for 64 bits but I would expect problems on 32 bits. | ||
664 | * | ||
665 | * - Some 32 bits platforms such as 4xx can have physical space larger than | ||
666 | * 32 bits so we need to use 64 bits values for the parsing | ||
667 | */ | ||
668 | void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose, | ||
669 | struct device_node *dev, | ||
670 | int primary) | ||
671 | { | ||
672 | const u32 *ranges; | ||
673 | int rlen; | ||
674 | int pna = of_n_addr_cells(dev); | ||
675 | int np = pna + 5; | ||
676 | int memno = 0, isa_hole = -1; | ||
677 | u32 pci_space; | ||
678 | unsigned long long pci_addr, cpu_addr, pci_next, cpu_next, size; | ||
679 | unsigned long long isa_mb = 0; | ||
680 | struct resource *res; | ||
681 | |||
682 | printk(KERN_INFO "PCI host bridge %s %s ranges:\n", | ||
683 | dev->full_name, primary ? "(primary)" : ""); | ||
684 | |||
685 | /* Get ranges property */ | ||
686 | ranges = of_get_property(dev, "ranges", &rlen); | ||
687 | if (ranges == NULL) | ||
688 | return; | ||
689 | |||
690 | /* Parse it */ | ||
691 | pr_debug("Parsing ranges property...\n"); | ||
692 | while ((rlen -= np * 4) >= 0) { | ||
693 | /* Read next ranges element */ | ||
694 | pci_space = ranges[0]; | ||
695 | pci_addr = of_read_number(ranges + 1, 2); | ||
696 | cpu_addr = of_translate_address(dev, ranges + 3); | ||
697 | size = of_read_number(ranges + pna + 3, 2); | ||
698 | |||
699 | pr_debug("pci_space: 0x%08x pci_addr:0x%016llx " | ||
700 | "cpu_addr:0x%016llx size:0x%016llx\n", | ||
701 | pci_space, pci_addr, cpu_addr, size); | ||
702 | |||
703 | ranges += np; | ||
704 | |||
705 | /* If we failed translation or got a zero-sized region | ||
706 | * (some FW try to feed us with non sensical zero sized regions | ||
707 | * such as power3 which look like some kind of attempt | ||
708 | * at exposing the VGA memory hole) | ||
709 | */ | ||
710 | if (cpu_addr == OF_BAD_ADDR || size == 0) | ||
711 | continue; | ||
712 | |||
713 | /* Now consume following elements while they are contiguous */ | ||
714 | for (; rlen >= np * sizeof(u32); | ||
715 | ranges += np, rlen -= np * 4) { | ||
716 | if (ranges[0] != pci_space) | ||
717 | break; | ||
718 | pci_next = of_read_number(ranges + 1, 2); | ||
719 | cpu_next = of_translate_address(dev, ranges + 3); | ||
720 | if (pci_next != pci_addr + size || | ||
721 | cpu_next != cpu_addr + size) | ||
722 | break; | ||
723 | size += of_read_number(ranges + pna + 3, 2); | ||
724 | } | ||
725 | |||
726 | /* Act based on address space type */ | ||
727 | res = NULL; | ||
728 | switch ((pci_space >> 24) & 0x3) { | ||
729 | case 1: /* PCI IO space */ | ||
730 | printk(KERN_INFO | ||
731 | " IO 0x%016llx..0x%016llx -> 0x%016llx\n", | ||
732 | cpu_addr, cpu_addr + size - 1, pci_addr); | ||
733 | |||
734 | /* We support only one IO range */ | ||
735 | if (hose->pci_io_size) { | ||
736 | printk(KERN_INFO | ||
737 | " \\--> Skipped (too many) !\n"); | ||
738 | continue; | ||
739 | } | ||
740 | /* On 32 bits, limit I/O space to 16MB */ | ||
741 | if (size > 0x01000000) | ||
742 | size = 0x01000000; | ||
743 | |||
744 | /* 32 bits needs to map IOs here */ | ||
745 | hose->io_base_virt = ioremap(cpu_addr, size); | ||
746 | |||
747 | /* Expect trouble if pci_addr is not 0 */ | ||
748 | if (primary) | ||
749 | isa_io_base = | ||
750 | (unsigned long)hose->io_base_virt; | ||
751 | /* pci_io_size and io_base_phys always represent IO | ||
752 | * space starting at 0 so we factor in pci_addr | ||
753 | */ | ||
754 | hose->pci_io_size = pci_addr + size; | ||
755 | hose->io_base_phys = cpu_addr - pci_addr; | ||
756 | |||
757 | /* Build resource */ | ||
758 | res = &hose->io_resource; | ||
759 | res->flags = IORESOURCE_IO; | ||
760 | res->start = pci_addr; | ||
761 | break; | ||
762 | case 2: /* PCI Memory space */ | ||
763 | case 3: /* PCI 64 bits Memory space */ | ||
764 | printk(KERN_INFO | ||
765 | " MEM 0x%016llx..0x%016llx -> 0x%016llx %s\n", | ||
766 | cpu_addr, cpu_addr + size - 1, pci_addr, | ||
767 | (pci_space & 0x40000000) ? "Prefetch" : ""); | ||
768 | |||
769 | /* We support only 3 memory ranges */ | ||
770 | if (memno >= 3) { | ||
771 | printk(KERN_INFO | ||
772 | " \\--> Skipped (too many) !\n"); | ||
773 | continue; | ||
774 | } | ||
775 | /* Handles ISA memory hole space here */ | ||
776 | if (pci_addr == 0) { | ||
777 | isa_mb = cpu_addr; | ||
778 | isa_hole = memno; | ||
779 | if (primary || isa_mem_base == 0) | ||
780 | isa_mem_base = cpu_addr; | ||
781 | hose->isa_mem_phys = cpu_addr; | ||
782 | hose->isa_mem_size = size; | ||
783 | } | ||
784 | |||
785 | /* We get the PCI/Mem offset from the first range or | ||
786 | * the, current one if the offset came from an ISA | ||
787 | * hole. If they don't match, bugger. | ||
788 | */ | ||
789 | if (memno == 0 || | ||
790 | (isa_hole >= 0 && pci_addr != 0 && | ||
791 | hose->pci_mem_offset == isa_mb)) | ||
792 | hose->pci_mem_offset = cpu_addr - pci_addr; | ||
793 | else if (pci_addr != 0 && | ||
794 | hose->pci_mem_offset != cpu_addr - pci_addr) { | ||
795 | printk(KERN_INFO | ||
796 | " \\--> Skipped (offset mismatch) !\n"); | ||
797 | continue; | ||
798 | } | ||
799 | |||
800 | /* Build resource */ | ||
801 | res = &hose->mem_resources[memno++]; | ||
802 | res->flags = IORESOURCE_MEM; | ||
803 | if (pci_space & 0x40000000) | ||
804 | res->flags |= IORESOURCE_PREFETCH; | ||
805 | res->start = cpu_addr; | ||
806 | break; | ||
807 | } | ||
808 | if (res != NULL) { | ||
809 | res->name = dev->full_name; | ||
810 | res->end = res->start + size - 1; | ||
811 | res->parent = NULL; | ||
812 | res->sibling = NULL; | ||
813 | res->child = NULL; | ||
814 | } | ||
815 | } | ||
816 | |||
817 | /* If there's an ISA hole and the pci_mem_offset is -not- matching | ||
818 | * the ISA hole offset, then we need to remove the ISA hole from | ||
819 | * the resource list for that brige | ||
820 | */ | ||
821 | if (isa_hole >= 0 && hose->pci_mem_offset != isa_mb) { | ||
822 | unsigned int next = isa_hole + 1; | ||
823 | printk(KERN_INFO " Removing ISA hole at 0x%016llx\n", isa_mb); | ||
824 | if (next < memno) | ||
825 | memmove(&hose->mem_resources[isa_hole], | ||
826 | &hose->mem_resources[next], | ||
827 | sizeof(struct resource) * (memno - next)); | ||
828 | hose->mem_resources[--memno].flags = 0; | ||
829 | } | ||
830 | } | ||
831 | |||
832 | /* Decide whether to display the domain number in /proc */ | ||
833 | int pci_proc_domain(struct pci_bus *bus) | ||
834 | { | ||
835 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
836 | |||
837 | if (!(pci_flags & PCI_ENABLE_PROC_DOMAINS)) | ||
838 | return 0; | ||
839 | if (pci_flags & PCI_COMPAT_DOMAIN_0) | ||
840 | return hose->global_number != 0; | ||
841 | return 1; | ||
842 | } | ||
843 | |||
844 | void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | ||
845 | struct resource *res) | ||
846 | { | ||
847 | resource_size_t offset = 0, mask = (resource_size_t)-1; | ||
848 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
849 | |||
850 | if (!hose) | ||
851 | return; | ||
852 | if (res->flags & IORESOURCE_IO) { | ||
853 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
854 | mask = 0xffffffffu; | ||
855 | } else if (res->flags & IORESOURCE_MEM) | ||
856 | offset = hose->pci_mem_offset; | ||
857 | |||
858 | region->start = (res->start - offset) & mask; | ||
859 | region->end = (res->end - offset) & mask; | ||
860 | } | ||
861 | EXPORT_SYMBOL(pcibios_resource_to_bus); | ||
862 | |||
863 | void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | ||
864 | struct pci_bus_region *region) | ||
865 | { | ||
866 | resource_size_t offset = 0, mask = (resource_size_t)-1; | ||
867 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
868 | |||
869 | if (!hose) | ||
870 | return; | ||
871 | if (res->flags & IORESOURCE_IO) { | ||
872 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
873 | mask = 0xffffffffu; | ||
874 | } else if (res->flags & IORESOURCE_MEM) | ||
875 | offset = hose->pci_mem_offset; | ||
876 | res->start = (region->start + offset) & mask; | ||
877 | res->end = (region->end + offset) & mask; | ||
878 | } | ||
879 | EXPORT_SYMBOL(pcibios_bus_to_resource); | ||
880 | |||
881 | /* Fixup a bus resource into a linux resource */ | ||
882 | static void __devinit fixup_resource(struct resource *res, struct pci_dev *dev) | ||
883 | { | ||
884 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
885 | resource_size_t offset = 0, mask = (resource_size_t)-1; | ||
886 | |||
887 | if (res->flags & IORESOURCE_IO) { | ||
888 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
889 | mask = 0xffffffffu; | ||
890 | } else if (res->flags & IORESOURCE_MEM) | ||
891 | offset = hose->pci_mem_offset; | ||
892 | |||
893 | res->start = (res->start + offset) & mask; | ||
894 | res->end = (res->end + offset) & mask; | ||
895 | } | ||
896 | |||
897 | /* This header fixup will do the resource fixup for all devices as they are | ||
898 | * probed, but not for bridge ranges | ||
899 | */ | ||
900 | static void __devinit pcibios_fixup_resources(struct pci_dev *dev) | ||
901 | { | ||
902 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | ||
903 | int i; | ||
904 | |||
905 | if (!hose) { | ||
906 | printk(KERN_ERR "No host bridge for PCI dev %s !\n", | ||
907 | pci_name(dev)); | ||
908 | return; | ||
909 | } | ||
910 | for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { | ||
911 | struct resource *res = dev->resource + i; | ||
912 | if (!res->flags) | ||
913 | continue; | ||
914 | /* On platforms that have PCI_PROBE_ONLY set, we don't | ||
915 | * consider 0 as an unassigned BAR value. It's technically | ||
916 | * a valid value, but linux doesn't like it... so when we can | ||
917 | * re-assign things, we do so, but if we can't, we keep it | ||
918 | * around and hope for the best... | ||
919 | */ | ||
920 | if (res->start == 0 && !(pci_flags & PCI_PROBE_ONLY)) { | ||
921 | pr_debug("PCI:%s Resource %d %016llx-%016llx [%x]" \ | ||
922 | "is unassigned\n", | ||
923 | pci_name(dev), i, | ||
924 | (unsigned long long)res->start, | ||
925 | (unsigned long long)res->end, | ||
926 | (unsigned int)res->flags); | ||
927 | res->end -= res->start; | ||
928 | res->start = 0; | ||
929 | res->flags |= IORESOURCE_UNSET; | ||
930 | continue; | ||
931 | } | ||
932 | |||
933 | pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] fixup...\n", | ||
934 | pci_name(dev), i, | ||
935 | (unsigned long long)res->start,\ | ||
936 | (unsigned long long)res->end, | ||
937 | (unsigned int)res->flags); | ||
938 | |||
939 | fixup_resource(res, dev); | ||
940 | |||
941 | pr_debug("PCI:%s %016llx-%016llx\n", | ||
942 | pci_name(dev), | ||
943 | (unsigned long long)res->start, | ||
944 | (unsigned long long)res->end); | ||
945 | } | ||
946 | } | ||
947 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_fixup_resources); | ||
948 | |||
949 | /* This function tries to figure out if a bridge resource has been initialized | ||
950 | * by the firmware or not. It doesn't have to be absolutely bullet proof, but | ||
951 | * things go more smoothly when it gets it right. It should covers cases such | ||
952 | * as Apple "closed" bridge resources and bare-metal pSeries unassigned bridges | ||
953 | */ | ||
954 | static int __devinit pcibios_uninitialized_bridge_resource(struct pci_bus *bus, | ||
955 | struct resource *res) | ||
956 | { | ||
957 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
958 | struct pci_dev *dev = bus->self; | ||
959 | resource_size_t offset; | ||
960 | u16 command; | ||
961 | int i; | ||
962 | |||
963 | /* We don't do anything if PCI_PROBE_ONLY is set */ | ||
964 | if (pci_flags & PCI_PROBE_ONLY) | ||
965 | return 0; | ||
966 | |||
967 | /* Job is a bit different between memory and IO */ | ||
968 | if (res->flags & IORESOURCE_MEM) { | ||
969 | /* If the BAR is non-0 (res != pci_mem_offset) then it's | ||
970 | * probably been initialized by somebody | ||
971 | */ | ||
972 | if (res->start != hose->pci_mem_offset) | ||
973 | return 0; | ||
974 | |||
975 | /* The BAR is 0, let's check if memory decoding is enabled on | ||
976 | * the bridge. If not, we consider it unassigned | ||
977 | */ | ||
978 | pci_read_config_word(dev, PCI_COMMAND, &command); | ||
979 | if ((command & PCI_COMMAND_MEMORY) == 0) | ||
980 | return 1; | ||
981 | |||
982 | /* Memory decoding is enabled and the BAR is 0. If any of | ||
983 | * the bridge resources covers that starting address (0 then | ||
984 | * it's good enough for us for memory | ||
985 | */ | ||
986 | for (i = 0; i < 3; i++) { | ||
987 | if ((hose->mem_resources[i].flags & IORESOURCE_MEM) && | ||
988 | hose->mem_resources[i].start == hose->pci_mem_offset) | ||
989 | return 0; | ||
990 | } | ||
991 | |||
992 | /* Well, it starts at 0 and we know it will collide so we may as | ||
993 | * well consider it as unassigned. That covers the Apple case. | ||
994 | */ | ||
995 | return 1; | ||
996 | } else { | ||
997 | /* If the BAR is non-0, then we consider it assigned */ | ||
998 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
999 | if (((res->start - offset) & 0xfffffffful) != 0) | ||
1000 | return 0; | ||
1001 | |||
1002 | /* Here, we are a bit different than memory as typically IO | ||
1003 | * space starting at low addresses -is- valid. What we do | ||
1004 | * instead if that we consider as unassigned anything that | ||
1005 | * doesn't have IO enabled in the PCI command register, | ||
1006 | * and that's it. | ||
1007 | */ | ||
1008 | pci_read_config_word(dev, PCI_COMMAND, &command); | ||
1009 | if (command & PCI_COMMAND_IO) | ||
1010 | return 0; | ||
1011 | |||
1012 | /* It's starting at 0 and IO is disabled in the bridge, consider | ||
1013 | * it unassigned | ||
1014 | */ | ||
1015 | return 1; | ||
1016 | } | ||
1017 | } | ||
1018 | |||
1019 | /* Fixup resources of a PCI<->PCI bridge */ | ||
1020 | static void __devinit pcibios_fixup_bridge(struct pci_bus *bus) | ||
1021 | { | ||
1022 | struct resource *res; | ||
1023 | int i; | ||
1024 | |||
1025 | struct pci_dev *dev = bus->self; | ||
1026 | |||
1027 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { | ||
1028 | res = bus->resource[i]; | ||
1029 | if (!res) | ||
1030 | continue; | ||
1031 | if (!res->flags) | ||
1032 | continue; | ||
1033 | if (i >= 3 && bus->self->transparent) | ||
1034 | continue; | ||
1035 | |||
1036 | pr_debug("PCI:%s Bus rsrc %d %016llx-%016llx [%x] fixup...\n", | ||
1037 | pci_name(dev), i, | ||
1038 | (unsigned long long)res->start,\ | ||
1039 | (unsigned long long)res->end, | ||
1040 | (unsigned int)res->flags); | ||
1041 | |||
1042 | /* Perform fixup */ | ||
1043 | fixup_resource(res, dev); | ||
1044 | |||
1045 | /* Try to detect uninitialized P2P bridge resources, | ||
1046 | * and clear them out so they get re-assigned later | ||
1047 | */ | ||
1048 | if (pcibios_uninitialized_bridge_resource(bus, res)) { | ||
1049 | res->flags = 0; | ||
1050 | pr_debug("PCI:%s (unassigned)\n", | ||
1051 | pci_name(dev)); | ||
1052 | } else { | ||
1053 | pr_debug("PCI:%s %016llx-%016llx\n", | ||
1054 | pci_name(dev), | ||
1055 | (unsigned long long)res->start, | ||
1056 | (unsigned long long)res->end); | ||
1057 | } | ||
1058 | } | ||
1059 | } | ||
1060 | |||
1061 | void __devinit pcibios_setup_bus_self(struct pci_bus *bus) | ||
1062 | { | ||
1063 | /* Fix up the bus resources for P2P bridges */ | ||
1064 | if (bus->self != NULL) | ||
1065 | pcibios_fixup_bridge(bus); | ||
1066 | } | ||
1067 | |||
1068 | void __devinit pcibios_setup_bus_devices(struct pci_bus *bus) | ||
1069 | { | ||
1070 | struct pci_dev *dev; | ||
1071 | |||
1072 | pr_debug("PCI: Fixup bus devices %d (%s)\n", | ||
1073 | bus->number, bus->self ? pci_name(bus->self) : "PHB"); | ||
1074 | |||
1075 | list_for_each_entry(dev, &bus->devices, bus_list) { | ||
1076 | struct dev_archdata *sd = &dev->dev.archdata; | ||
1077 | |||
1078 | /* Setup OF node pointer in archdata */ | ||
1079 | sd->of_node = pci_device_to_OF_node(dev); | ||
1080 | |||
1081 | /* Fixup NUMA node as it may not be setup yet by the generic | ||
1082 | * code and is needed by the DMA init | ||
1083 | */ | ||
1084 | set_dev_node(&dev->dev, pcibus_to_node(dev->bus)); | ||
1085 | |||
1086 | /* Hook up default DMA ops */ | ||
1087 | sd->dma_ops = pci_dma_ops; | ||
1088 | sd->dma_data = (void *)PCI_DRAM_OFFSET; | ||
1089 | |||
1090 | /* Read default IRQs and fixup if necessary */ | ||
1091 | pci_read_irq_line(dev); | ||
1092 | } | ||
1093 | } | ||
1094 | |||
1095 | void __devinit pcibios_fixup_bus(struct pci_bus *bus) | ||
1096 | { | ||
1097 | /* When called from the generic PCI probe, read PCI<->PCI bridge | ||
1098 | * bases. This is -not- called when generating the PCI tree from | ||
1099 | * the OF device-tree. | ||
1100 | */ | ||
1101 | if (bus->self != NULL) | ||
1102 | pci_read_bridge_bases(bus); | ||
1103 | |||
1104 | /* Now fixup the bus bus */ | ||
1105 | pcibios_setup_bus_self(bus); | ||
1106 | |||
1107 | /* Now fixup devices on that bus */ | ||
1108 | pcibios_setup_bus_devices(bus); | ||
1109 | } | ||
1110 | EXPORT_SYMBOL(pcibios_fixup_bus); | ||
1111 | |||
1112 | static int skip_isa_ioresource_align(struct pci_dev *dev) | ||
1113 | { | ||
1114 | if ((pci_flags & PCI_CAN_SKIP_ISA_ALIGN) && | ||
1115 | !(dev->bus->bridge_ctl & PCI_BRIDGE_CTL_ISA)) | ||
1116 | return 1; | ||
1117 | return 0; | ||
1118 | } | ||
1119 | |||
1120 | /* | ||
1121 | * We need to avoid collisions with `mirrored' VGA ports | ||
1122 | * and other strange ISA hardware, so we always want the | ||
1123 | * addresses to be allocated in the 0x000-0x0ff region | ||
1124 | * modulo 0x400. | ||
1125 | * | ||
1126 | * Why? Because some silly external IO cards only decode | ||
1127 | * the low 10 bits of the IO address. The 0x00-0xff region | ||
1128 | * is reserved for motherboard devices that decode all 16 | ||
1129 | * bits, so it's ok to allocate at, say, 0x2800-0x28ff, | ||
1130 | * but we want to try to avoid allocating at 0x2900-0x2bff | ||
1131 | * which might have be mirrored at 0x0100-0x03ff.. | ||
1132 | */ | ||
1133 | void pcibios_align_resource(void *data, struct resource *res, | ||
1134 | resource_size_t size, resource_size_t align) | ||
1135 | { | ||
1136 | struct pci_dev *dev = data; | ||
1137 | |||
1138 | if (res->flags & IORESOURCE_IO) { | ||
1139 | resource_size_t start = res->start; | ||
1140 | |||
1141 | if (skip_isa_ioresource_align(dev)) | ||
1142 | return; | ||
1143 | if (start & 0x300) { | ||
1144 | start = (start + 0x3ff) & ~0x3ff; | ||
1145 | res->start = start; | ||
1146 | } | ||
1147 | } | ||
1148 | } | ||
1149 | EXPORT_SYMBOL(pcibios_align_resource); | ||
1150 | |||
1151 | /* | ||
1152 | * Reparent resource children of pr that conflict with res | ||
1153 | * under res, and make res replace those children. | ||
1154 | */ | ||
1155 | static int __init reparent_resources(struct resource *parent, | ||
1156 | struct resource *res) | ||
1157 | { | ||
1158 | struct resource *p, **pp; | ||
1159 | struct resource **firstpp = NULL; | ||
1160 | |||
1161 | for (pp = &parent->child; (p = *pp) != NULL; pp = &p->sibling) { | ||
1162 | if (p->end < res->start) | ||
1163 | continue; | ||
1164 | if (res->end < p->start) | ||
1165 | break; | ||
1166 | if (p->start < res->start || p->end > res->end) | ||
1167 | return -1; /* not completely contained */ | ||
1168 | if (firstpp == NULL) | ||
1169 | firstpp = pp; | ||
1170 | } | ||
1171 | if (firstpp == NULL) | ||
1172 | return -1; /* didn't find any conflicting entries? */ | ||
1173 | res->parent = parent; | ||
1174 | res->child = *firstpp; | ||
1175 | res->sibling = *pp; | ||
1176 | *firstpp = res; | ||
1177 | *pp = NULL; | ||
1178 | for (p = res->child; p != NULL; p = p->sibling) { | ||
1179 | p->parent = res; | ||
1180 | pr_debug("PCI: Reparented %s [%llx..%llx] under %s\n", | ||
1181 | p->name, | ||
1182 | (unsigned long long)p->start, | ||
1183 | (unsigned long long)p->end, res->name); | ||
1184 | } | ||
1185 | return 0; | ||
1186 | } | ||
1187 | |||
1188 | /* | ||
1189 | * Handle resources of PCI devices. If the world were perfect, we could | ||
1190 | * just allocate all the resource regions and do nothing more. It isn't. | ||
1191 | * On the other hand, we cannot just re-allocate all devices, as it would | ||
1192 | * require us to know lots of host bridge internals. So we attempt to | ||
1193 | * keep as much of the original configuration as possible, but tweak it | ||
1194 | * when it's found to be wrong. | ||
1195 | * | ||
1196 | * Known BIOS problems we have to work around: | ||
1197 | * - I/O or memory regions not configured | ||
1198 | * - regions configured, but not enabled in the command register | ||
1199 | * - bogus I/O addresses above 64K used | ||
1200 | * - expansion ROMs left enabled (this may sound harmless, but given | ||
1201 | * the fact the PCI specs explicitly allow address decoders to be | ||
1202 | * shared between expansion ROMs and other resource regions, it's | ||
1203 | * at least dangerous) | ||
1204 | * | ||
1205 | * Our solution: | ||
1206 | * (1) Allocate resources for all buses behind PCI-to-PCI bridges. | ||
1207 | * This gives us fixed barriers on where we can allocate. | ||
1208 | * (2) Allocate resources for all enabled devices. If there is | ||
1209 | * a collision, just mark the resource as unallocated. Also | ||
1210 | * disable expansion ROMs during this step. | ||
1211 | * (3) Try to allocate resources for disabled devices. If the | ||
1212 | * resources were assigned correctly, everything goes well, | ||
1213 | * if they weren't, they won't disturb allocation of other | ||
1214 | * resources. | ||
1215 | * (4) Assign new addresses to resources which were either | ||
1216 | * not configured at all or misconfigured. If explicitly | ||
1217 | * requested by the user, configure expansion ROM address | ||
1218 | * as well. | ||
1219 | */ | ||
1220 | |||
1221 | void pcibios_allocate_bus_resources(struct pci_bus *bus) | ||
1222 | { | ||
1223 | struct pci_bus *b; | ||
1224 | int i; | ||
1225 | struct resource *res, *pr; | ||
1226 | |||
1227 | pr_debug("PCI: Allocating bus resources for %04x:%02x...\n", | ||
1228 | pci_domain_nr(bus), bus->number); | ||
1229 | |||
1230 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { | ||
1231 | res = bus->resource[i]; | ||
1232 | if (!res || !res->flags | ||
1233 | || res->start > res->end || res->parent) | ||
1234 | continue; | ||
1235 | if (bus->parent == NULL) | ||
1236 | pr = (res->flags & IORESOURCE_IO) ? | ||
1237 | &ioport_resource : &iomem_resource; | ||
1238 | else { | ||
1239 | /* Don't bother with non-root busses when | ||
1240 | * re-assigning all resources. We clear the | ||
1241 | * resource flags as if they were colliding | ||
1242 | * and as such ensure proper re-allocation | ||
1243 | * later. | ||
1244 | */ | ||
1245 | if (pci_flags & PCI_REASSIGN_ALL_RSRC) | ||
1246 | goto clear_resource; | ||
1247 | pr = pci_find_parent_resource(bus->self, res); | ||
1248 | if (pr == res) { | ||
1249 | /* this happens when the generic PCI | ||
1250 | * code (wrongly) decides that this | ||
1251 | * bridge is transparent -- paulus | ||
1252 | */ | ||
1253 | continue; | ||
1254 | } | ||
1255 | } | ||
1256 | |||
1257 | pr_debug("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx " | ||
1258 | "[0x%x], parent %p (%s)\n", | ||
1259 | bus->self ? pci_name(bus->self) : "PHB", | ||
1260 | bus->number, i, | ||
1261 | (unsigned long long)res->start, | ||
1262 | (unsigned long long)res->end, | ||
1263 | (unsigned int)res->flags, | ||
1264 | pr, (pr && pr->name) ? pr->name : "nil"); | ||
1265 | |||
1266 | if (pr && !(pr->flags & IORESOURCE_UNSET)) { | ||
1267 | if (request_resource(pr, res) == 0) | ||
1268 | continue; | ||
1269 | /* | ||
1270 | * Must be a conflict with an existing entry. | ||
1271 | * Move that entry (or entries) under the | ||
1272 | * bridge resource and try again. | ||
1273 | */ | ||
1274 | if (reparent_resources(pr, res) == 0) | ||
1275 | continue; | ||
1276 | } | ||
1277 | printk(KERN_WARNING "PCI: Cannot allocate resource region " | ||
1278 | "%d of PCI bridge %d, will remap\n", i, bus->number); | ||
1279 | clear_resource: | ||
1280 | res->flags = 0; | ||
1281 | } | ||
1282 | |||
1283 | list_for_each_entry(b, &bus->children, node) | ||
1284 | pcibios_allocate_bus_resources(b); | ||
1285 | } | ||
1286 | |||
1287 | static inline void __devinit alloc_resource(struct pci_dev *dev, int idx) | ||
1288 | { | ||
1289 | struct resource *pr, *r = &dev->resource[idx]; | ||
1290 | |||
1291 | pr_debug("PCI: Allocating %s: Resource %d: %016llx..%016llx [%x]\n", | ||
1292 | pci_name(dev), idx, | ||
1293 | (unsigned long long)r->start, | ||
1294 | (unsigned long long)r->end, | ||
1295 | (unsigned int)r->flags); | ||
1296 | |||
1297 | pr = pci_find_parent_resource(dev, r); | ||
1298 | if (!pr || (pr->flags & IORESOURCE_UNSET) || | ||
1299 | request_resource(pr, r) < 0) { | ||
1300 | printk(KERN_WARNING "PCI: Cannot allocate resource region %d" | ||
1301 | " of device %s, will remap\n", idx, pci_name(dev)); | ||
1302 | if (pr) | ||
1303 | pr_debug("PCI: parent is %p: %016llx-%016llx [%x]\n", | ||
1304 | pr, | ||
1305 | (unsigned long long)pr->start, | ||
1306 | (unsigned long long)pr->end, | ||
1307 | (unsigned int)pr->flags); | ||
1308 | /* We'll assign a new address later */ | ||
1309 | r->flags |= IORESOURCE_UNSET; | ||
1310 | r->end -= r->start; | ||
1311 | r->start = 0; | ||
1312 | } | ||
1313 | } | ||
1314 | |||
1315 | static void __init pcibios_allocate_resources(int pass) | ||
1316 | { | ||
1317 | struct pci_dev *dev = NULL; | ||
1318 | int idx, disabled; | ||
1319 | u16 command; | ||
1320 | struct resource *r; | ||
1321 | |||
1322 | for_each_pci_dev(dev) { | ||
1323 | pci_read_config_word(dev, PCI_COMMAND, &command); | ||
1324 | for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { | ||
1325 | r = &dev->resource[idx]; | ||
1326 | if (r->parent) /* Already allocated */ | ||
1327 | continue; | ||
1328 | if (!r->flags || (r->flags & IORESOURCE_UNSET)) | ||
1329 | continue; /* Not assigned at all */ | ||
1330 | /* We only allocate ROMs on pass 1 just in case they | ||
1331 | * have been screwed up by firmware | ||
1332 | */ | ||
1333 | if (idx == PCI_ROM_RESOURCE) | ||
1334 | disabled = 1; | ||
1335 | if (r->flags & IORESOURCE_IO) | ||
1336 | disabled = !(command & PCI_COMMAND_IO); | ||
1337 | else | ||
1338 | disabled = !(command & PCI_COMMAND_MEMORY); | ||
1339 | if (pass == disabled) | ||
1340 | alloc_resource(dev, idx); | ||
1341 | } | ||
1342 | if (pass) | ||
1343 | continue; | ||
1344 | r = &dev->resource[PCI_ROM_RESOURCE]; | ||
1345 | if (r->flags) { | ||
1346 | /* Turn the ROM off, leave the resource region, | ||
1347 | * but keep it unregistered. | ||
1348 | */ | ||
1349 | u32 reg; | ||
1350 | pci_read_config_dword(dev, dev->rom_base_reg, ®); | ||
1351 | if (reg & PCI_ROM_ADDRESS_ENABLE) { | ||
1352 | pr_debug("PCI: Switching off ROM of %s\n", | ||
1353 | pci_name(dev)); | ||
1354 | r->flags &= ~IORESOURCE_ROM_ENABLE; | ||
1355 | pci_write_config_dword(dev, dev->rom_base_reg, | ||
1356 | reg & ~PCI_ROM_ADDRESS_ENABLE); | ||
1357 | } | ||
1358 | } | ||
1359 | } | ||
1360 | } | ||
1361 | |||
1362 | static void __init pcibios_reserve_legacy_regions(struct pci_bus *bus) | ||
1363 | { | ||
1364 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
1365 | resource_size_t offset; | ||
1366 | struct resource *res, *pres; | ||
1367 | int i; | ||
1368 | |||
1369 | pr_debug("Reserving legacy ranges for domain %04x\n", | ||
1370 | pci_domain_nr(bus)); | ||
1371 | |||
1372 | /* Check for IO */ | ||
1373 | if (!(hose->io_resource.flags & IORESOURCE_IO)) | ||
1374 | goto no_io; | ||
1375 | offset = (unsigned long)hose->io_base_virt - _IO_BASE; | ||
1376 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); | ||
1377 | BUG_ON(res == NULL); | ||
1378 | res->name = "Legacy IO"; | ||
1379 | res->flags = IORESOURCE_IO; | ||
1380 | res->start = offset; | ||
1381 | res->end = (offset + 0xfff) & 0xfffffffful; | ||
1382 | pr_debug("Candidate legacy IO: %pR\n", res); | ||
1383 | if (request_resource(&hose->io_resource, res)) { | ||
1384 | printk(KERN_DEBUG | ||
1385 | "PCI %04x:%02x Cannot reserve Legacy IO %pR\n", | ||
1386 | pci_domain_nr(bus), bus->number, res); | ||
1387 | kfree(res); | ||
1388 | } | ||
1389 | |||
1390 | no_io: | ||
1391 | /* Check for memory */ | ||
1392 | offset = hose->pci_mem_offset; | ||
1393 | pr_debug("hose mem offset: %016llx\n", (unsigned long long)offset); | ||
1394 | for (i = 0; i < 3; i++) { | ||
1395 | pres = &hose->mem_resources[i]; | ||
1396 | if (!(pres->flags & IORESOURCE_MEM)) | ||
1397 | continue; | ||
1398 | pr_debug("hose mem res: %pR\n", pres); | ||
1399 | if ((pres->start - offset) <= 0xa0000 && | ||
1400 | (pres->end - offset) >= 0xbffff) | ||
1401 | break; | ||
1402 | } | ||
1403 | if (i >= 3) | ||
1404 | return; | ||
1405 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); | ||
1406 | BUG_ON(res == NULL); | ||
1407 | res->name = "Legacy VGA memory"; | ||
1408 | res->flags = IORESOURCE_MEM; | ||
1409 | res->start = 0xa0000 + offset; | ||
1410 | res->end = 0xbffff + offset; | ||
1411 | pr_debug("Candidate VGA memory: %pR\n", res); | ||
1412 | if (request_resource(pres, res)) { | ||
1413 | printk(KERN_DEBUG | ||
1414 | "PCI %04x:%02x Cannot reserve VGA memory %pR\n", | ||
1415 | pci_domain_nr(bus), bus->number, res); | ||
1416 | kfree(res); | ||
1417 | } | ||
1418 | } | ||
1419 | |||
1420 | void __init pcibios_resource_survey(void) | ||
1421 | { | ||
1422 | struct pci_bus *b; | ||
1423 | |||
1424 | /* Allocate and assign resources. If we re-assign everything, then | ||
1425 | * we skip the allocate phase | ||
1426 | */ | ||
1427 | list_for_each_entry(b, &pci_root_buses, node) | ||
1428 | pcibios_allocate_bus_resources(b); | ||
1429 | |||
1430 | if (!(pci_flags & PCI_REASSIGN_ALL_RSRC)) { | ||
1431 | pcibios_allocate_resources(0); | ||
1432 | pcibios_allocate_resources(1); | ||
1433 | } | ||
1434 | |||
1435 | /* Before we start assigning unassigned resource, we try to reserve | ||
1436 | * the low IO area and the VGA memory area if they intersect the | ||
1437 | * bus available resources to avoid allocating things on top of them | ||
1438 | */ | ||
1439 | if (!(pci_flags & PCI_PROBE_ONLY)) { | ||
1440 | list_for_each_entry(b, &pci_root_buses, node) | ||
1441 | pcibios_reserve_legacy_regions(b); | ||
1442 | } | ||
1443 | |||
1444 | /* Now, if the platform didn't decide to blindly trust the firmware, | ||
1445 | * we proceed to assigning things that were left unassigned | ||
1446 | */ | ||
1447 | if (!(pci_flags & PCI_PROBE_ONLY)) { | ||
1448 | pr_debug("PCI: Assigning unassigned resources...\n"); | ||
1449 | pci_assign_unassigned_resources(); | ||
1450 | } | ||
1451 | } | ||
1452 | |||
1453 | #ifdef CONFIG_HOTPLUG | ||
1454 | |||
1455 | /* This is used by the PCI hotplug driver to allocate resource | ||
1456 | * of newly plugged busses. We can try to consolidate with the | ||
1457 | * rest of the code later, for now, keep it as-is as our main | ||
1458 | * resource allocation function doesn't deal with sub-trees yet. | ||
1459 | */ | ||
1460 | void __devinit pcibios_claim_one_bus(struct pci_bus *bus) | ||
1461 | { | ||
1462 | struct pci_dev *dev; | ||
1463 | struct pci_bus *child_bus; | ||
1464 | |||
1465 | list_for_each_entry(dev, &bus->devices, bus_list) { | ||
1466 | int i; | ||
1467 | |||
1468 | for (i = 0; i < PCI_NUM_RESOURCES; i++) { | ||
1469 | struct resource *r = &dev->resource[i]; | ||
1470 | |||
1471 | if (r->parent || !r->start || !r->flags) | ||
1472 | continue; | ||
1473 | |||
1474 | pr_debug("PCI: Claiming %s: " | ||
1475 | "Resource %d: %016llx..%016llx [%x]\n", | ||
1476 | pci_name(dev), i, | ||
1477 | (unsigned long long)r->start, | ||
1478 | (unsigned long long)r->end, | ||
1479 | (unsigned int)r->flags); | ||
1480 | |||
1481 | pci_claim_resource(dev, i); | ||
1482 | } | ||
1483 | } | ||
1484 | |||
1485 | list_for_each_entry(child_bus, &bus->children, node) | ||
1486 | pcibios_claim_one_bus(child_bus); | ||
1487 | } | ||
1488 | EXPORT_SYMBOL_GPL(pcibios_claim_one_bus); | ||
1489 | |||
1490 | |||
1491 | /* pcibios_finish_adding_to_bus | ||
1492 | * | ||
1493 | * This is to be called by the hotplug code after devices have been | ||
1494 | * added to a bus, this include calling it for a PHB that is just | ||
1495 | * being added | ||
1496 | */ | ||
1497 | void pcibios_finish_adding_to_bus(struct pci_bus *bus) | ||
1498 | { | ||
1499 | pr_debug("PCI: Finishing adding to hotplug bus %04x:%02x\n", | ||
1500 | pci_domain_nr(bus), bus->number); | ||
1501 | |||
1502 | /* Allocate bus and devices resources */ | ||
1503 | pcibios_allocate_bus_resources(bus); | ||
1504 | pcibios_claim_one_bus(bus); | ||
1505 | |||
1506 | /* Add new devices to global lists. Register in proc, sysfs. */ | ||
1507 | pci_bus_add_devices(bus); | ||
1508 | |||
1509 | /* Fixup EEH */ | ||
1510 | eeh_add_device_tree_late(bus); | ||
1511 | } | ||
1512 | EXPORT_SYMBOL_GPL(pcibios_finish_adding_to_bus); | ||
1513 | |||
1514 | #endif /* CONFIG_HOTPLUG */ | ||
1515 | |||
1516 | int pcibios_enable_device(struct pci_dev *dev, int mask) | ||
1517 | { | ||
1518 | return pci_enable_resources(dev, mask); | ||
1519 | } | ||
1520 | |||
1521 | void __devinit pcibios_setup_phb_resources(struct pci_controller *hose) | ||
1522 | { | ||
1523 | struct pci_bus *bus = hose->bus; | ||
1524 | struct resource *res; | ||
1525 | int i; | ||
1526 | |||
1527 | /* Hookup PHB IO resource */ | ||
1528 | bus->resource[0] = res = &hose->io_resource; | ||
1529 | |||
1530 | if (!res->flags) { | ||
1531 | printk(KERN_WARNING "PCI: I/O resource not set for host" | ||
1532 | " bridge %s (domain %d)\n", | ||
1533 | hose->dn->full_name, hose->global_number); | ||
1534 | /* Workaround for lack of IO resource only on 32-bit */ | ||
1535 | res->start = (unsigned long)hose->io_base_virt - isa_io_base; | ||
1536 | res->end = res->start + IO_SPACE_LIMIT; | ||
1537 | res->flags = IORESOURCE_IO; | ||
1538 | } | ||
1539 | |||
1540 | pr_debug("PCI: PHB IO resource = %016llx-%016llx [%lx]\n", | ||
1541 | (unsigned long long)res->start, | ||
1542 | (unsigned long long)res->end, | ||
1543 | (unsigned long)res->flags); | ||
1544 | |||
1545 | /* Hookup PHB Memory resources */ | ||
1546 | for (i = 0; i < 3; ++i) { | ||
1547 | res = &hose->mem_resources[i]; | ||
1548 | if (!res->flags) { | ||
1549 | if (i > 0) | ||
1550 | continue; | ||
1551 | printk(KERN_ERR "PCI: Memory resource 0 not set for " | ||
1552 | "host bridge %s (domain %d)\n", | ||
1553 | hose->dn->full_name, hose->global_number); | ||
1554 | |||
1555 | /* Workaround for lack of MEM resource only on 32-bit */ | ||
1556 | res->start = hose->pci_mem_offset; | ||
1557 | res->end = (resource_size_t)-1LL; | ||
1558 | res->flags = IORESOURCE_MEM; | ||
1559 | |||
1560 | } | ||
1561 | bus->resource[i+1] = res; | ||
1562 | |||
1563 | pr_debug("PCI: PHB MEM resource %d = %016llx-%016llx [%lx]\n", | ||
1564 | i, (unsigned long long)res->start, | ||
1565 | (unsigned long long)res->end, | ||
1566 | (unsigned long)res->flags); | ||
1567 | } | ||
1568 | |||
1569 | pr_debug("PCI: PHB MEM offset = %016llx\n", | ||
1570 | (unsigned long long)hose->pci_mem_offset); | ||
1571 | pr_debug("PCI: PHB IO offset = %08lx\n", | ||
1572 | (unsigned long)hose->io_base_virt - _IO_BASE); | ||
1573 | } | ||
1574 | |||
1575 | /* | ||
1576 | * Null PCI config access functions, for the case when we can't | ||
1577 | * find a hose. | ||
1578 | */ | ||
1579 | #define NULL_PCI_OP(rw, size, type) \ | ||
1580 | static int \ | ||
1581 | null_##rw##_config_##size(struct pci_dev *dev, int offset, type val) \ | ||
1582 | { \ | ||
1583 | return PCIBIOS_DEVICE_NOT_FOUND; \ | ||
1584 | } | ||
1585 | |||
1586 | static int | ||
1587 | null_read_config(struct pci_bus *bus, unsigned int devfn, int offset, | ||
1588 | int len, u32 *val) | ||
1589 | { | ||
1590 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
1591 | } | ||
1592 | |||
1593 | static int | ||
1594 | null_write_config(struct pci_bus *bus, unsigned int devfn, int offset, | ||
1595 | int len, u32 val) | ||
1596 | { | ||
1597 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
1598 | } | ||
1599 | |||
1600 | static struct pci_ops null_pci_ops = { | ||
1601 | .read = null_read_config, | ||
1602 | .write = null_write_config, | ||
1603 | }; | ||
1604 | |||
1605 | /* | ||
1606 | * These functions are used early on before PCI scanning is done | ||
1607 | * and all of the pci_dev and pci_bus structures have been created. | ||
1608 | */ | ||
1609 | static struct pci_bus * | ||
1610 | fake_pci_bus(struct pci_controller *hose, int busnr) | ||
1611 | { | ||
1612 | static struct pci_bus bus; | ||
1613 | |||
1614 | if (!hose) | ||
1615 | printk(KERN_ERR "Can't find hose for PCI bus %d!\n", busnr); | ||
1616 | |||
1617 | bus.number = busnr; | ||
1618 | bus.sysdata = hose; | ||
1619 | bus.ops = hose ? hose->ops : &null_pci_ops; | ||
1620 | return &bus; | ||
1621 | } | ||
1622 | |||
1623 | #define EARLY_PCI_OP(rw, size, type) \ | ||
1624 | int early_##rw##_config_##size(struct pci_controller *hose, int bus, \ | ||
1625 | int devfn, int offset, type value) \ | ||
1626 | { \ | ||
1627 | return pci_bus_##rw##_config_##size(fake_pci_bus(hose, bus), \ | ||
1628 | devfn, offset, value); \ | ||
1629 | } | ||
1630 | |||
1631 | EARLY_PCI_OP(read, byte, u8 *) | ||
1632 | EARLY_PCI_OP(read, word, u16 *) | ||
1633 | EARLY_PCI_OP(read, dword, u32 *) | ||
1634 | EARLY_PCI_OP(write, byte, u8) | ||
1635 | EARLY_PCI_OP(write, word, u16) | ||
1636 | EARLY_PCI_OP(write, dword, u32) | ||
1637 | |||
1638 | int early_find_capability(struct pci_controller *hose, int bus, int devfn, | ||
1639 | int cap) | ||
1640 | { | ||
1641 | return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap); | ||
1642 | } | ||
diff --git a/arch/microblaze/pci/pci_32.c b/arch/microblaze/pci/pci_32.c new file mode 100644 index 000000000000..7e0c94f501cc --- /dev/null +++ b/arch/microblaze/pci/pci_32.c | |||
@@ -0,0 +1,430 @@ | |||
1 | /* | ||
2 | * Common pmac/prep/chrp pci routines. -- Cort | ||
3 | */ | ||
4 | |||
5 | #include <linux/kernel.h> | ||
6 | #include <linux/pci.h> | ||
7 | #include <linux/delay.h> | ||
8 | #include <linux/string.h> | ||
9 | #include <linux/init.h> | ||
10 | #include <linux/capability.h> | ||
11 | #include <linux/sched.h> | ||
12 | #include <linux/errno.h> | ||
13 | #include <linux/bootmem.h> | ||
14 | #include <linux/irq.h> | ||
15 | #include <linux/list.h> | ||
16 | #include <linux/of.h> | ||
17 | |||
18 | #include <asm/processor.h> | ||
19 | #include <asm/io.h> | ||
20 | #include <asm/prom.h> | ||
21 | #include <asm/sections.h> | ||
22 | #include <asm/pci-bridge.h> | ||
23 | #include <asm/byteorder.h> | ||
24 | #include <asm/uaccess.h> | ||
25 | |||
26 | #undef DEBUG | ||
27 | |||
28 | unsigned long isa_io_base; | ||
29 | unsigned long pci_dram_offset; | ||
30 | int pcibios_assign_bus_offset = 1; | ||
31 | |||
32 | static u8 *pci_to_OF_bus_map; | ||
33 | |||
34 | /* By default, we don't re-assign bus numbers. We do this only on | ||
35 | * some pmacs | ||
36 | */ | ||
37 | static int pci_assign_all_buses; | ||
38 | |||
39 | static int pci_bus_count; | ||
40 | |||
41 | /* | ||
42 | * Functions below are used on OpenFirmware machines. | ||
43 | */ | ||
44 | static void | ||
45 | make_one_node_map(struct device_node *node, u8 pci_bus) | ||
46 | { | ||
47 | const int *bus_range; | ||
48 | int len; | ||
49 | |||
50 | if (pci_bus >= pci_bus_count) | ||
51 | return; | ||
52 | bus_range = of_get_property(node, "bus-range", &len); | ||
53 | if (bus_range == NULL || len < 2 * sizeof(int)) { | ||
54 | printk(KERN_WARNING "Can't get bus-range for %s, " | ||
55 | "assuming it starts at 0\n", node->full_name); | ||
56 | pci_to_OF_bus_map[pci_bus] = 0; | ||
57 | } else | ||
58 | pci_to_OF_bus_map[pci_bus] = bus_range[0]; | ||
59 | |||
60 | for_each_child_of_node(node, node) { | ||
61 | struct pci_dev *dev; | ||
62 | const unsigned int *class_code, *reg; | ||
63 | |||
64 | class_code = of_get_property(node, "class-code", NULL); | ||
65 | if (!class_code || | ||
66 | ((*class_code >> 8) != PCI_CLASS_BRIDGE_PCI && | ||
67 | (*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) | ||
68 | continue; | ||
69 | reg = of_get_property(node, "reg", NULL); | ||
70 | if (!reg) | ||
71 | continue; | ||
72 | dev = pci_get_bus_and_slot(pci_bus, ((reg[0] >> 8) & 0xff)); | ||
73 | if (!dev || !dev->subordinate) { | ||
74 | pci_dev_put(dev); | ||
75 | continue; | ||
76 | } | ||
77 | make_one_node_map(node, dev->subordinate->number); | ||
78 | pci_dev_put(dev); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | void | ||
83 | pcibios_make_OF_bus_map(void) | ||
84 | { | ||
85 | int i; | ||
86 | struct pci_controller *hose, *tmp; | ||
87 | struct property *map_prop; | ||
88 | struct device_node *dn; | ||
89 | |||
90 | pci_to_OF_bus_map = kmalloc(pci_bus_count, GFP_KERNEL); | ||
91 | if (!pci_to_OF_bus_map) { | ||
92 | printk(KERN_ERR "Can't allocate OF bus map !\n"); | ||
93 | return; | ||
94 | } | ||
95 | |||
96 | /* We fill the bus map with invalid values, that helps | ||
97 | * debugging. | ||
98 | */ | ||
99 | for (i = 0; i < pci_bus_count; i++) | ||
100 | pci_to_OF_bus_map[i] = 0xff; | ||
101 | |||
102 | /* For each hose, we begin searching bridges */ | ||
103 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { | ||
104 | struct device_node *node = hose->dn; | ||
105 | |||
106 | if (!node) | ||
107 | continue; | ||
108 | make_one_node_map(node, hose->first_busno); | ||
109 | } | ||
110 | dn = of_find_node_by_path("/"); | ||
111 | map_prop = of_find_property(dn, "pci-OF-bus-map", NULL); | ||
112 | if (map_prop) { | ||
113 | BUG_ON(pci_bus_count > map_prop->length); | ||
114 | memcpy(map_prop->value, pci_to_OF_bus_map, pci_bus_count); | ||
115 | } | ||
116 | of_node_put(dn); | ||
117 | #ifdef DEBUG | ||
118 | printk(KERN_INFO "PCI->OF bus map:\n"); | ||
119 | for (i = 0; i < pci_bus_count; i++) { | ||
120 | if (pci_to_OF_bus_map[i] == 0xff) | ||
121 | continue; | ||
122 | printk(KERN_INFO "%d -> %d\n", i, pci_to_OF_bus_map[i]); | ||
123 | } | ||
124 | #endif | ||
125 | } | ||
126 | |||
127 | typedef int (*pci_OF_scan_iterator)(struct device_node *node, void *data); | ||
128 | |||
129 | static struct device_node *scan_OF_pci_childs(struct device_node *parent, | ||
130 | pci_OF_scan_iterator filter, void *data) | ||
131 | { | ||
132 | struct device_node *node; | ||
133 | struct device_node *sub_node; | ||
134 | |||
135 | for_each_child_of_node(parent, node) { | ||
136 | const unsigned int *class_code; | ||
137 | |||
138 | if (filter(node, data)) { | ||
139 | of_node_put(node); | ||
140 | return node; | ||
141 | } | ||
142 | |||
143 | /* For PCI<->PCI bridges or CardBus bridges, we go down | ||
144 | * Note: some OFs create a parent node "multifunc-device" as | ||
145 | * a fake root for all functions of a multi-function device, | ||
146 | * we go down them as well. | ||
147 | */ | ||
148 | class_code = of_get_property(node, "class-code", NULL); | ||
149 | if ((!class_code || | ||
150 | ((*class_code >> 8) != PCI_CLASS_BRIDGE_PCI && | ||
151 | (*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) && | ||
152 | strcmp(node->name, "multifunc-device")) | ||
153 | continue; | ||
154 | sub_node = scan_OF_pci_childs(node, filter, data); | ||
155 | if (sub_node) { | ||
156 | of_node_put(node); | ||
157 | return sub_node; | ||
158 | } | ||
159 | } | ||
160 | return NULL; | ||
161 | } | ||
162 | |||
163 | static struct device_node *scan_OF_for_pci_dev(struct device_node *parent, | ||
164 | unsigned int devfn) | ||
165 | { | ||
166 | struct device_node *np, *cnp; | ||
167 | const u32 *reg; | ||
168 | unsigned int psize; | ||
169 | |||
170 | for_each_child_of_node(parent, np) { | ||
171 | reg = of_get_property(np, "reg", &psize); | ||
172 | if (reg && psize >= 4 && ((reg[0] >> 8) & 0xff) == devfn) | ||
173 | return np; | ||
174 | |||
175 | /* Note: some OFs create a parent node "multifunc-device" as | ||
176 | * a fake root for all functions of a multi-function device, | ||
177 | * we go down them as well. */ | ||
178 | if (!strcmp(np->name, "multifunc-device")) { | ||
179 | cnp = scan_OF_for_pci_dev(np, devfn); | ||
180 | if (cnp) | ||
181 | return cnp; | ||
182 | } | ||
183 | } | ||
184 | return NULL; | ||
185 | } | ||
186 | |||
187 | |||
188 | static struct device_node *scan_OF_for_pci_bus(struct pci_bus *bus) | ||
189 | { | ||
190 | struct device_node *parent, *np; | ||
191 | |||
192 | /* Are we a root bus ? */ | ||
193 | if (bus->self == NULL || bus->parent == NULL) { | ||
194 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
195 | if (hose == NULL) | ||
196 | return NULL; | ||
197 | return of_node_get(hose->dn); | ||
198 | } | ||
199 | |||
200 | /* not a root bus, we need to get our parent */ | ||
201 | parent = scan_OF_for_pci_bus(bus->parent); | ||
202 | if (parent == NULL) | ||
203 | return NULL; | ||
204 | |||
205 | /* now iterate for children for a match */ | ||
206 | np = scan_OF_for_pci_dev(parent, bus->self->devfn); | ||
207 | of_node_put(parent); | ||
208 | |||
209 | return np; | ||
210 | } | ||
211 | |||
212 | /* | ||
213 | * Scans the OF tree for a device node matching a PCI device | ||
214 | */ | ||
215 | struct device_node * | ||
216 | pci_busdev_to_OF_node(struct pci_bus *bus, int devfn) | ||
217 | { | ||
218 | struct device_node *parent, *np; | ||
219 | |||
220 | pr_debug("pci_busdev_to_OF_node(%d,0x%x)\n", bus->number, devfn); | ||
221 | parent = scan_OF_for_pci_bus(bus); | ||
222 | if (parent == NULL) | ||
223 | return NULL; | ||
224 | pr_debug(" parent is %s\n", parent ? parent->full_name : "<NULL>"); | ||
225 | np = scan_OF_for_pci_dev(parent, devfn); | ||
226 | of_node_put(parent); | ||
227 | pr_debug(" result is %s\n", np ? np->full_name : "<NULL>"); | ||
228 | |||
229 | /* XXX most callers don't release the returned node | ||
230 | * mostly because ppc64 doesn't increase the refcount, | ||
231 | * we need to fix that. | ||
232 | */ | ||
233 | return np; | ||
234 | } | ||
235 | EXPORT_SYMBOL(pci_busdev_to_OF_node); | ||
236 | |||
237 | struct device_node* | ||
238 | pci_device_to_OF_node(struct pci_dev *dev) | ||
239 | { | ||
240 | return pci_busdev_to_OF_node(dev->bus, dev->devfn); | ||
241 | } | ||
242 | EXPORT_SYMBOL(pci_device_to_OF_node); | ||
243 | |||
244 | static int | ||
245 | find_OF_pci_device_filter(struct device_node *node, void *data) | ||
246 | { | ||
247 | return ((void *)node == data); | ||
248 | } | ||
249 | |||
250 | /* | ||
251 | * Returns the PCI device matching a given OF node | ||
252 | */ | ||
253 | int | ||
254 | pci_device_from_OF_node(struct device_node *node, u8 *bus, u8 *devfn) | ||
255 | { | ||
256 | const unsigned int *reg; | ||
257 | struct pci_controller *hose; | ||
258 | struct pci_dev *dev = NULL; | ||
259 | |||
260 | /* Make sure it's really a PCI device */ | ||
261 | hose = pci_find_hose_for_OF_device(node); | ||
262 | if (!hose || !hose->dn) | ||
263 | return -ENODEV; | ||
264 | if (!scan_OF_pci_childs(hose->dn, | ||
265 | find_OF_pci_device_filter, (void *)node)) | ||
266 | return -ENODEV; | ||
267 | reg = of_get_property(node, "reg", NULL); | ||
268 | if (!reg) | ||
269 | return -ENODEV; | ||
270 | *bus = (reg[0] >> 16) & 0xff; | ||
271 | *devfn = ((reg[0] >> 8) & 0xff); | ||
272 | |||
273 | /* Ok, here we need some tweak. If we have already renumbered | ||
274 | * all busses, we can't rely on the OF bus number any more. | ||
275 | * the pci_to_OF_bus_map is not enough as several PCI busses | ||
276 | * may match the same OF bus number. | ||
277 | */ | ||
278 | if (!pci_to_OF_bus_map) | ||
279 | return 0; | ||
280 | |||
281 | for_each_pci_dev(dev) | ||
282 | if (pci_to_OF_bus_map[dev->bus->number] == *bus && | ||
283 | dev->devfn == *devfn) { | ||
284 | *bus = dev->bus->number; | ||
285 | pci_dev_put(dev); | ||
286 | return 0; | ||
287 | } | ||
288 | |||
289 | return -ENODEV; | ||
290 | } | ||
291 | EXPORT_SYMBOL(pci_device_from_OF_node); | ||
292 | |||
293 | /* We create the "pci-OF-bus-map" property now so it appears in the | ||
294 | * /proc device tree | ||
295 | */ | ||
296 | void __init | ||
297 | pci_create_OF_bus_map(void) | ||
298 | { | ||
299 | struct property *of_prop; | ||
300 | struct device_node *dn; | ||
301 | |||
302 | of_prop = (struct property *) alloc_bootmem(sizeof(struct property) + \ | ||
303 | 256); | ||
304 | if (!of_prop) | ||
305 | return; | ||
306 | dn = of_find_node_by_path("/"); | ||
307 | if (dn) { | ||
308 | memset(of_prop, -1, sizeof(struct property) + 256); | ||
309 | of_prop->name = "pci-OF-bus-map"; | ||
310 | of_prop->length = 256; | ||
311 | of_prop->value = &of_prop[1]; | ||
312 | prom_add_property(dn, of_prop); | ||
313 | of_node_put(dn); | ||
314 | } | ||
315 | } | ||
316 | |||
317 | static void __devinit pcibios_scan_phb(struct pci_controller *hose) | ||
318 | { | ||
319 | struct pci_bus *bus; | ||
320 | struct device_node *node = hose->dn; | ||
321 | unsigned long io_offset; | ||
322 | struct resource *res = &hose->io_resource; | ||
323 | |||
324 | pr_debug("PCI: Scanning PHB %s\n", | ||
325 | node ? node->full_name : "<NO NAME>"); | ||
326 | |||
327 | /* Create an empty bus for the toplevel */ | ||
328 | bus = pci_create_bus(hose->parent, hose->first_busno, hose->ops, hose); | ||
329 | if (bus == NULL) { | ||
330 | printk(KERN_ERR "Failed to create bus for PCI domain %04x\n", | ||
331 | hose->global_number); | ||
332 | return; | ||
333 | } | ||
334 | bus->secondary = hose->first_busno; | ||
335 | hose->bus = bus; | ||
336 | |||
337 | /* Fixup IO space offset */ | ||
338 | io_offset = (unsigned long)hose->io_base_virt - isa_io_base; | ||
339 | res->start = (res->start + io_offset) & 0xffffffffu; | ||
340 | res->end = (res->end + io_offset) & 0xffffffffu; | ||
341 | |||
342 | /* Wire up PHB bus resources */ | ||
343 | pcibios_setup_phb_resources(hose); | ||
344 | |||
345 | /* Scan children */ | ||
346 | hose->last_busno = bus->subordinate = pci_scan_child_bus(bus); | ||
347 | } | ||
348 | |||
349 | static int __init pcibios_init(void) | ||
350 | { | ||
351 | struct pci_controller *hose, *tmp; | ||
352 | int next_busno = 0; | ||
353 | |||
354 | printk(KERN_INFO "PCI: Probing PCI hardware\n"); | ||
355 | |||
356 | if (pci_flags & PCI_REASSIGN_ALL_BUS) { | ||
357 | printk(KERN_INFO "setting pci_asign_all_busses\n"); | ||
358 | pci_assign_all_buses = 1; | ||
359 | } | ||
360 | |||
361 | /* Scan all of the recorded PCI controllers. */ | ||
362 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { | ||
363 | if (pci_assign_all_buses) | ||
364 | hose->first_busno = next_busno; | ||
365 | hose->last_busno = 0xff; | ||
366 | pcibios_scan_phb(hose); | ||
367 | printk(KERN_INFO "calling pci_bus_add_devices()\n"); | ||
368 | pci_bus_add_devices(hose->bus); | ||
369 | if (pci_assign_all_buses || next_busno <= hose->last_busno) | ||
370 | next_busno = hose->last_busno + \ | ||
371 | pcibios_assign_bus_offset; | ||
372 | } | ||
373 | pci_bus_count = next_busno; | ||
374 | |||
375 | /* OpenFirmware based machines need a map of OF bus | ||
376 | * numbers vs. kernel bus numbers since we may have to | ||
377 | * remap them. | ||
378 | */ | ||
379 | if (pci_assign_all_buses) | ||
380 | pcibios_make_OF_bus_map(); | ||
381 | |||
382 | /* Call common code to handle resource allocation */ | ||
383 | pcibios_resource_survey(); | ||
384 | |||
385 | return 0; | ||
386 | } | ||
387 | |||
388 | subsys_initcall(pcibios_init); | ||
389 | |||
390 | static struct pci_controller* | ||
391 | pci_bus_to_hose(int bus) | ||
392 | { | ||
393 | struct pci_controller *hose, *tmp; | ||
394 | |||
395 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) | ||
396 | if (bus >= hose->first_busno && bus <= hose->last_busno) | ||
397 | return hose; | ||
398 | return NULL; | ||
399 | } | ||
400 | |||
401 | /* Provide information on locations of various I/O regions in physical | ||
402 | * memory. Do this on a per-card basis so that we choose the right | ||
403 | * root bridge. | ||
404 | * Note that the returned IO or memory base is a physical address | ||
405 | */ | ||
406 | |||
407 | long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn) | ||
408 | { | ||
409 | struct pci_controller *hose; | ||
410 | long result = -EOPNOTSUPP; | ||
411 | |||
412 | hose = pci_bus_to_hose(bus); | ||
413 | if (!hose) | ||
414 | return -ENODEV; | ||
415 | |||
416 | switch (which) { | ||
417 | case IOBASE_BRIDGE_NUMBER: | ||
418 | return (long)hose->first_busno; | ||
419 | case IOBASE_MEMORY: | ||
420 | return (long)hose->pci_mem_offset; | ||
421 | case IOBASE_IO: | ||
422 | return (long)hose->io_base_phys; | ||
423 | case IOBASE_ISA_IO: | ||
424 | return (long)isa_io_base; | ||
425 | case IOBASE_ISA_MEM: | ||
426 | return (long)isa_mem_base; | ||
427 | } | ||
428 | |||
429 | return result; | ||
430 | } | ||
diff --git a/arch/microblaze/pci/xilinx_pci.c b/arch/microblaze/pci/xilinx_pci.c new file mode 100644 index 000000000000..7869a41b0f94 --- /dev/null +++ b/arch/microblaze/pci/xilinx_pci.c | |||
@@ -0,0 +1,168 @@ | |||
1 | /* | ||
2 | * PCI support for Xilinx plbv46_pci soft-core which can be used on | ||
3 | * Xilinx Virtex ML410 / ML510 boards. | ||
4 | * | ||
5 | * Copyright 2009 Roderick Colenbrander | ||
6 | * Copyright 2009 Secret Lab Technologies Ltd. | ||
7 | * | ||
8 | * The pci bridge fixup code was copied from ppc4xx_pci.c and was written | ||
9 | * by Benjamin Herrenschmidt. | ||
10 | * Copyright 2007 Ben. Herrenschmidt <benh@kernel.crashing.org>, IBM Corp. | ||
11 | * | ||
12 | * This file is licensed under the terms of the GNU General Public License | ||
13 | * version 2. This program is licensed "as is" without any warranty of any | ||
14 | * kind, whether express or implied. | ||
15 | */ | ||
16 | |||
17 | #include <linux/ioport.h> | ||
18 | #include <linux/of.h> | ||
19 | #include <linux/pci.h> | ||
20 | #include <asm/io.h> | ||
21 | |||
22 | #define XPLB_PCI_ADDR 0x10c | ||
23 | #define XPLB_PCI_DATA 0x110 | ||
24 | #define XPLB_PCI_BUS 0x114 | ||
25 | |||
26 | #define PCI_HOST_ENABLE_CMD (PCI_COMMAND_SERR | PCI_COMMAND_PARITY | \ | ||
27 | PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY) | ||
28 | |||
29 | static struct of_device_id xilinx_pci_match[] = { | ||
30 | { .compatible = "xlnx,plbv46-pci-1.03.a", }, | ||
31 | {} | ||
32 | }; | ||
33 | |||
34 | /** | ||
35 | * xilinx_pci_fixup_bridge - Block Xilinx PHB configuration. | ||
36 | */ | ||
37 | static void xilinx_pci_fixup_bridge(struct pci_dev *dev) | ||
38 | { | ||
39 | struct pci_controller *hose; | ||
40 | int i; | ||
41 | |||
42 | if (dev->devfn || dev->bus->self) | ||
43 | return; | ||
44 | |||
45 | hose = pci_bus_to_host(dev->bus); | ||
46 | if (!hose) | ||
47 | return; | ||
48 | |||
49 | if (!of_match_node(xilinx_pci_match, hose->dn)) | ||
50 | return; | ||
51 | |||
52 | /* Hide the PCI host BARs from the kernel as their content doesn't | ||
53 | * fit well in the resource management | ||
54 | */ | ||
55 | for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { | ||
56 | dev->resource[i].start = 0; | ||
57 | dev->resource[i].end = 0; | ||
58 | dev->resource[i].flags = 0; | ||
59 | } | ||
60 | |||
61 | dev_info(&dev->dev, "Hiding Xilinx plb-pci host bridge resources %s\n", | ||
62 | pci_name(dev)); | ||
63 | } | ||
64 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, xilinx_pci_fixup_bridge); | ||
65 | |||
66 | #ifdef DEBUG | ||
67 | /** | ||
68 | * xilinx_pci_exclude_device - Don't do config access for non-root bus | ||
69 | * | ||
70 | * This is a hack. Config access to any bus other than bus 0 does not | ||
71 | * currently work on the ML510 so we prevent it here. | ||
72 | */ | ||
73 | static int | ||
74 | xilinx_pci_exclude_device(struct pci_controller *hose, u_char bus, u8 devfn) | ||
75 | { | ||
76 | return (bus != 0); | ||
77 | } | ||
78 | |||
79 | /** | ||
80 | * xilinx_early_pci_scan - List pci config space for available devices | ||
81 | * | ||
82 | * List pci devices in very early phase. | ||
83 | */ | ||
84 | void __init xilinx_early_pci_scan(struct pci_controller *hose) | ||
85 | { | ||
86 | u32 bus = 0; | ||
87 | u32 val, dev, func, offset; | ||
88 | |||
89 | /* Currently we have only 2 device connected - up-to 32 devices */ | ||
90 | for (dev = 0; dev < 2; dev++) { | ||
91 | /* List only first function number - up-to 8 functions */ | ||
92 | for (func = 0; func < 1; func++) { | ||
93 | printk(KERN_INFO "%02x:%02x:%02x", bus, dev, func); | ||
94 | /* read the first 64 standardized bytes */ | ||
95 | /* Up-to 192 bytes can be list of capabilities */ | ||
96 | for (offset = 0; offset < 64; offset += 4) { | ||
97 | early_read_config_dword(hose, bus, | ||
98 | PCI_DEVFN(dev, func), offset, &val); | ||
99 | if (offset == 0 && val == 0xFFFFFFFF) { | ||
100 | printk(KERN_CONT "\nABSENT"); | ||
101 | break; | ||
102 | } | ||
103 | if (!(offset % 0x10)) | ||
104 | printk(KERN_CONT "\n%04x: ", offset); | ||
105 | |||
106 | printk(KERN_CONT "%08x ", val); | ||
107 | } | ||
108 | printk(KERN_INFO "\n"); | ||
109 | } | ||
110 | } | ||
111 | } | ||
112 | #else | ||
113 | void __init xilinx_early_pci_scan(struct pci_controller *hose) | ||
114 | { | ||
115 | } | ||
116 | #endif | ||
117 | |||
118 | /** | ||
119 | * xilinx_pci_init - Find and register a Xilinx PCI host bridge | ||
120 | */ | ||
121 | void __init xilinx_pci_init(void) | ||
122 | { | ||
123 | struct pci_controller *hose; | ||
124 | struct resource r; | ||
125 | void __iomem *pci_reg; | ||
126 | struct device_node *pci_node; | ||
127 | |||
128 | pci_node = of_find_matching_node(NULL, xilinx_pci_match); | ||
129 | if (!pci_node) | ||
130 | return; | ||
131 | |||
132 | if (of_address_to_resource(pci_node, 0, &r)) { | ||
133 | pr_err("xilinx-pci: cannot resolve base address\n"); | ||
134 | return; | ||
135 | } | ||
136 | |||
137 | hose = pcibios_alloc_controller(pci_node); | ||
138 | if (!hose) { | ||
139 | pr_err("xilinx-pci: pcibios_alloc_controller() failed\n"); | ||
140 | return; | ||
141 | } | ||
142 | |||
143 | /* Setup config space */ | ||
144 | setup_indirect_pci(hose, r.start + XPLB_PCI_ADDR, | ||
145 | r.start + XPLB_PCI_DATA, | ||
146 | INDIRECT_TYPE_SET_CFG_TYPE); | ||
147 | |||
148 | /* According to the xilinx plbv46_pci documentation the soft-core starts | ||
149 | * a self-init when the bus master enable bit is set. Without this bit | ||
150 | * set the pci bus can't be scanned. | ||
151 | */ | ||
152 | early_write_config_word(hose, 0, 0, PCI_COMMAND, PCI_HOST_ENABLE_CMD); | ||
153 | |||
154 | /* Set the max latency timer to 255 */ | ||
155 | early_write_config_byte(hose, 0, 0, PCI_LATENCY_TIMER, 0xff); | ||
156 | |||
157 | /* Set the max bus number to 255, and bus/subbus no's to 0 */ | ||
158 | pci_reg = of_iomap(pci_node, 0); | ||
159 | out_be32(pci_reg + XPLB_PCI_BUS, 0x000000ff); | ||
160 | iounmap(pci_reg); | ||
161 | |||
162 | /* Register the host bridge with the linux kernel! */ | ||
163 | pci_process_bridge_OF_ranges(hose, pci_node, | ||
164 | INDIRECT_TYPE_SET_CFG_TYPE); | ||
165 | |||
166 | pr_info("xilinx-pci: Registered PCI host bridge\n"); | ||
167 | xilinx_early_pci_scan(hose); | ||
168 | } | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 8a54eb8e3768..2e19500921f9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -313,19 +313,6 @@ config 8XX_MINIMAL_FPEMU | |||
313 | 313 | ||
314 | It is recommended that you build a soft-float userspace instead. | 314 | It is recommended that you build a soft-float userspace instead. |
315 | 315 | ||
316 | config IOMMU_VMERGE | ||
317 | bool "Enable IOMMU virtual merging" | ||
318 | depends on PPC64 | ||
319 | default y | ||
320 | help | ||
321 | Cause IO segments sent to a device for DMA to be merged virtually | ||
322 | by the IOMMU when they happen to have been allocated contiguously. | ||
323 | This doesn't add pressure to the IOMMU allocator. However, some | ||
324 | drivers don't support getting large merged segments coming back | ||
325 | from *_map_sg(). | ||
326 | |||
327 | Most drivers don't have this problem; it is safe to say Y here. | ||
328 | |||
329 | config IOMMU_HELPER | 316 | config IOMMU_HELPER |
330 | def_bool PPC64 | 317 | def_bool PPC64 |
331 | 318 | ||
diff --git a/arch/powerpc/configs/52xx/cm5200_defconfig b/arch/powerpc/configs/52xx/cm5200_defconfig index ff9bdb28197d..218d49b36a0c 100644 --- a/arch/powerpc/configs/52xx/cm5200_defconfig +++ b/arch/powerpc/configs/52xx/cm5200_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 14:45:07 2009 | 4 | # Wed Mar 10 14:34:22 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -94,11 +94,6 @@ CONFIG_RCU_FANOUT=32 | |||
94 | # CONFIG_TREE_RCU_TRACE is not set | 94 | # CONFIG_TREE_RCU_TRACE is not set |
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | CONFIG_GROUP_SCHED=y | ||
98 | CONFIG_FAIR_GROUP_SCHED=y | ||
99 | # CONFIG_RT_GROUP_SCHED is not set | ||
100 | CONFIG_USER_SCHED=y | ||
101 | # CONFIG_CGROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
103 | CONFIG_SYSFS_DEPRECATED=y | 98 | CONFIG_SYSFS_DEPRECATED=y |
104 | CONFIG_SYSFS_DEPRECATED_V2=y | 99 | CONFIG_SYSFS_DEPRECATED_V2=y |
@@ -109,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
109 | CONFIG_RD_GZIP=y | 104 | CONFIG_RD_GZIP=y |
110 | # CONFIG_RD_BZIP2 is not set | 105 | # CONFIG_RD_BZIP2 is not set |
111 | # CONFIG_RD_LZMA is not set | 106 | # CONFIG_RD_LZMA is not set |
107 | # CONFIG_RD_LZO is not set | ||
112 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 108 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
113 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
114 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -340,7 +336,6 @@ CONFIG_NET=y | |||
340 | # Networking options | 336 | # Networking options |
341 | # | 337 | # |
342 | CONFIG_PACKET=y | 338 | CONFIG_PACKET=y |
343 | # CONFIG_PACKET_MMAP is not set | ||
344 | CONFIG_UNIX=y | 339 | CONFIG_UNIX=y |
345 | CONFIG_XFRM=y | 340 | CONFIG_XFRM=y |
346 | CONFIG_XFRM_USER=y | 341 | CONFIG_XFRM_USER=y |
@@ -517,6 +512,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
517 | # UBI - Unsorted block images | 512 | # UBI - Unsorted block images |
518 | # | 513 | # |
519 | # CONFIG_MTD_UBI is not set | 514 | # CONFIG_MTD_UBI is not set |
515 | CONFIG_OF_FLATTREE=y | ||
516 | CONFIG_OF_DYNAMIC=y | ||
520 | CONFIG_OF_DEVICE=y | 517 | CONFIG_OF_DEVICE=y |
521 | CONFIG_OF_I2C=y | 518 | CONFIG_OF_I2C=y |
522 | CONFIG_OF_MDIO=y | 519 | CONFIG_OF_MDIO=y |
@@ -684,6 +681,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
684 | CONFIG_SERIAL_MPC52xx=y | 681 | CONFIG_SERIAL_MPC52xx=y |
685 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 682 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
686 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600 | 683 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600 |
684 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
687 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 685 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
688 | CONFIG_UNIX98_PTYS=y | 686 | CONFIG_UNIX98_PTYS=y |
689 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 687 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -714,6 +712,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
714 | CONFIG_I2C_MPC=y | 712 | CONFIG_I2C_MPC=y |
715 | # CONFIG_I2C_OCORES is not set | 713 | # CONFIG_I2C_OCORES is not set |
716 | # CONFIG_I2C_SIMTEC is not set | 714 | # CONFIG_I2C_SIMTEC is not set |
715 | # CONFIG_I2C_XILINX is not set | ||
717 | 716 | ||
718 | # | 717 | # |
719 | # External I2C/SMBus adapter drivers | 718 | # External I2C/SMBus adapter drivers |
@@ -754,6 +753,7 @@ CONFIG_WATCHDOG=y | |||
754 | # Watchdog Device Drivers | 753 | # Watchdog Device Drivers |
755 | # | 754 | # |
756 | # CONFIG_SOFT_WATCHDOG is not set | 755 | # CONFIG_SOFT_WATCHDOG is not set |
756 | # CONFIG_MAX63XX_WATCHDOG is not set | ||
757 | # CONFIG_MPC5200_WDT is not set | 757 | # CONFIG_MPC5200_WDT is not set |
758 | 758 | ||
759 | # | 759 | # |
@@ -771,18 +771,20 @@ CONFIG_SSB_POSSIBLE=y | |||
771 | # Multifunction device drivers | 771 | # Multifunction device drivers |
772 | # | 772 | # |
773 | # CONFIG_MFD_CORE is not set | 773 | # CONFIG_MFD_CORE is not set |
774 | # CONFIG_MFD_88PM860X is not set | ||
774 | # CONFIG_MFD_SM501 is not set | 775 | # CONFIG_MFD_SM501 is not set |
775 | # CONFIG_HTC_PASIC3 is not set | 776 | # CONFIG_HTC_PASIC3 is not set |
776 | # CONFIG_TWL4030_CORE is not set | 777 | # CONFIG_TWL4030_CORE is not set |
777 | # CONFIG_MFD_TMIO is not set | 778 | # CONFIG_MFD_TMIO is not set |
778 | # CONFIG_PMIC_DA903X is not set | 779 | # CONFIG_PMIC_DA903X is not set |
779 | # CONFIG_PMIC_ADP5520 is not set | 780 | # CONFIG_PMIC_ADP5520 is not set |
781 | # CONFIG_MFD_MAX8925 is not set | ||
780 | # CONFIG_MFD_WM8400 is not set | 782 | # CONFIG_MFD_WM8400 is not set |
781 | # CONFIG_MFD_WM831X is not set | 783 | # CONFIG_MFD_WM831X is not set |
782 | # CONFIG_MFD_WM8350_I2C is not set | 784 | # CONFIG_MFD_WM8350_I2C is not set |
785 | # CONFIG_MFD_WM8994 is not set | ||
783 | # CONFIG_MFD_PCF50633 is not set | 786 | # CONFIG_MFD_PCF50633 is not set |
784 | # CONFIG_AB3100_CORE is not set | 787 | # CONFIG_AB3100_CORE is not set |
785 | # CONFIG_MFD_88PM8607 is not set | ||
786 | # CONFIG_REGULATOR is not set | 788 | # CONFIG_REGULATOR is not set |
787 | # CONFIG_MEDIA_SUPPORT is not set | 789 | # CONFIG_MEDIA_SUPPORT is not set |
788 | 790 | ||
@@ -813,7 +815,6 @@ CONFIG_USB=y | |||
813 | CONFIG_USB_DEVICEFS=y | 815 | CONFIG_USB_DEVICEFS=y |
814 | # CONFIG_USB_DEVICE_CLASS is not set | 816 | # CONFIG_USB_DEVICE_CLASS is not set |
815 | # CONFIG_USB_DYNAMIC_MINORS is not set | 817 | # CONFIG_USB_DYNAMIC_MINORS is not set |
816 | # CONFIG_USB_SUSPEND is not set | ||
817 | # CONFIG_USB_OTG is not set | 818 | # CONFIG_USB_OTG is not set |
818 | # CONFIG_USB_OTG_WHITELIST is not set | 819 | # CONFIG_USB_OTG_WHITELIST is not set |
819 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 820 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
@@ -891,7 +892,6 @@ CONFIG_USB_STORAGE=y | |||
891 | # CONFIG_USB_RIO500 is not set | 892 | # CONFIG_USB_RIO500 is not set |
892 | # CONFIG_USB_LEGOTOWER is not set | 893 | # CONFIG_USB_LEGOTOWER is not set |
893 | # CONFIG_USB_LCD is not set | 894 | # CONFIG_USB_LCD is not set |
894 | # CONFIG_USB_BERRY_CHARGE is not set | ||
895 | # CONFIG_USB_LED is not set | 895 | # CONFIG_USB_LED is not set |
896 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 896 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
897 | # CONFIG_USB_CYTHERM is not set | 897 | # CONFIG_USB_CYTHERM is not set |
@@ -903,7 +903,6 @@ CONFIG_USB_STORAGE=y | |||
903 | # CONFIG_USB_IOWARRIOR is not set | 903 | # CONFIG_USB_IOWARRIOR is not set |
904 | # CONFIG_USB_TEST is not set | 904 | # CONFIG_USB_TEST is not set |
905 | # CONFIG_USB_ISIGHTFW is not set | 905 | # CONFIG_USB_ISIGHTFW is not set |
906 | # CONFIG_USB_VST is not set | ||
907 | # CONFIG_USB_GADGET is not set | 906 | # CONFIG_USB_GADGET is not set |
908 | 907 | ||
909 | # | 908 | # |
@@ -1009,6 +1008,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1009 | # CONFIG_JFFS2_LZO is not set | 1008 | # CONFIG_JFFS2_LZO is not set |
1010 | CONFIG_JFFS2_RTIME=y | 1009 | CONFIG_JFFS2_RTIME=y |
1011 | # CONFIG_JFFS2_RUBIN is not set | 1010 | # CONFIG_JFFS2_RUBIN is not set |
1011 | # CONFIG_LOGFS is not set | ||
1012 | CONFIG_CRAMFS=y | 1012 | CONFIG_CRAMFS=y |
1013 | # CONFIG_SQUASHFS is not set | 1013 | # CONFIG_SQUASHFS is not set |
1014 | # CONFIG_VXFS_FS is not set | 1014 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/52xx/lite5200b_defconfig b/arch/powerpc/configs/52xx/lite5200b_defconfig index 7b3f4d0ed404..90492ff25232 100644 --- a/arch/powerpc/configs/52xx/lite5200b_defconfig +++ b/arch/powerpc/configs/52xx/lite5200b_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 14:45:09 2009 | 4 | # Wed Mar 10 14:34:24 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -95,11 +95,6 @@ CONFIG_RCU_FANOUT=32 | |||
95 | # CONFIG_TREE_RCU_TRACE is not set | 95 | # CONFIG_TREE_RCU_TRACE is not set |
96 | # CONFIG_IKCONFIG is not set | 96 | # CONFIG_IKCONFIG is not set |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | CONFIG_GROUP_SCHED=y | ||
99 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
100 | # CONFIG_RT_GROUP_SCHED is not set | ||
101 | CONFIG_USER_SCHED=y | ||
102 | # CONFIG_CGROUP_SCHED is not set | ||
103 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 99 | CONFIG_SYSFS_DEPRECATED=y |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | 100 | CONFIG_SYSFS_DEPRECATED_V2=y |
@@ -110,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
110 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
111 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
112 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
113 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
114 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
115 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -317,6 +313,7 @@ CONFIG_SUSPEND=y | |||
317 | CONFIG_SUSPEND_FREEZER=y | 313 | CONFIG_SUSPEND_FREEZER=y |
318 | # CONFIG_HIBERNATION is not set | 314 | # CONFIG_HIBERNATION is not set |
319 | # CONFIG_PM_RUNTIME is not set | 315 | # CONFIG_PM_RUNTIME is not set |
316 | CONFIG_PM_OPS=y | ||
320 | CONFIG_SECCOMP=y | 317 | CONFIG_SECCOMP=y |
321 | CONFIG_ISA_DMA_API=y | 318 | CONFIG_ISA_DMA_API=y |
322 | 319 | ||
@@ -333,7 +330,6 @@ CONFIG_PCI_SYSCALL=y | |||
333 | # CONFIG_PCIEPORTBUS is not set | 330 | # CONFIG_PCIEPORTBUS is not set |
334 | CONFIG_ARCH_SUPPORTS_MSI=y | 331 | CONFIG_ARCH_SUPPORTS_MSI=y |
335 | # CONFIG_PCI_MSI is not set | 332 | # CONFIG_PCI_MSI is not set |
336 | CONFIG_PCI_LEGACY=y | ||
337 | # CONFIG_PCI_DEBUG is not set | 333 | # CONFIG_PCI_DEBUG is not set |
338 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
339 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
@@ -360,7 +356,6 @@ CONFIG_NET=y | |||
360 | # Networking options | 356 | # Networking options |
361 | # | 357 | # |
362 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
363 | # CONFIG_PACKET_MMAP is not set | ||
364 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
365 | CONFIG_XFRM=y | 360 | CONFIG_XFRM=y |
366 | CONFIG_XFRM_USER=m | 361 | CONFIG_XFRM_USER=m |
@@ -457,6 +452,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
457 | # CONFIG_SYS_HYPERVISOR is not set | 452 | # CONFIG_SYS_HYPERVISOR is not set |
458 | # CONFIG_CONNECTOR is not set | 453 | # CONFIG_CONNECTOR is not set |
459 | # CONFIG_MTD is not set | 454 | # CONFIG_MTD is not set |
455 | CONFIG_OF_FLATTREE=y | ||
456 | CONFIG_OF_DYNAMIC=y | ||
460 | CONFIG_OF_DEVICE=y | 457 | CONFIG_OF_DEVICE=y |
461 | CONFIG_OF_I2C=y | 458 | CONFIG_OF_I2C=y |
462 | CONFIG_OF_MDIO=y | 459 | CONFIG_OF_MDIO=y |
@@ -631,6 +628,7 @@ CONFIG_ATA_SFF=y | |||
631 | # CONFIG_PATA_IT821X is not set | 628 | # CONFIG_PATA_IT821X is not set |
632 | # CONFIG_PATA_IT8213 is not set | 629 | # CONFIG_PATA_IT8213 is not set |
633 | # CONFIG_PATA_JMICRON is not set | 630 | # CONFIG_PATA_JMICRON is not set |
631 | # CONFIG_PATA_LEGACY is not set | ||
634 | # CONFIG_PATA_TRIFLEX is not set | 632 | # CONFIG_PATA_TRIFLEX is not set |
635 | # CONFIG_PATA_MARVELL is not set | 633 | # CONFIG_PATA_MARVELL is not set |
636 | CONFIG_PATA_MPC52xx=y | 634 | CONFIG_PATA_MPC52xx=y |
@@ -668,7 +666,7 @@ CONFIG_PATA_MPC52xx=y | |||
668 | # | 666 | # |
669 | 667 | ||
670 | # | 668 | # |
671 | # See the help texts for more information. | 669 | # The newer stack is recommended. |
672 | # | 670 | # |
673 | # CONFIG_FIREWIRE is not set | 671 | # CONFIG_FIREWIRE is not set |
674 | # CONFIG_IEEE1394 is not set | 672 | # CONFIG_IEEE1394 is not set |
@@ -768,6 +766,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
768 | # CONFIG_MLX4_CORE is not set | 766 | # CONFIG_MLX4_CORE is not set |
769 | # CONFIG_TEHUTI is not set | 767 | # CONFIG_TEHUTI is not set |
770 | # CONFIG_BNX2X is not set | 768 | # CONFIG_BNX2X is not set |
769 | # CONFIG_QLCNIC is not set | ||
771 | # CONFIG_QLGE is not set | 770 | # CONFIG_QLGE is not set |
772 | # CONFIG_SFC is not set | 771 | # CONFIG_SFC is not set |
773 | # CONFIG_BE2NET is not set | 772 | # CONFIG_BE2NET is not set |
@@ -828,6 +827,7 @@ CONFIG_SERIAL_MPC52xx=y | |||
828 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 827 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
829 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 | 828 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 |
830 | # CONFIG_SERIAL_JSM is not set | 829 | # CONFIG_SERIAL_JSM is not set |
830 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
831 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 831 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
832 | CONFIG_UNIX98_PTYS=y | 832 | CONFIG_UNIX98_PTYS=y |
833 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 833 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -879,6 +879,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
879 | CONFIG_I2C_MPC=y | 879 | CONFIG_I2C_MPC=y |
880 | # CONFIG_I2C_OCORES is not set | 880 | # CONFIG_I2C_OCORES is not set |
881 | # CONFIG_I2C_SIMTEC is not set | 881 | # CONFIG_I2C_SIMTEC is not set |
882 | # CONFIG_I2C_XILINX is not set | ||
882 | 883 | ||
883 | # | 884 | # |
884 | # External I2C/SMBus adapter drivers | 885 | # External I2C/SMBus adapter drivers |
@@ -924,18 +925,21 @@ CONFIG_SSB_POSSIBLE=y | |||
924 | # Multifunction device drivers | 925 | # Multifunction device drivers |
925 | # | 926 | # |
926 | # CONFIG_MFD_CORE is not set | 927 | # CONFIG_MFD_CORE is not set |
928 | # CONFIG_MFD_88PM860X is not set | ||
927 | # CONFIG_MFD_SM501 is not set | 929 | # CONFIG_MFD_SM501 is not set |
928 | # CONFIG_HTC_PASIC3 is not set | 930 | # CONFIG_HTC_PASIC3 is not set |
929 | # CONFIG_TWL4030_CORE is not set | 931 | # CONFIG_TWL4030_CORE is not set |
930 | # CONFIG_MFD_TMIO is not set | 932 | # CONFIG_MFD_TMIO is not set |
931 | # CONFIG_PMIC_DA903X is not set | 933 | # CONFIG_PMIC_DA903X is not set |
932 | # CONFIG_PMIC_ADP5520 is not set | 934 | # CONFIG_PMIC_ADP5520 is not set |
935 | # CONFIG_MFD_MAX8925 is not set | ||
933 | # CONFIG_MFD_WM8400 is not set | 936 | # CONFIG_MFD_WM8400 is not set |
934 | # CONFIG_MFD_WM831X is not set | 937 | # CONFIG_MFD_WM831X is not set |
935 | # CONFIG_MFD_WM8350_I2C is not set | 938 | # CONFIG_MFD_WM8350_I2C is not set |
939 | # CONFIG_MFD_WM8994 is not set | ||
936 | # CONFIG_MFD_PCF50633 is not set | 940 | # CONFIG_MFD_PCF50633 is not set |
937 | # CONFIG_AB3100_CORE is not set | 941 | # CONFIG_AB3100_CORE is not set |
938 | # CONFIG_MFD_88PM8607 is not set | 942 | # CONFIG_LPC_SCH is not set |
939 | # CONFIG_REGULATOR is not set | 943 | # CONFIG_REGULATOR is not set |
940 | # CONFIG_MEDIA_SUPPORT is not set | 944 | # CONFIG_MEDIA_SUPPORT is not set |
941 | 945 | ||
@@ -944,6 +948,7 @@ CONFIG_SSB_POSSIBLE=y | |||
944 | # | 948 | # |
945 | # CONFIG_AGP is not set | 949 | # CONFIG_AGP is not set |
946 | CONFIG_VGA_ARB=y | 950 | CONFIG_VGA_ARB=y |
951 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
947 | # CONFIG_DRM is not set | 952 | # CONFIG_DRM is not set |
948 | # CONFIG_VGASTATE is not set | 953 | # CONFIG_VGASTATE is not set |
949 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 954 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1062,6 +1067,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1062 | # CONFIG_BEFS_FS is not set | 1067 | # CONFIG_BEFS_FS is not set |
1063 | # CONFIG_BFS_FS is not set | 1068 | # CONFIG_BFS_FS is not set |
1064 | # CONFIG_EFS_FS is not set | 1069 | # CONFIG_EFS_FS is not set |
1070 | # CONFIG_LOGFS is not set | ||
1065 | # CONFIG_CRAMFS is not set | 1071 | # CONFIG_CRAMFS is not set |
1066 | # CONFIG_SQUASHFS is not set | 1072 | # CONFIG_SQUASHFS is not set |
1067 | # CONFIG_VXFS_FS is not set | 1073 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/52xx/motionpro_defconfig b/arch/powerpc/configs/52xx/motionpro_defconfig index eaae2d469aa0..dffc8cac825f 100644 --- a/arch/powerpc/configs/52xx/motionpro_defconfig +++ b/arch/powerpc/configs/52xx/motionpro_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 14:45:08 2009 | 4 | # Wed Mar 10 14:34:23 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -94,11 +94,6 @@ CONFIG_RCU_FANOUT=32 | |||
94 | # CONFIG_TREE_RCU_TRACE is not set | 94 | # CONFIG_TREE_RCU_TRACE is not set |
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | CONFIG_GROUP_SCHED=y | ||
98 | CONFIG_FAIR_GROUP_SCHED=y | ||
99 | # CONFIG_RT_GROUP_SCHED is not set | ||
100 | CONFIG_USER_SCHED=y | ||
101 | # CONFIG_CGROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
103 | CONFIG_SYSFS_DEPRECATED=y | 98 | CONFIG_SYSFS_DEPRECATED=y |
104 | CONFIG_SYSFS_DEPRECATED_V2=y | 99 | CONFIG_SYSFS_DEPRECATED_V2=y |
@@ -109,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
109 | CONFIG_RD_GZIP=y | 104 | CONFIG_RD_GZIP=y |
110 | # CONFIG_RD_BZIP2 is not set | 105 | # CONFIG_RD_BZIP2 is not set |
111 | # CONFIG_RD_LZMA is not set | 106 | # CONFIG_RD_LZMA is not set |
107 | # CONFIG_RD_LZO is not set | ||
112 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 108 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
113 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
114 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -341,7 +337,6 @@ CONFIG_NET=y | |||
341 | # Networking options | 337 | # Networking options |
342 | # | 338 | # |
343 | CONFIG_PACKET=y | 339 | CONFIG_PACKET=y |
344 | # CONFIG_PACKET_MMAP is not set | ||
345 | CONFIG_UNIX=y | 340 | CONFIG_UNIX=y |
346 | CONFIG_XFRM=y | 341 | CONFIG_XFRM=y |
347 | CONFIG_XFRM_USER=y | 342 | CONFIG_XFRM_USER=y |
@@ -518,6 +513,8 @@ CONFIG_MTD_ROM=y | |||
518 | # UBI - Unsorted block images | 513 | # UBI - Unsorted block images |
519 | # | 514 | # |
520 | # CONFIG_MTD_UBI is not set | 515 | # CONFIG_MTD_UBI is not set |
516 | CONFIG_OF_FLATTREE=y | ||
517 | CONFIG_OF_DYNAMIC=y | ||
521 | CONFIG_OF_DEVICE=y | 518 | CONFIG_OF_DEVICE=y |
522 | CONFIG_OF_I2C=y | 519 | CONFIG_OF_I2C=y |
523 | CONFIG_OF_MDIO=y | 520 | CONFIG_OF_MDIO=y |
@@ -699,6 +696,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
699 | CONFIG_SERIAL_MPC52xx=y | 696 | CONFIG_SERIAL_MPC52xx=y |
700 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 697 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
701 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 | 698 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 |
699 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
702 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 700 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
703 | CONFIG_UNIX98_PTYS=y | 701 | CONFIG_UNIX98_PTYS=y |
704 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 702 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -728,6 +726,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
728 | CONFIG_I2C_MPC=y | 726 | CONFIG_I2C_MPC=y |
729 | # CONFIG_I2C_OCORES is not set | 727 | # CONFIG_I2C_OCORES is not set |
730 | # CONFIG_I2C_SIMTEC is not set | 728 | # CONFIG_I2C_SIMTEC is not set |
729 | # CONFIG_I2C_XILINX is not set | ||
731 | 730 | ||
732 | # | 731 | # |
733 | # External I2C/SMBus adapter drivers | 732 | # External I2C/SMBus adapter drivers |
@@ -773,10 +772,11 @@ CONFIG_HWMON=y | |||
773 | # CONFIG_SENSORS_ADM1029 is not set | 772 | # CONFIG_SENSORS_ADM1029 is not set |
774 | # CONFIG_SENSORS_ADM1031 is not set | 773 | # CONFIG_SENSORS_ADM1031 is not set |
775 | # CONFIG_SENSORS_ADM9240 is not set | 774 | # CONFIG_SENSORS_ADM9240 is not set |
775 | # CONFIG_SENSORS_ADT7411 is not set | ||
776 | # CONFIG_SENSORS_ADT7462 is not set | 776 | # CONFIG_SENSORS_ADT7462 is not set |
777 | # CONFIG_SENSORS_ADT7470 is not set | 777 | # CONFIG_SENSORS_ADT7470 is not set |
778 | # CONFIG_SENSORS_ADT7473 is not set | ||
779 | # CONFIG_SENSORS_ADT7475 is not set | 778 | # CONFIG_SENSORS_ADT7475 is not set |
779 | # CONFIG_SENSORS_ASC7621 is not set | ||
780 | # CONFIG_SENSORS_ATXP1 is not set | 780 | # CONFIG_SENSORS_ATXP1 is not set |
781 | # CONFIG_SENSORS_DS1621 is not set | 781 | # CONFIG_SENSORS_DS1621 is not set |
782 | # CONFIG_SENSORS_F71805F is not set | 782 | # CONFIG_SENSORS_F71805F is not set |
@@ -811,6 +811,7 @@ CONFIG_HWMON=y | |||
811 | # CONFIG_SENSORS_SMSC47M192 is not set | 811 | # CONFIG_SENSORS_SMSC47M192 is not set |
812 | # CONFIG_SENSORS_SMSC47B397 is not set | 812 | # CONFIG_SENSORS_SMSC47B397 is not set |
813 | # CONFIG_SENSORS_ADS7828 is not set | 813 | # CONFIG_SENSORS_ADS7828 is not set |
814 | # CONFIG_SENSORS_AMC6821 is not set | ||
814 | # CONFIG_SENSORS_THMC50 is not set | 815 | # CONFIG_SENSORS_THMC50 is not set |
815 | # CONFIG_SENSORS_TMP401 is not set | 816 | # CONFIG_SENSORS_TMP401 is not set |
816 | # CONFIG_SENSORS_TMP421 is not set | 817 | # CONFIG_SENSORS_TMP421 is not set |
@@ -831,6 +832,7 @@ CONFIG_WATCHDOG=y | |||
831 | # Watchdog Device Drivers | 832 | # Watchdog Device Drivers |
832 | # | 833 | # |
833 | # CONFIG_SOFT_WATCHDOG is not set | 834 | # CONFIG_SOFT_WATCHDOG is not set |
835 | # CONFIG_MAX63XX_WATCHDOG is not set | ||
834 | # CONFIG_MPC5200_WDT is not set | 836 | # CONFIG_MPC5200_WDT is not set |
835 | CONFIG_SSB_POSSIBLE=y | 837 | CONFIG_SSB_POSSIBLE=y |
836 | 838 | ||
@@ -843,18 +845,20 @@ CONFIG_SSB_POSSIBLE=y | |||
843 | # Multifunction device drivers | 845 | # Multifunction device drivers |
844 | # | 846 | # |
845 | # CONFIG_MFD_CORE is not set | 847 | # CONFIG_MFD_CORE is not set |
848 | # CONFIG_MFD_88PM860X is not set | ||
846 | # CONFIG_MFD_SM501 is not set | 849 | # CONFIG_MFD_SM501 is not set |
847 | # CONFIG_HTC_PASIC3 is not set | 850 | # CONFIG_HTC_PASIC3 is not set |
848 | # CONFIG_TWL4030_CORE is not set | 851 | # CONFIG_TWL4030_CORE is not set |
849 | # CONFIG_MFD_TMIO is not set | 852 | # CONFIG_MFD_TMIO is not set |
850 | # CONFIG_PMIC_DA903X is not set | 853 | # CONFIG_PMIC_DA903X is not set |
851 | # CONFIG_PMIC_ADP5520 is not set | 854 | # CONFIG_PMIC_ADP5520 is not set |
855 | # CONFIG_MFD_MAX8925 is not set | ||
852 | # CONFIG_MFD_WM8400 is not set | 856 | # CONFIG_MFD_WM8400 is not set |
853 | # CONFIG_MFD_WM831X is not set | 857 | # CONFIG_MFD_WM831X is not set |
854 | # CONFIG_MFD_WM8350_I2C is not set | 858 | # CONFIG_MFD_WM8350_I2C is not set |
859 | # CONFIG_MFD_WM8994 is not set | ||
855 | # CONFIG_MFD_PCF50633 is not set | 860 | # CONFIG_MFD_PCF50633 is not set |
856 | # CONFIG_AB3100_CORE is not set | 861 | # CONFIG_AB3100_CORE is not set |
857 | # CONFIG_MFD_88PM8607 is not set | ||
858 | # CONFIG_REGULATOR is not set | 862 | # CONFIG_REGULATOR is not set |
859 | # CONFIG_MEDIA_SUPPORT is not set | 863 | # CONFIG_MEDIA_SUPPORT is not set |
860 | 864 | ||
@@ -1050,6 +1054,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1050 | # CONFIG_JFFS2_LZO is not set | 1054 | # CONFIG_JFFS2_LZO is not set |
1051 | CONFIG_JFFS2_RTIME=y | 1055 | CONFIG_JFFS2_RTIME=y |
1052 | # CONFIG_JFFS2_RUBIN is not set | 1056 | # CONFIG_JFFS2_RUBIN is not set |
1057 | # CONFIG_LOGFS is not set | ||
1053 | CONFIG_CRAMFS=y | 1058 | CONFIG_CRAMFS=y |
1054 | # CONFIG_SQUASHFS is not set | 1059 | # CONFIG_SQUASHFS is not set |
1055 | # CONFIG_VXFS_FS is not set | 1060 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/52xx/pcm030_defconfig b/arch/powerpc/configs/52xx/pcm030_defconfig index 1742c0200b75..3cb2a522046a 100644 --- a/arch/powerpc/configs/52xx/pcm030_defconfig +++ b/arch/powerpc/configs/52xx/pcm030_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 14:45:10 2009 | 4 | # Wed Mar 10 14:34:25 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,11 +97,6 @@ CONFIG_RCU_FANOUT=32 | |||
97 | CONFIG_IKCONFIG=y | 97 | CONFIG_IKCONFIG=y |
98 | CONFIG_IKCONFIG_PROC=y | 98 | CONFIG_IKCONFIG_PROC=y |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | CONFIG_GROUP_SCHED=y | ||
101 | CONFIG_FAIR_GROUP_SCHED=y | ||
102 | # CONFIG_RT_GROUP_SCHED is not set | ||
103 | CONFIG_USER_SCHED=y | ||
104 | # CONFIG_CGROUP_SCHED is not set | ||
105 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 101 | CONFIG_SYSFS_DEPRECATED=y |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | 102 | CONFIG_SYSFS_DEPRECATED_V2=y |
@@ -326,7 +321,6 @@ CONFIG_PCI_SYSCALL=y | |||
326 | # CONFIG_PCIEPORTBUS is not set | 321 | # CONFIG_PCIEPORTBUS is not set |
327 | CONFIG_ARCH_SUPPORTS_MSI=y | 322 | CONFIG_ARCH_SUPPORTS_MSI=y |
328 | # CONFIG_PCI_MSI is not set | 323 | # CONFIG_PCI_MSI is not set |
329 | CONFIG_PCI_LEGACY=y | ||
330 | # CONFIG_PCI_STUB is not set | 324 | # CONFIG_PCI_STUB is not set |
331 | # CONFIG_PCI_IOV is not set | 325 | # CONFIG_PCI_IOV is not set |
332 | # CONFIG_PCCARD is not set | 326 | # CONFIG_PCCARD is not set |
@@ -352,7 +346,6 @@ CONFIG_NET=y | |||
352 | # Networking options | 346 | # Networking options |
353 | # | 347 | # |
354 | CONFIG_PACKET=y | 348 | CONFIG_PACKET=y |
355 | # CONFIG_PACKET_MMAP is not set | ||
356 | CONFIG_UNIX=y | 349 | CONFIG_UNIX=y |
357 | # CONFIG_NET_KEY is not set | 350 | # CONFIG_NET_KEY is not set |
358 | CONFIG_INET=y | 351 | CONFIG_INET=y |
@@ -525,6 +518,8 @@ CONFIG_MTD_PHYSMAP=y | |||
525 | # UBI - Unsorted block images | 518 | # UBI - Unsorted block images |
526 | # | 519 | # |
527 | # CONFIG_MTD_UBI is not set | 520 | # CONFIG_MTD_UBI is not set |
521 | CONFIG_OF_FLATTREE=y | ||
522 | CONFIG_OF_DYNAMIC=y | ||
528 | CONFIG_OF_DEVICE=y | 523 | CONFIG_OF_DEVICE=y |
529 | CONFIG_OF_I2C=y | 524 | CONFIG_OF_I2C=y |
530 | CONFIG_OF_MDIO=y | 525 | CONFIG_OF_MDIO=y |
@@ -610,6 +605,7 @@ CONFIG_ATA_SFF=y | |||
610 | # CONFIG_PATA_IT821X is not set | 605 | # CONFIG_PATA_IT821X is not set |
611 | # CONFIG_PATA_IT8213 is not set | 606 | # CONFIG_PATA_IT8213 is not set |
612 | # CONFIG_PATA_JMICRON is not set | 607 | # CONFIG_PATA_JMICRON is not set |
608 | # CONFIG_PATA_LEGACY is not set | ||
613 | # CONFIG_PATA_TRIFLEX is not set | 609 | # CONFIG_PATA_TRIFLEX is not set |
614 | # CONFIG_PATA_MARVELL is not set | 610 | # CONFIG_PATA_MARVELL is not set |
615 | CONFIG_PATA_MPC52xx=m | 611 | CONFIG_PATA_MPC52xx=m |
@@ -647,7 +643,7 @@ CONFIG_PATA_MPC52xx=m | |||
647 | # | 643 | # |
648 | 644 | ||
649 | # | 645 | # |
650 | # See the help texts for more information. | 646 | # The newer stack is recommended. |
651 | # | 647 | # |
652 | # CONFIG_FIREWIRE is not set | 648 | # CONFIG_FIREWIRE is not set |
653 | # CONFIG_IEEE1394 is not set | 649 | # CONFIG_IEEE1394 is not set |
@@ -775,6 +771,7 @@ CONFIG_SERIAL_MPC52xx=y | |||
775 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 771 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
776 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600 | 772 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600 |
777 | # CONFIG_SERIAL_JSM is not set | 773 | # CONFIG_SERIAL_JSM is not set |
774 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
778 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 775 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
779 | CONFIG_UNIX98_PTYS=y | 776 | CONFIG_UNIX98_PTYS=y |
780 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 777 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -824,6 +821,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
824 | CONFIG_I2C_MPC=y | 821 | CONFIG_I2C_MPC=y |
825 | # CONFIG_I2C_OCORES is not set | 822 | # CONFIG_I2C_OCORES is not set |
826 | # CONFIG_I2C_SIMTEC is not set | 823 | # CONFIG_I2C_SIMTEC is not set |
824 | # CONFIG_I2C_XILINX is not set | ||
827 | 825 | ||
828 | # | 826 | # |
829 | # External I2C/SMBus adapter drivers | 827 | # External I2C/SMBus adapter drivers |
@@ -870,18 +868,21 @@ CONFIG_SSB_POSSIBLE=y | |||
870 | # Multifunction device drivers | 868 | # Multifunction device drivers |
871 | # | 869 | # |
872 | # CONFIG_MFD_CORE is not set | 870 | # CONFIG_MFD_CORE is not set |
871 | # CONFIG_MFD_88PM860X is not set | ||
873 | # CONFIG_MFD_SM501 is not set | 872 | # CONFIG_MFD_SM501 is not set |
874 | # CONFIG_HTC_PASIC3 is not set | 873 | # CONFIG_HTC_PASIC3 is not set |
875 | # CONFIG_TWL4030_CORE is not set | 874 | # CONFIG_TWL4030_CORE is not set |
876 | # CONFIG_MFD_TMIO is not set | 875 | # CONFIG_MFD_TMIO is not set |
877 | # CONFIG_PMIC_DA903X is not set | 876 | # CONFIG_PMIC_DA903X is not set |
878 | # CONFIG_PMIC_ADP5520 is not set | 877 | # CONFIG_PMIC_ADP5520 is not set |
878 | # CONFIG_MFD_MAX8925 is not set | ||
879 | # CONFIG_MFD_WM8400 is not set | 879 | # CONFIG_MFD_WM8400 is not set |
880 | # CONFIG_MFD_WM831X is not set | 880 | # CONFIG_MFD_WM831X is not set |
881 | # CONFIG_MFD_WM8350_I2C is not set | 881 | # CONFIG_MFD_WM8350_I2C is not set |
882 | # CONFIG_MFD_WM8994 is not set | ||
882 | # CONFIG_MFD_PCF50633 is not set | 883 | # CONFIG_MFD_PCF50633 is not set |
883 | # CONFIG_AB3100_CORE is not set | 884 | # CONFIG_AB3100_CORE is not set |
884 | # CONFIG_MFD_88PM8607 is not set | 885 | # CONFIG_LPC_SCH is not set |
885 | # CONFIG_REGULATOR is not set | 886 | # CONFIG_REGULATOR is not set |
886 | # CONFIG_MEDIA_SUPPORT is not set | 887 | # CONFIG_MEDIA_SUPPORT is not set |
887 | 888 | ||
@@ -890,6 +891,7 @@ CONFIG_SSB_POSSIBLE=y | |||
890 | # | 891 | # |
891 | # CONFIG_AGP is not set | 892 | # CONFIG_AGP is not set |
892 | CONFIG_VGA_ARB=y | 893 | CONFIG_VGA_ARB=y |
894 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
893 | # CONFIG_DRM is not set | 895 | # CONFIG_DRM is not set |
894 | # CONFIG_VGASTATE is not set | 896 | # CONFIG_VGASTATE is not set |
895 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 897 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -997,7 +999,6 @@ CONFIG_USB_STORAGE=m | |||
997 | # CONFIG_USB_RIO500 is not set | 999 | # CONFIG_USB_RIO500 is not set |
998 | # CONFIG_USB_LEGOTOWER is not set | 1000 | # CONFIG_USB_LEGOTOWER is not set |
999 | # CONFIG_USB_LCD is not set | 1001 | # CONFIG_USB_LCD is not set |
1000 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1001 | # CONFIG_USB_LED is not set | 1002 | # CONFIG_USB_LED is not set |
1002 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1003 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1003 | # CONFIG_USB_CYTHERM is not set | 1004 | # CONFIG_USB_CYTHERM is not set |
@@ -1009,7 +1010,6 @@ CONFIG_USB_STORAGE=m | |||
1009 | # CONFIG_USB_IOWARRIOR is not set | 1010 | # CONFIG_USB_IOWARRIOR is not set |
1010 | # CONFIG_USB_TEST is not set | 1011 | # CONFIG_USB_TEST is not set |
1011 | # CONFIG_USB_ISIGHTFW is not set | 1012 | # CONFIG_USB_ISIGHTFW is not set |
1012 | # CONFIG_USB_VST is not set | ||
1013 | # CONFIG_USB_GADGET is not set | 1013 | # CONFIG_USB_GADGET is not set |
1014 | 1014 | ||
1015 | # | 1015 | # |
@@ -1172,6 +1172,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1172 | # CONFIG_JFFS2_LZO is not set | 1172 | # CONFIG_JFFS2_LZO is not set |
1173 | CONFIG_JFFS2_RTIME=y | 1173 | CONFIG_JFFS2_RTIME=y |
1174 | # CONFIG_JFFS2_RUBIN is not set | 1174 | # CONFIG_JFFS2_RUBIN is not set |
1175 | # CONFIG_LOGFS is not set | ||
1175 | # CONFIG_CRAMFS is not set | 1176 | # CONFIG_CRAMFS is not set |
1176 | # CONFIG_SQUASHFS is not set | 1177 | # CONFIG_SQUASHFS is not set |
1177 | # CONFIG_VXFS_FS is not set | 1178 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/52xx/tqm5200_defconfig b/arch/powerpc/configs/52xx/tqm5200_defconfig index 3972438db719..96181c62abfa 100644 --- a/arch/powerpc/configs/52xx/tqm5200_defconfig +++ b/arch/powerpc/configs/52xx/tqm5200_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 14:45:09 2009 | 4 | # Wed Mar 10 14:34:24 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -94,11 +94,6 @@ CONFIG_RCU_FANOUT=32 | |||
94 | # CONFIG_TREE_RCU_TRACE is not set | 94 | # CONFIG_TREE_RCU_TRACE is not set |
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | CONFIG_GROUP_SCHED=y | ||
98 | CONFIG_FAIR_GROUP_SCHED=y | ||
99 | # CONFIG_RT_GROUP_SCHED is not set | ||
100 | CONFIG_USER_SCHED=y | ||
101 | # CONFIG_CGROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
103 | CONFIG_SYSFS_DEPRECATED=y | 98 | CONFIG_SYSFS_DEPRECATED=y |
104 | CONFIG_SYSFS_DEPRECATED_V2=y | 99 | CONFIG_SYSFS_DEPRECATED_V2=y |
@@ -109,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
109 | CONFIG_RD_GZIP=y | 104 | CONFIG_RD_GZIP=y |
110 | # CONFIG_RD_BZIP2 is not set | 105 | # CONFIG_RD_BZIP2 is not set |
111 | # CONFIG_RD_LZMA is not set | 106 | # CONFIG_RD_LZMA is not set |
107 | # CONFIG_RD_LZO is not set | ||
112 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 108 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
113 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
114 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -346,7 +342,6 @@ CONFIG_NET=y | |||
346 | # Networking options | 342 | # Networking options |
347 | # | 343 | # |
348 | CONFIG_PACKET=y | 344 | CONFIG_PACKET=y |
349 | # CONFIG_PACKET_MMAP is not set | ||
350 | CONFIG_UNIX=y | 345 | CONFIG_UNIX=y |
351 | CONFIG_XFRM=y | 346 | CONFIG_XFRM=y |
352 | CONFIG_XFRM_USER=y | 347 | CONFIG_XFRM_USER=y |
@@ -524,6 +519,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
524 | # UBI - Unsorted block images | 519 | # UBI - Unsorted block images |
525 | # | 520 | # |
526 | # CONFIG_MTD_UBI is not set | 521 | # CONFIG_MTD_UBI is not set |
522 | CONFIG_OF_FLATTREE=y | ||
523 | CONFIG_OF_DYNAMIC=y | ||
527 | CONFIG_OF_DEVICE=y | 524 | CONFIG_OF_DEVICE=y |
528 | CONFIG_OF_I2C=y | 525 | CONFIG_OF_I2C=y |
529 | CONFIG_OF_MDIO=y | 526 | CONFIG_OF_MDIO=y |
@@ -704,6 +701,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
704 | CONFIG_SERIAL_MPC52xx=y | 701 | CONFIG_SERIAL_MPC52xx=y |
705 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 702 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
706 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 | 703 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 |
704 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
707 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 705 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
708 | CONFIG_UNIX98_PTYS=y | 706 | CONFIG_UNIX98_PTYS=y |
709 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 707 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -733,6 +731,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
733 | CONFIG_I2C_MPC=y | 731 | CONFIG_I2C_MPC=y |
734 | # CONFIG_I2C_OCORES is not set | 732 | # CONFIG_I2C_OCORES is not set |
735 | # CONFIG_I2C_SIMTEC is not set | 733 | # CONFIG_I2C_SIMTEC is not set |
734 | # CONFIG_I2C_XILINX is not set | ||
736 | 735 | ||
737 | # | 736 | # |
738 | # External I2C/SMBus adapter drivers | 737 | # External I2C/SMBus adapter drivers |
@@ -780,10 +779,11 @@ CONFIG_HWMON=y | |||
780 | # CONFIG_SENSORS_ADM1029 is not set | 779 | # CONFIG_SENSORS_ADM1029 is not set |
781 | # CONFIG_SENSORS_ADM1031 is not set | 780 | # CONFIG_SENSORS_ADM1031 is not set |
782 | # CONFIG_SENSORS_ADM9240 is not set | 781 | # CONFIG_SENSORS_ADM9240 is not set |
782 | # CONFIG_SENSORS_ADT7411 is not set | ||
783 | # CONFIG_SENSORS_ADT7462 is not set | 783 | # CONFIG_SENSORS_ADT7462 is not set |
784 | # CONFIG_SENSORS_ADT7470 is not set | 784 | # CONFIG_SENSORS_ADT7470 is not set |
785 | # CONFIG_SENSORS_ADT7473 is not set | ||
786 | # CONFIG_SENSORS_ADT7475 is not set | 785 | # CONFIG_SENSORS_ADT7475 is not set |
786 | # CONFIG_SENSORS_ASC7621 is not set | ||
787 | # CONFIG_SENSORS_ATXP1 is not set | 787 | # CONFIG_SENSORS_ATXP1 is not set |
788 | # CONFIG_SENSORS_DS1621 is not set | 788 | # CONFIG_SENSORS_DS1621 is not set |
789 | # CONFIG_SENSORS_F71805F is not set | 789 | # CONFIG_SENSORS_F71805F is not set |
@@ -818,6 +818,7 @@ CONFIG_HWMON=y | |||
818 | # CONFIG_SENSORS_SMSC47M192 is not set | 818 | # CONFIG_SENSORS_SMSC47M192 is not set |
819 | # CONFIG_SENSORS_SMSC47B397 is not set | 819 | # CONFIG_SENSORS_SMSC47B397 is not set |
820 | # CONFIG_SENSORS_ADS7828 is not set | 820 | # CONFIG_SENSORS_ADS7828 is not set |
821 | # CONFIG_SENSORS_AMC6821 is not set | ||
821 | # CONFIG_SENSORS_THMC50 is not set | 822 | # CONFIG_SENSORS_THMC50 is not set |
822 | # CONFIG_SENSORS_TMP401 is not set | 823 | # CONFIG_SENSORS_TMP401 is not set |
823 | # CONFIG_SENSORS_TMP421 is not set | 824 | # CONFIG_SENSORS_TMP421 is not set |
@@ -838,6 +839,7 @@ CONFIG_WATCHDOG=y | |||
838 | # Watchdog Device Drivers | 839 | # Watchdog Device Drivers |
839 | # | 840 | # |
840 | # CONFIG_SOFT_WATCHDOG is not set | 841 | # CONFIG_SOFT_WATCHDOG is not set |
842 | # CONFIG_MAX63XX_WATCHDOG is not set | ||
841 | # CONFIG_MPC5200_WDT is not set | 843 | # CONFIG_MPC5200_WDT is not set |
842 | 844 | ||
843 | # | 845 | # |
@@ -855,18 +857,20 @@ CONFIG_SSB_POSSIBLE=y | |||
855 | # Multifunction device drivers | 857 | # Multifunction device drivers |
856 | # | 858 | # |
857 | # CONFIG_MFD_CORE is not set | 859 | # CONFIG_MFD_CORE is not set |
860 | # CONFIG_MFD_88PM860X is not set | ||
858 | # CONFIG_MFD_SM501 is not set | 861 | # CONFIG_MFD_SM501 is not set |
859 | # CONFIG_HTC_PASIC3 is not set | 862 | # CONFIG_HTC_PASIC3 is not set |
860 | # CONFIG_TWL4030_CORE is not set | 863 | # CONFIG_TWL4030_CORE is not set |
861 | # CONFIG_MFD_TMIO is not set | 864 | # CONFIG_MFD_TMIO is not set |
862 | # CONFIG_PMIC_DA903X is not set | 865 | # CONFIG_PMIC_DA903X is not set |
863 | # CONFIG_PMIC_ADP5520 is not set | 866 | # CONFIG_PMIC_ADP5520 is not set |
867 | # CONFIG_MFD_MAX8925 is not set | ||
864 | # CONFIG_MFD_WM8400 is not set | 868 | # CONFIG_MFD_WM8400 is not set |
865 | # CONFIG_MFD_WM831X is not set | 869 | # CONFIG_MFD_WM831X is not set |
866 | # CONFIG_MFD_WM8350_I2C is not set | 870 | # CONFIG_MFD_WM8350_I2C is not set |
871 | # CONFIG_MFD_WM8994 is not set | ||
867 | # CONFIG_MFD_PCF50633 is not set | 872 | # CONFIG_MFD_PCF50633 is not set |
868 | # CONFIG_AB3100_CORE is not set | 873 | # CONFIG_AB3100_CORE is not set |
869 | # CONFIG_MFD_88PM8607 is not set | ||
870 | # CONFIG_REGULATOR is not set | 874 | # CONFIG_REGULATOR is not set |
871 | # CONFIG_MEDIA_SUPPORT is not set | 875 | # CONFIG_MEDIA_SUPPORT is not set |
872 | 876 | ||
@@ -897,7 +901,6 @@ CONFIG_USB=y | |||
897 | CONFIG_USB_DEVICEFS=y | 901 | CONFIG_USB_DEVICEFS=y |
898 | # CONFIG_USB_DEVICE_CLASS is not set | 902 | # CONFIG_USB_DEVICE_CLASS is not set |
899 | # CONFIG_USB_DYNAMIC_MINORS is not set | 903 | # CONFIG_USB_DYNAMIC_MINORS is not set |
900 | # CONFIG_USB_SUSPEND is not set | ||
901 | # CONFIG_USB_OTG is not set | 904 | # CONFIG_USB_OTG is not set |
902 | # CONFIG_USB_OTG_WHITELIST is not set | 905 | # CONFIG_USB_OTG_WHITELIST is not set |
903 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 906 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
@@ -975,7 +978,6 @@ CONFIG_USB_STORAGE=y | |||
975 | # CONFIG_USB_RIO500 is not set | 978 | # CONFIG_USB_RIO500 is not set |
976 | # CONFIG_USB_LEGOTOWER is not set | 979 | # CONFIG_USB_LEGOTOWER is not set |
977 | # CONFIG_USB_LCD is not set | 980 | # CONFIG_USB_LCD is not set |
978 | # CONFIG_USB_BERRY_CHARGE is not set | ||
979 | # CONFIG_USB_LED is not set | 981 | # CONFIG_USB_LED is not set |
980 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 982 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
981 | # CONFIG_USB_CYTHERM is not set | 983 | # CONFIG_USB_CYTHERM is not set |
@@ -987,7 +989,6 @@ CONFIG_USB_STORAGE=y | |||
987 | # CONFIG_USB_IOWARRIOR is not set | 989 | # CONFIG_USB_IOWARRIOR is not set |
988 | # CONFIG_USB_TEST is not set | 990 | # CONFIG_USB_TEST is not set |
989 | # CONFIG_USB_ISIGHTFW is not set | 991 | # CONFIG_USB_ISIGHTFW is not set |
990 | # CONFIG_USB_VST is not set | ||
991 | # CONFIG_USB_GADGET is not set | 992 | # CONFIG_USB_GADGET is not set |
992 | 993 | ||
993 | # | 994 | # |
@@ -1151,6 +1152,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1151 | # CONFIG_JFFS2_LZO is not set | 1152 | # CONFIG_JFFS2_LZO is not set |
1152 | CONFIG_JFFS2_RTIME=y | 1153 | CONFIG_JFFS2_RTIME=y |
1153 | # CONFIG_JFFS2_RUBIN is not set | 1154 | # CONFIG_JFFS2_RUBIN is not set |
1155 | # CONFIG_LOGFS is not set | ||
1154 | CONFIG_CRAMFS=y | 1156 | CONFIG_CRAMFS=y |
1155 | # CONFIG_SQUASHFS is not set | 1157 | # CONFIG_SQUASHFS is not set |
1156 | # CONFIG_VXFS_FS is not set | 1158 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig index 61cf73d0000f..7012ac0134f0 100644 --- a/arch/powerpc/configs/mpc5200_defconfig +++ b/arch/powerpc/configs/mpc5200_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.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc1 |
4 | # Wed Dec 30 15:08:52 2009 | 4 | # Wed Mar 10 14:38:54 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,30 +96,37 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_GROUP_SCHED is not set | ||
100 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 100 | CONFIG_SYSFS_DEPRECATED=y |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | 101 | CONFIG_SYSFS_DEPRECATED_V2=y |
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | CONFIG_NAMESPACES=y |
104 | # CONFIG_UTS_NS is not set | ||
105 | # CONFIG_IPC_NS is not set | ||
106 | # CONFIG_USER_NS is not set | ||
107 | # CONFIG_PID_NS is not set | ||
108 | # CONFIG_NET_NS is not set | ||
105 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
106 | CONFIG_INITRAMFS_SOURCE="" | 110 | CONFIG_INITRAMFS_SOURCE="" |
107 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
108 | # CONFIG_RD_BZIP2 is not set | 112 | CONFIG_RD_BZIP2=y |
109 | # CONFIG_RD_LZMA is not set | 113 | CONFIG_RD_LZMA=y |
114 | CONFIG_RD_LZO=y | ||
110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
111 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
112 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
113 | CONFIG_EMBEDDED=y | 118 | # CONFIG_EMBEDDED is not set |
114 | # CONFIG_SYSCTL_SYSCALL is not set | 119 | CONFIG_SYSCTL_SYSCALL=y |
115 | # CONFIG_KALLSYMS is not set | 120 | CONFIG_KALLSYMS=y |
121 | # CONFIG_KALLSYMS_ALL is not set | ||
122 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
116 | CONFIG_HOTPLUG=y | 123 | CONFIG_HOTPLUG=y |
117 | CONFIG_PRINTK=y | 124 | CONFIG_PRINTK=y |
118 | CONFIG_BUG=y | 125 | CONFIG_BUG=y |
119 | CONFIG_ELF_CORE=y | 126 | CONFIG_ELF_CORE=y |
120 | CONFIG_BASE_FULL=y | 127 | CONFIG_BASE_FULL=y |
121 | CONFIG_FUTEX=y | 128 | CONFIG_FUTEX=y |
122 | # CONFIG_EPOLL is not set | 129 | CONFIG_EPOLL=y |
123 | CONFIG_SIGNALFD=y | 130 | CONFIG_SIGNALFD=y |
124 | CONFIG_TIMERFD=y | 131 | CONFIG_TIMERFD=y |
125 | CONFIG_EVENTFD=y | 132 | CONFIG_EVENTFD=y |
@@ -141,6 +148,7 @@ CONFIG_SLUB=y | |||
141 | # CONFIG_SLOB is not set | 148 | # CONFIG_SLOB is not set |
142 | # CONFIG_PROFILING is not set | 149 | # CONFIG_PROFILING is not set |
143 | CONFIG_HAVE_OPROFILE=y | 150 | CONFIG_HAVE_OPROFILE=y |
151 | # CONFIG_KPROBES is not set | ||
144 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 152 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
145 | CONFIG_HAVE_IOREMAP_PROT=y | 153 | CONFIG_HAVE_IOREMAP_PROT=y |
146 | CONFIG_HAVE_KPROBES=y | 154 | CONFIG_HAVE_KPROBES=y |
@@ -320,6 +328,7 @@ CONFIG_SUSPEND=y | |||
320 | CONFIG_SUSPEND_FREEZER=y | 328 | CONFIG_SUSPEND_FREEZER=y |
321 | # CONFIG_HIBERNATION is not set | 329 | # CONFIG_HIBERNATION is not set |
322 | # CONFIG_PM_RUNTIME is not set | 330 | # CONFIG_PM_RUNTIME is not set |
331 | CONFIG_PM_OPS=y | ||
323 | CONFIG_SECCOMP=y | 332 | CONFIG_SECCOMP=y |
324 | CONFIG_ISA_DMA_API=y | 333 | CONFIG_ISA_DMA_API=y |
325 | 334 | ||
@@ -336,7 +345,6 @@ CONFIG_PCI_SYSCALL=y | |||
336 | # CONFIG_PCIEPORTBUS is not set | 345 | # CONFIG_PCIEPORTBUS is not set |
337 | CONFIG_ARCH_SUPPORTS_MSI=y | 346 | CONFIG_ARCH_SUPPORTS_MSI=y |
338 | # CONFIG_PCI_MSI is not set | 347 | # CONFIG_PCI_MSI is not set |
339 | CONFIG_PCI_LEGACY=y | ||
340 | # CONFIG_PCI_DEBUG is not set | 348 | # CONFIG_PCI_DEBUG is not set |
341 | # CONFIG_PCI_STUB is not set | 349 | # CONFIG_PCI_STUB is not set |
342 | # CONFIG_PCI_IOV is not set | 350 | # CONFIG_PCI_IOV is not set |
@@ -363,7 +371,6 @@ CONFIG_NET=y | |||
363 | # Networking options | 371 | # Networking options |
364 | # | 372 | # |
365 | CONFIG_PACKET=y | 373 | CONFIG_PACKET=y |
366 | # CONFIG_PACKET_MMAP is not set | ||
367 | CONFIG_UNIX=y | 374 | CONFIG_UNIX=y |
368 | CONFIG_XFRM=y | 375 | CONFIG_XFRM=y |
369 | CONFIG_XFRM_USER=m | 376 | CONFIG_XFRM_USER=m |
@@ -454,7 +461,9 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
454 | # CONFIG_DEVTMPFS is not set | 461 | # CONFIG_DEVTMPFS is not set |
455 | CONFIG_STANDALONE=y | 462 | CONFIG_STANDALONE=y |
456 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 463 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
457 | # CONFIG_FW_LOADER is not set | 464 | CONFIG_FW_LOADER=y |
465 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
466 | CONFIG_EXTRA_FIRMWARE="" | ||
458 | # CONFIG_DEBUG_DRIVER is not set | 467 | # CONFIG_DEBUG_DRIVER is not set |
459 | # CONFIG_DEBUG_DEVRES is not set | 468 | # CONFIG_DEBUG_DEVRES is not set |
460 | # CONFIG_SYS_HYPERVISOR is not set | 469 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -554,6 +563,8 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 | |||
554 | # UBI debugging options | 563 | # UBI debugging options |
555 | # | 564 | # |
556 | # CONFIG_MTD_UBI_DEBUG is not set | 565 | # CONFIG_MTD_UBI_DEBUG is not set |
566 | CONFIG_OF_FLATTREE=y | ||
567 | CONFIG_OF_DYNAMIC=y | ||
557 | CONFIG_OF_DEVICE=y | 568 | CONFIG_OF_DEVICE=y |
558 | CONFIG_OF_GPIO=y | 569 | CONFIG_OF_GPIO=y |
559 | CONFIG_OF_I2C=y | 570 | CONFIG_OF_I2C=y |
@@ -732,6 +743,7 @@ CONFIG_ATA_SFF=y | |||
732 | # CONFIG_PATA_IT821X is not set | 743 | # CONFIG_PATA_IT821X is not set |
733 | # CONFIG_PATA_IT8213 is not set | 744 | # CONFIG_PATA_IT8213 is not set |
734 | # CONFIG_PATA_JMICRON is not set | 745 | # CONFIG_PATA_JMICRON is not set |
746 | # CONFIG_PATA_LEGACY is not set | ||
735 | # CONFIG_PATA_TRIFLEX is not set | 747 | # CONFIG_PATA_TRIFLEX is not set |
736 | # CONFIG_PATA_MARVELL is not set | 748 | # CONFIG_PATA_MARVELL is not set |
737 | CONFIG_PATA_MPC52xx=y | 749 | CONFIG_PATA_MPC52xx=y |
@@ -770,7 +782,7 @@ CONFIG_PATA_PLATFORM=y | |||
770 | # | 782 | # |
771 | 783 | ||
772 | # | 784 | # |
773 | # See the help texts for more information. | 785 | # The newer stack is recommended. |
774 | # | 786 | # |
775 | # CONFIG_FIREWIRE is not set | 787 | # CONFIG_FIREWIRE is not set |
776 | # CONFIG_IEEE1394 is not set | 788 | # CONFIG_IEEE1394 is not set |
@@ -929,6 +941,7 @@ CONFIG_SERIAL_MPC52xx=y | |||
929 | CONFIG_SERIAL_MPC52xx_CONSOLE=y | 941 | CONFIG_SERIAL_MPC52xx_CONSOLE=y |
930 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 | 942 | CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 |
931 | # CONFIG_SERIAL_JSM is not set | 943 | # CONFIG_SERIAL_JSM is not set |
944 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
932 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 945 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
933 | CONFIG_UNIX98_PTYS=y | 946 | CONFIG_UNIX98_PTYS=y |
934 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 947 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -981,6 +994,7 @@ CONFIG_I2C_ALGOBIT=y | |||
981 | CONFIG_I2C_MPC=y | 994 | CONFIG_I2C_MPC=y |
982 | # CONFIG_I2C_OCORES is not set | 995 | # CONFIG_I2C_OCORES is not set |
983 | # CONFIG_I2C_SIMTEC is not set | 996 | # CONFIG_I2C_SIMTEC is not set |
997 | # CONFIG_I2C_XILINX is not set | ||
984 | 998 | ||
985 | # | 999 | # |
986 | # External I2C/SMBus adapter drivers | 1000 | # External I2C/SMBus adapter drivers |
@@ -1010,9 +1024,9 @@ CONFIG_SPI_MASTER=y | |||
1010 | # | 1024 | # |
1011 | # SPI Master Controller Drivers | 1025 | # SPI Master Controller Drivers |
1012 | # | 1026 | # |
1013 | # CONFIG_SPI_BITBANG is not set | 1027 | CONFIG_SPI_BITBANG=m |
1014 | # CONFIG_SPI_GPIO is not set | 1028 | CONFIG_SPI_GPIO=m |
1015 | # CONFIG_SPI_MPC52xx is not set | 1029 | CONFIG_SPI_MPC52xx=m |
1016 | CONFIG_SPI_MPC52xx_PSC=m | 1030 | CONFIG_SPI_MPC52xx_PSC=m |
1017 | # CONFIG_SPI_XILINX is not set | 1031 | # CONFIG_SPI_XILINX is not set |
1018 | # CONFIG_SPI_DESIGNWARE is not set | 1032 | # CONFIG_SPI_DESIGNWARE is not set |
@@ -1036,14 +1050,18 @@ CONFIG_GPIOLIB=y | |||
1036 | # | 1050 | # |
1037 | # Memory mapped GPIO expanders: | 1051 | # Memory mapped GPIO expanders: |
1038 | # | 1052 | # |
1053 | # CONFIG_GPIO_IT8761E is not set | ||
1039 | # CONFIG_GPIO_XILINX is not set | 1054 | # CONFIG_GPIO_XILINX is not set |
1055 | # CONFIG_GPIO_SCH is not set | ||
1040 | 1056 | ||
1041 | # | 1057 | # |
1042 | # I2C GPIO expanders: | 1058 | # I2C GPIO expanders: |
1043 | # | 1059 | # |
1060 | # CONFIG_GPIO_MAX7300 is not set | ||
1044 | # CONFIG_GPIO_MAX732X is not set | 1061 | # CONFIG_GPIO_MAX732X is not set |
1045 | # CONFIG_GPIO_PCA953X is not set | 1062 | # CONFIG_GPIO_PCA953X is not set |
1046 | # CONFIG_GPIO_PCF857X is not set | 1063 | # CONFIG_GPIO_PCF857X is not set |
1064 | # CONFIG_GPIO_ADP5588 is not set | ||
1047 | 1065 | ||
1048 | # | 1066 | # |
1049 | # PCI GPIO expanders: | 1067 | # PCI GPIO expanders: |
@@ -1080,10 +1098,11 @@ CONFIG_HWMON=y | |||
1080 | # CONFIG_SENSORS_ADM1029 is not set | 1098 | # CONFIG_SENSORS_ADM1029 is not set |
1081 | # CONFIG_SENSORS_ADM1031 is not set | 1099 | # CONFIG_SENSORS_ADM1031 is not set |
1082 | # CONFIG_SENSORS_ADM9240 is not set | 1100 | # CONFIG_SENSORS_ADM9240 is not set |
1101 | # CONFIG_SENSORS_ADT7411 is not set | ||
1083 | # CONFIG_SENSORS_ADT7462 is not set | 1102 | # CONFIG_SENSORS_ADT7462 is not set |
1084 | # CONFIG_SENSORS_ADT7470 is not set | 1103 | # CONFIG_SENSORS_ADT7470 is not set |
1085 | # CONFIG_SENSORS_ADT7473 is not set | ||
1086 | # CONFIG_SENSORS_ADT7475 is not set | 1104 | # CONFIG_SENSORS_ADT7475 is not set |
1105 | # CONFIG_SENSORS_ASC7621 is not set | ||
1087 | # CONFIG_SENSORS_ATXP1 is not set | 1106 | # CONFIG_SENSORS_ATXP1 is not set |
1088 | # CONFIG_SENSORS_DS1621 is not set | 1107 | # CONFIG_SENSORS_DS1621 is not set |
1089 | # CONFIG_SENSORS_I5K_AMB is not set | 1108 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1123,6 +1142,7 @@ CONFIG_HWMON=y | |||
1123 | # CONFIG_SENSORS_SMSC47M192 is not set | 1142 | # CONFIG_SENSORS_SMSC47M192 is not set |
1124 | # CONFIG_SENSORS_SMSC47B397 is not set | 1143 | # CONFIG_SENSORS_SMSC47B397 is not set |
1125 | # CONFIG_SENSORS_ADS7828 is not set | 1144 | # CONFIG_SENSORS_ADS7828 is not set |
1145 | # CONFIG_SENSORS_AMC6821 is not set | ||
1126 | # CONFIG_SENSORS_THMC50 is not set | 1146 | # CONFIG_SENSORS_THMC50 is not set |
1127 | # CONFIG_SENSORS_TMP401 is not set | 1147 | # CONFIG_SENSORS_TMP401 is not set |
1128 | # CONFIG_SENSORS_TMP421 is not set | 1148 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1147,6 +1167,7 @@ CONFIG_WATCHDOG=y | |||
1147 | # Watchdog Device Drivers | 1167 | # Watchdog Device Drivers |
1148 | # | 1168 | # |
1149 | # CONFIG_SOFT_WATCHDOG is not set | 1169 | # CONFIG_SOFT_WATCHDOG is not set |
1170 | # CONFIG_MAX63XX_WATCHDOG is not set | ||
1150 | # CONFIG_ALIM7101_WDT is not set | 1171 | # CONFIG_ALIM7101_WDT is not set |
1151 | # CONFIG_MPC5200_WDT is not set | 1172 | # CONFIG_MPC5200_WDT is not set |
1152 | # CONFIG_WATCHDOG_RTAS is not set | 1173 | # CONFIG_WATCHDOG_RTAS is not set |
@@ -1172,22 +1193,27 @@ CONFIG_SSB_POSSIBLE=y | |||
1172 | # Multifunction device drivers | 1193 | # Multifunction device drivers |
1173 | # | 1194 | # |
1174 | # CONFIG_MFD_CORE is not set | 1195 | # CONFIG_MFD_CORE is not set |
1196 | # CONFIG_MFD_88PM860X is not set | ||
1175 | # CONFIG_MFD_SM501 is not set | 1197 | # CONFIG_MFD_SM501 is not set |
1176 | # CONFIG_HTC_PASIC3 is not set | 1198 | # CONFIG_HTC_PASIC3 is not set |
1199 | # CONFIG_HTC_I2CPLD is not set | ||
1177 | # CONFIG_TPS65010 is not set | 1200 | # CONFIG_TPS65010 is not set |
1178 | # CONFIG_TWL4030_CORE is not set | 1201 | # CONFIG_TWL4030_CORE is not set |
1179 | # CONFIG_MFD_TMIO is not set | 1202 | # CONFIG_MFD_TMIO is not set |
1180 | # CONFIG_PMIC_DA903X is not set | 1203 | # CONFIG_PMIC_DA903X is not set |
1181 | # CONFIG_PMIC_ADP5520 is not set | 1204 | # CONFIG_PMIC_ADP5520 is not set |
1205 | # CONFIG_MFD_MAX8925 is not set | ||
1182 | # CONFIG_MFD_WM8400 is not set | 1206 | # CONFIG_MFD_WM8400 is not set |
1183 | # CONFIG_MFD_WM831X is not set | 1207 | # CONFIG_MFD_WM831X is not set |
1184 | # CONFIG_MFD_WM8350_I2C is not set | 1208 | # CONFIG_MFD_WM8350_I2C is not set |
1209 | # CONFIG_MFD_WM8994 is not set | ||
1185 | # CONFIG_MFD_PCF50633 is not set | 1210 | # CONFIG_MFD_PCF50633 is not set |
1186 | # CONFIG_MFD_MC13783 is not set | 1211 | # CONFIG_MFD_MC13783 is not set |
1187 | # CONFIG_AB3100_CORE is not set | 1212 | # CONFIG_AB3100_CORE is not set |
1188 | # CONFIG_EZX_PCAP is not set | 1213 | # CONFIG_EZX_PCAP is not set |
1189 | # CONFIG_MFD_88PM8607 is not set | ||
1190 | # CONFIG_AB4500_CORE is not set | 1214 | # CONFIG_AB4500_CORE is not set |
1215 | # CONFIG_MFD_TIMBERDALE is not set | ||
1216 | # CONFIG_LPC_SCH is not set | ||
1191 | # CONFIG_REGULATOR is not set | 1217 | # CONFIG_REGULATOR is not set |
1192 | # CONFIG_MEDIA_SUPPORT is not set | 1218 | # CONFIG_MEDIA_SUPPORT is not set |
1193 | 1219 | ||
@@ -1196,6 +1222,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1196 | # | 1222 | # |
1197 | # CONFIG_AGP is not set | 1223 | # CONFIG_AGP is not set |
1198 | CONFIG_VGA_ARB=y | 1224 | CONFIG_VGA_ARB=y |
1225 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1199 | CONFIG_DRM=y | 1226 | CONFIG_DRM=y |
1200 | # CONFIG_DRM_TDFX is not set | 1227 | # CONFIG_DRM_TDFX is not set |
1201 | # CONFIG_DRM_R128 is not set | 1228 | # CONFIG_DRM_R128 is not set |
@@ -1309,32 +1336,46 @@ CONFIG_USB_HID=y | |||
1309 | # | 1336 | # |
1310 | # Special HID drivers | 1337 | # Special HID drivers |
1311 | # | 1338 | # |
1339 | # CONFIG_HID_3M_PCT is not set | ||
1312 | CONFIG_HID_A4TECH=y | 1340 | CONFIG_HID_A4TECH=y |
1313 | # CONFIG_HID_APPLE is not set | 1341 | CONFIG_HID_APPLE=y |
1314 | CONFIG_HID_BELKIN=y | 1342 | CONFIG_HID_BELKIN=y |
1315 | CONFIG_HID_CHERRY=y | 1343 | CONFIG_HID_CHERRY=y |
1316 | # CONFIG_HID_CHICONY is not set | 1344 | CONFIG_HID_CHICONY=y |
1317 | CONFIG_HID_CYPRESS=y | 1345 | CONFIG_HID_CYPRESS=y |
1318 | # CONFIG_HID_DRAGONRISE is not set | 1346 | CONFIG_HID_DRAGONRISE=y |
1347 | # CONFIG_DRAGONRISE_FF is not set | ||
1319 | CONFIG_HID_EZKEY=y | 1348 | CONFIG_HID_EZKEY=y |
1320 | # CONFIG_HID_KYE is not set | 1349 | CONFIG_HID_KYE=y |
1321 | # CONFIG_HID_GYRATION is not set | 1350 | CONFIG_HID_GYRATION=y |
1322 | # CONFIG_HID_TWINHAN is not set | 1351 | CONFIG_HID_TWINHAN=y |
1323 | # CONFIG_HID_KENSINGTON is not set | 1352 | CONFIG_HID_KENSINGTON=y |
1324 | # CONFIG_HID_LOGITECH is not set | 1353 | CONFIG_HID_LOGITECH=y |
1325 | # CONFIG_HID_MICROSOFT is not set | 1354 | # CONFIG_LOGITECH_FF is not set |
1326 | # CONFIG_HID_MONTEREY is not set | 1355 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1356 | # CONFIG_LOGIG940_FF is not set | ||
1357 | CONFIG_HID_MICROSOFT=y | ||
1358 | # CONFIG_HID_MOSART is not set | ||
1359 | CONFIG_HID_MONTEREY=y | ||
1327 | # CONFIG_HID_NTRIG is not set | 1360 | # CONFIG_HID_NTRIG is not set |
1328 | # CONFIG_HID_PANTHERLORD is not set | 1361 | CONFIG_HID_ORTEK=y |
1329 | # CONFIG_HID_PETALYNX is not set | 1362 | CONFIG_HID_PANTHERLORD=y |
1330 | # CONFIG_HID_SAMSUNG is not set | 1363 | # CONFIG_PANTHERLORD_FF is not set |
1331 | # CONFIG_HID_SONY is not set | 1364 | CONFIG_HID_PETALYNX=y |
1332 | # CONFIG_HID_SUNPLUS is not set | 1365 | # CONFIG_HID_QUANTA is not set |
1333 | # CONFIG_HID_GREENASIA is not set | 1366 | CONFIG_HID_SAMSUNG=y |
1334 | # CONFIG_HID_SMARTJOYPLUS is not set | 1367 | CONFIG_HID_SONY=y |
1335 | # CONFIG_HID_TOPSEED is not set | 1368 | # CONFIG_HID_STANTUM is not set |
1336 | # CONFIG_HID_THRUSTMASTER is not set | 1369 | CONFIG_HID_SUNPLUS=y |
1337 | # CONFIG_HID_ZEROPLUS is not set | 1370 | CONFIG_HID_GREENASIA=y |
1371 | # CONFIG_GREENASIA_FF is not set | ||
1372 | CONFIG_HID_SMARTJOYPLUS=y | ||
1373 | # CONFIG_SMARTJOYPLUS_FF is not set | ||
1374 | CONFIG_HID_TOPSEED=y | ||
1375 | CONFIG_HID_THRUSTMASTER=y | ||
1376 | # CONFIG_THRUSTMASTER_FF is not set | ||
1377 | CONFIG_HID_ZEROPLUS=y | ||
1378 | # CONFIG_ZEROPLUS_FF is not set | ||
1338 | CONFIG_USB_SUPPORT=y | 1379 | CONFIG_USB_SUPPORT=y |
1339 | CONFIG_USB_ARCH_HAS_HCD=y | 1380 | CONFIG_USB_ARCH_HAS_HCD=y |
1340 | CONFIG_USB_ARCH_HAS_OHCI=y | 1381 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1349,10 +1390,7 @@ CONFIG_USB=y | |||
1349 | CONFIG_USB_DEVICEFS=y | 1390 | CONFIG_USB_DEVICEFS=y |
1350 | # CONFIG_USB_DEVICE_CLASS is not set | 1391 | # CONFIG_USB_DEVICE_CLASS is not set |
1351 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1392 | # CONFIG_USB_DYNAMIC_MINORS is not set |
1352 | # CONFIG_USB_SUSPEND is not set | ||
1353 | # CONFIG_USB_OTG is not set | 1393 | # CONFIG_USB_OTG is not set |
1354 | # CONFIG_USB_OTG_WHITELIST is not set | ||
1355 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
1356 | CONFIG_USB_MON=y | 1394 | CONFIG_USB_MON=y |
1357 | # CONFIG_USB_WUSB is not set | 1395 | # CONFIG_USB_WUSB is not set |
1358 | # CONFIG_USB_WUSB_CBAF is not set | 1396 | # CONFIG_USB_WUSB_CBAF is not set |
@@ -1433,7 +1471,6 @@ CONFIG_USB_STORAGE=y | |||
1433 | # CONFIG_USB_RIO500 is not set | 1471 | # CONFIG_USB_RIO500 is not set |
1434 | # CONFIG_USB_LEGOTOWER is not set | 1472 | # CONFIG_USB_LEGOTOWER is not set |
1435 | # CONFIG_USB_LCD is not set | 1473 | # CONFIG_USB_LCD is not set |
1436 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1437 | # CONFIG_USB_LED is not set | 1474 | # CONFIG_USB_LED is not set |
1438 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1475 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1439 | # CONFIG_USB_CYTHERM is not set | 1476 | # CONFIG_USB_CYTHERM is not set |
@@ -1445,7 +1482,6 @@ CONFIG_USB_STORAGE=y | |||
1445 | # CONFIG_USB_IOWARRIOR is not set | 1482 | # CONFIG_USB_IOWARRIOR is not set |
1446 | # CONFIG_USB_TEST is not set | 1483 | # CONFIG_USB_TEST is not set |
1447 | # CONFIG_USB_ISIGHTFW is not set | 1484 | # CONFIG_USB_ISIGHTFW is not set |
1448 | # CONFIG_USB_VST is not set | ||
1449 | # CONFIG_USB_GADGET is not set | 1485 | # CONFIG_USB_GADGET is not set |
1450 | 1486 | ||
1451 | # | 1487 | # |
@@ -1636,6 +1672,7 @@ CONFIG_UBIFS_FS=m | |||
1636 | CONFIG_UBIFS_FS_LZO=y | 1672 | CONFIG_UBIFS_FS_LZO=y |
1637 | CONFIG_UBIFS_FS_ZLIB=y | 1673 | CONFIG_UBIFS_FS_ZLIB=y |
1638 | # CONFIG_UBIFS_FS_DEBUG is not set | 1674 | # CONFIG_UBIFS_FS_DEBUG is not set |
1675 | # CONFIG_LOGFS is not set | ||
1639 | CONFIG_CRAMFS=y | 1676 | CONFIG_CRAMFS=y |
1640 | # CONFIG_SQUASHFS is not set | 1677 | # CONFIG_SQUASHFS is not set |
1641 | # CONFIG_VXFS_FS is not set | 1678 | # CONFIG_VXFS_FS is not set |
@@ -1730,8 +1767,11 @@ CONFIG_CRC32=y | |||
1730 | CONFIG_ZLIB_INFLATE=y | 1767 | CONFIG_ZLIB_INFLATE=y |
1731 | CONFIG_ZLIB_DEFLATE=y | 1768 | CONFIG_ZLIB_DEFLATE=y |
1732 | CONFIG_LZO_COMPRESS=m | 1769 | CONFIG_LZO_COMPRESS=m |
1733 | CONFIG_LZO_DECOMPRESS=m | 1770 | CONFIG_LZO_DECOMPRESS=y |
1734 | CONFIG_DECOMPRESS_GZIP=y | 1771 | CONFIG_DECOMPRESS_GZIP=y |
1772 | CONFIG_DECOMPRESS_BZIP2=y | ||
1773 | CONFIG_DECOMPRESS_LZMA=y | ||
1774 | CONFIG_DECOMPRESS_LZO=y | ||
1735 | CONFIG_HAS_IOMEM=y | 1775 | CONFIG_HAS_IOMEM=y |
1736 | CONFIG_HAS_IOPORT=y | 1776 | CONFIG_HAS_IOPORT=y |
1737 | CONFIG_HAS_DMA=y | 1777 | CONFIG_HAS_DMA=y |
@@ -1776,11 +1816,11 @@ CONFIG_SCHED_DEBUG=y | |||
1776 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1816 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1777 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1817 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1778 | # CONFIG_DEBUG_KOBJECT is not set | 1818 | # CONFIG_DEBUG_KOBJECT is not set |
1779 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1819 | CONFIG_DEBUG_BUGVERBOSE=y |
1780 | CONFIG_DEBUG_INFO=y | 1820 | CONFIG_DEBUG_INFO=y |
1781 | # CONFIG_DEBUG_VM is not set | 1821 | # CONFIG_DEBUG_VM is not set |
1782 | # CONFIG_DEBUG_WRITECOUNT is not set | 1822 | # CONFIG_DEBUG_WRITECOUNT is not set |
1783 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1823 | CONFIG_DEBUG_MEMORY_INIT=y |
1784 | # CONFIG_DEBUG_LIST is not set | 1824 | # CONFIG_DEBUG_LIST is not set |
1785 | # CONFIG_DEBUG_SG is not set | 1825 | # CONFIG_DEBUG_SG is not set |
1786 | # CONFIG_DEBUG_NOTIFIERS is not set | 1826 | # CONFIG_DEBUG_NOTIFIERS is not set |
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h index aea714797590..d553bbeb726c 100644 --- a/arch/powerpc/include/asm/ppc-opcode.h +++ b/arch/powerpc/include/asm/ppc-opcode.h | |||
@@ -25,7 +25,7 @@ | |||
25 | #define PPC_INST_LDARX 0x7c0000a8 | 25 | #define PPC_INST_LDARX 0x7c0000a8 |
26 | #define PPC_INST_LSWI 0x7c0004aa | 26 | #define PPC_INST_LSWI 0x7c0004aa |
27 | #define PPC_INST_LSWX 0x7c00042a | 27 | #define PPC_INST_LSWX 0x7c00042a |
28 | #define PPC_INST_LWARX 0x7c000029 | 28 | #define PPC_INST_LWARX 0x7c000028 |
29 | #define PPC_INST_LWSYNC 0x7c2004ac | 29 | #define PPC_INST_LWSYNC 0x7c2004ac |
30 | #define PPC_INST_LXVD2X 0x7c000698 | 30 | #define PPC_INST_LXVD2X 0x7c000698 |
31 | #define PPC_INST_MCRXR 0x7c000400 | 31 | #define PPC_INST_MCRXR 0x7c000400 |
@@ -62,8 +62,8 @@ | |||
62 | #define __PPC_T_TLB(t) (((t) & 0x3) << 21) | 62 | #define __PPC_T_TLB(t) (((t) & 0x3) << 21) |
63 | #define __PPC_WC(w) (((w) & 0x3) << 21) | 63 | #define __PPC_WC(w) (((w) & 0x3) << 21) |
64 | /* | 64 | /* |
65 | * Only use the larx hint bit on 64bit CPUs. Once we verify it doesn't have | 65 | * Only use the larx hint bit on 64bit CPUs. e500v1/v2 based CPUs will treat a |
66 | * any side effects on all 32bit processors, we can do this all the time. | 66 | * larx with EH set as an illegal instruction. |
67 | */ | 67 | */ |
68 | #ifdef CONFIG_PPC64 | 68 | #ifdef CONFIG_PPC64 |
69 | #define __PPC_EH(eh) (((eh) & 0x1) << 0) | 69 | #define __PPC_EH(eh) (((eh) & 0x1) << 0) |
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h index efa7f0b879f3..23913e902fc3 100644 --- a/arch/powerpc/include/asm/syscall.h +++ b/arch/powerpc/include/asm/syscall.h | |||
@@ -30,7 +30,7 @@ static inline void syscall_rollback(struct task_struct *task, | |||
30 | static inline long syscall_get_error(struct task_struct *task, | 30 | static inline long syscall_get_error(struct task_struct *task, |
31 | struct pt_regs *regs) | 31 | struct pt_regs *regs) |
32 | { | 32 | { |
33 | return (regs->ccr & 0x1000) ? -regs->gpr[3] : 0; | 33 | return (regs->ccr & 0x10000000) ? -regs->gpr[3] : 0; |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline long syscall_get_return_value(struct task_struct *task, | 36 | static inline long syscall_get_return_value(struct task_struct *task, |
@@ -44,10 +44,10 @@ static inline void syscall_set_return_value(struct task_struct *task, | |||
44 | int error, long val) | 44 | int error, long val) |
45 | { | 45 | { |
46 | if (error) { | 46 | if (error) { |
47 | regs->ccr |= 0x1000L; | 47 | regs->ccr |= 0x10000000L; |
48 | regs->gpr[3] = -error; | 48 | regs->gpr[3] = -error; |
49 | } else { | 49 | } else { |
50 | regs->ccr &= ~0x1000L; | 50 | regs->ccr &= ~0x10000000L; |
51 | regs->gpr[3] = val; | 51 | regs->gpr[3] = val; |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S index 25793bb0e782..725526547994 100644 --- a/arch/powerpc/kernel/head_fsl_booke.S +++ b/arch/powerpc/kernel/head_fsl_booke.S | |||
@@ -747,9 +747,6 @@ finish_tlb_load: | |||
747 | #else | 747 | #else |
748 | rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */ | 748 | rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */ |
749 | #endif | 749 | #endif |
750 | #ifdef CONFIG_SMP | ||
751 | ori r12, r12, MAS2_M | ||
752 | #endif | ||
753 | mtspr SPRN_MAS2, r12 | 750 | mtspr SPRN_MAS2, r12 |
754 | 751 | ||
755 | #ifdef CONFIG_PTE_64BIT | 752 | #ifdef CONFIG_PTE_64BIT |
@@ -887,13 +884,17 @@ KernelSPE: | |||
887 | lwz r3,_MSR(r1) | 884 | lwz r3,_MSR(r1) |
888 | oris r3,r3,MSR_SPE@h | 885 | oris r3,r3,MSR_SPE@h |
889 | stw r3,_MSR(r1) /* enable use of SPE after return */ | 886 | stw r3,_MSR(r1) /* enable use of SPE after return */ |
887 | #ifdef CONFIG_PRINTK | ||
890 | lis r3,87f@h | 888 | lis r3,87f@h |
891 | ori r3,r3,87f@l | 889 | ori r3,r3,87f@l |
892 | mr r4,r2 /* current */ | 890 | mr r4,r2 /* current */ |
893 | lwz r5,_NIP(r1) | 891 | lwz r5,_NIP(r1) |
894 | bl printk | 892 | bl printk |
893 | #endif | ||
895 | b ret_from_except | 894 | b ret_from_except |
895 | #ifdef CONFIG_PRINTK | ||
896 | 87: .string "SPE used in kernel (task=%p, pc=%x) \n" | 896 | 87: .string "SPE used in kernel (task=%p, pc=%x) \n" |
897 | #endif | ||
897 | .align 4,0 | 898 | .align 4,0 |
898 | 899 | ||
899 | #endif /* CONFIG_SPE */ | 900 | #endif /* CONFIG_SPE */ |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 5547ae6e6b0b..ec94f906ea43 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -42,12 +42,7 @@ | |||
42 | 42 | ||
43 | #define DBG(...) | 43 | #define DBG(...) |
44 | 44 | ||
45 | #ifdef CONFIG_IOMMU_VMERGE | 45 | static int novmerge; |
46 | static int novmerge = 0; | ||
47 | #else | ||
48 | static int novmerge = 1; | ||
49 | #endif | ||
50 | |||
51 | static int protect4gb = 1; | 46 | static int protect4gb = 1; |
52 | 47 | ||
53 | static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); | 48 | static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); |
diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c index 5120bd44f69a..08460a2e9f41 100644 --- a/arch/powerpc/kernel/perf_event.c +++ b/arch/powerpc/kernel/perf_event.c | |||
@@ -1287,7 +1287,7 @@ static void perf_event_interrupt(struct pt_regs *regs) | |||
1287 | irq_exit(); | 1287 | irq_exit(); |
1288 | } | 1288 | } |
1289 | 1289 | ||
1290 | void hw_perf_event_setup(int cpu) | 1290 | static void power_pmu_setup(int cpu) |
1291 | { | 1291 | { |
1292 | struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); | 1292 | struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); |
1293 | 1293 | ||
@@ -1297,6 +1297,23 @@ void hw_perf_event_setup(int cpu) | |||
1297 | cpuhw->mmcr[0] = MMCR0_FC; | 1297 | cpuhw->mmcr[0] = MMCR0_FC; |
1298 | } | 1298 | } |
1299 | 1299 | ||
1300 | static int __cpuinit | ||
1301 | power_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu) | ||
1302 | { | ||
1303 | unsigned int cpu = (long)hcpu; | ||
1304 | |||
1305 | switch (action & ~CPU_TASKS_FROZEN) { | ||
1306 | case CPU_UP_PREPARE: | ||
1307 | power_pmu_setup(cpu); | ||
1308 | break; | ||
1309 | |||
1310 | default: | ||
1311 | break; | ||
1312 | } | ||
1313 | |||
1314 | return NOTIFY_OK; | ||
1315 | } | ||
1316 | |||
1300 | int register_power_pmu(struct power_pmu *pmu) | 1317 | int register_power_pmu(struct power_pmu *pmu) |
1301 | { | 1318 | { |
1302 | if (ppmu) | 1319 | if (ppmu) |
@@ -1314,5 +1331,7 @@ int register_power_pmu(struct power_pmu *pmu) | |||
1314 | freeze_events_kernel = MMCR0_FCHV; | 1331 | freeze_events_kernel = MMCR0_FCHV; |
1315 | #endif /* CONFIG_PPC64 */ | 1332 | #endif /* CONFIG_PPC64 */ |
1316 | 1333 | ||
1334 | perf_cpu_notifier(power_pmu_notifier); | ||
1335 | |||
1317 | return 0; | 1336 | return 0; |
1318 | } | 1337 | } |
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index b152de3e64d4..8f58986c2ad9 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <asm/serial.h> | 39 | #include <asm/serial.h> |
40 | #include <asm/udbg.h> | 40 | #include <asm/udbg.h> |
41 | #include <asm/mmu_context.h> | 41 | #include <asm/mmu_context.h> |
42 | #include <asm/swiotlb.h> | ||
43 | 42 | ||
44 | #include "setup.h" | 43 | #include "setup.h" |
45 | 44 | ||
@@ -343,11 +342,6 @@ void __init setup_arch(char **cmdline_p) | |||
343 | ppc_md.setup_arch(); | 342 | ppc_md.setup_arch(); |
344 | if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); | 343 | if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); |
345 | 344 | ||
346 | #ifdef CONFIG_SWIOTLB | ||
347 | if (ppc_swiotlb_enable) | ||
348 | swiotlb_init(1); | ||
349 | #endif | ||
350 | |||
351 | paging_init(); | 345 | paging_init(); |
352 | 346 | ||
353 | /* Initialize the MMU context management stuff */ | 347 | /* Initialize the MMU context management stuff */ |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 63547394048c..914389158a9b 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -61,7 +61,6 @@ | |||
61 | #include <asm/xmon.h> | 61 | #include <asm/xmon.h> |
62 | #include <asm/udbg.h> | 62 | #include <asm/udbg.h> |
63 | #include <asm/kexec.h> | 63 | #include <asm/kexec.h> |
64 | #include <asm/swiotlb.h> | ||
65 | #include <asm/mmu_context.h> | 64 | #include <asm/mmu_context.h> |
66 | 65 | ||
67 | #include "setup.h" | 66 | #include "setup.h" |
@@ -541,11 +540,6 @@ void __init setup_arch(char **cmdline_p) | |||
541 | if (ppc_md.setup_arch) | 540 | if (ppc_md.setup_arch) |
542 | ppc_md.setup_arch(); | 541 | ppc_md.setup_arch(); |
543 | 542 | ||
544 | #ifdef CONFIG_SWIOTLB | ||
545 | if (ppc_swiotlb_enable) | ||
546 | swiotlb_init(1); | ||
547 | #endif | ||
548 | |||
549 | paging_init(); | 543 | paging_init(); |
550 | 544 | ||
551 | /* Initialize the MMU context management stuff */ | 545 | /* Initialize the MMU context management stuff */ |
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 311224cdb7ad..448f972b22f5 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <asm/sparsemem.h> | 48 | #include <asm/sparsemem.h> |
49 | #include <asm/vdso.h> | 49 | #include <asm/vdso.h> |
50 | #include <asm/fixmap.h> | 50 | #include <asm/fixmap.h> |
51 | #include <asm/swiotlb.h> | ||
51 | 52 | ||
52 | #include "mmu_decl.h" | 53 | #include "mmu_decl.h" |
53 | 54 | ||
@@ -320,6 +321,11 @@ void __init mem_init(void) | |||
320 | struct page *page; | 321 | struct page *page; |
321 | unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; | 322 | unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; |
322 | 323 | ||
324 | #ifdef CONFIG_SWIOTLB | ||
325 | if (ppc_swiotlb_enable) | ||
326 | swiotlb_init(1); | ||
327 | #endif | ||
328 | |||
323 | num_physpages = lmb.memory.size >> PAGE_SHIFT; | 329 | num_physpages = lmb.memory.size >> PAGE_SHIFT; |
324 | high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); | 330 | high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); |
325 | 331 | ||
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 072b948b2e2d..5d7cc88dae6b 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c | |||
@@ -711,7 +711,11 @@ static int __devinit mpc52xx_gpt_wdt_init(void) | |||
711 | return 0; | 711 | return 0; |
712 | } | 712 | } |
713 | 713 | ||
714 | #define mpc52xx_gpt_wdt_setup(x, y) (0) | 714 | static inline int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt, |
715 | const u32 *period) | ||
716 | { | ||
717 | return 0; | ||
718 | } | ||
715 | 719 | ||
716 | #endif /* CONFIG_MPC5200_WDT */ | 720 | #endif /* CONFIG_MPC5200_WDT */ |
717 | 721 | ||
diff --git a/arch/sh/include/asm/mmu.h b/arch/sh/include/asm/mmu.h index 19fe84550b49..56e4418c19b9 100644 --- a/arch/sh/include/asm/mmu.h +++ b/arch/sh/include/asm/mmu.h | |||
@@ -66,6 +66,13 @@ int pmb_unmap(void __iomem *addr); | |||
66 | 66 | ||
67 | #else | 67 | #else |
68 | 68 | ||
69 | static inline int | ||
70 | pmb_bolt_mapping(unsigned long virt, phys_addr_t phys, | ||
71 | unsigned long size, pgprot_t prot) | ||
72 | { | ||
73 | return -EINVAL; | ||
74 | } | ||
75 | |||
69 | static inline void __iomem * | 76 | static inline void __iomem * |
70 | pmb_remap_caller(phys_addr_t phys, unsigned long size, | 77 | pmb_remap_caller(phys_addr_t phys, unsigned long size, |
71 | pgprot_t prot, void *caller) | 78 | pgprot_t prot, void *caller) |
diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c index 7ff0943e7a08..9f253e9cce01 100644 --- a/arch/sh/kernel/perf_event.c +++ b/arch/sh/kernel/perf_event.c | |||
@@ -275,13 +275,30 @@ const struct pmu *hw_perf_event_init(struct perf_event *event) | |||
275 | return &pmu; | 275 | return &pmu; |
276 | } | 276 | } |
277 | 277 | ||
278 | void hw_perf_event_setup(int cpu) | 278 | static void sh_pmu_setup(int cpu) |
279 | { | 279 | { |
280 | struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); | 280 | struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); |
281 | 281 | ||
282 | memset(cpuhw, 0, sizeof(struct cpu_hw_events)); | 282 | memset(cpuhw, 0, sizeof(struct cpu_hw_events)); |
283 | } | 283 | } |
284 | 284 | ||
285 | static int __cpuinit | ||
286 | sh_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu) | ||
287 | { | ||
288 | unsigned int cpu = (long)hcpu; | ||
289 | |||
290 | switch (action & ~CPU_TASKS_FROZEN) { | ||
291 | case CPU_UP_PREPARE: | ||
292 | sh_pmu_setup(cpu); | ||
293 | break; | ||
294 | |||
295 | default: | ||
296 | break; | ||
297 | } | ||
298 | |||
299 | return NOTIFY_OK; | ||
300 | } | ||
301 | |||
285 | void hw_perf_enable(void) | 302 | void hw_perf_enable(void) |
286 | { | 303 | { |
287 | if (!sh_pmu_initialized()) | 304 | if (!sh_pmu_initialized()) |
@@ -308,5 +325,6 @@ int register_sh_pmu(struct sh_pmu *pmu) | |||
308 | 325 | ||
309 | WARN_ON(pmu->num_events > MAX_HWEVENTS); | 326 | WARN_ON(pmu->num_events > MAX_HWEVENTS); |
310 | 327 | ||
328 | perf_cpu_notifier(sh_pmu_notifier); | ||
311 | return 0; | 329 | return 0; |
312 | } | 330 | } |
diff --git a/arch/sh/mm/uncached.c b/arch/sh/mm/uncached.c index cf20a5c5136a..8a4eca551fc0 100644 --- a/arch/sh/mm/uncached.c +++ b/arch/sh/mm/uncached.c | |||
@@ -1,6 +1,8 @@ | |||
1 | #include <linux/init.h> | 1 | #include <linux/init.h> |
2 | #include <linux/module.h> | ||
2 | #include <asm/sizes.h> | 3 | #include <asm/sizes.h> |
3 | #include <asm/page.h> | 4 | #include <asm/page.h> |
5 | #include <asm/addrspace.h> | ||
4 | 6 | ||
5 | /* | 7 | /* |
6 | * This is the offset of the uncached section from its cached alias. | 8 | * This is the offset of the uncached section from its cached alias. |
@@ -15,15 +17,22 @@ | |||
15 | unsigned long cached_to_uncached = SZ_512M; | 17 | unsigned long cached_to_uncached = SZ_512M; |
16 | unsigned long uncached_size = SZ_512M; | 18 | unsigned long uncached_size = SZ_512M; |
17 | unsigned long uncached_start, uncached_end; | 19 | unsigned long uncached_start, uncached_end; |
20 | EXPORT_SYMBOL(uncached_start); | ||
21 | EXPORT_SYMBOL(uncached_end); | ||
18 | 22 | ||
19 | int virt_addr_uncached(unsigned long kaddr) | 23 | int virt_addr_uncached(unsigned long kaddr) |
20 | { | 24 | { |
21 | return (kaddr >= uncached_start) && (kaddr < uncached_end); | 25 | return (kaddr >= uncached_start) && (kaddr < uncached_end); |
22 | } | 26 | } |
27 | EXPORT_SYMBOL(virt_addr_uncached); | ||
23 | 28 | ||
24 | void __init uncached_init(void) | 29 | void __init uncached_init(void) |
25 | { | 30 | { |
31 | #ifdef CONFIG_29BIT | ||
32 | uncached_start = P2SEG; | ||
33 | #else | ||
26 | uncached_start = memory_end; | 34 | uncached_start = memory_end; |
35 | #endif | ||
27 | uncached_end = uncached_start + uncached_size; | 36 | uncached_end = uncached_start + uncached_size; |
28 | } | 37 | } |
29 | 38 | ||
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 42aafd11e170..60398a0d947c 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c | |||
@@ -133,8 +133,8 @@ struct x86_pmu { | |||
133 | int (*handle_irq)(struct pt_regs *); | 133 | int (*handle_irq)(struct pt_regs *); |
134 | void (*disable_all)(void); | 134 | void (*disable_all)(void); |
135 | void (*enable_all)(void); | 135 | void (*enable_all)(void); |
136 | void (*enable)(struct hw_perf_event *, int); | 136 | void (*enable)(struct perf_event *); |
137 | void (*disable)(struct hw_perf_event *, int); | 137 | void (*disable)(struct perf_event *); |
138 | unsigned eventsel; | 138 | unsigned eventsel; |
139 | unsigned perfctr; | 139 | unsigned perfctr; |
140 | u64 (*event_map)(int); | 140 | u64 (*event_map)(int); |
@@ -157,6 +157,11 @@ struct x86_pmu { | |||
157 | void (*put_event_constraints)(struct cpu_hw_events *cpuc, | 157 | void (*put_event_constraints)(struct cpu_hw_events *cpuc, |
158 | struct perf_event *event); | 158 | struct perf_event *event); |
159 | struct event_constraint *event_constraints; | 159 | struct event_constraint *event_constraints; |
160 | |||
161 | void (*cpu_prepare)(int cpu); | ||
162 | void (*cpu_starting)(int cpu); | ||
163 | void (*cpu_dying)(int cpu); | ||
164 | void (*cpu_dead)(int cpu); | ||
160 | }; | 165 | }; |
161 | 166 | ||
162 | static struct x86_pmu x86_pmu __read_mostly; | 167 | static struct x86_pmu x86_pmu __read_mostly; |
@@ -165,8 +170,7 @@ static DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events) = { | |||
165 | .enabled = 1, | 170 | .enabled = 1, |
166 | }; | 171 | }; |
167 | 172 | ||
168 | static int x86_perf_event_set_period(struct perf_event *event, | 173 | static int x86_perf_event_set_period(struct perf_event *event); |
169 | struct hw_perf_event *hwc, int idx); | ||
170 | 174 | ||
171 | /* | 175 | /* |
172 | * Generalized hw caching related hw_event table, filled | 176 | * Generalized hw caching related hw_event table, filled |
@@ -189,11 +193,12 @@ static u64 __read_mostly hw_cache_event_ids | |||
189 | * Returns the delta events processed. | 193 | * Returns the delta events processed. |
190 | */ | 194 | */ |
191 | static u64 | 195 | static u64 |
192 | x86_perf_event_update(struct perf_event *event, | 196 | x86_perf_event_update(struct perf_event *event) |
193 | struct hw_perf_event *hwc, int idx) | ||
194 | { | 197 | { |
198 | struct hw_perf_event *hwc = &event->hw; | ||
195 | int shift = 64 - x86_pmu.event_bits; | 199 | int shift = 64 - x86_pmu.event_bits; |
196 | u64 prev_raw_count, new_raw_count; | 200 | u64 prev_raw_count, new_raw_count; |
201 | int idx = hwc->idx; | ||
197 | s64 delta; | 202 | s64 delta; |
198 | 203 | ||
199 | if (idx == X86_PMC_IDX_FIXED_BTS) | 204 | if (idx == X86_PMC_IDX_FIXED_BTS) |
@@ -293,7 +298,7 @@ static inline bool bts_available(void) | |||
293 | return x86_pmu.enable_bts != NULL; | 298 | return x86_pmu.enable_bts != NULL; |
294 | } | 299 | } |
295 | 300 | ||
296 | static inline void init_debug_store_on_cpu(int cpu) | 301 | static void init_debug_store_on_cpu(int cpu) |
297 | { | 302 | { |
298 | struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds; | 303 | struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds; |
299 | 304 | ||
@@ -305,7 +310,7 @@ static inline void init_debug_store_on_cpu(int cpu) | |||
305 | (u32)((u64)(unsigned long)ds >> 32)); | 310 | (u32)((u64)(unsigned long)ds >> 32)); |
306 | } | 311 | } |
307 | 312 | ||
308 | static inline void fini_debug_store_on_cpu(int cpu) | 313 | static void fini_debug_store_on_cpu(int cpu) |
309 | { | 314 | { |
310 | if (!per_cpu(cpu_hw_events, cpu).ds) | 315 | if (!per_cpu(cpu_hw_events, cpu).ds) |
311 | return; | 316 | return; |
@@ -638,7 +643,7 @@ static int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign) | |||
638 | if (test_bit(hwc->idx, used_mask)) | 643 | if (test_bit(hwc->idx, used_mask)) |
639 | break; | 644 | break; |
640 | 645 | ||
641 | set_bit(hwc->idx, used_mask); | 646 | __set_bit(hwc->idx, used_mask); |
642 | if (assign) | 647 | if (assign) |
643 | assign[i] = hwc->idx; | 648 | assign[i] = hwc->idx; |
644 | } | 649 | } |
@@ -687,7 +692,7 @@ static int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign) | |||
687 | if (j == X86_PMC_IDX_MAX) | 692 | if (j == X86_PMC_IDX_MAX) |
688 | break; | 693 | break; |
689 | 694 | ||
690 | set_bit(j, used_mask); | 695 | __set_bit(j, used_mask); |
691 | 696 | ||
692 | if (assign) | 697 | if (assign) |
693 | assign[i] = j; | 698 | assign[i] = j; |
@@ -780,6 +785,7 @@ static inline int match_prev_assignment(struct hw_perf_event *hwc, | |||
780 | hwc->last_tag == cpuc->tags[i]; | 785 | hwc->last_tag == cpuc->tags[i]; |
781 | } | 786 | } |
782 | 787 | ||
788 | static int x86_pmu_start(struct perf_event *event); | ||
783 | static void x86_pmu_stop(struct perf_event *event); | 789 | static void x86_pmu_stop(struct perf_event *event); |
784 | 790 | ||
785 | void hw_perf_enable(void) | 791 | void hw_perf_enable(void) |
@@ -796,6 +802,7 @@ void hw_perf_enable(void) | |||
796 | return; | 802 | return; |
797 | 803 | ||
798 | if (cpuc->n_added) { | 804 | if (cpuc->n_added) { |
805 | int n_running = cpuc->n_events - cpuc->n_added; | ||
799 | /* | 806 | /* |
800 | * apply assignment obtained either from | 807 | * apply assignment obtained either from |
801 | * hw_perf_group_sched_in() or x86_pmu_enable() | 808 | * hw_perf_group_sched_in() or x86_pmu_enable() |
@@ -803,8 +810,7 @@ void hw_perf_enable(void) | |||
803 | * step1: save events moving to new counters | 810 | * step1: save events moving to new counters |
804 | * step2: reprogram moved events into new counters | 811 | * step2: reprogram moved events into new counters |
805 | */ | 812 | */ |
806 | for (i = 0; i < cpuc->n_events; i++) { | 813 | for (i = 0; i < n_running; i++) { |
807 | |||
808 | event = cpuc->event_list[i]; | 814 | event = cpuc->event_list[i]; |
809 | hwc = &event->hw; | 815 | hwc = &event->hw; |
810 | 816 | ||
@@ -819,29 +825,18 @@ void hw_perf_enable(void) | |||
819 | continue; | 825 | continue; |
820 | 826 | ||
821 | x86_pmu_stop(event); | 827 | x86_pmu_stop(event); |
822 | |||
823 | hwc->idx = -1; | ||
824 | } | 828 | } |
825 | 829 | ||
826 | for (i = 0; i < cpuc->n_events; i++) { | 830 | for (i = 0; i < cpuc->n_events; i++) { |
827 | |||
828 | event = cpuc->event_list[i]; | 831 | event = cpuc->event_list[i]; |
829 | hwc = &event->hw; | 832 | hwc = &event->hw; |
830 | 833 | ||
831 | if (hwc->idx == -1) { | 834 | if (!match_prev_assignment(hwc, cpuc, i)) |
832 | x86_assign_hw_event(event, cpuc, i); | 835 | x86_assign_hw_event(event, cpuc, i); |
833 | x86_perf_event_set_period(event, hwc, hwc->idx); | 836 | else if (i < n_running) |
834 | } | 837 | continue; |
835 | /* | ||
836 | * need to mark as active because x86_pmu_disable() | ||
837 | * clear active_mask and events[] yet it preserves | ||
838 | * idx | ||
839 | */ | ||
840 | set_bit(hwc->idx, cpuc->active_mask); | ||
841 | cpuc->events[hwc->idx] = event; | ||
842 | 838 | ||
843 | x86_pmu.enable(hwc, hwc->idx); | 839 | x86_pmu_start(event); |
844 | perf_event_update_userpage(event); | ||
845 | } | 840 | } |
846 | cpuc->n_added = 0; | 841 | cpuc->n_added = 0; |
847 | perf_events_lapic_init(); | 842 | perf_events_lapic_init(); |
@@ -853,15 +848,16 @@ void hw_perf_enable(void) | |||
853 | x86_pmu.enable_all(); | 848 | x86_pmu.enable_all(); |
854 | } | 849 | } |
855 | 850 | ||
856 | static inline void __x86_pmu_enable_event(struct hw_perf_event *hwc, int idx) | 851 | static inline void __x86_pmu_enable_event(struct hw_perf_event *hwc) |
857 | { | 852 | { |
858 | (void)checking_wrmsrl(hwc->config_base + idx, | 853 | (void)checking_wrmsrl(hwc->config_base + hwc->idx, |
859 | hwc->config | ARCH_PERFMON_EVENTSEL_ENABLE); | 854 | hwc->config | ARCH_PERFMON_EVENTSEL_ENABLE); |
860 | } | 855 | } |
861 | 856 | ||
862 | static inline void x86_pmu_disable_event(struct hw_perf_event *hwc, int idx) | 857 | static inline void x86_pmu_disable_event(struct perf_event *event) |
863 | { | 858 | { |
864 | (void)checking_wrmsrl(hwc->config_base + idx, hwc->config); | 859 | struct hw_perf_event *hwc = &event->hw; |
860 | (void)checking_wrmsrl(hwc->config_base + hwc->idx, hwc->config); | ||
865 | } | 861 | } |
866 | 862 | ||
867 | static DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left); | 863 | static DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left); |
@@ -871,12 +867,12 @@ static DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left); | |||
871 | * To be called with the event disabled in hw: | 867 | * To be called with the event disabled in hw: |
872 | */ | 868 | */ |
873 | static int | 869 | static int |
874 | x86_perf_event_set_period(struct perf_event *event, | 870 | x86_perf_event_set_period(struct perf_event *event) |
875 | struct hw_perf_event *hwc, int idx) | ||
876 | { | 871 | { |
872 | struct hw_perf_event *hwc = &event->hw; | ||
877 | s64 left = atomic64_read(&hwc->period_left); | 873 | s64 left = atomic64_read(&hwc->period_left); |
878 | s64 period = hwc->sample_period; | 874 | s64 period = hwc->sample_period; |
879 | int err, ret = 0; | 875 | int err, ret = 0, idx = hwc->idx; |
880 | 876 | ||
881 | if (idx == X86_PMC_IDX_FIXED_BTS) | 877 | if (idx == X86_PMC_IDX_FIXED_BTS) |
882 | return 0; | 878 | return 0; |
@@ -922,11 +918,11 @@ x86_perf_event_set_period(struct perf_event *event, | |||
922 | return ret; | 918 | return ret; |
923 | } | 919 | } |
924 | 920 | ||
925 | static void x86_pmu_enable_event(struct hw_perf_event *hwc, int idx) | 921 | static void x86_pmu_enable_event(struct perf_event *event) |
926 | { | 922 | { |
927 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | 923 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); |
928 | if (cpuc->enabled) | 924 | if (cpuc->enabled) |
929 | __x86_pmu_enable_event(hwc, idx); | 925 | __x86_pmu_enable_event(&event->hw); |
930 | } | 926 | } |
931 | 927 | ||
932 | /* | 928 | /* |
@@ -962,34 +958,32 @@ static int x86_pmu_enable(struct perf_event *event) | |||
962 | memcpy(cpuc->assign, assign, n*sizeof(int)); | 958 | memcpy(cpuc->assign, assign, n*sizeof(int)); |
963 | 959 | ||
964 | cpuc->n_events = n; | 960 | cpuc->n_events = n; |
965 | cpuc->n_added = n - n0; | 961 | cpuc->n_added += n - n0; |
966 | 962 | ||
967 | return 0; | 963 | return 0; |
968 | } | 964 | } |
969 | 965 | ||
970 | static int x86_pmu_start(struct perf_event *event) | 966 | static int x86_pmu_start(struct perf_event *event) |
971 | { | 967 | { |
972 | struct hw_perf_event *hwc = &event->hw; | 968 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); |
969 | int idx = event->hw.idx; | ||
973 | 970 | ||
974 | if (hwc->idx == -1) | 971 | if (idx == -1) |
975 | return -EAGAIN; | 972 | return -EAGAIN; |
976 | 973 | ||
977 | x86_perf_event_set_period(event, hwc, hwc->idx); | 974 | x86_perf_event_set_period(event); |
978 | x86_pmu.enable(hwc, hwc->idx); | 975 | cpuc->events[idx] = event; |
976 | __set_bit(idx, cpuc->active_mask); | ||
977 | x86_pmu.enable(event); | ||
978 | perf_event_update_userpage(event); | ||
979 | 979 | ||
980 | return 0; | 980 | return 0; |
981 | } | 981 | } |
982 | 982 | ||
983 | static void x86_pmu_unthrottle(struct perf_event *event) | 983 | static void x86_pmu_unthrottle(struct perf_event *event) |
984 | { | 984 | { |
985 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | 985 | int ret = x86_pmu_start(event); |
986 | struct hw_perf_event *hwc = &event->hw; | 986 | WARN_ON_ONCE(ret); |
987 | |||
988 | if (WARN_ON_ONCE(hwc->idx >= X86_PMC_IDX_MAX || | ||
989 | cpuc->events[hwc->idx] != event)) | ||
990 | return; | ||
991 | |||
992 | x86_pmu.enable(hwc, hwc->idx); | ||
993 | } | 987 | } |
994 | 988 | ||
995 | void perf_event_print_debug(void) | 989 | void perf_event_print_debug(void) |
@@ -1049,18 +1043,16 @@ static void x86_pmu_stop(struct perf_event *event) | |||
1049 | struct hw_perf_event *hwc = &event->hw; | 1043 | struct hw_perf_event *hwc = &event->hw; |
1050 | int idx = hwc->idx; | 1044 | int idx = hwc->idx; |
1051 | 1045 | ||
1052 | /* | 1046 | if (!__test_and_clear_bit(idx, cpuc->active_mask)) |
1053 | * Must be done before we disable, otherwise the nmi handler | 1047 | return; |
1054 | * could reenable again: | 1048 | |
1055 | */ | 1049 | x86_pmu.disable(event); |
1056 | clear_bit(idx, cpuc->active_mask); | ||
1057 | x86_pmu.disable(hwc, idx); | ||
1058 | 1050 | ||
1059 | /* | 1051 | /* |
1060 | * Drain the remaining delta count out of a event | 1052 | * Drain the remaining delta count out of a event |
1061 | * that we are disabling: | 1053 | * that we are disabling: |
1062 | */ | 1054 | */ |
1063 | x86_perf_event_update(event, hwc, idx); | 1055 | x86_perf_event_update(event); |
1064 | 1056 | ||
1065 | cpuc->events[idx] = NULL; | 1057 | cpuc->events[idx] = NULL; |
1066 | } | 1058 | } |
@@ -1108,7 +1100,7 @@ static int x86_pmu_handle_irq(struct pt_regs *regs) | |||
1108 | event = cpuc->events[idx]; | 1100 | event = cpuc->events[idx]; |
1109 | hwc = &event->hw; | 1101 | hwc = &event->hw; |
1110 | 1102 | ||
1111 | val = x86_perf_event_update(event, hwc, idx); | 1103 | val = x86_perf_event_update(event); |
1112 | if (val & (1ULL << (x86_pmu.event_bits - 1))) | 1104 | if (val & (1ULL << (x86_pmu.event_bits - 1))) |
1113 | continue; | 1105 | continue; |
1114 | 1106 | ||
@@ -1118,11 +1110,11 @@ static int x86_pmu_handle_irq(struct pt_regs *regs) | |||
1118 | handled = 1; | 1110 | handled = 1; |
1119 | data.period = event->hw.last_period; | 1111 | data.period = event->hw.last_period; |
1120 | 1112 | ||
1121 | if (!x86_perf_event_set_period(event, hwc, idx)) | 1113 | if (!x86_perf_event_set_period(event)) |
1122 | continue; | 1114 | continue; |
1123 | 1115 | ||
1124 | if (perf_event_overflow(event, 1, &data, regs)) | 1116 | if (perf_event_overflow(event, 1, &data, regs)) |
1125 | x86_pmu.disable(hwc, idx); | 1117 | x86_pmu_stop(event); |
1126 | } | 1118 | } |
1127 | 1119 | ||
1128 | if (handled) | 1120 | if (handled) |
@@ -1309,7 +1301,7 @@ int hw_perf_group_sched_in(struct perf_event *leader, | |||
1309 | memcpy(cpuc->assign, assign, n0*sizeof(int)); | 1301 | memcpy(cpuc->assign, assign, n0*sizeof(int)); |
1310 | 1302 | ||
1311 | cpuc->n_events = n0; | 1303 | cpuc->n_events = n0; |
1312 | cpuc->n_added = n1; | 1304 | cpuc->n_added += n1; |
1313 | ctx->nr_active += n1; | 1305 | ctx->nr_active += n1; |
1314 | 1306 | ||
1315 | /* | 1307 | /* |
@@ -1337,6 +1329,39 @@ undo: | |||
1337 | #include "perf_event_p6.c" | 1329 | #include "perf_event_p6.c" |
1338 | #include "perf_event_intel.c" | 1330 | #include "perf_event_intel.c" |
1339 | 1331 | ||
1332 | static int __cpuinit | ||
1333 | x86_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu) | ||
1334 | { | ||
1335 | unsigned int cpu = (long)hcpu; | ||
1336 | |||
1337 | switch (action & ~CPU_TASKS_FROZEN) { | ||
1338 | case CPU_UP_PREPARE: | ||
1339 | if (x86_pmu.cpu_prepare) | ||
1340 | x86_pmu.cpu_prepare(cpu); | ||
1341 | break; | ||
1342 | |||
1343 | case CPU_STARTING: | ||
1344 | if (x86_pmu.cpu_starting) | ||
1345 | x86_pmu.cpu_starting(cpu); | ||
1346 | break; | ||
1347 | |||
1348 | case CPU_DYING: | ||
1349 | if (x86_pmu.cpu_dying) | ||
1350 | x86_pmu.cpu_dying(cpu); | ||
1351 | break; | ||
1352 | |||
1353 | case CPU_DEAD: | ||
1354 | if (x86_pmu.cpu_dead) | ||
1355 | x86_pmu.cpu_dead(cpu); | ||
1356 | break; | ||
1357 | |||
1358 | default: | ||
1359 | break; | ||
1360 | } | ||
1361 | |||
1362 | return NOTIFY_OK; | ||
1363 | } | ||
1364 | |||
1340 | static void __init pmu_check_apic(void) | 1365 | static void __init pmu_check_apic(void) |
1341 | { | 1366 | { |
1342 | if (cpu_has_apic) | 1367 | if (cpu_has_apic) |
@@ -1415,11 +1440,13 @@ void __init init_hw_perf_events(void) | |||
1415 | pr_info("... max period: %016Lx\n", x86_pmu.max_period); | 1440 | pr_info("... max period: %016Lx\n", x86_pmu.max_period); |
1416 | pr_info("... fixed-purpose events: %d\n", x86_pmu.num_events_fixed); | 1441 | pr_info("... fixed-purpose events: %d\n", x86_pmu.num_events_fixed); |
1417 | pr_info("... event mask: %016Lx\n", perf_event_mask); | 1442 | pr_info("... event mask: %016Lx\n", perf_event_mask); |
1443 | |||
1444 | perf_cpu_notifier(x86_pmu_notifier); | ||
1418 | } | 1445 | } |
1419 | 1446 | ||
1420 | static inline void x86_pmu_read(struct perf_event *event) | 1447 | static inline void x86_pmu_read(struct perf_event *event) |
1421 | { | 1448 | { |
1422 | x86_perf_event_update(event, &event->hw, event->hw.idx); | 1449 | x86_perf_event_update(event); |
1423 | } | 1450 | } |
1424 | 1451 | ||
1425 | static const struct pmu pmu = { | 1452 | static const struct pmu pmu = { |
@@ -1675,28 +1702,16 @@ struct perf_callchain_entry *perf_callchain(struct pt_regs *regs) | |||
1675 | return entry; | 1702 | return entry; |
1676 | } | 1703 | } |
1677 | 1704 | ||
1678 | void hw_perf_event_setup_online(int cpu) | 1705 | #ifdef CONFIG_EVENT_TRACING |
1706 | void perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int skip) | ||
1679 | { | 1707 | { |
1680 | init_debug_store_on_cpu(cpu); | 1708 | regs->ip = ip; |
1681 | 1709 | /* | |
1682 | switch (boot_cpu_data.x86_vendor) { | 1710 | * perf_arch_fetch_caller_regs adds another call, we need to increment |
1683 | case X86_VENDOR_AMD: | 1711 | * the skip level |
1684 | amd_pmu_cpu_online(cpu); | 1712 | */ |
1685 | break; | 1713 | regs->bp = rewind_frame_pointer(skip + 1); |
1686 | default: | 1714 | regs->cs = __KERNEL_CS; |
1687 | return; | 1715 | local_save_flags(regs->flags); |
1688 | } | ||
1689 | } | ||
1690 | |||
1691 | void hw_perf_event_setup_offline(int cpu) | ||
1692 | { | ||
1693 | init_debug_store_on_cpu(cpu); | ||
1694 | |||
1695 | switch (boot_cpu_data.x86_vendor) { | ||
1696 | case X86_VENDOR_AMD: | ||
1697 | amd_pmu_cpu_offline(cpu); | ||
1698 | break; | ||
1699 | default: | ||
1700 | return; | ||
1701 | } | ||
1702 | } | 1716 | } |
1717 | #endif | ||
diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c index 8f3dbfda3c4f..b87e0b6970cb 100644 --- a/arch/x86/kernel/cpu/perf_event_amd.c +++ b/arch/x86/kernel/cpu/perf_event_amd.c | |||
@@ -271,28 +271,6 @@ done: | |||
271 | return &emptyconstraint; | 271 | return &emptyconstraint; |
272 | } | 272 | } |
273 | 273 | ||
274 | static __initconst struct x86_pmu amd_pmu = { | ||
275 | .name = "AMD", | ||
276 | .handle_irq = x86_pmu_handle_irq, | ||
277 | .disable_all = x86_pmu_disable_all, | ||
278 | .enable_all = x86_pmu_enable_all, | ||
279 | .enable = x86_pmu_enable_event, | ||
280 | .disable = x86_pmu_disable_event, | ||
281 | .eventsel = MSR_K7_EVNTSEL0, | ||
282 | .perfctr = MSR_K7_PERFCTR0, | ||
283 | .event_map = amd_pmu_event_map, | ||
284 | .raw_event = amd_pmu_raw_event, | ||
285 | .max_events = ARRAY_SIZE(amd_perfmon_event_map), | ||
286 | .num_events = 4, | ||
287 | .event_bits = 48, | ||
288 | .event_mask = (1ULL << 48) - 1, | ||
289 | .apic = 1, | ||
290 | /* use highest bit to detect overflow */ | ||
291 | .max_period = (1ULL << 47) - 1, | ||
292 | .get_event_constraints = amd_get_event_constraints, | ||
293 | .put_event_constraints = amd_put_event_constraints | ||
294 | }; | ||
295 | |||
296 | static struct amd_nb *amd_alloc_nb(int cpu, int nb_id) | 274 | static struct amd_nb *amd_alloc_nb(int cpu, int nb_id) |
297 | { | 275 | { |
298 | struct amd_nb *nb; | 276 | struct amd_nb *nb; |
@@ -309,7 +287,7 @@ static struct amd_nb *amd_alloc_nb(int cpu, int nb_id) | |||
309 | * initialize all possible NB constraints | 287 | * initialize all possible NB constraints |
310 | */ | 288 | */ |
311 | for (i = 0; i < x86_pmu.num_events; i++) { | 289 | for (i = 0; i < x86_pmu.num_events; i++) { |
312 | set_bit(i, nb->event_constraints[i].idxmsk); | 290 | __set_bit(i, nb->event_constraints[i].idxmsk); |
313 | nb->event_constraints[i].weight = 1; | 291 | nb->event_constraints[i].weight = 1; |
314 | } | 292 | } |
315 | return nb; | 293 | return nb; |
@@ -370,14 +348,41 @@ static void amd_pmu_cpu_offline(int cpu) | |||
370 | 348 | ||
371 | raw_spin_lock(&amd_nb_lock); | 349 | raw_spin_lock(&amd_nb_lock); |
372 | 350 | ||
373 | if (--cpuhw->amd_nb->refcnt == 0) | 351 | if (cpuhw->amd_nb) { |
374 | kfree(cpuhw->amd_nb); | 352 | if (--cpuhw->amd_nb->refcnt == 0) |
353 | kfree(cpuhw->amd_nb); | ||
375 | 354 | ||
376 | cpuhw->amd_nb = NULL; | 355 | cpuhw->amd_nb = NULL; |
356 | } | ||
377 | 357 | ||
378 | raw_spin_unlock(&amd_nb_lock); | 358 | raw_spin_unlock(&amd_nb_lock); |
379 | } | 359 | } |
380 | 360 | ||
361 | static __initconst struct x86_pmu amd_pmu = { | ||
362 | .name = "AMD", | ||
363 | .handle_irq = x86_pmu_handle_irq, | ||
364 | .disable_all = x86_pmu_disable_all, | ||
365 | .enable_all = x86_pmu_enable_all, | ||
366 | .enable = x86_pmu_enable_event, | ||
367 | .disable = x86_pmu_disable_event, | ||
368 | .eventsel = MSR_K7_EVNTSEL0, | ||
369 | .perfctr = MSR_K7_PERFCTR0, | ||
370 | .event_map = amd_pmu_event_map, | ||
371 | .raw_event = amd_pmu_raw_event, | ||
372 | .max_events = ARRAY_SIZE(amd_perfmon_event_map), | ||
373 | .num_events = 4, | ||
374 | .event_bits = 48, | ||
375 | .event_mask = (1ULL << 48) - 1, | ||
376 | .apic = 1, | ||
377 | /* use highest bit to detect overflow */ | ||
378 | .max_period = (1ULL << 47) - 1, | ||
379 | .get_event_constraints = amd_get_event_constraints, | ||
380 | .put_event_constraints = amd_put_event_constraints, | ||
381 | |||
382 | .cpu_prepare = amd_pmu_cpu_online, | ||
383 | .cpu_dead = amd_pmu_cpu_offline, | ||
384 | }; | ||
385 | |||
381 | static __init int amd_pmu_init(void) | 386 | static __init int amd_pmu_init(void) |
382 | { | 387 | { |
383 | /* Performance-monitoring supported from K7 and later: */ | 388 | /* Performance-monitoring supported from K7 and later: */ |
@@ -390,11 +395,6 @@ static __init int amd_pmu_init(void) | |||
390 | memcpy(hw_cache_event_ids, amd_hw_cache_event_ids, | 395 | memcpy(hw_cache_event_ids, amd_hw_cache_event_ids, |
391 | sizeof(hw_cache_event_ids)); | 396 | sizeof(hw_cache_event_ids)); |
392 | 397 | ||
393 | /* | ||
394 | * explicitly initialize the boot cpu, other cpus will get | ||
395 | * the cpu hotplug callbacks from smp_init() | ||
396 | */ | ||
397 | amd_pmu_cpu_online(smp_processor_id()); | ||
398 | return 0; | 398 | return 0; |
399 | } | 399 | } |
400 | 400 | ||
@@ -405,12 +405,4 @@ static int amd_pmu_init(void) | |||
405 | return 0; | 405 | return 0; |
406 | } | 406 | } |
407 | 407 | ||
408 | static void amd_pmu_cpu_online(int cpu) | ||
409 | { | ||
410 | } | ||
411 | |||
412 | static void amd_pmu_cpu_offline(int cpu) | ||
413 | { | ||
414 | } | ||
415 | |||
416 | #endif | 408 | #endif |
diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c index 44b60c852107..84bfde64a337 100644 --- a/arch/x86/kernel/cpu/perf_event_intel.c +++ b/arch/x86/kernel/cpu/perf_event_intel.c | |||
@@ -548,9 +548,9 @@ static inline void intel_pmu_ack_status(u64 ack) | |||
548 | } | 548 | } |
549 | 549 | ||
550 | static inline void | 550 | static inline void |
551 | intel_pmu_disable_fixed(struct hw_perf_event *hwc, int __idx) | 551 | intel_pmu_disable_fixed(struct hw_perf_event *hwc) |
552 | { | 552 | { |
553 | int idx = __idx - X86_PMC_IDX_FIXED; | 553 | int idx = hwc->idx - X86_PMC_IDX_FIXED; |
554 | u64 ctrl_val, mask; | 554 | u64 ctrl_val, mask; |
555 | 555 | ||
556 | mask = 0xfULL << (idx * 4); | 556 | mask = 0xfULL << (idx * 4); |
@@ -621,26 +621,28 @@ static void intel_pmu_drain_bts_buffer(void) | |||
621 | } | 621 | } |
622 | 622 | ||
623 | static inline void | 623 | static inline void |
624 | intel_pmu_disable_event(struct hw_perf_event *hwc, int idx) | 624 | intel_pmu_disable_event(struct perf_event *event) |
625 | { | 625 | { |
626 | if (unlikely(idx == X86_PMC_IDX_FIXED_BTS)) { | 626 | struct hw_perf_event *hwc = &event->hw; |
627 | |||
628 | if (unlikely(hwc->idx == X86_PMC_IDX_FIXED_BTS)) { | ||
627 | intel_pmu_disable_bts(); | 629 | intel_pmu_disable_bts(); |
628 | intel_pmu_drain_bts_buffer(); | 630 | intel_pmu_drain_bts_buffer(); |
629 | return; | 631 | return; |
630 | } | 632 | } |
631 | 633 | ||
632 | if (unlikely(hwc->config_base == MSR_ARCH_PERFMON_FIXED_CTR_CTRL)) { | 634 | if (unlikely(hwc->config_base == MSR_ARCH_PERFMON_FIXED_CTR_CTRL)) { |
633 | intel_pmu_disable_fixed(hwc, idx); | 635 | intel_pmu_disable_fixed(hwc); |
634 | return; | 636 | return; |
635 | } | 637 | } |
636 | 638 | ||
637 | x86_pmu_disable_event(hwc, idx); | 639 | x86_pmu_disable_event(event); |
638 | } | 640 | } |
639 | 641 | ||
640 | static inline void | 642 | static inline void |
641 | intel_pmu_enable_fixed(struct hw_perf_event *hwc, int __idx) | 643 | intel_pmu_enable_fixed(struct hw_perf_event *hwc) |
642 | { | 644 | { |
643 | int idx = __idx - X86_PMC_IDX_FIXED; | 645 | int idx = hwc->idx - X86_PMC_IDX_FIXED; |
644 | u64 ctrl_val, bits, mask; | 646 | u64 ctrl_val, bits, mask; |
645 | int err; | 647 | int err; |
646 | 648 | ||
@@ -670,9 +672,11 @@ intel_pmu_enable_fixed(struct hw_perf_event *hwc, int __idx) | |||
670 | err = checking_wrmsrl(hwc->config_base, ctrl_val); | 672 | err = checking_wrmsrl(hwc->config_base, ctrl_val); |
671 | } | 673 | } |
672 | 674 | ||
673 | static void intel_pmu_enable_event(struct hw_perf_event *hwc, int idx) | 675 | static void intel_pmu_enable_event(struct perf_event *event) |
674 | { | 676 | { |
675 | if (unlikely(idx == X86_PMC_IDX_FIXED_BTS)) { | 677 | struct hw_perf_event *hwc = &event->hw; |
678 | |||
679 | if (unlikely(hwc->idx == X86_PMC_IDX_FIXED_BTS)) { | ||
676 | if (!__get_cpu_var(cpu_hw_events).enabled) | 680 | if (!__get_cpu_var(cpu_hw_events).enabled) |
677 | return; | 681 | return; |
678 | 682 | ||
@@ -681,11 +685,11 @@ static void intel_pmu_enable_event(struct hw_perf_event *hwc, int idx) | |||
681 | } | 685 | } |
682 | 686 | ||
683 | if (unlikely(hwc->config_base == MSR_ARCH_PERFMON_FIXED_CTR_CTRL)) { | 687 | if (unlikely(hwc->config_base == MSR_ARCH_PERFMON_FIXED_CTR_CTRL)) { |
684 | intel_pmu_enable_fixed(hwc, idx); | 688 | intel_pmu_enable_fixed(hwc); |
685 | return; | 689 | return; |
686 | } | 690 | } |
687 | 691 | ||
688 | __x86_pmu_enable_event(hwc, idx); | 692 | __x86_pmu_enable_event(hwc); |
689 | } | 693 | } |
690 | 694 | ||
691 | /* | 695 | /* |
@@ -694,14 +698,8 @@ static void intel_pmu_enable_event(struct hw_perf_event *hwc, int idx) | |||
694 | */ | 698 | */ |
695 | static int intel_pmu_save_and_restart(struct perf_event *event) | 699 | static int intel_pmu_save_and_restart(struct perf_event *event) |
696 | { | 700 | { |
697 | struct hw_perf_event *hwc = &event->hw; | 701 | x86_perf_event_update(event); |
698 | int idx = hwc->idx; | 702 | return x86_perf_event_set_period(event); |
699 | int ret; | ||
700 | |||
701 | x86_perf_event_update(event, hwc, idx); | ||
702 | ret = x86_perf_event_set_period(event, hwc, idx); | ||
703 | |||
704 | return ret; | ||
705 | } | 703 | } |
706 | 704 | ||
707 | static void intel_pmu_reset(void) | 705 | static void intel_pmu_reset(void) |
@@ -745,11 +743,11 @@ static int intel_pmu_handle_irq(struct pt_regs *regs) | |||
745 | 743 | ||
746 | cpuc = &__get_cpu_var(cpu_hw_events); | 744 | cpuc = &__get_cpu_var(cpu_hw_events); |
747 | 745 | ||
748 | perf_disable(); | 746 | intel_pmu_disable_all(); |
749 | intel_pmu_drain_bts_buffer(); | 747 | intel_pmu_drain_bts_buffer(); |
750 | status = intel_pmu_get_status(); | 748 | status = intel_pmu_get_status(); |
751 | if (!status) { | 749 | if (!status) { |
752 | perf_enable(); | 750 | intel_pmu_enable_all(); |
753 | return 0; | 751 | return 0; |
754 | } | 752 | } |
755 | 753 | ||
@@ -759,8 +757,7 @@ again: | |||
759 | WARN_ONCE(1, "perfevents: irq loop stuck!\n"); | 757 | WARN_ONCE(1, "perfevents: irq loop stuck!\n"); |
760 | perf_event_print_debug(); | 758 | perf_event_print_debug(); |
761 | intel_pmu_reset(); | 759 | intel_pmu_reset(); |
762 | perf_enable(); | 760 | goto done; |
763 | return 1; | ||
764 | } | 761 | } |
765 | 762 | ||
766 | inc_irq_stat(apic_perf_irqs); | 763 | inc_irq_stat(apic_perf_irqs); |
@@ -768,7 +765,6 @@ again: | |||
768 | for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) { | 765 | for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) { |
769 | struct perf_event *event = cpuc->events[bit]; | 766 | struct perf_event *event = cpuc->events[bit]; |
770 | 767 | ||
771 | clear_bit(bit, (unsigned long *) &status); | ||
772 | if (!test_bit(bit, cpuc->active_mask)) | 768 | if (!test_bit(bit, cpuc->active_mask)) |
773 | continue; | 769 | continue; |
774 | 770 | ||
@@ -778,7 +774,7 @@ again: | |||
778 | data.period = event->hw.last_period; | 774 | data.period = event->hw.last_period; |
779 | 775 | ||
780 | if (perf_event_overflow(event, 1, &data, regs)) | 776 | if (perf_event_overflow(event, 1, &data, regs)) |
781 | intel_pmu_disable_event(&event->hw, bit); | 777 | x86_pmu_stop(event); |
782 | } | 778 | } |
783 | 779 | ||
784 | intel_pmu_ack_status(ack); | 780 | intel_pmu_ack_status(ack); |
@@ -790,8 +786,8 @@ again: | |||
790 | if (status) | 786 | if (status) |
791 | goto again; | 787 | goto again; |
792 | 788 | ||
793 | perf_enable(); | 789 | done: |
794 | 790 | intel_pmu_enable_all(); | |
795 | return 1; | 791 | return 1; |
796 | } | 792 | } |
797 | 793 | ||
@@ -870,7 +866,10 @@ static __initconst struct x86_pmu intel_pmu = { | |||
870 | .max_period = (1ULL << 31) - 1, | 866 | .max_period = (1ULL << 31) - 1, |
871 | .enable_bts = intel_pmu_enable_bts, | 867 | .enable_bts = intel_pmu_enable_bts, |
872 | .disable_bts = intel_pmu_disable_bts, | 868 | .disable_bts = intel_pmu_disable_bts, |
873 | .get_event_constraints = intel_get_event_constraints | 869 | .get_event_constraints = intel_get_event_constraints, |
870 | |||
871 | .cpu_starting = init_debug_store_on_cpu, | ||
872 | .cpu_dying = fini_debug_store_on_cpu, | ||
874 | }; | 873 | }; |
875 | 874 | ||
876 | static __init int intel_pmu_init(void) | 875 | static __init int intel_pmu_init(void) |
diff --git a/arch/x86/kernel/cpu/perf_event_p6.c b/arch/x86/kernel/cpu/perf_event_p6.c index a4e67b99d91c..a330485d14da 100644 --- a/arch/x86/kernel/cpu/perf_event_p6.c +++ b/arch/x86/kernel/cpu/perf_event_p6.c | |||
@@ -77,27 +77,29 @@ static void p6_pmu_enable_all(void) | |||
77 | } | 77 | } |
78 | 78 | ||
79 | static inline void | 79 | static inline void |
80 | p6_pmu_disable_event(struct hw_perf_event *hwc, int idx) | 80 | p6_pmu_disable_event(struct perf_event *event) |
81 | { | 81 | { |
82 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | 82 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); |
83 | struct hw_perf_event *hwc = &event->hw; | ||
83 | u64 val = P6_NOP_EVENT; | 84 | u64 val = P6_NOP_EVENT; |
84 | 85 | ||
85 | if (cpuc->enabled) | 86 | if (cpuc->enabled) |
86 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; | 87 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; |
87 | 88 | ||
88 | (void)checking_wrmsrl(hwc->config_base + idx, val); | 89 | (void)checking_wrmsrl(hwc->config_base + hwc->idx, val); |
89 | } | 90 | } |
90 | 91 | ||
91 | static void p6_pmu_enable_event(struct hw_perf_event *hwc, int idx) | 92 | static void p6_pmu_enable_event(struct perf_event *event) |
92 | { | 93 | { |
93 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | 94 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); |
95 | struct hw_perf_event *hwc = &event->hw; | ||
94 | u64 val; | 96 | u64 val; |
95 | 97 | ||
96 | val = hwc->config; | 98 | val = hwc->config; |
97 | if (cpuc->enabled) | 99 | if (cpuc->enabled) |
98 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; | 100 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; |
99 | 101 | ||
100 | (void)checking_wrmsrl(hwc->config_base + idx, val); | 102 | (void)checking_wrmsrl(hwc->config_base + hwc->idx, val); |
101 | } | 103 | } |
102 | 104 | ||
103 | static __initconst struct x86_pmu p6_pmu = { | 105 | static __initconst struct x86_pmu p6_pmu = { |
diff --git a/arch/x86/kernel/dumpstack.h b/arch/x86/kernel/dumpstack.h index 4fd1420faffa..29e5f7c845b2 100644 --- a/arch/x86/kernel/dumpstack.h +++ b/arch/x86/kernel/dumpstack.h | |||
@@ -29,4 +29,19 @@ struct stack_frame { | |||
29 | struct stack_frame *next_frame; | 29 | struct stack_frame *next_frame; |
30 | unsigned long return_address; | 30 | unsigned long return_address; |
31 | }; | 31 | }; |
32 | |||
33 | static inline unsigned long rewind_frame_pointer(int n) | ||
34 | { | ||
35 | struct stack_frame *frame; | ||
36 | |||
37 | get_bp(frame); | ||
38 | |||
39 | #ifdef CONFIG_FRAME_POINTER | ||
40 | while (n--) | ||
41 | frame = frame->next_frame; | ||
32 | #endif | 42 | #endif |
43 | |||
44 | return (unsigned long)frame; | ||
45 | } | ||
46 | |||
47 | #endif /* DUMPSTACK_H */ | ||
diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c index d5e2a2ebb627..272c9f1f05f3 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c | |||
@@ -208,7 +208,7 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs, | |||
208 | if (in_irq_stack(stack, irq_stack, irq_stack_end)) { | 208 | if (in_irq_stack(stack, irq_stack, irq_stack_end)) { |
209 | if (ops->stack(data, "IRQ") < 0) | 209 | if (ops->stack(data, "IRQ") < 0) |
210 | break; | 210 | break; |
211 | bp = print_context_stack(tinfo, stack, bp, | 211 | bp = ops->walk_stack(tinfo, stack, bp, |
212 | ops, data, irq_stack_end, &graph); | 212 | ops, data, irq_stack_end, &graph); |
213 | /* | 213 | /* |
214 | * We link to the next stack (which would be | 214 | * We link to the next stack (which would be |
@@ -229,7 +229,7 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs, | |||
229 | /* | 229 | /* |
230 | * This handles the process stack: | 230 | * This handles the process stack: |
231 | */ | 231 | */ |
232 | bp = print_context_stack(tinfo, stack, bp, ops, data, NULL, &graph); | 232 | bp = ops->walk_stack(tinfo, stack, bp, ops, data, NULL, &graph); |
233 | put_cpu(); | 233 | put_cpu(); |
234 | } | 234 | } |
235 | EXPORT_SYMBOL(dump_trace); | 235 | EXPORT_SYMBOL(dump_trace); |