diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 12:33:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 12:33:34 -0400 |
commit | 346ad4b7fe392571f19314f153db9151dbc1d82b (patch) | |
tree | 2d4085338c9044bca2f6472893da60387db3c96f | |
parent | 845199f194306dbd69ca42d3b40a5125cdb50b89 (diff) | |
parent | 2dc63a84b2db23b9680646aff93917211613bf1a (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (85 commits)
Blackfin char driver for Blackfin on-chip OTP memory (v3)
Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer.
Blackfin Serial Driver: the uart break anomaly has been given its own number, so switch to it
Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port.
Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on bf537 when booting u-boot and linux on uart 1
Blackfin Serial Driver: punt unused lsr variable
Blackfin Serial Driver: Enable IR function when user application (irattach /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA
[Blackfin] arch: add include/boot .gitignore files
[Blackfin] arch: Functional power management support: Add support for cpu frequency scaling
[Blackfin] arch: Functional power management support: Remove broken cpu frequency scaling drivers
[Blackfin] arch: Equalize include files: Add PLL_DIV Masks
[Blackfin] arch: Add a warning about the value of CLKIN.
[Blackfin] arch: take DDR DEVWD into consideration as well for BF548
[Blackfin] arch: Remove the circular buffering mechanism for exceptions
[Blackfin] arch: lose unnecessary dependency on CONFIG_BFIN_ICACHE for MPU
[Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first.
[Blackfin] arch: add Blackfin on-chip SIR IrDA driver support
[Blackfin] arch: BF54x memsizes are in mbits, not mbytes
[Blackfin] arch: try to remove condition that causes double fault, by checking current before it gets dereferenced
[Blackfin] arch: Update anomaly list.
...
147 files changed, 12118 insertions, 2174 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 2dd1f300a5cf..795d0ac67c21 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -47,10 +47,6 @@ config GENERIC_IRQ_PROBE | |||
47 | bool | 47 | bool |
48 | default y | 48 | default y |
49 | 49 | ||
50 | config GENERIC_TIME | ||
51 | bool | ||
52 | default n | ||
53 | |||
54 | config GENERIC_GPIO | 50 | config GENERIC_GPIO |
55 | bool | 51 | bool |
56 | default y | 52 | default y |
@@ -224,16 +220,6 @@ config BF54x | |||
224 | depends on (BF542 || BF544 || BF547 || BF548 || BF549) | 220 | depends on (BF542 || BF544 || BF547 || BF548 || BF549) |
225 | default y | 221 | default y |
226 | 222 | ||
227 | config BFIN_DUAL_CORE | ||
228 | bool | ||
229 | depends on (BF561) | ||
230 | default y | ||
231 | |||
232 | config BFIN_SINGLE_CORE | ||
233 | bool | ||
234 | depends on !BFIN_DUAL_CORE | ||
235 | default y | ||
236 | |||
237 | config MEM_GENERIC_BOARD | 223 | config MEM_GENERIC_BOARD |
238 | bool | 224 | bool |
239 | depends on GENERIC_BOARD | 225 | depends on GENERIC_BOARD |
@@ -263,7 +249,7 @@ config MEM_MT48LC8M32B2B5_7 | |||
263 | 249 | ||
264 | config MEM_MT48LC32M16A2TG_75 | 250 | config MEM_MT48LC32M16A2TG_75 |
265 | bool | 251 | bool |
266 | depends on (BFIN527_EZKIT) | 252 | depends on (BFIN527_EZKIT || BFIN532_IP0X) |
267 | default y | 253 | default y |
268 | 254 | ||
269 | source "arch/blackfin/mach-bf527/Kconfig" | 255 | source "arch/blackfin/mach-bf527/Kconfig" |
@@ -286,17 +272,34 @@ config CMDLINE | |||
286 | to the kernel, you may specify one here. As a minimum, you should specify | 272 | to the kernel, you may specify one here. As a minimum, you should specify |
287 | the memory size and the root device (e.g., mem=8M, root=/dev/nfs). | 273 | the memory size and the root device (e.g., mem=8M, root=/dev/nfs). |
288 | 274 | ||
275 | config BOOT_LOAD | ||
276 | hex "Kernel load address for booting" | ||
277 | default "0x1000" | ||
278 | range 0x1000 0x20000000 | ||
279 | help | ||
280 | This option allows you to set the load address of the kernel. | ||
281 | This can be useful if you are on a board which has a small amount | ||
282 | of memory or you wish to reserve some memory at the beginning of | ||
283 | the address space. | ||
284 | |||
285 | Note that you need to keep this value above 4k (0x1000) as this | ||
286 | memory region is used to capture NULL pointer references as well | ||
287 | as some core kernel functions. | ||
288 | |||
289 | comment "Clock/PLL Setup" | 289 | comment "Clock/PLL Setup" |
290 | 290 | ||
291 | config CLKIN_HZ | 291 | config CLKIN_HZ |
292 | int "Crystal Frequency in Hz" | 292 | int "Frequency of the crystal on the board in Hz" |
293 | default "11059200" if BFIN533_STAMP | 293 | default "11059200" if BFIN533_STAMP |
294 | default "27000000" if BFIN533_EZKIT | 294 | default "27000000" if BFIN533_EZKIT |
295 | default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS) | 295 | default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS) |
296 | default "30000000" if BFIN561_EZKIT | 296 | default "30000000" if BFIN561_EZKIT |
297 | default "24576000" if PNAV10 | 297 | default "24576000" if PNAV10 |
298 | default "10000000" if BFIN532_IP0X | ||
298 | help | 299 | help |
299 | The frequency of CLKIN crystal oscillator on the board in Hz. | 300 | The frequency of CLKIN crystal oscillator on the board in Hz. |
301 | Warning: This value should match the crystal on the board. Otherwise, | ||
302 | peripherals won't work properly. | ||
300 | 303 | ||
301 | config BFIN_KERNEL_CLOCK | 304 | config BFIN_KERNEL_CLOCK |
302 | bool "Re-program Clocks while Kernel boots?" | 305 | bool "Re-program Clocks while Kernel boots?" |
@@ -307,6 +310,25 @@ config BFIN_KERNEL_CLOCK | |||
307 | are also not changed, and the Bootloader does 100% of the hardware | 310 | are also not changed, and the Bootloader does 100% of the hardware |
308 | configuration. | 311 | configuration. |
309 | 312 | ||
313 | config MEM_SIZE | ||
314 | int "SDRAM Memory Size in MBytes" | ||
315 | depends on BFIN_KERNEL_CLOCK | ||
316 | default 64 | ||
317 | |||
318 | config MEM_ADD_WIDTH | ||
319 | int "Memory Address Width" | ||
320 | depends on BFIN_KERNEL_CLOCK | ||
321 | depends on (!BF54x) | ||
322 | range 8 11 | ||
323 | default 9 if BFIN533_EZKIT | ||
324 | default 9 if BFIN561_EZKIT | ||
325 | default 9 if H8606_HVSISTEMAS | ||
326 | default 10 if BFIN527_EZKIT | ||
327 | default 10 if BFIN537_STAMP | ||
328 | default 11 if BFIN533_STAMP | ||
329 | default 10 if PNAV10 | ||
330 | default 10 if BFIN532_IP0X | ||
331 | |||
310 | config PLL_BYPASS | 332 | config PLL_BYPASS |
311 | bool "Bypass PLL" | 333 | bool "Bypass PLL" |
312 | depends on BFIN_KERNEL_CLOCK | 334 | depends on BFIN_KERNEL_CLOCK |
@@ -325,7 +347,7 @@ config VCO_MULT | |||
325 | range 1 64 | 347 | range 1 64 |
326 | default "22" if BFIN533_EZKIT | 348 | default "22" if BFIN533_EZKIT |
327 | default "45" if BFIN533_STAMP | 349 | default "45" if BFIN533_STAMP |
328 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT) | 350 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM) |
329 | default "22" if BFIN533_BLUETECHNIX_CM | 351 | default "22" if BFIN533_BLUETECHNIX_CM |
330 | default "20" if BFIN537_BLUETECHNIX_CM | 352 | default "20" if BFIN537_BLUETECHNIX_CM |
331 | default "20" if BFIN561_BLUETECHNIX_CM | 353 | default "20" if BFIN561_BLUETECHNIX_CM |
@@ -360,19 +382,33 @@ config SCLK_DIV | |||
360 | int "System Clock Divider" | 382 | int "System Clock Divider" |
361 | depends on BFIN_KERNEL_CLOCK | 383 | depends on BFIN_KERNEL_CLOCK |
362 | range 1 15 | 384 | range 1 15 |
363 | default 5 if BFIN533_EZKIT | 385 | default 5 |
364 | default 5 if BFIN533_STAMP | ||
365 | default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT) | ||
366 | default 5 if BFIN533_BLUETECHNIX_CM | ||
367 | default 4 if BFIN537_BLUETECHNIX_CM | ||
368 | default 4 if BFIN561_BLUETECHNIX_CM | ||
369 | default 5 if BFIN561_EZKIT | ||
370 | default 3 if H8606_HVSISTEMAS | ||
371 | help | 386 | help |
372 | This sets the frequency of the system clock (including SDRAM or DDR). | 387 | This sets the frequency of the system clock (including SDRAM or DDR). |
373 | This can be between 1 and 15 | 388 | This can be between 1 and 15 |
374 | System Clock = (PLL frequency) / (this setting) | 389 | System Clock = (PLL frequency) / (this setting) |
375 | 390 | ||
391 | config MAX_MEM_SIZE | ||
392 | int "Max SDRAM Memory Size in MBytes" | ||
393 | depends on !BFIN_KERNEL_CLOCK && !MPU | ||
394 | default 512 | ||
395 | help | ||
396 | This is the max memory size that the kernel will create CPLB | ||
397 | tables for. Your system will not be able to handle any more. | ||
398 | |||
399 | choice | ||
400 | prompt "DDR SDRAM Chip Type" | ||
401 | depends on BFIN_KERNEL_CLOCK | ||
402 | depends on BF54x | ||
403 | default MEM_MT46V32M16_5B | ||
404 | |||
405 | config MEM_MT46V32M16_6T | ||
406 | bool "MT46V32M16_6T" | ||
407 | |||
408 | config MEM_MT46V32M16_5B | ||
409 | bool "MT46V32M16_5B" | ||
410 | endchoice | ||
411 | |||
376 | # | 412 | # |
377 | # Max & Min Speeds for various Chips | 413 | # Max & Min Speeds for various Chips |
378 | # | 414 | # |
@@ -415,42 +451,33 @@ comment "Kernel Timer/Scheduler" | |||
415 | 451 | ||
416 | source kernel/Kconfig.hz | 452 | source kernel/Kconfig.hz |
417 | 453 | ||
418 | comment "Memory Setup" | 454 | config GENERIC_TIME |
419 | 455 | bool "Generic time" | |
420 | config MEM_SIZE | 456 | default y |
421 | int "SDRAM Memory Size in MBytes" | ||
422 | default 32 if BFIN533_EZKIT | ||
423 | default 64 if BFIN527_EZKIT | ||
424 | default 64 if BFIN537_STAMP | ||
425 | default 64 if BFIN548_EZKIT | ||
426 | default 64 if BFIN561_EZKIT | ||
427 | default 128 if BFIN533_STAMP | ||
428 | default 64 if PNAV10 | ||
429 | default 32 if H8606_HVSISTEMAS | ||
430 | 457 | ||
431 | config MEM_ADD_WIDTH | 458 | config GENERIC_CLOCKEVENTS |
432 | int "SDRAM Memory Address Width" | 459 | bool "Generic clock events" |
433 | depends on (!BF54x) | 460 | depends on GENERIC_TIME |
434 | default 9 if BFIN533_EZKIT | 461 | default y |
435 | default 9 if BFIN561_EZKIT | ||
436 | default 9 if H8606_HVSISTEMAS | ||
437 | default 10 if BFIN527_EZKIT | ||
438 | default 10 if BFIN537_STAMP | ||
439 | default 11 if BFIN533_STAMP | ||
440 | default 10 if PNAV10 | ||
441 | 462 | ||
463 | config CYCLES_CLOCKSOURCE | ||
464 | bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)" | ||
465 | depends on EXPERIMENTAL | ||
466 | depends on GENERIC_CLOCKEVENTS | ||
467 | depends on !BFIN_SCRATCH_REG_CYCLES | ||
468 | default n | ||
469 | help | ||
470 | If you say Y here, you will enable support for using the 'cycles' | ||
471 | registers as a clock source. Doing so means you will be unable to | ||
472 | safely write to the 'cycles' register during runtime. You will | ||
473 | still be able to read it (such as for performance monitoring), but | ||
474 | writing the registers will most likely crash the kernel. | ||
442 | 475 | ||
443 | choice | 476 | source kernel/time/Kconfig |
444 | prompt "DDR SDRAM Chip Type" | ||
445 | depends on BFIN548_EZKIT | ||
446 | default MEM_MT46V32M16_5B | ||
447 | 477 | ||
448 | config MEM_MT46V32M16_6T | 478 | comment "Memory Setup" |
449 | bool "MT46V32M16_6T" | ||
450 | 479 | ||
451 | config MEM_MT46V32M16_5B | 480 | comment "Misc" |
452 | bool "MT46V32M16_5B" | ||
453 | endchoice | ||
454 | 481 | ||
455 | config ENET_FLASH_PIN | 482 | config ENET_FLASH_PIN |
456 | int "PF port/pin used for flash and ethernet sharing" | 483 | int "PF port/pin used for flash and ethernet sharing" |
@@ -462,20 +489,6 @@ config ENET_FLASH_PIN | |||
462 | code. | 489 | code. |
463 | For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc. | 490 | For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc. |
464 | 491 | ||
465 | config BOOT_LOAD | ||
466 | hex "Kernel load address for booting" | ||
467 | default "0x1000" | ||
468 | range 0x1000 0x20000000 | ||
469 | help | ||
470 | This option allows you to set the load address of the kernel. | ||
471 | This can be useful if you are on a board which has a small amount | ||
472 | of memory or you wish to reserve some memory at the beginning of | ||
473 | the address space. | ||
474 | |||
475 | Note that you need to keep this value above 4k (0x1000) as this | ||
476 | memory region is used to capture NULL pointer references as well | ||
477 | as some core kernel functions. | ||
478 | |||
479 | choice | 492 | choice |
480 | prompt "Blackfin Exception Scratch Register" | 493 | prompt "Blackfin Exception Scratch Register" |
481 | default BFIN_SCRATCH_REG_RETN | 494 | default BFIN_SCRATCH_REG_RETN |
@@ -661,14 +674,6 @@ endchoice | |||
661 | 674 | ||
662 | source "mm/Kconfig" | 675 | source "mm/Kconfig" |
663 | 676 | ||
664 | config LARGE_ALLOCS | ||
665 | bool "Allow allocating large blocks (> 1MB) of memory" | ||
666 | help | ||
667 | Allow the slab memory allocator to keep chains for very large | ||
668 | memory sizes - upto 32MB. You may need this if your system has | ||
669 | a lot of RAM, and you need to able to allocate very large | ||
670 | contiguous chunks. If unsure, say N. | ||
671 | |||
672 | config BFIN_GPTIMERS | 677 | config BFIN_GPTIMERS |
673 | tristate "Enable Blackfin General Purpose Timers API" | 678 | tristate "Enable Blackfin General Purpose Timers API" |
674 | default n | 679 | default n |
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile index 75eba2ca7881..3cbe16caad4b 100644 --- a/arch/blackfin/Makefile +++ b/arch/blackfin/Makefile | |||
@@ -72,6 +72,11 @@ rev-$(CONFIG_BF_REV_ANY) := any | |||
72 | KBUILD_CFLAGS += -mcpu=$(cpu-y)-$(rev-y) | 72 | KBUILD_CFLAGS += -mcpu=$(cpu-y)-$(rev-y) |
73 | KBUILD_AFLAGS += -mcpu=$(cpu-y)-$(rev-y) | 73 | KBUILD_AFLAGS += -mcpu=$(cpu-y)-$(rev-y) |
74 | 74 | ||
75 | # - we utilize the silicon rev from the toolchain, so move it over to the checkflags | ||
76 | # - the l1_text attribute is Blackfin specific, so fake it out as used to kill warnings | ||
77 | CHECKFLAGS_SILICON = $(shell echo "" | $(CPP) $(KBUILD_CFLAGS) -dD - 2>/dev/null | awk '$$2 == "__SILICON_REVISION__" { print $$3 }') | ||
78 | CHECKFLAGS += -D__SILICON_REVISION__=$(CHECKFLAGS_SILICON) -Dl1_text=__used__ | ||
79 | |||
75 | head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o | 80 | head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o |
76 | 81 | ||
77 | core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ | 82 | core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ |
diff --git a/arch/blackfin/boot/.gitignore b/arch/blackfin/boot/.gitignore new file mode 100644 index 000000000000..3ae03994b88d --- /dev/null +++ b/arch/blackfin/boot/.gitignore | |||
@@ -0,0 +1 @@ | |||
+vmImage | |||
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index ae320dcfedef..64876dfc2e55 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -250,7 +250,7 @@ CONFIG_HZ=250 | |||
250 | # | 250 | # |
251 | # Memory Setup | 251 | # Memory Setup |
252 | # | 252 | # |
253 | CONFIG_MEM_SIZE=64 | 253 | CONFIG_MAX_MEM_SIZE=512 |
254 | CONFIG_MEM_ADD_WIDTH=10 | 254 | CONFIG_MEM_ADD_WIDTH=10 |
255 | CONFIG_BOOT_LOAD=0x1000 | 255 | CONFIG_BOOT_LOAD=0x1000 |
256 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 256 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
@@ -720,8 +720,8 @@ CONFIG_BFIN_OTP=y | |||
720 | # | 720 | # |
721 | CONFIG_SERIAL_BFIN=y | 721 | CONFIG_SERIAL_BFIN=y |
722 | CONFIG_SERIAL_BFIN_CONSOLE=y | 722 | CONFIG_SERIAL_BFIN_CONSOLE=y |
723 | # CONFIG_SERIAL_BFIN_DMA is not set | 723 | CONFIG_SERIAL_BFIN_DMA=y |
724 | CONFIG_SERIAL_BFIN_PIO=y | 724 | # CONFIG_SERIAL_BFIN_PIO is not set |
725 | # CONFIG_SERIAL_BFIN_UART0 is not set | 725 | # CONFIG_SERIAL_BFIN_UART0 is not set |
726 | CONFIG_SERIAL_BFIN_UART1=y | 726 | CONFIG_SERIAL_BFIN_UART1=y |
727 | # CONFIG_BFIN_UART1_CTSRTS is not set | 727 | # CONFIG_BFIN_UART1_CTSRTS is not set |
diff --git a/arch/blackfin/configs/BF533-EZKIT_defconfig b/arch/blackfin/configs/BF533-EZKIT_defconfig index 9621caa60b5f..8d817ba01945 100644 --- a/arch/blackfin/configs/BF533-EZKIT_defconfig +++ b/arch/blackfin/configs/BF533-EZKIT_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -212,7 +212,7 @@ CONFIG_HZ=250 | |||
212 | # | 212 | # |
213 | # Memory Setup | 213 | # Memory Setup |
214 | # | 214 | # |
215 | CONFIG_MEM_SIZE=32 | 215 | CONFIG_MAX_MEM_SIZE=512 |
216 | CONFIG_MEM_ADD_WIDTH=9 | 216 | CONFIG_MEM_ADD_WIDTH=9 |
217 | CONFIG_BOOT_LOAD=0x1000 | 217 | CONFIG_BOOT_LOAD=0x1000 |
218 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 218 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
diff --git a/arch/blackfin/configs/BF533-STAMP_defconfig b/arch/blackfin/configs/BF533-STAMP_defconfig index b51e76ce7f4f..20d598d17bd1 100644 --- a/arch/blackfin/configs/BF533-STAMP_defconfig +++ b/arch/blackfin/configs/BF533-STAMP_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -212,7 +212,7 @@ CONFIG_HZ=250 | |||
212 | # | 212 | # |
213 | # Memory Setup | 213 | # Memory Setup |
214 | # | 214 | # |
215 | CONFIG_MEM_SIZE=128 | 215 | CONFIG_MAX_MEM_SIZE=512 |
216 | CONFIG_MEM_ADD_WIDTH=11 | 216 | CONFIG_MEM_ADD_WIDTH=11 |
217 | CONFIG_ENET_FLASH_PIN=0 | 217 | CONFIG_ENET_FLASH_PIN=0 |
218 | CONFIG_BOOT_LOAD=0x1000 | 218 | CONFIG_BOOT_LOAD=0x1000 |
diff --git a/arch/blackfin/configs/BF537-STAMP_defconfig b/arch/blackfin/configs/BF537-STAMP_defconfig index d45fa535dad7..b5189c8ba263 100644 --- a/arch/blackfin/configs/BF537-STAMP_defconfig +++ b/arch/blackfin/configs/BF537-STAMP_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -220,7 +220,7 @@ CONFIG_HZ=250 | |||
220 | # | 220 | # |
221 | # Memory Setup | 221 | # Memory Setup |
222 | # | 222 | # |
223 | CONFIG_MEM_SIZE=64 | 223 | CONFIG_MAX_MEM_SIZE=512 |
224 | CONFIG_MEM_ADD_WIDTH=10 | 224 | CONFIG_MEM_ADD_WIDTH=10 |
225 | CONFIG_BOOT_LOAD=0x1000 | 225 | CONFIG_BOOT_LOAD=0x1000 |
226 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 226 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig index c9707f7665ad..5bfdfb287d13 100644 --- a/arch/blackfin/configs/BF548-EZKIT_defconfig +++ b/arch/blackfin/configs/BF548-EZKIT_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -285,7 +285,7 @@ CONFIG_HZ=250 | |||
285 | # | 285 | # |
286 | # Memory Setup | 286 | # Memory Setup |
287 | # | 287 | # |
288 | CONFIG_MEM_SIZE=64 | 288 | CONFIG_MAX_MEM_SIZE=512 |
289 | # CONFIG_MEM_MT46V32M16_6T is not set | 289 | # CONFIG_MEM_MT46V32M16_6T is not set |
290 | CONFIG_MEM_MT46V32M16_5B=y | 290 | CONFIG_MEM_MT46V32M16_5B=y |
291 | CONFIG_BOOT_LOAD=0x1000 | 291 | CONFIG_BOOT_LOAD=0x1000 |
@@ -813,8 +813,8 @@ CONFIG_HW_CONSOLE=y | |||
813 | # | 813 | # |
814 | CONFIG_SERIAL_BFIN=y | 814 | CONFIG_SERIAL_BFIN=y |
815 | CONFIG_SERIAL_BFIN_CONSOLE=y | 815 | CONFIG_SERIAL_BFIN_CONSOLE=y |
816 | # CONFIG_SERIAL_BFIN_DMA is not set | 816 | CONFIG_SERIAL_BFIN_DMA=y |
817 | CONFIG_SERIAL_BFIN_PIO=y | 817 | # CONFIG_SERIAL_BFIN_PIO is not set |
818 | # CONFIG_SERIAL_BFIN_UART0 is not set | 818 | # CONFIG_SERIAL_BFIN_UART0 is not set |
819 | CONFIG_SERIAL_BFIN_UART1=y | 819 | CONFIG_SERIAL_BFIN_UART1=y |
820 | # CONFIG_BFIN_UART1_CTSRTS is not set | 820 | # CONFIG_BFIN_UART1_CTSRTS is not set |
diff --git a/arch/blackfin/configs/BF561-EZKIT_defconfig b/arch/blackfin/configs/BF561-EZKIT_defconfig index 4d8a63331309..b4a20c890816 100644 --- a/arch/blackfin/configs/BF561-EZKIT_defconfig +++ b/arch/blackfin/configs/BF561-EZKIT_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -256,7 +256,7 @@ CONFIG_HZ=250 | |||
256 | # | 256 | # |
257 | # Memory Setup | 257 | # Memory Setup |
258 | # | 258 | # |
259 | CONFIG_MEM_SIZE=64 | 259 | CONFIG_MAX_MEM_SIZE=512 |
260 | CONFIG_MEM_ADD_WIDTH=9 | 260 | CONFIG_MEM_ADD_WIDTH=9 |
261 | CONFIG_BOOT_LOAD=0x1000 | 261 | CONFIG_BOOT_LOAD=0x1000 |
262 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 262 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
diff --git a/arch/blackfin/configs/CM-BF533_defconfig b/arch/blackfin/configs/CM-BF533_defconfig new file mode 100644 index 000000000000..560890fe0d30 --- /dev/null +++ b/arch/blackfin/configs/CM-BF533_defconfig | |||
@@ -0,0 +1,912 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22.16 | ||
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_ZONE_DMA=y | ||
11 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_SYSVIPC=y | ||
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | # CONFIG_POSIX_MQUEUE is not set | ||
38 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
39 | # CONFIG_TASKSTATS is not set | ||
40 | # CONFIG_UTS_NS is not set | ||
41 | # CONFIG_AUDIT is not set | ||
42 | # CONFIG_IKCONFIG is not set | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | # CONFIG_BLK_DEV_INITRD is not set | ||
47 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
48 | CONFIG_SYSCTL=y | ||
49 | CONFIG_EMBEDDED=y | ||
50 | # CONFIG_UID16 is not set | ||
51 | CONFIG_SYSCTL_SYSCALL=y | ||
52 | CONFIG_KALLSYMS=y | ||
53 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
54 | # CONFIG_HOTPLUG is not set | ||
55 | CONFIG_PRINTK=y | ||
56 | CONFIG_BUG=y | ||
57 | CONFIG_ELF_CORE=y | ||
58 | CONFIG_BASE_FULL=y | ||
59 | CONFIG_FUTEX=y | ||
60 | CONFIG_ANON_INODES=y | ||
61 | CONFIG_EPOLL=y | ||
62 | CONFIG_SIGNALFD=y | ||
63 | CONFIG_EVENTFD=y | ||
64 | CONFIG_VM_EVENT_COUNTERS=y | ||
65 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
66 | # CONFIG_NP2 is not set | ||
67 | CONFIG_SLAB=y | ||
68 | # CONFIG_SLUB is not set | ||
69 | # CONFIG_SLOB is not set | ||
70 | CONFIG_RT_MUTEXES=y | ||
71 | CONFIG_TINY_SHMEM=y | ||
72 | CONFIG_BASE_SMALL=0 | ||
73 | |||
74 | # | ||
75 | # Loadable module support | ||
76 | # | ||
77 | CONFIG_MODULES=y | ||
78 | CONFIG_MODULE_UNLOAD=y | ||
79 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
80 | # CONFIG_MODVERSIONS is not set | ||
81 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
82 | CONFIG_KMOD=y | ||
83 | |||
84 | # | ||
85 | # Block layer | ||
86 | # | ||
87 | CONFIG_BLOCK=y | ||
88 | # CONFIG_LBD is not set | ||
89 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
90 | # CONFIG_LSF is not set | ||
91 | |||
92 | # | ||
93 | # IO Schedulers | ||
94 | # | ||
95 | CONFIG_IOSCHED_NOOP=y | ||
96 | # CONFIG_IOSCHED_AS is not set | ||
97 | # CONFIG_IOSCHED_DEADLINE is not set | ||
98 | CONFIG_IOSCHED_CFQ=y | ||
99 | # CONFIG_DEFAULT_AS is not set | ||
100 | # CONFIG_DEFAULT_DEADLINE is not set | ||
101 | # CONFIG_DEFAULT_CFQ is not set | ||
102 | CONFIG_DEFAULT_NOOP=y | ||
103 | CONFIG_DEFAULT_IOSCHED="noop" | ||
104 | CONFIG_PREEMPT_NONE=y | ||
105 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
106 | # CONFIG_PREEMPT is not set | ||
107 | |||
108 | # | ||
109 | # Blackfin Processor Options | ||
110 | # | ||
111 | |||
112 | # | ||
113 | # Processor and Board Settings | ||
114 | # | ||
115 | # CONFIG_BF522 is not set | ||
116 | # CONFIG_BF523 is not set | ||
117 | # CONFIG_BF524 is not set | ||
118 | # CONFIG_BF525 is not set | ||
119 | # CONFIG_BF526 is not set | ||
120 | # CONFIG_BF527 is not set | ||
121 | # CONFIG_BF531 is not set | ||
122 | # CONFIG_BF532 is not set | ||
123 | CONFIG_BF533=y | ||
124 | # CONFIG_BF534 is not set | ||
125 | # CONFIG_BF536 is not set | ||
126 | # CONFIG_BF537 is not set | ||
127 | # CONFIG_BF542 is not set | ||
128 | # CONFIG_BF544 is not set | ||
129 | # CONFIG_BF547 is not set | ||
130 | # CONFIG_BF548 is not set | ||
131 | # CONFIG_BF549 is not set | ||
132 | # CONFIG_BF561 is not set | ||
133 | # CONFIG_BF_REV_0_0 is not set | ||
134 | # CONFIG_BF_REV_0_1 is not set | ||
135 | # CONFIG_BF_REV_0_2 is not set | ||
136 | CONFIG_BF_REV_0_3=y | ||
137 | # CONFIG_BF_REV_0_4 is not set | ||
138 | # CONFIG_BF_REV_0_5 is not set | ||
139 | # CONFIG_BF_REV_ANY is not set | ||
140 | # CONFIG_BF_REV_NONE is not set | ||
141 | CONFIG_BF53x=y | ||
142 | CONFIG_BFIN_SINGLE_CORE=y | ||
143 | CONFIG_MEM_MT48LC16M16A2TG_75=y | ||
144 | # CONFIG_BFIN533_EZKIT is not set | ||
145 | # CONFIG_BFIN533_STAMP is not set | ||
146 | CONFIG_BFIN533_BLUETECHNIX_CM=y | ||
147 | # CONFIG_H8606_HVSISTEMAS is not set | ||
148 | # CONFIG_GENERIC_BF533_BOARD is not set | ||
149 | |||
150 | # | ||
151 | # BF533/2/1 Specific Configuration | ||
152 | # | ||
153 | |||
154 | # | ||
155 | # Interrupt Priority Assignment | ||
156 | # | ||
157 | |||
158 | # | ||
159 | # Priority | ||
160 | # | ||
161 | CONFIG_UART_ERROR=7 | ||
162 | CONFIG_SPORT0_ERROR=7 | ||
163 | CONFIG_SPI_ERROR=7 | ||
164 | CONFIG_SPORT1_ERROR=7 | ||
165 | CONFIG_PPI_ERROR=7 | ||
166 | CONFIG_DMA_ERROR=7 | ||
167 | CONFIG_PLLWAKE_ERROR=7 | ||
168 | CONFIG_RTC_ERROR=8 | ||
169 | CONFIG_DMA0_PPI=8 | ||
170 | CONFIG_DMA1_SPORT0RX=9 | ||
171 | CONFIG_DMA2_SPORT0TX=9 | ||
172 | CONFIG_DMA3_SPORT1RX=9 | ||
173 | CONFIG_DMA4_SPORT1TX=9 | ||
174 | CONFIG_DMA5_SPI=10 | ||
175 | CONFIG_DMA6_UARTRX=10 | ||
176 | CONFIG_DMA7_UARTTX=10 | ||
177 | CONFIG_TIMER0=11 | ||
178 | CONFIG_TIMER1=11 | ||
179 | CONFIG_TIMER2=11 | ||
180 | CONFIG_PFA=12 | ||
181 | CONFIG_PFB=12 | ||
182 | CONFIG_MEMDMA0=13 | ||
183 | CONFIG_MEMDMA1=13 | ||
184 | CONFIG_WDTIMER=13 | ||
185 | |||
186 | # | ||
187 | # Board customizations | ||
188 | # | ||
189 | # CONFIG_CMDLINE_BOOL is not set | ||
190 | |||
191 | # | ||
192 | # Clock/PLL Setup | ||
193 | # | ||
194 | CONFIG_CLKIN_HZ=25000000 | ||
195 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
196 | CONFIG_MAX_VCO_HZ=750000000 | ||
197 | CONFIG_MIN_VCO_HZ=50000000 | ||
198 | CONFIG_MAX_SCLK_HZ=133333333 | ||
199 | CONFIG_MIN_SCLK_HZ=27000000 | ||
200 | |||
201 | # | ||
202 | # Kernel Timer/Scheduler | ||
203 | # | ||
204 | # CONFIG_HZ_100 is not set | ||
205 | CONFIG_HZ_250=y | ||
206 | # CONFIG_HZ_300 is not set | ||
207 | # CONFIG_HZ_1000 is not set | ||
208 | CONFIG_HZ=250 | ||
209 | |||
210 | # | ||
211 | # Memory Setup | ||
212 | # | ||
213 | CONFIG_MAX_MEM_SIZE=32 | ||
214 | CONFIG_MEM_ADD_WIDTH=9 | ||
215 | CONFIG_BOOT_LOAD=0x1000 | ||
216 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
217 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
218 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
219 | |||
220 | # | ||
221 | # Blackfin Kernel Optimizations | ||
222 | # | ||
223 | |||
224 | # | ||
225 | # Memory Optimizations | ||
226 | # | ||
227 | CONFIG_I_ENTRY_L1=y | ||
228 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
229 | CONFIG_DO_IRQ_L1=y | ||
230 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
231 | CONFIG_IDLE_L1=y | ||
232 | CONFIG_SCHEDULE_L1=y | ||
233 | CONFIG_ARITHMETIC_OPS_L1=y | ||
234 | CONFIG_ACCESS_OK_L1=y | ||
235 | CONFIG_MEMSET_L1=y | ||
236 | CONFIG_MEMCPY_L1=y | ||
237 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
238 | CONFIG_IP_CHECKSUM_L1=y | ||
239 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
240 | CONFIG_SYSCALL_TAB_L1=y | ||
241 | CONFIG_CPLB_SWITCH_TAB_L1=y | ||
242 | CONFIG_RAMKERNEL=y | ||
243 | # CONFIG_ROMKERNEL is not set | ||
244 | CONFIG_SELECT_MEMORY_MODEL=y | ||
245 | CONFIG_FLATMEM_MANUAL=y | ||
246 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
247 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
248 | CONFIG_FLATMEM=y | ||
249 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
250 | # CONFIG_SPARSEMEM_STATIC is not set | ||
251 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
252 | # CONFIG_RESOURCES_64BIT is not set | ||
253 | CONFIG_ZONE_DMA_FLAG=1 | ||
254 | CONFIG_LARGE_ALLOCS=y | ||
255 | # CONFIG_BFIN_GPTIMERS is not set | ||
256 | CONFIG_BFIN_DMA_5XX=y | ||
257 | # CONFIG_DMA_UNCACHED_2M is not set | ||
258 | CONFIG_DMA_UNCACHED_1M=y | ||
259 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
260 | |||
261 | # | ||
262 | # Cache Support | ||
263 | # | ||
264 | CONFIG_BFIN_ICACHE=y | ||
265 | CONFIG_BFIN_DCACHE=y | ||
266 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
267 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
268 | CONFIG_BFIN_WB=y | ||
269 | # CONFIG_BFIN_WT is not set | ||
270 | CONFIG_L1_MAX_PIECE=16 | ||
271 | # CONFIG_MPU is not set | ||
272 | |||
273 | # | ||
274 | # Asynchonous Memory Configuration | ||
275 | # | ||
276 | |||
277 | # | ||
278 | # EBIU_AMGCTL Global Control | ||
279 | # | ||
280 | CONFIG_C_AMCKEN=y | ||
281 | CONFIG_C_CDPRIO=y | ||
282 | # CONFIG_C_AMBEN is not set | ||
283 | # CONFIG_C_AMBEN_B0 is not set | ||
284 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
285 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
286 | CONFIG_C_AMBEN_ALL=y | ||
287 | |||
288 | # | ||
289 | # EBIU_AMBCTL Control | ||
290 | # | ||
291 | CONFIG_BANK_0=0x7BB0 | ||
292 | CONFIG_BANK_1=0x7BB0 | ||
293 | CONFIG_BANK_2=0x7BB0 | ||
294 | CONFIG_BANK_3=0xFFC3 | ||
295 | |||
296 | # | ||
297 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
298 | # | ||
299 | # CONFIG_PCI is not set | ||
300 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
301 | |||
302 | # | ||
303 | # PCCARD (PCMCIA/CardBus) support | ||
304 | # | ||
305 | |||
306 | # | ||
307 | # Executable file formats | ||
308 | # | ||
309 | CONFIG_BINFMT_ELF_FDPIC=y | ||
310 | CONFIG_BINFMT_FLAT=y | ||
311 | CONFIG_BINFMT_ZFLAT=y | ||
312 | CONFIG_BINFMT_SHARED_FLAT=y | ||
313 | # CONFIG_BINFMT_MISC is not set | ||
314 | |||
315 | # | ||
316 | # Power management options | ||
317 | # | ||
318 | # CONFIG_PM is not set | ||
319 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
320 | |||
321 | # | ||
322 | # CPU Frequency scaling | ||
323 | # | ||
324 | # CONFIG_CPU_FREQ is not set | ||
325 | |||
326 | # | ||
327 | # Networking | ||
328 | # | ||
329 | CONFIG_NET=y | ||
330 | |||
331 | # | ||
332 | # Networking options | ||
333 | # | ||
334 | CONFIG_PACKET=y | ||
335 | # CONFIG_PACKET_MMAP is not set | ||
336 | CONFIG_UNIX=y | ||
337 | CONFIG_XFRM=y | ||
338 | # CONFIG_XFRM_USER is not set | ||
339 | # CONFIG_XFRM_SUB_POLICY is not set | ||
340 | # CONFIG_XFRM_MIGRATE is not set | ||
341 | # CONFIG_NET_KEY is not set | ||
342 | CONFIG_INET=y | ||
343 | # CONFIG_IP_MULTICAST is not set | ||
344 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
345 | CONFIG_IP_FIB_HASH=y | ||
346 | # CONFIG_IP_PNP is not set | ||
347 | # CONFIG_NET_IPIP is not set | ||
348 | # CONFIG_NET_IPGRE is not set | ||
349 | # CONFIG_ARPD is not set | ||
350 | CONFIG_SYN_COOKIES=y | ||
351 | # CONFIG_INET_AH is not set | ||
352 | # CONFIG_INET_ESP is not set | ||
353 | # CONFIG_INET_IPCOMP is not set | ||
354 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
355 | # CONFIG_INET_TUNNEL is not set | ||
356 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
357 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
358 | CONFIG_INET_XFRM_MODE_BEET=y | ||
359 | CONFIG_INET_DIAG=y | ||
360 | CONFIG_INET_TCP_DIAG=y | ||
361 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
362 | CONFIG_TCP_CONG_CUBIC=y | ||
363 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
364 | # CONFIG_TCP_MD5SIG is not set | ||
365 | # CONFIG_IPV6 is not set | ||
366 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
367 | # CONFIG_INET6_TUNNEL is not set | ||
368 | # CONFIG_NETLABEL is not set | ||
369 | # CONFIG_NETWORK_SECMARK is not set | ||
370 | # CONFIG_NETFILTER is not set | ||
371 | # CONFIG_IP_DCCP is not set | ||
372 | # CONFIG_IP_SCTP is not set | ||
373 | # CONFIG_TIPC is not set | ||
374 | # CONFIG_ATM is not set | ||
375 | # CONFIG_BRIDGE is not set | ||
376 | # CONFIG_VLAN_8021Q is not set | ||
377 | # CONFIG_DECNET is not set | ||
378 | # CONFIG_LLC2 is not set | ||
379 | # CONFIG_IPX is not set | ||
380 | # CONFIG_ATALK is not set | ||
381 | # CONFIG_X25 is not set | ||
382 | # CONFIG_LAPB is not set | ||
383 | # CONFIG_ECONET is not set | ||
384 | # CONFIG_WAN_ROUTER is not set | ||
385 | |||
386 | # | ||
387 | # QoS and/or fair queueing | ||
388 | # | ||
389 | # CONFIG_NET_SCHED is not set | ||
390 | |||
391 | # | ||
392 | # Network testing | ||
393 | # | ||
394 | # CONFIG_NET_PKTGEN is not set | ||
395 | # CONFIG_HAMRADIO is not set | ||
396 | # CONFIG_IRDA is not set | ||
397 | # CONFIG_BT is not set | ||
398 | # CONFIG_AF_RXRPC is not set | ||
399 | |||
400 | # | ||
401 | # Wireless | ||
402 | # | ||
403 | # CONFIG_CFG80211 is not set | ||
404 | # CONFIG_WIRELESS_EXT is not set | ||
405 | # CONFIG_MAC80211 is not set | ||
406 | # CONFIG_IEEE80211 is not set | ||
407 | # CONFIG_RFKILL is not set | ||
408 | |||
409 | # | ||
410 | # Device Drivers | ||
411 | # | ||
412 | |||
413 | # | ||
414 | # Generic Driver Options | ||
415 | # | ||
416 | CONFIG_STANDALONE=y | ||
417 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
418 | # CONFIG_SYS_HYPERVISOR is not set | ||
419 | |||
420 | # | ||
421 | # Connector - unified userspace <-> kernelspace linker | ||
422 | # | ||
423 | # CONFIG_CONNECTOR is not set | ||
424 | CONFIG_MTD=y | ||
425 | # CONFIG_MTD_DEBUG is not set | ||
426 | # CONFIG_MTD_CONCAT is not set | ||
427 | CONFIG_MTD_PARTITIONS=y | ||
428 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
429 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
430 | |||
431 | # | ||
432 | # User Modules And Translation Layers | ||
433 | # | ||
434 | CONFIG_MTD_CHAR=y | ||
435 | CONFIG_MTD_BLKDEVS=y | ||
436 | CONFIG_MTD_BLOCK=y | ||
437 | # CONFIG_FTL is not set | ||
438 | # CONFIG_NFTL is not set | ||
439 | # CONFIG_INFTL is not set | ||
440 | # CONFIG_RFD_FTL is not set | ||
441 | # CONFIG_SSFDC is not set | ||
442 | |||
443 | # | ||
444 | # RAM/ROM/Flash chip drivers | ||
445 | # | ||
446 | # CONFIG_MTD_CFI is not set | ||
447 | # CONFIG_MTD_JEDECPROBE is not set | ||
448 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
449 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
450 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
451 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
452 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
453 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
454 | CONFIG_MTD_CFI_I1=y | ||
455 | CONFIG_MTD_CFI_I2=y | ||
456 | # CONFIG_MTD_CFI_I4 is not set | ||
457 | # CONFIG_MTD_CFI_I8 is not set | ||
458 | CONFIG_MTD_RAM=y | ||
459 | # CONFIG_MTD_ROM is not set | ||
460 | # CONFIG_MTD_ABSENT is not set | ||
461 | |||
462 | # | ||
463 | # Mapping drivers for chip access | ||
464 | # | ||
465 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
466 | CONFIG_MTD_UCLINUX=y | ||
467 | # CONFIG_MTD_PLATRAM is not set | ||
468 | |||
469 | # | ||
470 | # Self-contained MTD device drivers | ||
471 | # | ||
472 | # CONFIG_MTD_SLRAM is not set | ||
473 | # CONFIG_MTD_PHRAM is not set | ||
474 | # CONFIG_MTD_MTDRAM is not set | ||
475 | # CONFIG_MTD_BLOCK2MTD is not set | ||
476 | |||
477 | # | ||
478 | # Disk-On-Chip Device Drivers | ||
479 | # | ||
480 | # CONFIG_MTD_DOC2000 is not set | ||
481 | # CONFIG_MTD_DOC2001 is not set | ||
482 | # CONFIG_MTD_DOC2001PLUS is not set | ||
483 | # CONFIG_MTD_NAND is not set | ||
484 | # CONFIG_MTD_ONENAND is not set | ||
485 | |||
486 | # | ||
487 | # UBI - Unsorted block images | ||
488 | # | ||
489 | # CONFIG_MTD_UBI is not set | ||
490 | |||
491 | # | ||
492 | # Parallel port support | ||
493 | # | ||
494 | # CONFIG_PARPORT is not set | ||
495 | |||
496 | # | ||
497 | # Plug and Play support | ||
498 | # | ||
499 | # CONFIG_PNPACPI is not set | ||
500 | |||
501 | # | ||
502 | # Block devices | ||
503 | # | ||
504 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
505 | # CONFIG_BLK_DEV_LOOP is not set | ||
506 | # CONFIG_BLK_DEV_NBD is not set | ||
507 | CONFIG_BLK_DEV_RAM=y | ||
508 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
509 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
510 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
511 | # CONFIG_CDROM_PKTCDVD is not set | ||
512 | # CONFIG_ATA_OVER_ETH is not set | ||
513 | |||
514 | # | ||
515 | # Misc devices | ||
516 | # | ||
517 | # CONFIG_IDE is not set | ||
518 | |||
519 | # | ||
520 | # SCSI device support | ||
521 | # | ||
522 | # CONFIG_RAID_ATTRS is not set | ||
523 | # CONFIG_SCSI is not set | ||
524 | # CONFIG_SCSI_NETLINK is not set | ||
525 | # CONFIG_ATA is not set | ||
526 | |||
527 | # | ||
528 | # Multi-device support (RAID and LVM) | ||
529 | # | ||
530 | # CONFIG_MD is not set | ||
531 | |||
532 | # | ||
533 | # Network device support | ||
534 | # | ||
535 | CONFIG_NETDEVICES=y | ||
536 | # CONFIG_DUMMY is not set | ||
537 | # CONFIG_BONDING is not set | ||
538 | # CONFIG_EQUALIZER is not set | ||
539 | # CONFIG_TUN is not set | ||
540 | # CONFIG_PHYLIB is not set | ||
541 | |||
542 | # | ||
543 | # Ethernet (10 or 100Mbit) | ||
544 | # | ||
545 | CONFIG_NET_ETHERNET=y | ||
546 | CONFIG_MII=y | ||
547 | CONFIG_SMC91X=y | ||
548 | # CONFIG_SMSC911X is not set | ||
549 | # CONFIG_DM9000 is not set | ||
550 | CONFIG_NETDEV_1000=y | ||
551 | # CONFIG_AX88180 is not set | ||
552 | CONFIG_NETDEV_10000=y | ||
553 | |||
554 | # | ||
555 | # Wireless LAN | ||
556 | # | ||
557 | # CONFIG_WLAN_PRE80211 is not set | ||
558 | # CONFIG_WLAN_80211 is not set | ||
559 | # CONFIG_WAN is not set | ||
560 | # CONFIG_PPP is not set | ||
561 | # CONFIG_SLIP is not set | ||
562 | # CONFIG_SHAPER is not set | ||
563 | # CONFIG_NETCONSOLE is not set | ||
564 | # CONFIG_NETPOLL is not set | ||
565 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
566 | |||
567 | # | ||
568 | # ISDN subsystem | ||
569 | # | ||
570 | # CONFIG_ISDN is not set | ||
571 | |||
572 | # | ||
573 | # Telephony Support | ||
574 | # | ||
575 | # CONFIG_PHONE is not set | ||
576 | |||
577 | # | ||
578 | # Input device support | ||
579 | # | ||
580 | # CONFIG_INPUT is not set | ||
581 | |||
582 | # | ||
583 | # Hardware I/O ports | ||
584 | # | ||
585 | # CONFIG_SERIO is not set | ||
586 | # CONFIG_GAMEPORT is not set | ||
587 | |||
588 | # | ||
589 | # Character devices | ||
590 | # | ||
591 | # CONFIG_AD9960 is not set | ||
592 | # CONFIG_SPI_ADC_BF533 is not set | ||
593 | # CONFIG_BF5xx_PFLAGS is not set | ||
594 | # CONFIG_BF5xx_PPIFCD is not set | ||
595 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
596 | # CONFIG_BF5xx_PPI is not set | ||
597 | CONFIG_BFIN_SPORT=y | ||
598 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
599 | # CONFIG_VT is not set | ||
600 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
601 | |||
602 | # | ||
603 | # Serial drivers | ||
604 | # | ||
605 | # CONFIG_SERIAL_8250 is not set | ||
606 | |||
607 | # | ||
608 | # Non-8250 serial port support | ||
609 | # | ||
610 | CONFIG_SERIAL_BFIN=y | ||
611 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
612 | CONFIG_SERIAL_BFIN_DMA=y | ||
613 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
614 | CONFIG_SERIAL_BFIN_UART0=y | ||
615 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
616 | CONFIG_SERIAL_CORE=y | ||
617 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
618 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
619 | CONFIG_UNIX98_PTYS=y | ||
620 | CONFIG_LEGACY_PTYS=y | ||
621 | CONFIG_LEGACY_PTY_COUNT=256 | ||
622 | |||
623 | # | ||
624 | # CAN, the car bus and industrial fieldbus | ||
625 | # | ||
626 | # CONFIG_CAN4LINUX is not set | ||
627 | |||
628 | # | ||
629 | # IPMI | ||
630 | # | ||
631 | # CONFIG_IPMI_HANDLER is not set | ||
632 | # CONFIG_WATCHDOG is not set | ||
633 | # CONFIG_HW_RANDOM is not set | ||
634 | # CONFIG_GEN_RTC is not set | ||
635 | # CONFIG_R3964 is not set | ||
636 | # CONFIG_RAW_DRIVER is not set | ||
637 | |||
638 | # | ||
639 | # TPM devices | ||
640 | # | ||
641 | # CONFIG_TCG_TPM is not set | ||
642 | # CONFIG_I2C is not set | ||
643 | |||
644 | # | ||
645 | # SPI support | ||
646 | # | ||
647 | # CONFIG_SPI is not set | ||
648 | # CONFIG_SPI_MASTER is not set | ||
649 | |||
650 | # | ||
651 | # Dallas's 1-wire bus | ||
652 | # | ||
653 | # CONFIG_W1 is not set | ||
654 | CONFIG_HWMON=y | ||
655 | # CONFIG_HWMON_VID is not set | ||
656 | # CONFIG_SENSORS_ABITUGURU is not set | ||
657 | # CONFIG_SENSORS_F71805F is not set | ||
658 | # CONFIG_SENSORS_PC87427 is not set | ||
659 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
660 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
661 | # CONFIG_SENSORS_VT1211 is not set | ||
662 | # CONFIG_SENSORS_W83627HF is not set | ||
663 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
664 | |||
665 | # | ||
666 | # Multifunction device drivers | ||
667 | # | ||
668 | # CONFIG_MFD_SM501 is not set | ||
669 | |||
670 | # | ||
671 | # Multimedia devices | ||
672 | # | ||
673 | # CONFIG_VIDEO_DEV is not set | ||
674 | # CONFIG_DVB_CORE is not set | ||
675 | CONFIG_DAB=y | ||
676 | |||
677 | # | ||
678 | # Graphics support | ||
679 | # | ||
680 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
681 | |||
682 | # | ||
683 | # Display device support | ||
684 | # | ||
685 | # CONFIG_DISPLAY_SUPPORT is not set | ||
686 | # CONFIG_VGASTATE is not set | ||
687 | # CONFIG_FB is not set | ||
688 | |||
689 | # | ||
690 | # Sound | ||
691 | # | ||
692 | # CONFIG_SOUND is not set | ||
693 | |||
694 | # | ||
695 | # USB support | ||
696 | # | ||
697 | CONFIG_USB_ARCH_HAS_HCD=y | ||
698 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
699 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
700 | # CONFIG_USB is not set | ||
701 | |||
702 | # | ||
703 | # Enable Host or Gadget support to see Inventra options | ||
704 | # | ||
705 | |||
706 | # | ||
707 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
708 | # | ||
709 | |||
710 | # | ||
711 | # USB Gadget Support | ||
712 | # | ||
713 | # CONFIG_USB_GADGET is not set | ||
714 | # CONFIG_MMC is not set | ||
715 | |||
716 | # | ||
717 | # LED devices | ||
718 | # | ||
719 | # CONFIG_NEW_LEDS is not set | ||
720 | |||
721 | # | ||
722 | # LED drivers | ||
723 | # | ||
724 | |||
725 | # | ||
726 | # LED Triggers | ||
727 | # | ||
728 | |||
729 | # | ||
730 | # InfiniBand support | ||
731 | # | ||
732 | |||
733 | # | ||
734 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
735 | # | ||
736 | |||
737 | # | ||
738 | # Real Time Clock | ||
739 | # | ||
740 | # CONFIG_RTC_CLASS is not set | ||
741 | |||
742 | # | ||
743 | # DMA Engine support | ||
744 | # | ||
745 | # CONFIG_DMA_ENGINE is not set | ||
746 | |||
747 | # | ||
748 | # DMA Clients | ||
749 | # | ||
750 | |||
751 | # | ||
752 | # DMA Devices | ||
753 | # | ||
754 | |||
755 | # | ||
756 | # PBX support | ||
757 | # | ||
758 | # CONFIG_PBX is not set | ||
759 | |||
760 | # | ||
761 | # File systems | ||
762 | # | ||
763 | CONFIG_EXT2_FS=y | ||
764 | CONFIG_EXT2_FS_XATTR=y | ||
765 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
766 | # CONFIG_EXT2_FS_SECURITY is not set | ||
767 | # CONFIG_EXT3_FS is not set | ||
768 | # CONFIG_EXT4DEV_FS is not set | ||
769 | CONFIG_FS_MBCACHE=y | ||
770 | # CONFIG_REISERFS_FS is not set | ||
771 | # CONFIG_JFS_FS is not set | ||
772 | # CONFIG_FS_POSIX_ACL is not set | ||
773 | # CONFIG_XFS_FS is not set | ||
774 | # CONFIG_GFS2_FS is not set | ||
775 | # CONFIG_OCFS2_FS is not set | ||
776 | # CONFIG_MINIX_FS is not set | ||
777 | # CONFIG_ROMFS_FS is not set | ||
778 | CONFIG_INOTIFY=y | ||
779 | CONFIG_INOTIFY_USER=y | ||
780 | # CONFIG_QUOTA is not set | ||
781 | CONFIG_DNOTIFY=y | ||
782 | # CONFIG_AUTOFS_FS is not set | ||
783 | # CONFIG_AUTOFS4_FS is not set | ||
784 | # CONFIG_FUSE_FS is not set | ||
785 | |||
786 | # | ||
787 | # CD-ROM/DVD Filesystems | ||
788 | # | ||
789 | # CONFIG_ISO9660_FS is not set | ||
790 | # CONFIG_UDF_FS is not set | ||
791 | |||
792 | # | ||
793 | # DOS/FAT/NT Filesystems | ||
794 | # | ||
795 | # CONFIG_MSDOS_FS is not set | ||
796 | # CONFIG_VFAT_FS is not set | ||
797 | # CONFIG_NTFS_FS is not set | ||
798 | |||
799 | # | ||
800 | # Pseudo filesystems | ||
801 | # | ||
802 | CONFIG_PROC_FS=y | ||
803 | CONFIG_PROC_SYSCTL=y | ||
804 | CONFIG_SYSFS=y | ||
805 | # CONFIG_TMPFS is not set | ||
806 | # CONFIG_HUGETLB_PAGE is not set | ||
807 | CONFIG_RAMFS=y | ||
808 | # CONFIG_CONFIGFS_FS is not set | ||
809 | |||
810 | # | ||
811 | # Miscellaneous filesystems | ||
812 | # | ||
813 | # CONFIG_ADFS_FS is not set | ||
814 | # CONFIG_AFFS_FS is not set | ||
815 | # CONFIG_HFS_FS is not set | ||
816 | # CONFIG_HFSPLUS_FS is not set | ||
817 | # CONFIG_BEFS_FS is not set | ||
818 | # CONFIG_BFS_FS is not set | ||
819 | # CONFIG_EFS_FS is not set | ||
820 | # CONFIG_YAFFS_FS is not set | ||
821 | # CONFIG_JFFS2_FS is not set | ||
822 | # CONFIG_CRAMFS is not set | ||
823 | # CONFIG_VXFS_FS is not set | ||
824 | # CONFIG_HPFS_FS is not set | ||
825 | # CONFIG_QNX4FS_FS is not set | ||
826 | # CONFIG_SYSV_FS is not set | ||
827 | # CONFIG_UFS_FS is not set | ||
828 | |||
829 | # | ||
830 | # Network File Systems | ||
831 | # | ||
832 | # CONFIG_NFS_FS is not set | ||
833 | # CONFIG_NFSD is not set | ||
834 | # CONFIG_SMB_FS is not set | ||
835 | # CONFIG_CIFS is not set | ||
836 | # CONFIG_NCP_FS is not set | ||
837 | # CONFIG_CODA_FS is not set | ||
838 | # CONFIG_AFS_FS is not set | ||
839 | # CONFIG_9P_FS is not set | ||
840 | |||
841 | # | ||
842 | # Partition Types | ||
843 | # | ||
844 | # CONFIG_PARTITION_ADVANCED is not set | ||
845 | CONFIG_MSDOS_PARTITION=y | ||
846 | |||
847 | # | ||
848 | # Native Language Support | ||
849 | # | ||
850 | # CONFIG_NLS is not set | ||
851 | |||
852 | # | ||
853 | # Distributed Lock Manager | ||
854 | # | ||
855 | # CONFIG_DLM is not set | ||
856 | |||
857 | # | ||
858 | # Profiling support | ||
859 | # | ||
860 | # CONFIG_PROFILING is not set | ||
861 | |||
862 | # | ||
863 | # Kernel hacking | ||
864 | # | ||
865 | # CONFIG_PRINTK_TIME is not set | ||
866 | CONFIG_ENABLE_MUST_CHECK=y | ||
867 | # CONFIG_MAGIC_SYSRQ is not set | ||
868 | # CONFIG_UNUSED_SYMBOLS is not set | ||
869 | # CONFIG_DEBUG_FS is not set | ||
870 | # CONFIG_HEADERS_CHECK is not set | ||
871 | # CONFIG_DEBUG_KERNEL is not set | ||
872 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
873 | # CONFIG_DEBUG_MMRS is not set | ||
874 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
875 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
876 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
877 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
878 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
879 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
880 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
881 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
882 | # CONFIG_EARLY_PRINTK is not set | ||
883 | CONFIG_CPLB_INFO=y | ||
884 | CONFIG_ACCESS_CHECK=y | ||
885 | |||
886 | # | ||
887 | # Security options | ||
888 | # | ||
889 | # CONFIG_KEYS is not set | ||
890 | CONFIG_SECURITY=y | ||
891 | # CONFIG_SECURITY_NETWORK is not set | ||
892 | CONFIG_SECURITY_CAPABILITIES=y | ||
893 | |||
894 | # | ||
895 | # Cryptographic options | ||
896 | # | ||
897 | # CONFIG_CRYPTO is not set | ||
898 | |||
899 | # | ||
900 | # Library routines | ||
901 | # | ||
902 | CONFIG_BITREVERSE=y | ||
903 | CONFIG_CRC_CCITT=m | ||
904 | # CONFIG_CRC16 is not set | ||
905 | # CONFIG_CRC_ITU_T is not set | ||
906 | CONFIG_CRC32=y | ||
907 | # CONFIG_LIBCRC32C is not set | ||
908 | CONFIG_ZLIB_INFLATE=y | ||
909 | CONFIG_PLIST=y | ||
910 | CONFIG_HAS_IOMEM=y | ||
911 | CONFIG_HAS_IOPORT=y | ||
912 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/CM-BF537E_defconfig b/arch/blackfin/configs/CM-BF537E_defconfig new file mode 100644 index 000000000000..9f66d2de1007 --- /dev/null +++ b/arch/blackfin/configs/CM-BF537E_defconfig | |||
@@ -0,0 +1,940 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22.16 | ||
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_ZONE_DMA=y | ||
11 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_SYSVIPC=y | ||
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | # CONFIG_POSIX_MQUEUE is not set | ||
38 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
39 | # CONFIG_TASKSTATS is not set | ||
40 | # CONFIG_UTS_NS is not set | ||
41 | # CONFIG_AUDIT is not set | ||
42 | # CONFIG_IKCONFIG is not set | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | # CONFIG_BLK_DEV_INITRD is not set | ||
47 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
48 | CONFIG_SYSCTL=y | ||
49 | CONFIG_EMBEDDED=y | ||
50 | # CONFIG_UID16 is not set | ||
51 | CONFIG_SYSCTL_SYSCALL=y | ||
52 | CONFIG_KALLSYMS=y | ||
53 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
54 | # CONFIG_HOTPLUG is not set | ||
55 | CONFIG_PRINTK=y | ||
56 | CONFIG_BUG=y | ||
57 | CONFIG_ELF_CORE=y | ||
58 | CONFIG_BASE_FULL=y | ||
59 | CONFIG_FUTEX=y | ||
60 | CONFIG_ANON_INODES=y | ||
61 | CONFIG_EPOLL=y | ||
62 | CONFIG_SIGNALFD=y | ||
63 | CONFIG_EVENTFD=y | ||
64 | CONFIG_VM_EVENT_COUNTERS=y | ||
65 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
66 | # CONFIG_NP2 is not set | ||
67 | CONFIG_SLAB=y | ||
68 | # CONFIG_SLUB is not set | ||
69 | # CONFIG_SLOB is not set | ||
70 | CONFIG_RT_MUTEXES=y | ||
71 | CONFIG_TINY_SHMEM=y | ||
72 | CONFIG_BASE_SMALL=0 | ||
73 | |||
74 | # | ||
75 | # Loadable module support | ||
76 | # | ||
77 | CONFIG_MODULES=y | ||
78 | CONFIG_MODULE_UNLOAD=y | ||
79 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
80 | # CONFIG_MODVERSIONS is not set | ||
81 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
82 | CONFIG_KMOD=y | ||
83 | |||
84 | # | ||
85 | # Block layer | ||
86 | # | ||
87 | CONFIG_BLOCK=y | ||
88 | # CONFIG_LBD is not set | ||
89 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
90 | # CONFIG_LSF is not set | ||
91 | |||
92 | # | ||
93 | # IO Schedulers | ||
94 | # | ||
95 | CONFIG_IOSCHED_NOOP=y | ||
96 | # CONFIG_IOSCHED_AS is not set | ||
97 | # CONFIG_IOSCHED_DEADLINE is not set | ||
98 | CONFIG_IOSCHED_CFQ=y | ||
99 | # CONFIG_DEFAULT_AS is not set | ||
100 | # CONFIG_DEFAULT_DEADLINE is not set | ||
101 | # CONFIG_DEFAULT_CFQ is not set | ||
102 | CONFIG_DEFAULT_NOOP=y | ||
103 | CONFIG_DEFAULT_IOSCHED="noop" | ||
104 | CONFIG_PREEMPT_NONE=y | ||
105 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
106 | # CONFIG_PREEMPT is not set | ||
107 | |||
108 | # | ||
109 | # Blackfin Processor Options | ||
110 | # | ||
111 | |||
112 | # | ||
113 | # Processor and Board Settings | ||
114 | # | ||
115 | # CONFIG_BF522 is not set | ||
116 | # CONFIG_BF523 is not set | ||
117 | # CONFIG_BF524 is not set | ||
118 | # CONFIG_BF525 is not set | ||
119 | # CONFIG_BF526 is not set | ||
120 | # CONFIG_BF527 is not set | ||
121 | # CONFIG_BF531 is not set | ||
122 | # CONFIG_BF532 is not set | ||
123 | # CONFIG_BF533 is not set | ||
124 | # CONFIG_BF534 is not set | ||
125 | # CONFIG_BF536 is not set | ||
126 | CONFIG_BF537=y | ||
127 | # CONFIG_BF542 is not set | ||
128 | # CONFIG_BF544 is not set | ||
129 | # CONFIG_BF547 is not set | ||
130 | # CONFIG_BF548 is not set | ||
131 | # CONFIG_BF549 is not set | ||
132 | # CONFIG_BF561 is not set | ||
133 | # CONFIG_BF_REV_0_0 is not set | ||
134 | # CONFIG_BF_REV_0_1 is not set | ||
135 | CONFIG_BF_REV_0_2=y | ||
136 | # CONFIG_BF_REV_0_3 is not set | ||
137 | # CONFIG_BF_REV_0_4 is not set | ||
138 | # CONFIG_BF_REV_0_5 is not set | ||
139 | # CONFIG_BF_REV_ANY is not set | ||
140 | # CONFIG_BF_REV_NONE is not set | ||
141 | CONFIG_BF53x=y | ||
142 | CONFIG_BFIN_SINGLE_CORE=y | ||
143 | CONFIG_MEM_MT48LC16M16A2TG_75=y | ||
144 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
145 | CONFIG_IRQ_RTC=8 | ||
146 | CONFIG_IRQ_PPI=8 | ||
147 | CONFIG_IRQ_SPORT0_RX=9 | ||
148 | CONFIG_IRQ_SPORT0_TX=9 | ||
149 | CONFIG_IRQ_SPORT1_RX=9 | ||
150 | CONFIG_IRQ_SPORT1_TX=9 | ||
151 | CONFIG_IRQ_TWI=10 | ||
152 | CONFIG_IRQ_SPI=10 | ||
153 | CONFIG_IRQ_UART0_RX=10 | ||
154 | CONFIG_IRQ_UART0_TX=10 | ||
155 | CONFIG_IRQ_UART1_RX=10 | ||
156 | CONFIG_IRQ_UART1_TX=10 | ||
157 | CONFIG_IRQ_MAC_RX=11 | ||
158 | CONFIG_IRQ_MAC_TX=11 | ||
159 | CONFIG_IRQ_TMR0=12 | ||
160 | CONFIG_IRQ_TMR1=12 | ||
161 | CONFIG_IRQ_TMR2=12 | ||
162 | CONFIG_IRQ_TMR3=12 | ||
163 | CONFIG_IRQ_TMR4=12 | ||
164 | CONFIG_IRQ_TMR5=12 | ||
165 | CONFIG_IRQ_TMR6=12 | ||
166 | CONFIG_IRQ_TMR7=12 | ||
167 | CONFIG_IRQ_PORTG_INTB=12 | ||
168 | CONFIG_IRQ_MEM_DMA0=13 | ||
169 | CONFIG_IRQ_MEM_DMA1=13 | ||
170 | CONFIG_IRQ_WATCH=13 | ||
171 | # CONFIG_BFIN537_STAMP is not set | ||
172 | CONFIG_BFIN537_BLUETECHNIX_CM=y | ||
173 | # CONFIG_PNAV10 is not set | ||
174 | # CONFIG_CAMSIG_MINOTAUR is not set | ||
175 | # CONFIG_GENERIC_BF537_BOARD is not set | ||
176 | |||
177 | # | ||
178 | # BF537 Specific Configuration | ||
179 | # | ||
180 | |||
181 | # | ||
182 | # Interrupt Priority Assignment | ||
183 | # | ||
184 | |||
185 | # | ||
186 | # Priority | ||
187 | # | ||
188 | CONFIG_IRQ_DMA_ERROR=7 | ||
189 | CONFIG_IRQ_ERROR=7 | ||
190 | CONFIG_IRQ_CAN_RX=11 | ||
191 | CONFIG_IRQ_CAN_TX=11 | ||
192 | CONFIG_IRQ_PROG_INTA=12 | ||
193 | |||
194 | # | ||
195 | # Board customizations | ||
196 | # | ||
197 | # CONFIG_CMDLINE_BOOL is not set | ||
198 | |||
199 | # | ||
200 | # Clock/PLL Setup | ||
201 | # | ||
202 | CONFIG_CLKIN_HZ=25000000 | ||
203 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
204 | CONFIG_MAX_VCO_HZ=600000000 | ||
205 | CONFIG_MIN_VCO_HZ=50000000 | ||
206 | CONFIG_MAX_SCLK_HZ=133333333 | ||
207 | CONFIG_MIN_SCLK_HZ=27000000 | ||
208 | |||
209 | # | ||
210 | # Kernel Timer/Scheduler | ||
211 | # | ||
212 | # CONFIG_HZ_100 is not set | ||
213 | CONFIG_HZ_250=y | ||
214 | # CONFIG_HZ_300 is not set | ||
215 | # CONFIG_HZ_1000 is not set | ||
216 | CONFIG_HZ=250 | ||
217 | |||
218 | # | ||
219 | # Memory Setup | ||
220 | # | ||
221 | CONFIG_MAX_MEM_SIZE=32 | ||
222 | CONFIG_MEM_ADD_WIDTH=9 | ||
223 | CONFIG_BOOT_LOAD=0x1000 | ||
224 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
225 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
226 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
227 | |||
228 | # | ||
229 | # Blackfin Kernel Optimizations | ||
230 | # | ||
231 | |||
232 | # | ||
233 | # Memory Optimizations | ||
234 | # | ||
235 | CONFIG_I_ENTRY_L1=y | ||
236 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
237 | CONFIG_DO_IRQ_L1=y | ||
238 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
239 | CONFIG_IDLE_L1=y | ||
240 | CONFIG_SCHEDULE_L1=y | ||
241 | CONFIG_ARITHMETIC_OPS_L1=y | ||
242 | CONFIG_ACCESS_OK_L1=y | ||
243 | CONFIG_MEMSET_L1=y | ||
244 | CONFIG_MEMCPY_L1=y | ||
245 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
246 | CONFIG_IP_CHECKSUM_L1=y | ||
247 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
248 | CONFIG_SYSCALL_TAB_L1=y | ||
249 | CONFIG_CPLB_SWITCH_TAB_L1=y | ||
250 | CONFIG_RAMKERNEL=y | ||
251 | # CONFIG_ROMKERNEL is not set | ||
252 | CONFIG_SELECT_MEMORY_MODEL=y | ||
253 | CONFIG_FLATMEM_MANUAL=y | ||
254 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
255 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
256 | CONFIG_FLATMEM=y | ||
257 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
258 | # CONFIG_SPARSEMEM_STATIC is not set | ||
259 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
260 | # CONFIG_RESOURCES_64BIT is not set | ||
261 | CONFIG_ZONE_DMA_FLAG=1 | ||
262 | CONFIG_LARGE_ALLOCS=y | ||
263 | # CONFIG_BFIN_GPTIMERS is not set | ||
264 | CONFIG_BFIN_DMA_5XX=y | ||
265 | # CONFIG_DMA_UNCACHED_2M is not set | ||
266 | CONFIG_DMA_UNCACHED_1M=y | ||
267 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
268 | |||
269 | # | ||
270 | # Cache Support | ||
271 | # | ||
272 | CONFIG_BFIN_ICACHE=y | ||
273 | CONFIG_BFIN_DCACHE=y | ||
274 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
275 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
276 | CONFIG_BFIN_WB=y | ||
277 | # CONFIG_BFIN_WT is not set | ||
278 | CONFIG_L1_MAX_PIECE=16 | ||
279 | # CONFIG_MPU is not set | ||
280 | |||
281 | # | ||
282 | # Asynchonous Memory Configuration | ||
283 | # | ||
284 | |||
285 | # | ||
286 | # EBIU_AMGCTL Global Control | ||
287 | # | ||
288 | CONFIG_C_AMCKEN=y | ||
289 | CONFIG_C_CDPRIO=y | ||
290 | # CONFIG_C_AMBEN is not set | ||
291 | # CONFIG_C_AMBEN_B0 is not set | ||
292 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
293 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
294 | CONFIG_C_AMBEN_ALL=y | ||
295 | |||
296 | # | ||
297 | # EBIU_AMBCTL Control | ||
298 | # | ||
299 | CONFIG_BANK_0=0x7BB0 | ||
300 | CONFIG_BANK_1=0x7BB0 | ||
301 | CONFIG_BANK_2=0x7BB0 | ||
302 | CONFIG_BANK_3=0xFFC3 | ||
303 | |||
304 | # | ||
305 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
306 | # | ||
307 | # CONFIG_PCI is not set | ||
308 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
309 | |||
310 | # | ||
311 | # PCCARD (PCMCIA/CardBus) support | ||
312 | # | ||
313 | |||
314 | # | ||
315 | # Executable file formats | ||
316 | # | ||
317 | CONFIG_BINFMT_ELF_FDPIC=y | ||
318 | CONFIG_BINFMT_FLAT=y | ||
319 | CONFIG_BINFMT_ZFLAT=y | ||
320 | CONFIG_BINFMT_SHARED_FLAT=y | ||
321 | # CONFIG_BINFMT_MISC is not set | ||
322 | |||
323 | # | ||
324 | # Power management options | ||
325 | # | ||
326 | # CONFIG_PM is not set | ||
327 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
328 | |||
329 | # | ||
330 | # CPU Frequency scaling | ||
331 | # | ||
332 | # CONFIG_CPU_FREQ is not set | ||
333 | |||
334 | # | ||
335 | # Networking | ||
336 | # | ||
337 | CONFIG_NET=y | ||
338 | |||
339 | # | ||
340 | # Networking options | ||
341 | # | ||
342 | CONFIG_PACKET=y | ||
343 | # CONFIG_PACKET_MMAP is not set | ||
344 | CONFIG_UNIX=y | ||
345 | CONFIG_XFRM=y | ||
346 | # CONFIG_XFRM_USER is not set | ||
347 | # CONFIG_XFRM_SUB_POLICY is not set | ||
348 | # CONFIG_XFRM_MIGRATE is not set | ||
349 | # CONFIG_NET_KEY is not set | ||
350 | CONFIG_INET=y | ||
351 | # CONFIG_IP_MULTICAST is not set | ||
352 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
353 | CONFIG_IP_FIB_HASH=y | ||
354 | # CONFIG_IP_PNP is not set | ||
355 | # CONFIG_NET_IPIP is not set | ||
356 | # CONFIG_NET_IPGRE is not set | ||
357 | # CONFIG_ARPD is not set | ||
358 | CONFIG_SYN_COOKIES=y | ||
359 | # CONFIG_INET_AH is not set | ||
360 | # CONFIG_INET_ESP is not set | ||
361 | # CONFIG_INET_IPCOMP is not set | ||
362 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
363 | # CONFIG_INET_TUNNEL is not set | ||
364 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
365 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
366 | CONFIG_INET_XFRM_MODE_BEET=y | ||
367 | CONFIG_INET_DIAG=y | ||
368 | CONFIG_INET_TCP_DIAG=y | ||
369 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
370 | CONFIG_TCP_CONG_CUBIC=y | ||
371 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
372 | # CONFIG_TCP_MD5SIG is not set | ||
373 | # CONFIG_IPV6 is not set | ||
374 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
375 | # CONFIG_INET6_TUNNEL is not set | ||
376 | # CONFIG_NETLABEL is not set | ||
377 | # CONFIG_NETWORK_SECMARK is not set | ||
378 | # CONFIG_NETFILTER is not set | ||
379 | # CONFIG_IP_DCCP is not set | ||
380 | # CONFIG_IP_SCTP is not set | ||
381 | # CONFIG_TIPC is not set | ||
382 | # CONFIG_ATM is not set | ||
383 | # CONFIG_BRIDGE is not set | ||
384 | # CONFIG_VLAN_8021Q is not set | ||
385 | # CONFIG_DECNET is not set | ||
386 | # CONFIG_LLC2 is not set | ||
387 | # CONFIG_IPX is not set | ||
388 | # CONFIG_ATALK is not set | ||
389 | # CONFIG_X25 is not set | ||
390 | # CONFIG_LAPB is not set | ||
391 | # CONFIG_ECONET is not set | ||
392 | # CONFIG_WAN_ROUTER is not set | ||
393 | |||
394 | # | ||
395 | # QoS and/or fair queueing | ||
396 | # | ||
397 | # CONFIG_NET_SCHED is not set | ||
398 | |||
399 | # | ||
400 | # Network testing | ||
401 | # | ||
402 | # CONFIG_NET_PKTGEN is not set | ||
403 | # CONFIG_HAMRADIO is not set | ||
404 | # CONFIG_IRDA is not set | ||
405 | # CONFIG_BT is not set | ||
406 | # CONFIG_AF_RXRPC is not set | ||
407 | |||
408 | # | ||
409 | # Wireless | ||
410 | # | ||
411 | # CONFIG_CFG80211 is not set | ||
412 | # CONFIG_WIRELESS_EXT is not set | ||
413 | # CONFIG_MAC80211 is not set | ||
414 | # CONFIG_IEEE80211 is not set | ||
415 | # CONFIG_RFKILL is not set | ||
416 | |||
417 | # | ||
418 | # Device Drivers | ||
419 | # | ||
420 | |||
421 | # | ||
422 | # Generic Driver Options | ||
423 | # | ||
424 | CONFIG_STANDALONE=y | ||
425 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
426 | # CONFIG_SYS_HYPERVISOR is not set | ||
427 | |||
428 | # | ||
429 | # Connector - unified userspace <-> kernelspace linker | ||
430 | # | ||
431 | # CONFIG_CONNECTOR is not set | ||
432 | CONFIG_MTD=y | ||
433 | # CONFIG_MTD_DEBUG is not set | ||
434 | # CONFIG_MTD_CONCAT is not set | ||
435 | CONFIG_MTD_PARTITIONS=y | ||
436 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
437 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
438 | |||
439 | # | ||
440 | # User Modules And Translation Layers | ||
441 | # | ||
442 | CONFIG_MTD_CHAR=y | ||
443 | CONFIG_MTD_BLKDEVS=y | ||
444 | CONFIG_MTD_BLOCK=y | ||
445 | # CONFIG_FTL is not set | ||
446 | # CONFIG_NFTL is not set | ||
447 | # CONFIG_INFTL is not set | ||
448 | # CONFIG_RFD_FTL is not set | ||
449 | # CONFIG_SSFDC is not set | ||
450 | |||
451 | # | ||
452 | # RAM/ROM/Flash chip drivers | ||
453 | # | ||
454 | # CONFIG_MTD_CFI is not set | ||
455 | # CONFIG_MTD_JEDECPROBE is not set | ||
456 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
457 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
458 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
459 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
460 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
461 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
462 | CONFIG_MTD_CFI_I1=y | ||
463 | CONFIG_MTD_CFI_I2=y | ||
464 | # CONFIG_MTD_CFI_I4 is not set | ||
465 | # CONFIG_MTD_CFI_I8 is not set | ||
466 | CONFIG_MTD_RAM=y | ||
467 | # CONFIG_MTD_ROM is not set | ||
468 | # CONFIG_MTD_ABSENT is not set | ||
469 | |||
470 | # | ||
471 | # Mapping drivers for chip access | ||
472 | # | ||
473 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
474 | CONFIG_MTD_UCLINUX=y | ||
475 | # CONFIG_MTD_PLATRAM is not set | ||
476 | |||
477 | # | ||
478 | # Self-contained MTD device drivers | ||
479 | # | ||
480 | # CONFIG_MTD_SLRAM is not set | ||
481 | # CONFIG_MTD_PHRAM is not set | ||
482 | # CONFIG_MTD_MTDRAM is not set | ||
483 | # CONFIG_MTD_BLOCK2MTD is not set | ||
484 | |||
485 | # | ||
486 | # Disk-On-Chip Device Drivers | ||
487 | # | ||
488 | # CONFIG_MTD_DOC2000 is not set | ||
489 | # CONFIG_MTD_DOC2001 is not set | ||
490 | # CONFIG_MTD_DOC2001PLUS is not set | ||
491 | # CONFIG_MTD_NAND is not set | ||
492 | # CONFIG_MTD_ONENAND is not set | ||
493 | |||
494 | # | ||
495 | # UBI - Unsorted block images | ||
496 | # | ||
497 | # CONFIG_MTD_UBI is not set | ||
498 | |||
499 | # | ||
500 | # Parallel port support | ||
501 | # | ||
502 | # CONFIG_PARPORT is not set | ||
503 | |||
504 | # | ||
505 | # Plug and Play support | ||
506 | # | ||
507 | # CONFIG_PNPACPI is not set | ||
508 | |||
509 | # | ||
510 | # Block devices | ||
511 | # | ||
512 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
513 | # CONFIG_BLK_DEV_LOOP is not set | ||
514 | # CONFIG_BLK_DEV_NBD is not set | ||
515 | CONFIG_BLK_DEV_RAM=y | ||
516 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
517 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
518 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
519 | # CONFIG_CDROM_PKTCDVD is not set | ||
520 | # CONFIG_ATA_OVER_ETH is not set | ||
521 | |||
522 | # | ||
523 | # Misc devices | ||
524 | # | ||
525 | # CONFIG_IDE is not set | ||
526 | |||
527 | # | ||
528 | # SCSI device support | ||
529 | # | ||
530 | # CONFIG_RAID_ATTRS is not set | ||
531 | # CONFIG_SCSI is not set | ||
532 | # CONFIG_SCSI_NETLINK is not set | ||
533 | # CONFIG_ATA is not set | ||
534 | |||
535 | # | ||
536 | # Multi-device support (RAID and LVM) | ||
537 | # | ||
538 | # CONFIG_MD is not set | ||
539 | |||
540 | # | ||
541 | # Network device support | ||
542 | # | ||
543 | CONFIG_NETDEVICES=y | ||
544 | # CONFIG_DUMMY is not set | ||
545 | # CONFIG_BONDING is not set | ||
546 | # CONFIG_EQUALIZER is not set | ||
547 | # CONFIG_TUN is not set | ||
548 | CONFIG_PHYLIB=y | ||
549 | |||
550 | # | ||
551 | # MII PHY device drivers | ||
552 | # | ||
553 | # CONFIG_MARVELL_PHY is not set | ||
554 | # CONFIG_DAVICOM_PHY is not set | ||
555 | # CONFIG_QSEMI_PHY is not set | ||
556 | # CONFIG_LXT_PHY is not set | ||
557 | # CONFIG_CICADA_PHY is not set | ||
558 | # CONFIG_VITESSE_PHY is not set | ||
559 | # CONFIG_SMSC_PHY is not set | ||
560 | # CONFIG_BROADCOM_PHY is not set | ||
561 | # CONFIG_FIXED_PHY is not set | ||
562 | |||
563 | # | ||
564 | # Ethernet (10 or 100Mbit) | ||
565 | # | ||
566 | CONFIG_NET_ETHERNET=y | ||
567 | CONFIG_MII=y | ||
568 | # CONFIG_SMC91X is not set | ||
569 | CONFIG_BFIN_MAC=y | ||
570 | CONFIG_BFIN_MAC_USE_L1=y | ||
571 | CONFIG_BFIN_TX_DESC_NUM=10 | ||
572 | CONFIG_BFIN_RX_DESC_NUM=20 | ||
573 | # CONFIG_BFIN_MAC_RMII is not set | ||
574 | # CONFIG_SMSC911X is not set | ||
575 | # CONFIG_DM9000 is not set | ||
576 | CONFIG_NETDEV_1000=y | ||
577 | # CONFIG_AX88180 is not set | ||
578 | CONFIG_NETDEV_10000=y | ||
579 | |||
580 | # | ||
581 | # Wireless LAN | ||
582 | # | ||
583 | # CONFIG_WLAN_PRE80211 is not set | ||
584 | # CONFIG_WLAN_80211 is not set | ||
585 | # CONFIG_WAN is not set | ||
586 | # CONFIG_PPP is not set | ||
587 | # CONFIG_SLIP is not set | ||
588 | # CONFIG_SHAPER is not set | ||
589 | # CONFIG_NETCONSOLE is not set | ||
590 | # CONFIG_NETPOLL is not set | ||
591 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
592 | |||
593 | # | ||
594 | # ISDN subsystem | ||
595 | # | ||
596 | # CONFIG_ISDN is not set | ||
597 | |||
598 | # | ||
599 | # Telephony Support | ||
600 | # | ||
601 | # CONFIG_PHONE is not set | ||
602 | |||
603 | # | ||
604 | # Input device support | ||
605 | # | ||
606 | # CONFIG_INPUT is not set | ||
607 | |||
608 | # | ||
609 | # Hardware I/O ports | ||
610 | # | ||
611 | # CONFIG_SERIO is not set | ||
612 | # CONFIG_GAMEPORT is not set | ||
613 | |||
614 | # | ||
615 | # Character devices | ||
616 | # | ||
617 | # CONFIG_AD9960 is not set | ||
618 | # CONFIG_SPI_ADC_BF533 is not set | ||
619 | # CONFIG_BF5xx_PFLAGS is not set | ||
620 | # CONFIG_BF5xx_PPIFCD is not set | ||
621 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
622 | # CONFIG_BF5xx_PPI is not set | ||
623 | CONFIG_BFIN_SPORT=y | ||
624 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
625 | # CONFIG_VT is not set | ||
626 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
627 | |||
628 | # | ||
629 | # Serial drivers | ||
630 | # | ||
631 | # CONFIG_SERIAL_8250 is not set | ||
632 | |||
633 | # | ||
634 | # Non-8250 serial port support | ||
635 | # | ||
636 | CONFIG_SERIAL_BFIN=y | ||
637 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
638 | CONFIG_SERIAL_BFIN_DMA=y | ||
639 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
640 | CONFIG_SERIAL_BFIN_UART0=y | ||
641 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
642 | CONFIG_SERIAL_BFIN_UART1=y | ||
643 | # CONFIG_BFIN_UART1_CTSRTS is not set | ||
644 | CONFIG_SERIAL_CORE=y | ||
645 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
646 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
647 | CONFIG_UNIX98_PTYS=y | ||
648 | CONFIG_LEGACY_PTYS=y | ||
649 | CONFIG_LEGACY_PTY_COUNT=256 | ||
650 | |||
651 | # | ||
652 | # CAN, the car bus and industrial fieldbus | ||
653 | # | ||
654 | # CONFIG_CAN4LINUX is not set | ||
655 | |||
656 | # | ||
657 | # IPMI | ||
658 | # | ||
659 | # CONFIG_IPMI_HANDLER is not set | ||
660 | # CONFIG_WATCHDOG is not set | ||
661 | # CONFIG_HW_RANDOM is not set | ||
662 | # CONFIG_GEN_RTC is not set | ||
663 | # CONFIG_R3964 is not set | ||
664 | # CONFIG_RAW_DRIVER is not set | ||
665 | |||
666 | # | ||
667 | # TPM devices | ||
668 | # | ||
669 | # CONFIG_TCG_TPM is not set | ||
670 | # CONFIG_I2C is not set | ||
671 | |||
672 | # | ||
673 | # SPI support | ||
674 | # | ||
675 | # CONFIG_SPI is not set | ||
676 | # CONFIG_SPI_MASTER is not set | ||
677 | |||
678 | # | ||
679 | # Dallas's 1-wire bus | ||
680 | # | ||
681 | # CONFIG_W1 is not set | ||
682 | CONFIG_HWMON=y | ||
683 | # CONFIG_HWMON_VID is not set | ||
684 | # CONFIG_SENSORS_ABITUGURU is not set | ||
685 | # CONFIG_SENSORS_F71805F is not set | ||
686 | # CONFIG_SENSORS_PC87427 is not set | ||
687 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
688 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
689 | # CONFIG_SENSORS_VT1211 is not set | ||
690 | # CONFIG_SENSORS_W83627HF is not set | ||
691 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
692 | |||
693 | # | ||
694 | # Multifunction device drivers | ||
695 | # | ||
696 | # CONFIG_MFD_SM501 is not set | ||
697 | |||
698 | # | ||
699 | # Multimedia devices | ||
700 | # | ||
701 | # CONFIG_VIDEO_DEV is not set | ||
702 | # CONFIG_DVB_CORE is not set | ||
703 | CONFIG_DAB=y | ||
704 | |||
705 | # | ||
706 | # Graphics support | ||
707 | # | ||
708 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
709 | |||
710 | # | ||
711 | # Display device support | ||
712 | # | ||
713 | # CONFIG_DISPLAY_SUPPORT is not set | ||
714 | # CONFIG_VGASTATE is not set | ||
715 | # CONFIG_FB is not set | ||
716 | |||
717 | # | ||
718 | # Sound | ||
719 | # | ||
720 | # CONFIG_SOUND is not set | ||
721 | |||
722 | # | ||
723 | # USB support | ||
724 | # | ||
725 | CONFIG_USB_ARCH_HAS_HCD=y | ||
726 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
727 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
728 | # CONFIG_USB is not set | ||
729 | |||
730 | # | ||
731 | # Enable Host or Gadget support to see Inventra options | ||
732 | # | ||
733 | |||
734 | # | ||
735 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
736 | # | ||
737 | |||
738 | # | ||
739 | # USB Gadget Support | ||
740 | # | ||
741 | # CONFIG_USB_GADGET is not set | ||
742 | # CONFIG_MMC is not set | ||
743 | |||
744 | # | ||
745 | # LED devices | ||
746 | # | ||
747 | # CONFIG_NEW_LEDS is not set | ||
748 | |||
749 | # | ||
750 | # LED drivers | ||
751 | # | ||
752 | |||
753 | # | ||
754 | # LED Triggers | ||
755 | # | ||
756 | |||
757 | # | ||
758 | # InfiniBand support | ||
759 | # | ||
760 | |||
761 | # | ||
762 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
763 | # | ||
764 | |||
765 | # | ||
766 | # Real Time Clock | ||
767 | # | ||
768 | # CONFIG_RTC_CLASS is not set | ||
769 | |||
770 | # | ||
771 | # DMA Engine support | ||
772 | # | ||
773 | # CONFIG_DMA_ENGINE is not set | ||
774 | |||
775 | # | ||
776 | # DMA Clients | ||
777 | # | ||
778 | |||
779 | # | ||
780 | # DMA Devices | ||
781 | # | ||
782 | |||
783 | # | ||
784 | # PBX support | ||
785 | # | ||
786 | # CONFIG_PBX is not set | ||
787 | |||
788 | # | ||
789 | # File systems | ||
790 | # | ||
791 | CONFIG_EXT2_FS=y | ||
792 | CONFIG_EXT2_FS_XATTR=y | ||
793 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
794 | # CONFIG_EXT2_FS_SECURITY is not set | ||
795 | # CONFIG_EXT3_FS is not set | ||
796 | # CONFIG_EXT4DEV_FS is not set | ||
797 | CONFIG_FS_MBCACHE=y | ||
798 | # CONFIG_REISERFS_FS is not set | ||
799 | # CONFIG_JFS_FS is not set | ||
800 | # CONFIG_FS_POSIX_ACL is not set | ||
801 | # CONFIG_XFS_FS is not set | ||
802 | # CONFIG_GFS2_FS is not set | ||
803 | # CONFIG_OCFS2_FS is not set | ||
804 | # CONFIG_MINIX_FS is not set | ||
805 | # CONFIG_ROMFS_FS is not set | ||
806 | CONFIG_INOTIFY=y | ||
807 | CONFIG_INOTIFY_USER=y | ||
808 | # CONFIG_QUOTA is not set | ||
809 | CONFIG_DNOTIFY=y | ||
810 | # CONFIG_AUTOFS_FS is not set | ||
811 | # CONFIG_AUTOFS4_FS is not set | ||
812 | # CONFIG_FUSE_FS is not set | ||
813 | |||
814 | # | ||
815 | # CD-ROM/DVD Filesystems | ||
816 | # | ||
817 | # CONFIG_ISO9660_FS is not set | ||
818 | # CONFIG_UDF_FS is not set | ||
819 | |||
820 | # | ||
821 | # DOS/FAT/NT Filesystems | ||
822 | # | ||
823 | # CONFIG_MSDOS_FS is not set | ||
824 | # CONFIG_VFAT_FS is not set | ||
825 | # CONFIG_NTFS_FS is not set | ||
826 | |||
827 | # | ||
828 | # Pseudo filesystems | ||
829 | # | ||
830 | CONFIG_PROC_FS=y | ||
831 | CONFIG_PROC_SYSCTL=y | ||
832 | CONFIG_SYSFS=y | ||
833 | # CONFIG_TMPFS is not set | ||
834 | # CONFIG_HUGETLB_PAGE is not set | ||
835 | CONFIG_RAMFS=y | ||
836 | # CONFIG_CONFIGFS_FS is not set | ||
837 | |||
838 | # | ||
839 | # Miscellaneous filesystems | ||
840 | # | ||
841 | # CONFIG_ADFS_FS is not set | ||
842 | # CONFIG_AFFS_FS is not set | ||
843 | # CONFIG_HFS_FS is not set | ||
844 | # CONFIG_HFSPLUS_FS is not set | ||
845 | # CONFIG_BEFS_FS is not set | ||
846 | # CONFIG_BFS_FS is not set | ||
847 | # CONFIG_EFS_FS is not set | ||
848 | # CONFIG_YAFFS_FS is not set | ||
849 | # CONFIG_JFFS2_FS is not set | ||
850 | # CONFIG_CRAMFS is not set | ||
851 | # CONFIG_VXFS_FS is not set | ||
852 | # CONFIG_HPFS_FS is not set | ||
853 | # CONFIG_QNX4FS_FS is not set | ||
854 | # CONFIG_SYSV_FS is not set | ||
855 | # CONFIG_UFS_FS is not set | ||
856 | |||
857 | # | ||
858 | # Network File Systems | ||
859 | # | ||
860 | # CONFIG_NFS_FS is not set | ||
861 | # CONFIG_NFSD is not set | ||
862 | # CONFIG_SMB_FS is not set | ||
863 | # CONFIG_CIFS is not set | ||
864 | # CONFIG_NCP_FS is not set | ||
865 | # CONFIG_CODA_FS is not set | ||
866 | # CONFIG_AFS_FS is not set | ||
867 | # CONFIG_9P_FS is not set | ||
868 | |||
869 | # | ||
870 | # Partition Types | ||
871 | # | ||
872 | # CONFIG_PARTITION_ADVANCED is not set | ||
873 | CONFIG_MSDOS_PARTITION=y | ||
874 | |||
875 | # | ||
876 | # Native Language Support | ||
877 | # | ||
878 | # CONFIG_NLS is not set | ||
879 | |||
880 | # | ||
881 | # Distributed Lock Manager | ||
882 | # | ||
883 | # CONFIG_DLM is not set | ||
884 | |||
885 | # | ||
886 | # Profiling support | ||
887 | # | ||
888 | # CONFIG_PROFILING is not set | ||
889 | |||
890 | # | ||
891 | # Kernel hacking | ||
892 | # | ||
893 | # CONFIG_PRINTK_TIME is not set | ||
894 | CONFIG_ENABLE_MUST_CHECK=y | ||
895 | # CONFIG_MAGIC_SYSRQ is not set | ||
896 | # CONFIG_UNUSED_SYMBOLS is not set | ||
897 | # CONFIG_DEBUG_FS is not set | ||
898 | # CONFIG_HEADERS_CHECK is not set | ||
899 | # CONFIG_DEBUG_KERNEL is not set | ||
900 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
901 | # CONFIG_DEBUG_MMRS is not set | ||
902 | # CONFIG_DEBUG_HUNT_FOR_ZERO is not set | ||
903 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
904 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
905 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
906 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
907 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
908 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
909 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
910 | # CONFIG_EARLY_PRINTK is not set | ||
911 | CONFIG_CPLB_INFO=y | ||
912 | CONFIG_ACCESS_CHECK=y | ||
913 | |||
914 | # | ||
915 | # Security options | ||
916 | # | ||
917 | # CONFIG_KEYS is not set | ||
918 | CONFIG_SECURITY=y | ||
919 | # CONFIG_SECURITY_NETWORK is not set | ||
920 | CONFIG_SECURITY_CAPABILITIES=y | ||
921 | |||
922 | # | ||
923 | # Cryptographic options | ||
924 | # | ||
925 | # CONFIG_CRYPTO is not set | ||
926 | |||
927 | # | ||
928 | # Library routines | ||
929 | # | ||
930 | CONFIG_BITREVERSE=y | ||
931 | CONFIG_CRC_CCITT=m | ||
932 | # CONFIG_CRC16 is not set | ||
933 | # CONFIG_CRC_ITU_T is not set | ||
934 | CONFIG_CRC32=y | ||
935 | # CONFIG_LIBCRC32C is not set | ||
936 | CONFIG_ZLIB_INFLATE=y | ||
937 | CONFIG_PLIST=y | ||
938 | CONFIG_HAS_IOMEM=y | ||
939 | CONFIG_HAS_IOPORT=y | ||
940 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/CM-BF537U_defconfig b/arch/blackfin/configs/CM-BF537U_defconfig new file mode 100644 index 000000000000..2694d06c5bde --- /dev/null +++ b/arch/blackfin/configs/CM-BF537U_defconfig | |||
@@ -0,0 +1,940 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22.16 | ||
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_ZONE_DMA=y | ||
11 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_SYSVIPC=y | ||
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | # CONFIG_POSIX_MQUEUE is not set | ||
38 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
39 | # CONFIG_TASKSTATS is not set | ||
40 | # CONFIG_UTS_NS is not set | ||
41 | # CONFIG_AUDIT is not set | ||
42 | # CONFIG_IKCONFIG is not set | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | # CONFIG_BLK_DEV_INITRD is not set | ||
47 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
48 | CONFIG_SYSCTL=y | ||
49 | CONFIG_EMBEDDED=y | ||
50 | # CONFIG_UID16 is not set | ||
51 | CONFIG_SYSCTL_SYSCALL=y | ||
52 | CONFIG_KALLSYMS=y | ||
53 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
54 | # CONFIG_HOTPLUG is not set | ||
55 | CONFIG_PRINTK=y | ||
56 | CONFIG_BUG=y | ||
57 | CONFIG_ELF_CORE=y | ||
58 | CONFIG_BASE_FULL=y | ||
59 | CONFIG_FUTEX=y | ||
60 | CONFIG_ANON_INODES=y | ||
61 | CONFIG_EPOLL=y | ||
62 | CONFIG_SIGNALFD=y | ||
63 | CONFIG_EVENTFD=y | ||
64 | CONFIG_VM_EVENT_COUNTERS=y | ||
65 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
66 | # CONFIG_NP2 is not set | ||
67 | CONFIG_SLAB=y | ||
68 | # CONFIG_SLUB is not set | ||
69 | # CONFIG_SLOB is not set | ||
70 | CONFIG_RT_MUTEXES=y | ||
71 | CONFIG_TINY_SHMEM=y | ||
72 | CONFIG_BASE_SMALL=0 | ||
73 | |||
74 | # | ||
75 | # Loadable module support | ||
76 | # | ||
77 | CONFIG_MODULES=y | ||
78 | CONFIG_MODULE_UNLOAD=y | ||
79 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
80 | # CONFIG_MODVERSIONS is not set | ||
81 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
82 | CONFIG_KMOD=y | ||
83 | |||
84 | # | ||
85 | # Block layer | ||
86 | # | ||
87 | CONFIG_BLOCK=y | ||
88 | # CONFIG_LBD is not set | ||
89 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
90 | # CONFIG_LSF is not set | ||
91 | |||
92 | # | ||
93 | # IO Schedulers | ||
94 | # | ||
95 | CONFIG_IOSCHED_NOOP=y | ||
96 | # CONFIG_IOSCHED_AS is not set | ||
97 | # CONFIG_IOSCHED_DEADLINE is not set | ||
98 | CONFIG_IOSCHED_CFQ=y | ||
99 | # CONFIG_DEFAULT_AS is not set | ||
100 | # CONFIG_DEFAULT_DEADLINE is not set | ||
101 | # CONFIG_DEFAULT_CFQ is not set | ||
102 | CONFIG_DEFAULT_NOOP=y | ||
103 | CONFIG_DEFAULT_IOSCHED="noop" | ||
104 | CONFIG_PREEMPT_NONE=y | ||
105 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
106 | # CONFIG_PREEMPT is not set | ||
107 | |||
108 | # | ||
109 | # Blackfin Processor Options | ||
110 | # | ||
111 | |||
112 | # | ||
113 | # Processor and Board Settings | ||
114 | # | ||
115 | # CONFIG_BF522 is not set | ||
116 | # CONFIG_BF523 is not set | ||
117 | # CONFIG_BF524 is not set | ||
118 | # CONFIG_BF525 is not set | ||
119 | # CONFIG_BF526 is not set | ||
120 | # CONFIG_BF527 is not set | ||
121 | # CONFIG_BF531 is not set | ||
122 | # CONFIG_BF532 is not set | ||
123 | # CONFIG_BF533 is not set | ||
124 | # CONFIG_BF534 is not set | ||
125 | # CONFIG_BF536 is not set | ||
126 | CONFIG_BF537=y | ||
127 | # CONFIG_BF542 is not set | ||
128 | # CONFIG_BF544 is not set | ||
129 | # CONFIG_BF547 is not set | ||
130 | # CONFIG_BF548 is not set | ||
131 | # CONFIG_BF549 is not set | ||
132 | # CONFIG_BF561 is not set | ||
133 | # CONFIG_BF_REV_0_0 is not set | ||
134 | # CONFIG_BF_REV_0_1 is not set | ||
135 | CONFIG_BF_REV_0_2=y | ||
136 | # CONFIG_BF_REV_0_3 is not set | ||
137 | # CONFIG_BF_REV_0_4 is not set | ||
138 | # CONFIG_BF_REV_0_5 is not set | ||
139 | # CONFIG_BF_REV_ANY is not set | ||
140 | # CONFIG_BF_REV_NONE is not set | ||
141 | CONFIG_BF53x=y | ||
142 | CONFIG_BFIN_SINGLE_CORE=y | ||
143 | CONFIG_MEM_MT48LC16M16A2TG_75=y | ||
144 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
145 | CONFIG_IRQ_RTC=8 | ||
146 | CONFIG_IRQ_PPI=8 | ||
147 | CONFIG_IRQ_SPORT0_RX=9 | ||
148 | CONFIG_IRQ_SPORT0_TX=9 | ||
149 | CONFIG_IRQ_SPORT1_RX=9 | ||
150 | CONFIG_IRQ_SPORT1_TX=9 | ||
151 | CONFIG_IRQ_TWI=10 | ||
152 | CONFIG_IRQ_SPI=10 | ||
153 | CONFIG_IRQ_UART0_RX=10 | ||
154 | CONFIG_IRQ_UART0_TX=10 | ||
155 | CONFIG_IRQ_UART1_RX=10 | ||
156 | CONFIG_IRQ_UART1_TX=10 | ||
157 | CONFIG_IRQ_MAC_RX=11 | ||
158 | CONFIG_IRQ_MAC_TX=11 | ||
159 | CONFIG_IRQ_TMR0=12 | ||
160 | CONFIG_IRQ_TMR1=12 | ||
161 | CONFIG_IRQ_TMR2=12 | ||
162 | CONFIG_IRQ_TMR3=12 | ||
163 | CONFIG_IRQ_TMR4=12 | ||
164 | CONFIG_IRQ_TMR5=12 | ||
165 | CONFIG_IRQ_TMR6=12 | ||
166 | CONFIG_IRQ_TMR7=12 | ||
167 | CONFIG_IRQ_PORTG_INTB=12 | ||
168 | CONFIG_IRQ_MEM_DMA0=13 | ||
169 | CONFIG_IRQ_MEM_DMA1=13 | ||
170 | CONFIG_IRQ_WATCH=13 | ||
171 | # CONFIG_BFIN537_STAMP is not set | ||
172 | CONFIG_BFIN537_BLUETECHNIX_CM=y | ||
173 | # CONFIG_PNAV10 is not set | ||
174 | # CONFIG_CAMSIG_MINOTAUR is not set | ||
175 | # CONFIG_GENERIC_BF537_BOARD is not set | ||
176 | |||
177 | # | ||
178 | # BF537 Specific Configuration | ||
179 | # | ||
180 | |||
181 | # | ||
182 | # Interrupt Priority Assignment | ||
183 | # | ||
184 | |||
185 | # | ||
186 | # Priority | ||
187 | # | ||
188 | CONFIG_IRQ_DMA_ERROR=7 | ||
189 | CONFIG_IRQ_ERROR=7 | ||
190 | CONFIG_IRQ_CAN_RX=11 | ||
191 | CONFIG_IRQ_CAN_TX=11 | ||
192 | CONFIG_IRQ_PROG_INTA=12 | ||
193 | |||
194 | # | ||
195 | # Board customizations | ||
196 | # | ||
197 | # CONFIG_CMDLINE_BOOL is not set | ||
198 | |||
199 | # | ||
200 | # Clock/PLL Setup | ||
201 | # | ||
202 | CONFIG_CLKIN_HZ=30000000 | ||
203 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
204 | CONFIG_MAX_VCO_HZ=600000000 | ||
205 | CONFIG_MIN_VCO_HZ=50000000 | ||
206 | CONFIG_MAX_SCLK_HZ=133333333 | ||
207 | CONFIG_MIN_SCLK_HZ=27000000 | ||
208 | |||
209 | # | ||
210 | # Kernel Timer/Scheduler | ||
211 | # | ||
212 | # CONFIG_HZ_100 is not set | ||
213 | CONFIG_HZ_250=y | ||
214 | # CONFIG_HZ_300 is not set | ||
215 | # CONFIG_HZ_1000 is not set | ||
216 | CONFIG_HZ=250 | ||
217 | |||
218 | # | ||
219 | # Memory Setup | ||
220 | # | ||
221 | CONFIG_MAX_MEM_SIZE=32 | ||
222 | CONFIG_MEM_ADD_WIDTH=9 | ||
223 | CONFIG_BOOT_LOAD=0x1000 | ||
224 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
225 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
226 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
227 | |||
228 | # | ||
229 | # Blackfin Kernel Optimizations | ||
230 | # | ||
231 | |||
232 | # | ||
233 | # Memory Optimizations | ||
234 | # | ||
235 | CONFIG_I_ENTRY_L1=y | ||
236 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
237 | CONFIG_DO_IRQ_L1=y | ||
238 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
239 | CONFIG_IDLE_L1=y | ||
240 | CONFIG_SCHEDULE_L1=y | ||
241 | CONFIG_ARITHMETIC_OPS_L1=y | ||
242 | CONFIG_ACCESS_OK_L1=y | ||
243 | CONFIG_MEMSET_L1=y | ||
244 | CONFIG_MEMCPY_L1=y | ||
245 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
246 | CONFIG_IP_CHECKSUM_L1=y | ||
247 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
248 | CONFIG_SYSCALL_TAB_L1=y | ||
249 | CONFIG_CPLB_SWITCH_TAB_L1=y | ||
250 | CONFIG_RAMKERNEL=y | ||
251 | # CONFIG_ROMKERNEL is not set | ||
252 | CONFIG_SELECT_MEMORY_MODEL=y | ||
253 | CONFIG_FLATMEM_MANUAL=y | ||
254 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
255 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
256 | CONFIG_FLATMEM=y | ||
257 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
258 | # CONFIG_SPARSEMEM_STATIC is not set | ||
259 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
260 | # CONFIG_RESOURCES_64BIT is not set | ||
261 | CONFIG_ZONE_DMA_FLAG=1 | ||
262 | CONFIG_LARGE_ALLOCS=y | ||
263 | # CONFIG_BFIN_GPTIMERS is not set | ||
264 | CONFIG_BFIN_DMA_5XX=y | ||
265 | # CONFIG_DMA_UNCACHED_2M is not set | ||
266 | CONFIG_DMA_UNCACHED_1M=y | ||
267 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
268 | |||
269 | # | ||
270 | # Cache Support | ||
271 | # | ||
272 | CONFIG_BFIN_ICACHE=y | ||
273 | CONFIG_BFIN_DCACHE=y | ||
274 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
275 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
276 | CONFIG_BFIN_WB=y | ||
277 | # CONFIG_BFIN_WT is not set | ||
278 | CONFIG_L1_MAX_PIECE=16 | ||
279 | # CONFIG_MPU is not set | ||
280 | |||
281 | # | ||
282 | # Asynchonous Memory Configuration | ||
283 | # | ||
284 | |||
285 | # | ||
286 | # EBIU_AMGCTL Global Control | ||
287 | # | ||
288 | CONFIG_C_AMCKEN=y | ||
289 | CONFIG_C_CDPRIO=y | ||
290 | # CONFIG_C_AMBEN is not set | ||
291 | # CONFIG_C_AMBEN_B0 is not set | ||
292 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
293 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
294 | CONFIG_C_AMBEN_ALL=y | ||
295 | |||
296 | # | ||
297 | # EBIU_AMBCTL Control | ||
298 | # | ||
299 | CONFIG_BANK_0=0x7BB0 | ||
300 | CONFIG_BANK_1=0x7BB0 | ||
301 | CONFIG_BANK_2=0xFFC3 | ||
302 | CONFIG_BANK_3=0xFFC3 | ||
303 | |||
304 | # | ||
305 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
306 | # | ||
307 | # CONFIG_PCI is not set | ||
308 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
309 | |||
310 | # | ||
311 | # PCCARD (PCMCIA/CardBus) support | ||
312 | # | ||
313 | |||
314 | # | ||
315 | # Executable file formats | ||
316 | # | ||
317 | CONFIG_BINFMT_ELF_FDPIC=y | ||
318 | CONFIG_BINFMT_FLAT=y | ||
319 | CONFIG_BINFMT_ZFLAT=y | ||
320 | CONFIG_BINFMT_SHARED_FLAT=y | ||
321 | # CONFIG_BINFMT_MISC is not set | ||
322 | |||
323 | # | ||
324 | # Power management options | ||
325 | # | ||
326 | # CONFIG_PM is not set | ||
327 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
328 | |||
329 | # | ||
330 | # CPU Frequency scaling | ||
331 | # | ||
332 | # CONFIG_CPU_FREQ is not set | ||
333 | |||
334 | # | ||
335 | # Networking | ||
336 | # | ||
337 | CONFIG_NET=y | ||
338 | |||
339 | # | ||
340 | # Networking options | ||
341 | # | ||
342 | CONFIG_PACKET=y | ||
343 | # CONFIG_PACKET_MMAP is not set | ||
344 | CONFIG_UNIX=y | ||
345 | CONFIG_XFRM=y | ||
346 | # CONFIG_XFRM_USER is not set | ||
347 | # CONFIG_XFRM_SUB_POLICY is not set | ||
348 | # CONFIG_XFRM_MIGRATE is not set | ||
349 | # CONFIG_NET_KEY is not set | ||
350 | CONFIG_INET=y | ||
351 | # CONFIG_IP_MULTICAST is not set | ||
352 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
353 | CONFIG_IP_FIB_HASH=y | ||
354 | # CONFIG_IP_PNP is not set | ||
355 | # CONFIG_NET_IPIP is not set | ||
356 | # CONFIG_NET_IPGRE is not set | ||
357 | # CONFIG_ARPD is not set | ||
358 | CONFIG_SYN_COOKIES=y | ||
359 | # CONFIG_INET_AH is not set | ||
360 | # CONFIG_INET_ESP is not set | ||
361 | # CONFIG_INET_IPCOMP is not set | ||
362 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
363 | # CONFIG_INET_TUNNEL is not set | ||
364 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
365 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
366 | CONFIG_INET_XFRM_MODE_BEET=y | ||
367 | CONFIG_INET_DIAG=y | ||
368 | CONFIG_INET_TCP_DIAG=y | ||
369 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
370 | CONFIG_TCP_CONG_CUBIC=y | ||
371 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
372 | # CONFIG_TCP_MD5SIG is not set | ||
373 | # CONFIG_IPV6 is not set | ||
374 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
375 | # CONFIG_INET6_TUNNEL is not set | ||
376 | # CONFIG_NETLABEL is not set | ||
377 | # CONFIG_NETWORK_SECMARK is not set | ||
378 | # CONFIG_NETFILTER is not set | ||
379 | # CONFIG_IP_DCCP is not set | ||
380 | # CONFIG_IP_SCTP is not set | ||
381 | # CONFIG_TIPC is not set | ||
382 | # CONFIG_ATM is not set | ||
383 | # CONFIG_BRIDGE is not set | ||
384 | # CONFIG_VLAN_8021Q is not set | ||
385 | # CONFIG_DECNET is not set | ||
386 | # CONFIG_LLC2 is not set | ||
387 | # CONFIG_IPX is not set | ||
388 | # CONFIG_ATALK is not set | ||
389 | # CONFIG_X25 is not set | ||
390 | # CONFIG_LAPB is not set | ||
391 | # CONFIG_ECONET is not set | ||
392 | # CONFIG_WAN_ROUTER is not set | ||
393 | |||
394 | # | ||
395 | # QoS and/or fair queueing | ||
396 | # | ||
397 | # CONFIG_NET_SCHED is not set | ||
398 | |||
399 | # | ||
400 | # Network testing | ||
401 | # | ||
402 | # CONFIG_NET_PKTGEN is not set | ||
403 | # CONFIG_HAMRADIO is not set | ||
404 | # CONFIG_IRDA is not set | ||
405 | # CONFIG_BT is not set | ||
406 | # CONFIG_AF_RXRPC is not set | ||
407 | |||
408 | # | ||
409 | # Wireless | ||
410 | # | ||
411 | # CONFIG_CFG80211 is not set | ||
412 | # CONFIG_WIRELESS_EXT is not set | ||
413 | # CONFIG_MAC80211 is not set | ||
414 | # CONFIG_IEEE80211 is not set | ||
415 | # CONFIG_RFKILL is not set | ||
416 | |||
417 | # | ||
418 | # Device Drivers | ||
419 | # | ||
420 | |||
421 | # | ||
422 | # Generic Driver Options | ||
423 | # | ||
424 | CONFIG_STANDALONE=y | ||
425 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
426 | # CONFIG_SYS_HYPERVISOR is not set | ||
427 | |||
428 | # | ||
429 | # Connector - unified userspace <-> kernelspace linker | ||
430 | # | ||
431 | # CONFIG_CONNECTOR is not set | ||
432 | CONFIG_MTD=y | ||
433 | # CONFIG_MTD_DEBUG is not set | ||
434 | # CONFIG_MTD_CONCAT is not set | ||
435 | CONFIG_MTD_PARTITIONS=y | ||
436 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
437 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
438 | |||
439 | # | ||
440 | # User Modules And Translation Layers | ||
441 | # | ||
442 | CONFIG_MTD_CHAR=y | ||
443 | CONFIG_MTD_BLKDEVS=y | ||
444 | CONFIG_MTD_BLOCK=y | ||
445 | # CONFIG_FTL is not set | ||
446 | # CONFIG_NFTL is not set | ||
447 | # CONFIG_INFTL is not set | ||
448 | # CONFIG_RFD_FTL is not set | ||
449 | # CONFIG_SSFDC is not set | ||
450 | |||
451 | # | ||
452 | # RAM/ROM/Flash chip drivers | ||
453 | # | ||
454 | # CONFIG_MTD_CFI is not set | ||
455 | # CONFIG_MTD_JEDECPROBE is not set | ||
456 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
457 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
458 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
459 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
460 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
461 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
462 | CONFIG_MTD_CFI_I1=y | ||
463 | CONFIG_MTD_CFI_I2=y | ||
464 | # CONFIG_MTD_CFI_I4 is not set | ||
465 | # CONFIG_MTD_CFI_I8 is not set | ||
466 | CONFIG_MTD_RAM=y | ||
467 | # CONFIG_MTD_ROM is not set | ||
468 | # CONFIG_MTD_ABSENT is not set | ||
469 | |||
470 | # | ||
471 | # Mapping drivers for chip access | ||
472 | # | ||
473 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
474 | CONFIG_MTD_UCLINUX=y | ||
475 | # CONFIG_MTD_PLATRAM is not set | ||
476 | |||
477 | # | ||
478 | # Self-contained MTD device drivers | ||
479 | # | ||
480 | # CONFIG_MTD_SLRAM is not set | ||
481 | # CONFIG_MTD_PHRAM is not set | ||
482 | # CONFIG_MTD_MTDRAM is not set | ||
483 | # CONFIG_MTD_BLOCK2MTD is not set | ||
484 | |||
485 | # | ||
486 | # Disk-On-Chip Device Drivers | ||
487 | # | ||
488 | # CONFIG_MTD_DOC2000 is not set | ||
489 | # CONFIG_MTD_DOC2001 is not set | ||
490 | # CONFIG_MTD_DOC2001PLUS is not set | ||
491 | # CONFIG_MTD_NAND is not set | ||
492 | # CONFIG_MTD_ONENAND is not set | ||
493 | |||
494 | # | ||
495 | # UBI - Unsorted block images | ||
496 | # | ||
497 | # CONFIG_MTD_UBI is not set | ||
498 | |||
499 | # | ||
500 | # Parallel port support | ||
501 | # | ||
502 | # CONFIG_PARPORT is not set | ||
503 | |||
504 | # | ||
505 | # Plug and Play support | ||
506 | # | ||
507 | # CONFIG_PNPACPI is not set | ||
508 | |||
509 | # | ||
510 | # Block devices | ||
511 | # | ||
512 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
513 | # CONFIG_BLK_DEV_LOOP is not set | ||
514 | # CONFIG_BLK_DEV_NBD is not set | ||
515 | CONFIG_BLK_DEV_RAM=y | ||
516 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
517 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
518 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
519 | # CONFIG_CDROM_PKTCDVD is not set | ||
520 | # CONFIG_ATA_OVER_ETH is not set | ||
521 | |||
522 | # | ||
523 | # Misc devices | ||
524 | # | ||
525 | # CONFIG_IDE is not set | ||
526 | |||
527 | # | ||
528 | # SCSI device support | ||
529 | # | ||
530 | # CONFIG_RAID_ATTRS is not set | ||
531 | # CONFIG_SCSI is not set | ||
532 | # CONFIG_SCSI_NETLINK is not set | ||
533 | # CONFIG_ATA is not set | ||
534 | |||
535 | # | ||
536 | # Multi-device support (RAID and LVM) | ||
537 | # | ||
538 | # CONFIG_MD is not set | ||
539 | |||
540 | # | ||
541 | # Network device support | ||
542 | # | ||
543 | CONFIG_NETDEVICES=y | ||
544 | # CONFIG_DUMMY is not set | ||
545 | # CONFIG_BONDING is not set | ||
546 | # CONFIG_EQUALIZER is not set | ||
547 | # CONFIG_TUN is not set | ||
548 | # CONFIG_PHYLIB is not set | ||
549 | |||
550 | # | ||
551 | # Ethernet (10 or 100Mbit) | ||
552 | # | ||
553 | CONFIG_NET_ETHERNET=y | ||
554 | CONFIG_MII=y | ||
555 | CONFIG_SMC91X=y | ||
556 | # CONFIG_BFIN_MAC is not set | ||
557 | # CONFIG_SMSC911X is not set | ||
558 | # CONFIG_DM9000 is not set | ||
559 | CONFIG_NETDEV_1000=y | ||
560 | # CONFIG_AX88180 is not set | ||
561 | CONFIG_NETDEV_10000=y | ||
562 | |||
563 | # | ||
564 | # Wireless LAN | ||
565 | # | ||
566 | # CONFIG_WLAN_PRE80211 is not set | ||
567 | # CONFIG_WLAN_80211 is not set | ||
568 | # CONFIG_WAN is not set | ||
569 | # CONFIG_PPP is not set | ||
570 | # CONFIG_SLIP is not set | ||
571 | # CONFIG_SHAPER is not set | ||
572 | # CONFIG_NETCONSOLE is not set | ||
573 | # CONFIG_NETPOLL is not set | ||
574 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
575 | |||
576 | # | ||
577 | # ISDN subsystem | ||
578 | # | ||
579 | # CONFIG_ISDN is not set | ||
580 | |||
581 | # | ||
582 | # Telephony Support | ||
583 | # | ||
584 | # CONFIG_PHONE is not set | ||
585 | |||
586 | # | ||
587 | # Input device support | ||
588 | # | ||
589 | # CONFIG_INPUT is not set | ||
590 | |||
591 | # | ||
592 | # Hardware I/O ports | ||
593 | # | ||
594 | # CONFIG_SERIO is not set | ||
595 | # CONFIG_GAMEPORT is not set | ||
596 | |||
597 | # | ||
598 | # Character devices | ||
599 | # | ||
600 | # CONFIG_AD9960 is not set | ||
601 | # CONFIG_SPI_ADC_BF533 is not set | ||
602 | # CONFIG_BF5xx_PFLAGS is not set | ||
603 | # CONFIG_BF5xx_PPIFCD is not set | ||
604 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
605 | # CONFIG_BF5xx_PPI is not set | ||
606 | CONFIG_BFIN_SPORT=y | ||
607 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
608 | # CONFIG_VT is not set | ||
609 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
610 | |||
611 | # | ||
612 | # Serial drivers | ||
613 | # | ||
614 | # CONFIG_SERIAL_8250 is not set | ||
615 | |||
616 | # | ||
617 | # Non-8250 serial port support | ||
618 | # | ||
619 | CONFIG_SERIAL_BFIN=y | ||
620 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
621 | CONFIG_SERIAL_BFIN_DMA=y | ||
622 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
623 | CONFIG_SERIAL_BFIN_UART0=y | ||
624 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
625 | CONFIG_SERIAL_BFIN_UART1=y | ||
626 | # CONFIG_BFIN_UART1_CTSRTS is not set | ||
627 | CONFIG_SERIAL_CORE=y | ||
628 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
629 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
630 | CONFIG_UNIX98_PTYS=y | ||
631 | CONFIG_LEGACY_PTYS=y | ||
632 | CONFIG_LEGACY_PTY_COUNT=256 | ||
633 | |||
634 | # | ||
635 | # CAN, the car bus and industrial fieldbus | ||
636 | # | ||
637 | # CONFIG_CAN4LINUX is not set | ||
638 | |||
639 | # | ||
640 | # IPMI | ||
641 | # | ||
642 | # CONFIG_IPMI_HANDLER is not set | ||
643 | # CONFIG_WATCHDOG is not set | ||
644 | # CONFIG_HW_RANDOM is not set | ||
645 | # CONFIG_GEN_RTC is not set | ||
646 | # CONFIG_R3964 is not set | ||
647 | # CONFIG_RAW_DRIVER is not set | ||
648 | |||
649 | # | ||
650 | # TPM devices | ||
651 | # | ||
652 | # CONFIG_TCG_TPM is not set | ||
653 | # CONFIG_I2C is not set | ||
654 | |||
655 | # | ||
656 | # SPI support | ||
657 | # | ||
658 | # CONFIG_SPI is not set | ||
659 | # CONFIG_SPI_MASTER is not set | ||
660 | |||
661 | # | ||
662 | # Dallas's 1-wire bus | ||
663 | # | ||
664 | # CONFIG_W1 is not set | ||
665 | CONFIG_HWMON=y | ||
666 | # CONFIG_HWMON_VID is not set | ||
667 | # CONFIG_SENSORS_ABITUGURU is not set | ||
668 | # CONFIG_SENSORS_F71805F is not set | ||
669 | # CONFIG_SENSORS_PC87427 is not set | ||
670 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
671 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
672 | # CONFIG_SENSORS_VT1211 is not set | ||
673 | # CONFIG_SENSORS_W83627HF is not set | ||
674 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
675 | |||
676 | # | ||
677 | # Multifunction device drivers | ||
678 | # | ||
679 | # CONFIG_MFD_SM501 is not set | ||
680 | |||
681 | # | ||
682 | # Multimedia devices | ||
683 | # | ||
684 | # CONFIG_VIDEO_DEV is not set | ||
685 | # CONFIG_DVB_CORE is not set | ||
686 | CONFIG_DAB=y | ||
687 | |||
688 | # | ||
689 | # Graphics support | ||
690 | # | ||
691 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
692 | |||
693 | # | ||
694 | # Display device support | ||
695 | # | ||
696 | # CONFIG_DISPLAY_SUPPORT is not set | ||
697 | # CONFIG_VGASTATE is not set | ||
698 | # CONFIG_FB is not set | ||
699 | |||
700 | # | ||
701 | # Sound | ||
702 | # | ||
703 | # CONFIG_SOUND is not set | ||
704 | |||
705 | # | ||
706 | # USB support | ||
707 | # | ||
708 | CONFIG_USB_ARCH_HAS_HCD=y | ||
709 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
710 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
711 | # CONFIG_USB is not set | ||
712 | # CONFIG_USB_MUSB_HDRC is not set | ||
713 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
714 | |||
715 | # | ||
716 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
717 | # | ||
718 | |||
719 | # | ||
720 | # USB Gadget Support | ||
721 | # | ||
722 | CONFIG_USB_GADGET=y | ||
723 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
724 | CONFIG_USB_GADGET_SELECTED=y | ||
725 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
726 | CONFIG_USB_GADGET_NET2272=y | ||
727 | CONFIG_USB_NET2272=y | ||
728 | # CONFIG_USB_GADGET_NET2280 is not set | ||
729 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
730 | # CONFIG_USB_GADGET_GOKU is not set | ||
731 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
732 | # CONFIG_USB_GADGET_OMAP is not set | ||
733 | # CONFIG_USB_GADGET_AT91 is not set | ||
734 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
735 | CONFIG_USB_GADGET_DUALSPEED=y | ||
736 | # CONFIG_USB_ZERO is not set | ||
737 | # CONFIG_USB_ETH is not set | ||
738 | # CONFIG_USB_GADGETFS is not set | ||
739 | # CONFIG_USB_FILE_STORAGE is not set | ||
740 | # CONFIG_USB_G_SERIAL is not set | ||
741 | # CONFIG_USB_MIDI_GADGET is not set | ||
742 | # CONFIG_MMC is not set | ||
743 | |||
744 | # | ||
745 | # LED devices | ||
746 | # | ||
747 | # CONFIG_NEW_LEDS is not set | ||
748 | |||
749 | # | ||
750 | # LED drivers | ||
751 | # | ||
752 | |||
753 | # | ||
754 | # LED Triggers | ||
755 | # | ||
756 | |||
757 | # | ||
758 | # InfiniBand support | ||
759 | # | ||
760 | |||
761 | # | ||
762 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
763 | # | ||
764 | |||
765 | # | ||
766 | # Real Time Clock | ||
767 | # | ||
768 | # CONFIG_RTC_CLASS is not set | ||
769 | |||
770 | # | ||
771 | # DMA Engine support | ||
772 | # | ||
773 | # CONFIG_DMA_ENGINE is not set | ||
774 | |||
775 | # | ||
776 | # DMA Clients | ||
777 | # | ||
778 | |||
779 | # | ||
780 | # DMA Devices | ||
781 | # | ||
782 | |||
783 | # | ||
784 | # PBX support | ||
785 | # | ||
786 | # CONFIG_PBX is not set | ||
787 | |||
788 | # | ||
789 | # File systems | ||
790 | # | ||
791 | CONFIG_EXT2_FS=y | ||
792 | CONFIG_EXT2_FS_XATTR=y | ||
793 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
794 | # CONFIG_EXT2_FS_SECURITY is not set | ||
795 | # CONFIG_EXT3_FS is not set | ||
796 | # CONFIG_EXT4DEV_FS is not set | ||
797 | CONFIG_FS_MBCACHE=y | ||
798 | # CONFIG_REISERFS_FS is not set | ||
799 | # CONFIG_JFS_FS is not set | ||
800 | # CONFIG_FS_POSIX_ACL is not set | ||
801 | # CONFIG_XFS_FS is not set | ||
802 | # CONFIG_GFS2_FS is not set | ||
803 | # CONFIG_OCFS2_FS is not set | ||
804 | # CONFIG_MINIX_FS is not set | ||
805 | # CONFIG_ROMFS_FS is not set | ||
806 | CONFIG_INOTIFY=y | ||
807 | CONFIG_INOTIFY_USER=y | ||
808 | # CONFIG_QUOTA is not set | ||
809 | CONFIG_DNOTIFY=y | ||
810 | # CONFIG_AUTOFS_FS is not set | ||
811 | # CONFIG_AUTOFS4_FS is not set | ||
812 | # CONFIG_FUSE_FS is not set | ||
813 | |||
814 | # | ||
815 | # CD-ROM/DVD Filesystems | ||
816 | # | ||
817 | # CONFIG_ISO9660_FS is not set | ||
818 | # CONFIG_UDF_FS is not set | ||
819 | |||
820 | # | ||
821 | # DOS/FAT/NT Filesystems | ||
822 | # | ||
823 | # CONFIG_MSDOS_FS is not set | ||
824 | # CONFIG_VFAT_FS is not set | ||
825 | # CONFIG_NTFS_FS is not set | ||
826 | |||
827 | # | ||
828 | # Pseudo filesystems | ||
829 | # | ||
830 | CONFIG_PROC_FS=y | ||
831 | CONFIG_PROC_SYSCTL=y | ||
832 | CONFIG_SYSFS=y | ||
833 | # CONFIG_TMPFS is not set | ||
834 | # CONFIG_HUGETLB_PAGE is not set | ||
835 | CONFIG_RAMFS=y | ||
836 | # CONFIG_CONFIGFS_FS is not set | ||
837 | |||
838 | # | ||
839 | # Miscellaneous filesystems | ||
840 | # | ||
841 | # CONFIG_ADFS_FS is not set | ||
842 | # CONFIG_AFFS_FS is not set | ||
843 | # CONFIG_HFS_FS is not set | ||
844 | # CONFIG_HFSPLUS_FS is not set | ||
845 | # CONFIG_BEFS_FS is not set | ||
846 | # CONFIG_BFS_FS is not set | ||
847 | # CONFIG_EFS_FS is not set | ||
848 | # CONFIG_YAFFS_FS is not set | ||
849 | # CONFIG_JFFS2_FS is not set | ||
850 | # CONFIG_CRAMFS is not set | ||
851 | # CONFIG_VXFS_FS is not set | ||
852 | # CONFIG_HPFS_FS is not set | ||
853 | # CONFIG_QNX4FS_FS is not set | ||
854 | # CONFIG_SYSV_FS is not set | ||
855 | # CONFIG_UFS_FS is not set | ||
856 | |||
857 | # | ||
858 | # Network File Systems | ||
859 | # | ||
860 | # CONFIG_NFS_FS is not set | ||
861 | # CONFIG_NFSD is not set | ||
862 | # CONFIG_SMB_FS is not set | ||
863 | # CONFIG_CIFS is not set | ||
864 | # CONFIG_NCP_FS is not set | ||
865 | # CONFIG_CODA_FS is not set | ||
866 | # CONFIG_AFS_FS is not set | ||
867 | # CONFIG_9P_FS is not set | ||
868 | |||
869 | # | ||
870 | # Partition Types | ||
871 | # | ||
872 | # CONFIG_PARTITION_ADVANCED is not set | ||
873 | CONFIG_MSDOS_PARTITION=y | ||
874 | |||
875 | # | ||
876 | # Native Language Support | ||
877 | # | ||
878 | # CONFIG_NLS is not set | ||
879 | |||
880 | # | ||
881 | # Distributed Lock Manager | ||
882 | # | ||
883 | # CONFIG_DLM is not set | ||
884 | |||
885 | # | ||
886 | # Profiling support | ||
887 | # | ||
888 | # CONFIG_PROFILING is not set | ||
889 | |||
890 | # | ||
891 | # Kernel hacking | ||
892 | # | ||
893 | # CONFIG_PRINTK_TIME is not set | ||
894 | CONFIG_ENABLE_MUST_CHECK=y | ||
895 | # CONFIG_MAGIC_SYSRQ is not set | ||
896 | # CONFIG_UNUSED_SYMBOLS is not set | ||
897 | # CONFIG_DEBUG_FS is not set | ||
898 | # CONFIG_HEADERS_CHECK is not set | ||
899 | # CONFIG_DEBUG_KERNEL is not set | ||
900 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
901 | # CONFIG_DEBUG_MMRS is not set | ||
902 | # CONFIG_DEBUG_HUNT_FOR_ZERO is not set | ||
903 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
904 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
905 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
906 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
907 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
908 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
909 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
910 | # CONFIG_EARLY_PRINTK is not set | ||
911 | CONFIG_CPLB_INFO=y | ||
912 | CONFIG_ACCESS_CHECK=y | ||
913 | |||
914 | # | ||
915 | # Security options | ||
916 | # | ||
917 | # CONFIG_KEYS is not set | ||
918 | CONFIG_SECURITY=y | ||
919 | # CONFIG_SECURITY_NETWORK is not set | ||
920 | CONFIG_SECURITY_CAPABILITIES=y | ||
921 | |||
922 | # | ||
923 | # Cryptographic options | ||
924 | # | ||
925 | # CONFIG_CRYPTO is not set | ||
926 | |||
927 | # | ||
928 | # Library routines | ||
929 | # | ||
930 | CONFIG_BITREVERSE=y | ||
931 | CONFIG_CRC_CCITT=m | ||
932 | # CONFIG_CRC16 is not set | ||
933 | # CONFIG_CRC_ITU_T is not set | ||
934 | CONFIG_CRC32=y | ||
935 | # CONFIG_LIBCRC32C is not set | ||
936 | CONFIG_ZLIB_INFLATE=y | ||
937 | CONFIG_PLIST=y | ||
938 | CONFIG_HAS_IOMEM=y | ||
939 | CONFIG_HAS_IOPORT=y | ||
940 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/CM-BF548_defconfig b/arch/blackfin/configs/CM-BF548_defconfig new file mode 100644 index 000000000000..90207251c533 --- /dev/null +++ b/arch/blackfin/configs/CM-BF548_defconfig | |||
@@ -0,0 +1,1373 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24.4 | ||
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_ZONE_DMA=y | ||
11 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_GENERIC_GPIO=y | ||
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
18 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
20 | |||
21 | # | ||
22 | # General setup | ||
23 | # | ||
24 | CONFIG_EXPERIMENTAL=y | ||
25 | CONFIG_BROKEN_ON_SMP=y | ||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
27 | CONFIG_LOCALVERSION="" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SYSVIPC=y | ||
30 | CONFIG_SYSVIPC_SYSCTL=y | ||
31 | # CONFIG_POSIX_MQUEUE is not set | ||
32 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
33 | # CONFIG_TASKSTATS is not set | ||
34 | # CONFIG_USER_NS is not set | ||
35 | # CONFIG_PID_NS is not set | ||
36 | # CONFIG_AUDIT is not set | ||
37 | CONFIG_IKCONFIG=y | ||
38 | CONFIG_IKCONFIG_PROC=y | ||
39 | CONFIG_LOG_BUF_SHIFT=14 | ||
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | CONFIG_BLK_DEV_INITRD=y | ||
47 | CONFIG_INITRAMFS_SOURCE="" | ||
48 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
49 | CONFIG_SYSCTL=y | ||
50 | CONFIG_EMBEDDED=y | ||
51 | CONFIG_UID16=y | ||
52 | CONFIG_SYSCTL_SYSCALL=y | ||
53 | CONFIG_KALLSYMS=y | ||
54 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
55 | CONFIG_HOTPLUG=y | ||
56 | CONFIG_PRINTK=y | ||
57 | CONFIG_BUG=y | ||
58 | CONFIG_ELF_CORE=y | ||
59 | CONFIG_BASE_FULL=y | ||
60 | CONFIG_FUTEX=y | ||
61 | CONFIG_ANON_INODES=y | ||
62 | CONFIG_EPOLL=y | ||
63 | CONFIG_SIGNALFD=y | ||
64 | CONFIG_EVENTFD=y | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | ||
66 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
67 | # CONFIG_NP2 is not set | ||
68 | CONFIG_SLAB=y | ||
69 | # CONFIG_SLUB is not set | ||
70 | # CONFIG_SLOB is not set | ||
71 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | ||
73 | CONFIG_TINY_SHMEM=y | ||
74 | CONFIG_BASE_SMALL=0 | ||
75 | CONFIG_MODULES=y | ||
76 | CONFIG_MODULE_UNLOAD=y | ||
77 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
78 | # CONFIG_MODVERSIONS is not set | ||
79 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
80 | CONFIG_KMOD=y | ||
81 | CONFIG_BLOCK=y | ||
82 | # CONFIG_LBD 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 | ||
86 | |||
87 | # | ||
88 | # IO Schedulers | ||
89 | # | ||
90 | CONFIG_IOSCHED_NOOP=y | ||
91 | CONFIG_IOSCHED_AS=y | ||
92 | # CONFIG_IOSCHED_DEADLINE is not set | ||
93 | CONFIG_IOSCHED_CFQ=y | ||
94 | CONFIG_DEFAULT_AS=y | ||
95 | # CONFIG_DEFAULT_DEADLINE is not set | ||
96 | # CONFIG_DEFAULT_CFQ is not set | ||
97 | # CONFIG_DEFAULT_NOOP is not set | ||
98 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
99 | # CONFIG_PREEMPT_NONE is not set | ||
100 | CONFIG_PREEMPT_VOLUNTARY=y | ||
101 | # CONFIG_PREEMPT is not set | ||
102 | |||
103 | # | ||
104 | # Blackfin Processor Options | ||
105 | # | ||
106 | |||
107 | # | ||
108 | # Processor and Board Settings | ||
109 | # | ||
110 | # CONFIG_BF522 is not set | ||
111 | # CONFIG_BF523 is not set | ||
112 | # CONFIG_BF524 is not set | ||
113 | # CONFIG_BF525 is not set | ||
114 | # CONFIG_BF526 is not set | ||
115 | # CONFIG_BF527 is not set | ||
116 | # CONFIG_BF531 is not set | ||
117 | # CONFIG_BF532 is not set | ||
118 | # CONFIG_BF533 is not set | ||
119 | # CONFIG_BF534 is not set | ||
120 | # CONFIG_BF536 is not set | ||
121 | # CONFIG_BF537 is not set | ||
122 | # CONFIG_BF542 is not set | ||
123 | # CONFIG_BF544 is not set | ||
124 | # CONFIG_BF547 is not set | ||
125 | CONFIG_BF548=y | ||
126 | # CONFIG_BF549 is not set | ||
127 | # CONFIG_BF561 is not set | ||
128 | CONFIG_BF_REV_0_0=y | ||
129 | # CONFIG_BF_REV_0_1 is not set | ||
130 | # CONFIG_BF_REV_0_2 is not set | ||
131 | # CONFIG_BF_REV_0_3 is not set | ||
132 | # CONFIG_BF_REV_0_4 is not set | ||
133 | # CONFIG_BF_REV_0_5 is not set | ||
134 | # CONFIG_BF_REV_ANY is not set | ||
135 | # CONFIG_BF_REV_NONE is not set | ||
136 | CONFIG_BF54x=y | ||
137 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
138 | CONFIG_IRQ_RTC=8 | ||
139 | CONFIG_IRQ_SPORT0_RX=9 | ||
140 | CONFIG_IRQ_SPORT0_TX=9 | ||
141 | CONFIG_IRQ_SPORT1_RX=9 | ||
142 | CONFIG_IRQ_SPORT1_TX=9 | ||
143 | CONFIG_IRQ_UART0_RX=10 | ||
144 | CONFIG_IRQ_UART0_TX=10 | ||
145 | CONFIG_IRQ_UART1_RX=10 | ||
146 | CONFIG_IRQ_UART1_TX=10 | ||
147 | CONFIG_IRQ_CNT=8 | ||
148 | CONFIG_IRQ_USB_INT0=11 | ||
149 | CONFIG_IRQ_USB_INT1=11 | ||
150 | CONFIG_IRQ_USB_INT2=11 | ||
151 | CONFIG_IRQ_USB_DMA=11 | ||
152 | CONFIG_IRQ_TIMER0=11 | ||
153 | CONFIG_IRQ_TIMER1=11 | ||
154 | CONFIG_IRQ_TIMER2=11 | ||
155 | CONFIG_IRQ_TIMER3=11 | ||
156 | CONFIG_IRQ_TIMER4=11 | ||
157 | CONFIG_IRQ_TIMER5=11 | ||
158 | CONFIG_IRQ_TIMER6=11 | ||
159 | CONFIG_IRQ_TIMER7=11 | ||
160 | CONFIG_IRQ_TIMER8=11 | ||
161 | CONFIG_IRQ_TIMER9=11 | ||
162 | CONFIG_IRQ_TIMER10=11 | ||
163 | # CONFIG_BFIN548_EZKIT is not set | ||
164 | CONFIG_BFIN548_BLUETECHNIX_CM=y | ||
165 | |||
166 | # | ||
167 | # BF548 Specific Configuration | ||
168 | # | ||
169 | # CONFIG_DEB_DMA_URGENT is not set | ||
170 | |||
171 | # | ||
172 | # Interrupt Priority Assignment | ||
173 | # | ||
174 | |||
175 | # | ||
176 | # Priority | ||
177 | # | ||
178 | CONFIG_IRQ_DMAC0_ERR=7 | ||
179 | CONFIG_IRQ_EPPI0_ERR=7 | ||
180 | CONFIG_IRQ_SPORT0_ERR=7 | ||
181 | CONFIG_IRQ_SPORT1_ERR=7 | ||
182 | CONFIG_IRQ_SPI0_ERR=7 | ||
183 | CONFIG_IRQ_UART0_ERR=7 | ||
184 | CONFIG_IRQ_EPPI0=8 | ||
185 | CONFIG_IRQ_SPI0=10 | ||
186 | CONFIG_IRQ_PINT0=12 | ||
187 | CONFIG_IRQ_PINT1=12 | ||
188 | CONFIG_IRQ_MDMAS0=13 | ||
189 | CONFIG_IRQ_MDMAS1=13 | ||
190 | CONFIG_IRQ_WATCHDOG=13 | ||
191 | CONFIG_IRQ_DMAC1_ERR=7 | ||
192 | CONFIG_IRQ_SPORT2_ERR=7 | ||
193 | CONFIG_IRQ_SPORT3_ERR=7 | ||
194 | CONFIG_IRQ_MXVR_DATA=7 | ||
195 | CONFIG_IRQ_SPI1_ERR=7 | ||
196 | CONFIG_IRQ_SPI2_ERR=7 | ||
197 | CONFIG_IRQ_UART1_ERR=7 | ||
198 | CONFIG_IRQ_UART2_ERR=7 | ||
199 | CONFIG_IRQ_CAN0_ERR=7 | ||
200 | CONFIG_IRQ_SPORT2_RX=9 | ||
201 | CONFIG_IRQ_SPORT2_TX=9 | ||
202 | CONFIG_IRQ_SPORT3_RX=9 | ||
203 | CONFIG_IRQ_SPORT3_TX=9 | ||
204 | CONFIG_IRQ_EPPI1=9 | ||
205 | CONFIG_IRQ_EPPI2=9 | ||
206 | CONFIG_IRQ_SPI1=10 | ||
207 | CONFIG_IRQ_SPI2=10 | ||
208 | CONFIG_IRQ_ATAPI_RX=10 | ||
209 | CONFIG_IRQ_ATAPI_TX=10 | ||
210 | CONFIG_IRQ_TWI0=11 | ||
211 | CONFIG_IRQ_TWI1=11 | ||
212 | CONFIG_IRQ_CAN0_RX=11 | ||
213 | CONFIG_IRQ_CAN0_TX=11 | ||
214 | CONFIG_IRQ_MDMAS2=13 | ||
215 | CONFIG_IRQ_MDMAS3=13 | ||
216 | CONFIG_IRQ_MXVR_ERR=11 | ||
217 | CONFIG_IRQ_MXVR_MSG=11 | ||
218 | CONFIG_IRQ_MXVR_PKT=11 | ||
219 | CONFIG_IRQ_EPPI1_ERR=7 | ||
220 | CONFIG_IRQ_EPPI2_ERR=7 | ||
221 | CONFIG_IRQ_UART3_ERR=7 | ||
222 | CONFIG_IRQ_HOST_ERR=7 | ||
223 | CONFIG_IRQ_PIXC_ERR=7 | ||
224 | CONFIG_IRQ_NFC_ERR=7 | ||
225 | CONFIG_IRQ_ATAPI_ERR=7 | ||
226 | CONFIG_IRQ_CAN1_ERR=7 | ||
227 | CONFIG_IRQ_HS_DMA_ERR=7 | ||
228 | CONFIG_IRQ_PIXC_IN0=8 | ||
229 | CONFIG_IRQ_PIXC_IN1=8 | ||
230 | CONFIG_IRQ_PIXC_OUT=8 | ||
231 | CONFIG_IRQ_SDH=8 | ||
232 | CONFIG_IRQ_KEY=8 | ||
233 | CONFIG_IRQ_CAN1_RX=11 | ||
234 | CONFIG_IRQ_CAN1_TX=11 | ||
235 | CONFIG_IRQ_SDH_MASK0=11 | ||
236 | CONFIG_IRQ_SDH_MASK1=11 | ||
237 | CONFIG_IRQ_OTPSEC=11 | ||
238 | CONFIG_IRQ_PINT2=11 | ||
239 | CONFIG_IRQ_PINT3=11 | ||
240 | |||
241 | # | ||
242 | # Pin Interrupt to Port Assignment | ||
243 | # | ||
244 | |||
245 | # | ||
246 | # Assignment | ||
247 | # | ||
248 | CONFIG_PINTx_REASSIGN=y | ||
249 | CONFIG_PINT0_ASSIGN=0x00000101 | ||
250 | CONFIG_PINT1_ASSIGN=0x01010000 | ||
251 | CONFIG_PINT2_ASSIGN=0x07000101 | ||
252 | CONFIG_PINT3_ASSIGN=0x02020303 | ||
253 | |||
254 | # | ||
255 | # Board customizations | ||
256 | # | ||
257 | # CONFIG_CMDLINE_BOOL is not set | ||
258 | |||
259 | # | ||
260 | # Clock/PLL Setup | ||
261 | # | ||
262 | CONFIG_CLKIN_HZ=25000000 | ||
263 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
264 | CONFIG_MAX_VCO_HZ=600000000 | ||
265 | CONFIG_MIN_VCO_HZ=50000000 | ||
266 | CONFIG_MAX_SCLK_HZ=133333333 | ||
267 | CONFIG_MIN_SCLK_HZ=27000000 | ||
268 | |||
269 | # | ||
270 | # Kernel Timer/Scheduler | ||
271 | # | ||
272 | # CONFIG_HZ_100 is not set | ||
273 | CONFIG_HZ_250=y | ||
274 | # CONFIG_HZ_300 is not set | ||
275 | # CONFIG_HZ_1000 is not set | ||
276 | CONFIG_HZ=250 | ||
277 | # CONFIG_GENERIC_TIME is not set | ||
278 | # CONFIG_TICK_ONESHOT is not set | ||
279 | |||
280 | # | ||
281 | # Memory Setup | ||
282 | # | ||
283 | CONFIG_MAX_MEM_SIZE=64 | ||
284 | # CONFIG_MEM_MT46V32M16_6T is not set | ||
285 | CONFIG_MEM_MT46V32M16_5B=y | ||
286 | CONFIG_BOOT_LOAD=0x1000 | ||
287 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
288 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
289 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
290 | |||
291 | # | ||
292 | # Blackfin Kernel Optimizations | ||
293 | # | ||
294 | |||
295 | # | ||
296 | # Memory Optimizations | ||
297 | # | ||
298 | CONFIG_I_ENTRY_L1=y | ||
299 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
300 | CONFIG_DO_IRQ_L1=y | ||
301 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
302 | CONFIG_IDLE_L1=y | ||
303 | # CONFIG_SCHEDULE_L1 is not set | ||
304 | CONFIG_ARITHMETIC_OPS_L1=y | ||
305 | CONFIG_ACCESS_OK_L1=y | ||
306 | # CONFIG_MEMSET_L1 is not set | ||
307 | # CONFIG_MEMCPY_L1 is not set | ||
308 | # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set | ||
309 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
310 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
311 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
312 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
313 | CONFIG_RAMKERNEL=y | ||
314 | # CONFIG_ROMKERNEL is not set | ||
315 | CONFIG_SELECT_MEMORY_MODEL=y | ||
316 | CONFIG_FLATMEM_MANUAL=y | ||
317 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
318 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
319 | CONFIG_FLATMEM=y | ||
320 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
321 | # CONFIG_SPARSEMEM_STATIC is not set | ||
322 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
323 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
324 | # CONFIG_RESOURCES_64BIT is not set | ||
325 | CONFIG_ZONE_DMA_FLAG=1 | ||
326 | CONFIG_VIRT_TO_BUS=y | ||
327 | # CONFIG_BFIN_GPTIMERS is not set | ||
328 | CONFIG_BFIN_DMA_5XX=y | ||
329 | # CONFIG_DMA_UNCACHED_2M is not set | ||
330 | CONFIG_DMA_UNCACHED_1M=y | ||
331 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
332 | |||
333 | # | ||
334 | # Cache Support | ||
335 | # | ||
336 | CONFIG_BFIN_ICACHE=y | ||
337 | CONFIG_BFIN_DCACHE=y | ||
338 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
339 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
340 | # CONFIG_BFIN_WB is not set | ||
341 | CONFIG_BFIN_WT=y | ||
342 | CONFIG_L1_MAX_PIECE=16 | ||
343 | # CONFIG_MPU is not set | ||
344 | |||
345 | # | ||
346 | # Asynchonous Memory Configuration | ||
347 | # | ||
348 | |||
349 | # | ||
350 | # EBIU_AMGCTL Global Control | ||
351 | # | ||
352 | CONFIG_C_AMCKEN=y | ||
353 | # CONFIG_C_CDPRIO is not set | ||
354 | # CONFIG_C_AMBEN is not set | ||
355 | # CONFIG_C_AMBEN_B0 is not set | ||
356 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
357 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
358 | CONFIG_C_AMBEN_ALL=y | ||
359 | |||
360 | # | ||
361 | # EBIU_AMBCTL Control | ||
362 | # | ||
363 | CONFIG_BANK_0=0x7BB0 | ||
364 | CONFIG_BANK_1=0x5554 | ||
365 | CONFIG_BANK_2=0x7BB0 | ||
366 | CONFIG_BANK_3=0x99B3 | ||
367 | CONFIG_EBIU_MBSCTLVAL=0x0 | ||
368 | CONFIG_EBIU_MODEVAL=0x1 | ||
369 | CONFIG_EBIU_FCTLVAL=0x6 | ||
370 | |||
371 | # | ||
372 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
373 | # | ||
374 | # CONFIG_PCI is not set | ||
375 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
376 | # CONFIG_PCCARD is not set | ||
377 | |||
378 | # | ||
379 | # Executable file formats | ||
380 | # | ||
381 | CONFIG_BINFMT_ELF_FDPIC=y | ||
382 | CONFIG_BINFMT_FLAT=y | ||
383 | CONFIG_BINFMT_ZFLAT=y | ||
384 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
385 | # CONFIG_BINFMT_MISC is not set | ||
386 | |||
387 | # | ||
388 | # Power management options | ||
389 | # | ||
390 | # CONFIG_PM is not set | ||
391 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
392 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
393 | |||
394 | # | ||
395 | # CPU Frequency scaling | ||
396 | # | ||
397 | # CONFIG_CPU_FREQ is not set | ||
398 | |||
399 | # | ||
400 | # Networking | ||
401 | # | ||
402 | CONFIG_NET=y | ||
403 | |||
404 | # | ||
405 | # Networking options | ||
406 | # | ||
407 | CONFIG_PACKET=y | ||
408 | # CONFIG_PACKET_MMAP is not set | ||
409 | CONFIG_UNIX=y | ||
410 | CONFIG_XFRM=y | ||
411 | # CONFIG_XFRM_USER is not set | ||
412 | # CONFIG_XFRM_SUB_POLICY is not set | ||
413 | # CONFIG_XFRM_MIGRATE is not set | ||
414 | # CONFIG_NET_KEY is not set | ||
415 | CONFIG_INET=y | ||
416 | # CONFIG_IP_MULTICAST is not set | ||
417 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
418 | CONFIG_IP_FIB_HASH=y | ||
419 | CONFIG_IP_PNP=y | ||
420 | # CONFIG_IP_PNP_DHCP is not set | ||
421 | # CONFIG_IP_PNP_BOOTP is not set | ||
422 | # CONFIG_IP_PNP_RARP is not set | ||
423 | # CONFIG_NET_IPIP is not set | ||
424 | # CONFIG_NET_IPGRE is not set | ||
425 | # CONFIG_ARPD is not set | ||
426 | CONFIG_SYN_COOKIES=y | ||
427 | # CONFIG_INET_AH is not set | ||
428 | # CONFIG_INET_ESP is not set | ||
429 | # CONFIG_INET_IPCOMP is not set | ||
430 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
431 | # CONFIG_INET_TUNNEL is not set | ||
432 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
433 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
434 | CONFIG_INET_XFRM_MODE_BEET=y | ||
435 | # CONFIG_INET_LRO is not set | ||
436 | CONFIG_INET_DIAG=y | ||
437 | CONFIG_INET_TCP_DIAG=y | ||
438 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
439 | CONFIG_TCP_CONG_CUBIC=y | ||
440 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
441 | # CONFIG_TCP_MD5SIG is not set | ||
442 | # CONFIG_IPV6 is not set | ||
443 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
444 | # CONFIG_INET6_TUNNEL is not set | ||
445 | # CONFIG_NETLABEL is not set | ||
446 | # CONFIG_NETWORK_SECMARK is not set | ||
447 | # CONFIG_NETFILTER is not set | ||
448 | # CONFIG_IP_DCCP is not set | ||
449 | # CONFIG_IP_SCTP is not set | ||
450 | # CONFIG_TIPC is not set | ||
451 | # CONFIG_ATM is not set | ||
452 | # CONFIG_BRIDGE is not set | ||
453 | # CONFIG_VLAN_8021Q is not set | ||
454 | # CONFIG_DECNET is not set | ||
455 | # CONFIG_LLC2 is not set | ||
456 | # CONFIG_IPX is not set | ||
457 | # CONFIG_ATALK is not set | ||
458 | # CONFIG_X25 is not set | ||
459 | # CONFIG_LAPB is not set | ||
460 | # CONFIG_ECONET is not set | ||
461 | # CONFIG_WAN_ROUTER is not set | ||
462 | # CONFIG_NET_SCHED is not set | ||
463 | |||
464 | # | ||
465 | # Network testing | ||
466 | # | ||
467 | # CONFIG_NET_PKTGEN is not set | ||
468 | # CONFIG_HAMRADIO is not set | ||
469 | # CONFIG_IRDA is not set | ||
470 | # CONFIG_BT is not set | ||
471 | # CONFIG_AF_RXRPC is not set | ||
472 | |||
473 | # | ||
474 | # Wireless | ||
475 | # | ||
476 | # CONFIG_CFG80211 is not set | ||
477 | # CONFIG_WIRELESS_EXT is not set | ||
478 | # CONFIG_MAC80211 is not set | ||
479 | # CONFIG_IEEE80211 is not set | ||
480 | # CONFIG_RFKILL is not set | ||
481 | # CONFIG_NET_9P is not set | ||
482 | |||
483 | # | ||
484 | # Device Drivers | ||
485 | # | ||
486 | |||
487 | # | ||
488 | # Generic Driver Options | ||
489 | # | ||
490 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
491 | CONFIG_STANDALONE=y | ||
492 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
493 | # CONFIG_FW_LOADER is not set | ||
494 | # CONFIG_SYS_HYPERVISOR is not set | ||
495 | # CONFIG_CONNECTOR is not set | ||
496 | CONFIG_MTD=y | ||
497 | # CONFIG_MTD_DEBUG is not set | ||
498 | # CONFIG_MTD_CONCAT is not set | ||
499 | CONFIG_MTD_PARTITIONS=y | ||
500 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
501 | CONFIG_MTD_CMDLINE_PARTS=y | ||
502 | |||
503 | # | ||
504 | # User Modules And Translation Layers | ||
505 | # | ||
506 | CONFIG_MTD_CHAR=y | ||
507 | CONFIG_MTD_BLKDEVS=y | ||
508 | CONFIG_MTD_BLOCK=y | ||
509 | # CONFIG_FTL is not set | ||
510 | # CONFIG_NFTL is not set | ||
511 | # CONFIG_INFTL is not set | ||
512 | # CONFIG_RFD_FTL is not set | ||
513 | # CONFIG_SSFDC is not set | ||
514 | # CONFIG_MTD_OOPS is not set | ||
515 | |||
516 | # | ||
517 | # RAM/ROM/Flash chip drivers | ||
518 | # | ||
519 | CONFIG_MTD_CFI=y | ||
520 | # CONFIG_MTD_JEDECPROBE is not set | ||
521 | CONFIG_MTD_GEN_PROBE=y | ||
522 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
523 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
524 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
525 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
526 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
527 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
528 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
529 | CONFIG_MTD_CFI_I1=y | ||
530 | CONFIG_MTD_CFI_I2=y | ||
531 | # CONFIG_MTD_CFI_I4 is not set | ||
532 | # CONFIG_MTD_CFI_I8 is not set | ||
533 | CONFIG_MTD_CFI_INTELEXT=y | ||
534 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
535 | # CONFIG_MTD_CFI_STAA is not set | ||
536 | CONFIG_MTD_CFI_UTIL=y | ||
537 | CONFIG_MTD_RAM=y | ||
538 | # CONFIG_MTD_ROM is not set | ||
539 | # CONFIG_MTD_ABSENT is not set | ||
540 | |||
541 | # | ||
542 | # Mapping drivers for chip access | ||
543 | # | ||
544 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
545 | CONFIG_MTD_PHYSMAP=y | ||
546 | CONFIG_MTD_PHYSMAP_START=0x20000000 | ||
547 | CONFIG_MTD_PHYSMAP_LEN=0x800000 | ||
548 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
549 | # CONFIG_MTD_UCLINUX is not set | ||
550 | # CONFIG_MTD_PLATRAM is not set | ||
551 | |||
552 | # | ||
553 | # Self-contained MTD device drivers | ||
554 | # | ||
555 | # CONFIG_MTD_DATAFLASH is not set | ||
556 | # CONFIG_MTD_M25P80 is not set | ||
557 | # CONFIG_MTD_SLRAM is not set | ||
558 | # CONFIG_MTD_PHRAM is not set | ||
559 | # CONFIG_MTD_MTDRAM is not set | ||
560 | # CONFIG_MTD_BLOCK2MTD is not set | ||
561 | |||
562 | # | ||
563 | # Disk-On-Chip Device Drivers | ||
564 | # | ||
565 | # CONFIG_MTD_DOC2000 is not set | ||
566 | # CONFIG_MTD_DOC2001 is not set | ||
567 | # CONFIG_MTD_DOC2001PLUS is not set | ||
568 | # CONFIG_MTD_NAND is not set | ||
569 | # CONFIG_MTD_ONENAND is not set | ||
570 | |||
571 | # | ||
572 | # UBI - Unsorted block images | ||
573 | # | ||
574 | # CONFIG_MTD_UBI is not set | ||
575 | # CONFIG_PARPORT is not set | ||
576 | CONFIG_BLK_DEV=y | ||
577 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
578 | # CONFIG_BLK_DEV_LOOP is not set | ||
579 | # CONFIG_BLK_DEV_NBD is not set | ||
580 | # CONFIG_BLK_DEV_UB is not set | ||
581 | CONFIG_BLK_DEV_RAM=y | ||
582 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
583 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
584 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
585 | # CONFIG_CDROM_PKTCDVD is not set | ||
586 | # CONFIG_ATA_OVER_ETH is not set | ||
587 | CONFIG_MISC_DEVICES=y | ||
588 | # CONFIG_EEPROM_93CX6 is not set | ||
589 | # CONFIG_IDE is not set | ||
590 | |||
591 | # | ||
592 | # SCSI device support | ||
593 | # | ||
594 | # CONFIG_RAID_ATTRS is not set | ||
595 | CONFIG_SCSI=y | ||
596 | CONFIG_SCSI_DMA=y | ||
597 | # CONFIG_SCSI_TGT is not set | ||
598 | # CONFIG_SCSI_NETLINK is not set | ||
599 | CONFIG_SCSI_PROC_FS=y | ||
600 | |||
601 | # | ||
602 | # SCSI support type (disk, tape, CD-ROM) | ||
603 | # | ||
604 | CONFIG_BLK_DEV_SD=y | ||
605 | # CONFIG_CHR_DEV_ST is not set | ||
606 | # CONFIG_CHR_DEV_OSST is not set | ||
607 | CONFIG_BLK_DEV_SR=y | ||
608 | # CONFIG_BLK_DEV_SR_VENDOR is not set | ||
609 | # CONFIG_CHR_DEV_SG is not set | ||
610 | # CONFIG_CHR_DEV_SCH is not set | ||
611 | |||
612 | # | ||
613 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
614 | # | ||
615 | # CONFIG_SCSI_MULTI_LUN is not set | ||
616 | # CONFIG_SCSI_CONSTANTS is not set | ||
617 | # CONFIG_SCSI_LOGGING is not set | ||
618 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
619 | CONFIG_SCSI_WAIT_SCAN=m | ||
620 | |||
621 | # | ||
622 | # SCSI Transports | ||
623 | # | ||
624 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
625 | # CONFIG_SCSI_FC_ATTRS is not set | ||
626 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
627 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
628 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
629 | CONFIG_SCSI_LOWLEVEL=y | ||
630 | # CONFIG_ISCSI_TCP is not set | ||
631 | # CONFIG_SCSI_DEBUG is not set | ||
632 | # CONFIG_ATA is not set | ||
633 | # CONFIG_MD is not set | ||
634 | CONFIG_NETDEVICES=y | ||
635 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
636 | # CONFIG_DUMMY is not set | ||
637 | # CONFIG_BONDING is not set | ||
638 | # CONFIG_MACVLAN is not set | ||
639 | # CONFIG_EQUALIZER is not set | ||
640 | # CONFIG_TUN is not set | ||
641 | # CONFIG_VETH is not set | ||
642 | # CONFIG_PHYLIB is not set | ||
643 | CONFIG_NET_ETHERNET=y | ||
644 | CONFIG_MII=y | ||
645 | # CONFIG_SMC91X is not set | ||
646 | CONFIG_SMSC911X=y | ||
647 | # CONFIG_DM9000 is not set | ||
648 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
649 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
650 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
651 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
652 | # CONFIG_B44 is not set | ||
653 | # CONFIG_NETDEV_1000 is not set | ||
654 | # CONFIG_NETDEV_10000 is not set | ||
655 | |||
656 | # | ||
657 | # Wireless LAN | ||
658 | # | ||
659 | # CONFIG_WLAN_PRE80211 is not set | ||
660 | # CONFIG_WLAN_80211 is not set | ||
661 | |||
662 | # | ||
663 | # USB Network Adapters | ||
664 | # | ||
665 | # CONFIG_USB_CATC is not set | ||
666 | # CONFIG_USB_KAWETH is not set | ||
667 | # CONFIG_USB_PEGASUS is not set | ||
668 | # CONFIG_USB_RTL8150 is not set | ||
669 | # CONFIG_USB_USBNET is not set | ||
670 | # CONFIG_WAN is not set | ||
671 | # CONFIG_PPP is not set | ||
672 | # CONFIG_SLIP is not set | ||
673 | # CONFIG_SHAPER is not set | ||
674 | # CONFIG_NETCONSOLE is not set | ||
675 | # CONFIG_NETPOLL is not set | ||
676 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
677 | # CONFIG_ISDN is not set | ||
678 | # CONFIG_PHONE is not set | ||
679 | |||
680 | # | ||
681 | # Input device support | ||
682 | # | ||
683 | CONFIG_INPUT=y | ||
684 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
685 | # CONFIG_INPUT_POLLDEV is not set | ||
686 | |||
687 | # | ||
688 | # Userland interfaces | ||
689 | # | ||
690 | # CONFIG_INPUT_MOUSEDEV is not set | ||
691 | # CONFIG_INPUT_JOYDEV is not set | ||
692 | CONFIG_INPUT_EVDEV=m | ||
693 | CONFIG_INPUT_EVBUG=m | ||
694 | |||
695 | # | ||
696 | # Input Device Drivers | ||
697 | # | ||
698 | CONFIG_INPUT_KEYBOARD=y | ||
699 | # CONFIG_KEYBOARD_ATKBD is not set | ||
700 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
701 | # CONFIG_KEYBOARD_LKKBD is not set | ||
702 | # CONFIG_KEYBOARD_XTKBD is not set | ||
703 | # CONFIG_KEYBOARD_NEWTON is not set | ||
704 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
705 | # CONFIG_KEYBOARD_GPIO is not set | ||
706 | # CONFIG_KEYBOARD_BFIN is not set | ||
707 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
708 | # CONFIG_INPUT_MOUSE is not set | ||
709 | # CONFIG_INPUT_JOYSTICK is not set | ||
710 | # CONFIG_INPUT_TABLET is not set | ||
711 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
712 | # CONFIG_INPUT_MISC is not set | ||
713 | |||
714 | # | ||
715 | # Hardware I/O ports | ||
716 | # | ||
717 | # CONFIG_SERIO is not set | ||
718 | # CONFIG_GAMEPORT is not set | ||
719 | |||
720 | # | ||
721 | # Character devices | ||
722 | # | ||
723 | # CONFIG_AD9960 is not set | ||
724 | # CONFIG_SPI_ADC_BF533 is not set | ||
725 | # CONFIG_BF5xx_PPIFCD is not set | ||
726 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
727 | # CONFIG_BF5xx_PPI is not set | ||
728 | CONFIG_BFIN_OTP=y | ||
729 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | ||
730 | # CONFIG_BFIN_SPORT is not set | ||
731 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
732 | # CONFIG_TWI_LCD is not set | ||
733 | # CONFIG_SIMPLE_GPIO is not set | ||
734 | # CONFIG_VT is not set | ||
735 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
736 | |||
737 | # | ||
738 | # Serial drivers | ||
739 | # | ||
740 | # CONFIG_SERIAL_8250 is not set | ||
741 | |||
742 | # | ||
743 | # Non-8250 serial port support | ||
744 | # | ||
745 | CONFIG_SERIAL_BFIN=y | ||
746 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
747 | # CONFIG_SERIAL_BFIN_DMA is not set | ||
748 | CONFIG_SERIAL_BFIN_PIO=y | ||
749 | # CONFIG_SERIAL_BFIN_UART0 is not set | ||
750 | CONFIG_SERIAL_BFIN_UART1=y | ||
751 | # CONFIG_BFIN_UART1_CTSRTS is not set | ||
752 | # CONFIG_SERIAL_BFIN_UART2 is not set | ||
753 | # CONFIG_SERIAL_BFIN_UART3 is not set | ||
754 | CONFIG_SERIAL_CORE=y | ||
755 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
756 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
757 | CONFIG_UNIX98_PTYS=y | ||
758 | # CONFIG_LEGACY_PTYS is not set | ||
759 | |||
760 | # | ||
761 | # CAN, the car bus and industrial fieldbus | ||
762 | # | ||
763 | # CONFIG_CAN4LINUX is not set | ||
764 | # CONFIG_IPMI_HANDLER is not set | ||
765 | CONFIG_HW_RANDOM=y | ||
766 | # CONFIG_GEN_RTC is not set | ||
767 | # CONFIG_R3964 is not set | ||
768 | # CONFIG_RAW_DRIVER is not set | ||
769 | # CONFIG_TCG_TPM is not set | ||
770 | CONFIG_I2C=y | ||
771 | CONFIG_I2C_BOARDINFO=y | ||
772 | CONFIG_I2C_CHARDEV=y | ||
773 | |||
774 | # | ||
775 | # I2C Algorithms | ||
776 | # | ||
777 | # CONFIG_I2C_ALGOBIT is not set | ||
778 | # CONFIG_I2C_ALGOPCF is not set | ||
779 | # CONFIG_I2C_ALGOPCA is not set | ||
780 | |||
781 | # | ||
782 | # I2C Hardware Bus support | ||
783 | # | ||
784 | CONFIG_I2C_BLACKFIN_TWI=y | ||
785 | CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | ||
786 | # CONFIG_I2C_GPIO is not set | ||
787 | # CONFIG_I2C_OCORES is not set | ||
788 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
789 | # CONFIG_I2C_SIMTEC is not set | ||
790 | # CONFIG_I2C_TAOS_EVM is not set | ||
791 | # CONFIG_I2C_STUB is not set | ||
792 | # CONFIG_I2C_TINY_USB is not set | ||
793 | |||
794 | # | ||
795 | # Miscellaneous I2C Chip support | ||
796 | # | ||
797 | # CONFIG_SENSORS_DS1337 is not set | ||
798 | # CONFIG_SENSORS_DS1374 is not set | ||
799 | # CONFIG_DS1682 is not set | ||
800 | # CONFIG_SENSORS_AD5252 is not set | ||
801 | # CONFIG_SENSORS_EEPROM is not set | ||
802 | # CONFIG_SENSORS_PCF8574 is not set | ||
803 | # CONFIG_SENSORS_PCF8575 is not set | ||
804 | # CONFIG_SENSORS_PCA9543 is not set | ||
805 | # CONFIG_SENSORS_PCA9539 is not set | ||
806 | # CONFIG_SENSORS_PCF8591 is not set | ||
807 | # CONFIG_SENSORS_MAX6875 is not set | ||
808 | # CONFIG_SENSORS_TSL2550 is not set | ||
809 | # CONFIG_I2C_DEBUG_CORE is not set | ||
810 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
811 | # CONFIG_I2C_DEBUG_BUS is not set | ||
812 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
813 | |||
814 | # | ||
815 | # SPI support | ||
816 | # | ||
817 | CONFIG_SPI=y | ||
818 | CONFIG_SPI_MASTER=y | ||
819 | |||
820 | # | ||
821 | # SPI Master Controller Drivers | ||
822 | # | ||
823 | CONFIG_SPI_BFIN=y | ||
824 | # CONFIG_SPI_BITBANG is not set | ||
825 | |||
826 | # | ||
827 | # SPI Protocol Masters | ||
828 | # | ||
829 | # CONFIG_SPI_AT25 is not set | ||
830 | # CONFIG_SPI_SPIDEV is not set | ||
831 | # CONFIG_SPI_TLE62X0 is not set | ||
832 | # CONFIG_W1 is not set | ||
833 | # CONFIG_POWER_SUPPLY is not set | ||
834 | CONFIG_HWMON=y | ||
835 | # CONFIG_HWMON_VID is not set | ||
836 | # CONFIG_SENSORS_AD7418 is not set | ||
837 | # CONFIG_SENSORS_ADM1021 is not set | ||
838 | # CONFIG_SENSORS_ADM1025 is not set | ||
839 | # CONFIG_SENSORS_ADM1026 is not set | ||
840 | # CONFIG_SENSORS_ADM1029 is not set | ||
841 | # CONFIG_SENSORS_ADM1031 is not set | ||
842 | # CONFIG_SENSORS_ADM9240 is not set | ||
843 | # CONFIG_SENSORS_ADT7470 is not set | ||
844 | # CONFIG_SENSORS_ATXP1 is not set | ||
845 | # CONFIG_SENSORS_DS1621 is not set | ||
846 | # CONFIG_SENSORS_F71805F is not set | ||
847 | # CONFIG_SENSORS_F71882FG is not set | ||
848 | # CONFIG_SENSORS_F75375S is not set | ||
849 | # CONFIG_SENSORS_GL518SM is not set | ||
850 | # CONFIG_SENSORS_GL520SM is not set | ||
851 | # CONFIG_SENSORS_IT87 is not set | ||
852 | # CONFIG_SENSORS_LM63 is not set | ||
853 | # CONFIG_SENSORS_LM70 is not set | ||
854 | # CONFIG_SENSORS_LM75 is not set | ||
855 | # CONFIG_SENSORS_LM77 is not set | ||
856 | # CONFIG_SENSORS_LM78 is not set | ||
857 | # CONFIG_SENSORS_LM80 is not set | ||
858 | # CONFIG_SENSORS_LM83 is not set | ||
859 | # CONFIG_SENSORS_LM85 is not set | ||
860 | # CONFIG_SENSORS_LM87 is not set | ||
861 | # CONFIG_SENSORS_LM90 is not set | ||
862 | # CONFIG_SENSORS_LM92 is not set | ||
863 | # CONFIG_SENSORS_LM93 is not set | ||
864 | # CONFIG_SENSORS_MAX1619 is not set | ||
865 | # CONFIG_SENSORS_MAX6650 is not set | ||
866 | # CONFIG_SENSORS_PC87360 is not set | ||
867 | # CONFIG_SENSORS_PC87427 is not set | ||
868 | # CONFIG_SENSORS_DME1737 is not set | ||
869 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
870 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
871 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
872 | # CONFIG_SENSORS_THMC50 is not set | ||
873 | # CONFIG_SENSORS_VT1211 is not set | ||
874 | # CONFIG_SENSORS_W83781D is not set | ||
875 | # CONFIG_SENSORS_W83791D is not set | ||
876 | # CONFIG_SENSORS_W83792D is not set | ||
877 | # CONFIG_SENSORS_W83793 is not set | ||
878 | # CONFIG_SENSORS_W83L785TS is not set | ||
879 | # CONFIG_SENSORS_W83627HF is not set | ||
880 | # CONFIG_SENSORS_W83627EHF is not set | ||
881 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
882 | CONFIG_WATCHDOG=y | ||
883 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
884 | |||
885 | # | ||
886 | # Watchdog Device Drivers | ||
887 | # | ||
888 | # CONFIG_SOFT_WATCHDOG is not set | ||
889 | CONFIG_BFIN_WDT=y | ||
890 | |||
891 | # | ||
892 | # USB-based Watchdog Cards | ||
893 | # | ||
894 | # CONFIG_USBPCWATCHDOG is not set | ||
895 | |||
896 | # | ||
897 | # Sonics Silicon Backplane | ||
898 | # | ||
899 | CONFIG_SSB_POSSIBLE=y | ||
900 | # CONFIG_SSB is not set | ||
901 | |||
902 | # | ||
903 | # Multifunction device drivers | ||
904 | # | ||
905 | # CONFIG_MFD_SM501 is not set | ||
906 | |||
907 | # | ||
908 | # Multimedia devices | ||
909 | # | ||
910 | # CONFIG_VIDEO_DEV is not set | ||
911 | # CONFIG_DVB_CORE is not set | ||
912 | CONFIG_DAB=y | ||
913 | # CONFIG_USB_DABUSB is not set | ||
914 | |||
915 | # | ||
916 | # Graphics support | ||
917 | # | ||
918 | # CONFIG_VGASTATE is not set | ||
919 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
920 | # CONFIG_FB is not set | ||
921 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
922 | |||
923 | # | ||
924 | # Display device support | ||
925 | # | ||
926 | # CONFIG_DISPLAY_SUPPORT is not set | ||
927 | |||
928 | # | ||
929 | # Sound | ||
930 | # | ||
931 | # CONFIG_SOUND is not set | ||
932 | CONFIG_HID_SUPPORT=y | ||
933 | CONFIG_HID=y | ||
934 | # CONFIG_HID_DEBUG is not set | ||
935 | # CONFIG_HIDRAW is not set | ||
936 | |||
937 | # | ||
938 | # USB Input Devices | ||
939 | # | ||
940 | CONFIG_USB_HID=y | ||
941 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
942 | # CONFIG_HID_FF is not set | ||
943 | # CONFIG_USB_HIDDEV is not set | ||
944 | CONFIG_USB_SUPPORT=y | ||
945 | CONFIG_USB_ARCH_HAS_HCD=y | ||
946 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
947 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
948 | CONFIG_USB=y | ||
949 | # CONFIG_USB_DEBUG is not set | ||
950 | |||
951 | # | ||
952 | # Miscellaneous USB options | ||
953 | # | ||
954 | # CONFIG_USB_DEVICEFS is not set | ||
955 | CONFIG_USB_DEVICE_CLASS=y | ||
956 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
957 | # CONFIG_USB_OTG is not set | ||
958 | |||
959 | # | ||
960 | # USB Host Controller Drivers | ||
961 | # | ||
962 | # CONFIG_USB_ISP116X_HCD is not set | ||
963 | # CONFIG_USB_ISP1362_HCD is not set | ||
964 | # CONFIG_USB_ISP1760_HCD is not set | ||
965 | # CONFIG_USB_SL811_HCD is not set | ||
966 | # CONFIG_USB_R8A66597_HCD is not set | ||
967 | CONFIG_USB_MUSB_HDRC=y | ||
968 | CONFIG_USB_MUSB_SOC=y | ||
969 | |||
970 | # | ||
971 | # Blackfin BF54x, BF525 and BF527 high speed USB support | ||
972 | # | ||
973 | CONFIG_USB_MUSB_HOST=y | ||
974 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
975 | # CONFIG_USB_MUSB_OTG is not set | ||
976 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
977 | # CONFIG_MUSB_PIO_ONLY is not set | ||
978 | # CONFIG_USB_INVENTRA_DMA is not set | ||
979 | # CONFIG_USB_TI_CPPI_DMA is not set | ||
980 | CONFIG_USB_MUSB_LOGLEVEL=0 | ||
981 | |||
982 | # | ||
983 | # USB Device Class drivers | ||
984 | # | ||
985 | # CONFIG_USB_ACM is not set | ||
986 | # CONFIG_USB_PRINTER is not set | ||
987 | |||
988 | # | ||
989 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
990 | # | ||
991 | |||
992 | # | ||
993 | # may also be needed; see USB_STORAGE Help for more information | ||
994 | # | ||
995 | CONFIG_USB_STORAGE=y | ||
996 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
997 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
998 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
999 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1000 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1001 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1002 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1003 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1004 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1005 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1006 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1007 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1008 | # CONFIG_USB_LIBUSUAL is not set | ||
1009 | |||
1010 | # | ||
1011 | # USB Imaging devices | ||
1012 | # | ||
1013 | # CONFIG_USB_MDC800 is not set | ||
1014 | # CONFIG_USB_MICROTEK is not set | ||
1015 | CONFIG_USB_MON=y | ||
1016 | |||
1017 | # | ||
1018 | # USB port drivers | ||
1019 | # | ||
1020 | |||
1021 | # | ||
1022 | # USB Serial Converter support | ||
1023 | # | ||
1024 | # CONFIG_USB_SERIAL is not set | ||
1025 | |||
1026 | # | ||
1027 | # USB Miscellaneous drivers | ||
1028 | # | ||
1029 | # CONFIG_USB_EMI62 is not set | ||
1030 | # CONFIG_USB_EMI26 is not set | ||
1031 | # CONFIG_USB_ADUTUX is not set | ||
1032 | # CONFIG_USB_AUERSWALD is not set | ||
1033 | # CONFIG_USB_RIO500 is not set | ||
1034 | # CONFIG_USB_LEGOTOWER is not set | ||
1035 | # CONFIG_USB_LCD is not set | ||
1036 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1037 | # CONFIG_USB_LED is not set | ||
1038 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1039 | # CONFIG_USB_CYTHERM is not set | ||
1040 | # CONFIG_USB_PHIDGET is not set | ||
1041 | # CONFIG_USB_IDMOUSE is not set | ||
1042 | # CONFIG_USB_FTDI_ELAN is not set | ||
1043 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1044 | # CONFIG_USB_SISUSBVGA is not set | ||
1045 | # CONFIG_USB_LD is not set | ||
1046 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1047 | # CONFIG_USB_IOWARRIOR is not set | ||
1048 | |||
1049 | # | ||
1050 | # USB DSL modem support | ||
1051 | # | ||
1052 | |||
1053 | # | ||
1054 | # USB Gadget Support | ||
1055 | # | ||
1056 | # CONFIG_USB_GADGET is not set | ||
1057 | CONFIG_MMC=y | ||
1058 | # CONFIG_MMC_DEBUG is not set | ||
1059 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1060 | |||
1061 | # | ||
1062 | # MMC/SD Card Drivers | ||
1063 | # | ||
1064 | CONFIG_MMC_BLOCK=y | ||
1065 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1066 | # CONFIG_SDIO_UART is not set | ||
1067 | |||
1068 | # | ||
1069 | # MMC/SD Host Controller Drivers | ||
1070 | # | ||
1071 | CONFIG_SDH_BFIN=y | ||
1072 | # CONFIG_MMC_SPI is not set | ||
1073 | # CONFIG_SPI_MMC is not set | ||
1074 | # CONFIG_NEW_LEDS is not set | ||
1075 | CONFIG_RTC_LIB=y | ||
1076 | CONFIG_RTC_CLASS=y | ||
1077 | CONFIG_RTC_HCTOSYS=y | ||
1078 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1079 | # CONFIG_RTC_DEBUG is not set | ||
1080 | |||
1081 | # | ||
1082 | # RTC interfaces | ||
1083 | # | ||
1084 | CONFIG_RTC_INTF_SYSFS=y | ||
1085 | CONFIG_RTC_INTF_PROC=y | ||
1086 | CONFIG_RTC_INTF_DEV=y | ||
1087 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1088 | # CONFIG_RTC_DRV_TEST is not set | ||
1089 | |||
1090 | # | ||
1091 | # I2C RTC drivers | ||
1092 | # | ||
1093 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1094 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1095 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1096 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1097 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1098 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1099 | # CONFIG_RTC_DRV_X1205 is not set | ||
1100 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1101 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1102 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1103 | |||
1104 | # | ||
1105 | # SPI RTC drivers | ||
1106 | # | ||
1107 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1108 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1109 | |||
1110 | # | ||
1111 | # Platform RTC drivers | ||
1112 | # | ||
1113 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1114 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1115 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1116 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1117 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1118 | # CONFIG_RTC_DRV_V3020 is not set | ||
1119 | |||
1120 | # | ||
1121 | # on-CPU RTC drivers | ||
1122 | # | ||
1123 | CONFIG_RTC_DRV_BFIN=y | ||
1124 | |||
1125 | # | ||
1126 | # Userspace I/O | ||
1127 | # | ||
1128 | # CONFIG_UIO is not set | ||
1129 | |||
1130 | # | ||
1131 | # PBX support | ||
1132 | # | ||
1133 | # CONFIG_PBX is not set | ||
1134 | |||
1135 | # | ||
1136 | # File systems | ||
1137 | # | ||
1138 | # CONFIG_EXT2_FS is not set | ||
1139 | # CONFIG_EXT3_FS is not set | ||
1140 | # CONFIG_EXT4DEV_FS is not set | ||
1141 | # CONFIG_REISERFS_FS is not set | ||
1142 | # CONFIG_JFS_FS is not set | ||
1143 | # CONFIG_FS_POSIX_ACL is not set | ||
1144 | # CONFIG_XFS_FS is not set | ||
1145 | # CONFIG_GFS2_FS is not set | ||
1146 | # CONFIG_OCFS2_FS is not set | ||
1147 | # CONFIG_MINIX_FS is not set | ||
1148 | # CONFIG_ROMFS_FS is not set | ||
1149 | CONFIG_INOTIFY=y | ||
1150 | CONFIG_INOTIFY_USER=y | ||
1151 | # CONFIG_QUOTA is not set | ||
1152 | CONFIG_DNOTIFY=y | ||
1153 | # CONFIG_AUTOFS_FS is not set | ||
1154 | # CONFIG_AUTOFS4_FS is not set | ||
1155 | # CONFIG_FUSE_FS is not set | ||
1156 | |||
1157 | # | ||
1158 | # CD-ROM/DVD Filesystems | ||
1159 | # | ||
1160 | CONFIG_ISO9660_FS=m | ||
1161 | CONFIG_JOLIET=y | ||
1162 | CONFIG_ZISOFS=y | ||
1163 | # CONFIG_UDF_FS is not set | ||
1164 | |||
1165 | # | ||
1166 | # DOS/FAT/NT Filesystems | ||
1167 | # | ||
1168 | CONFIG_FAT_FS=m | ||
1169 | CONFIG_MSDOS_FS=m | ||
1170 | CONFIG_VFAT_FS=m | ||
1171 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1172 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1173 | CONFIG_NTFS_FS=m | ||
1174 | # CONFIG_NTFS_DEBUG is not set | ||
1175 | CONFIG_NTFS_RW=y | ||
1176 | |||
1177 | # | ||
1178 | # Pseudo filesystems | ||
1179 | # | ||
1180 | CONFIG_PROC_FS=y | ||
1181 | CONFIG_PROC_SYSCTL=y | ||
1182 | CONFIG_SYSFS=y | ||
1183 | # CONFIG_TMPFS is not set | ||
1184 | # CONFIG_HUGETLB_PAGE is not set | ||
1185 | # CONFIG_CONFIGFS_FS is not set | ||
1186 | |||
1187 | # | ||
1188 | # Miscellaneous filesystems | ||
1189 | # | ||
1190 | # CONFIG_ADFS_FS is not set | ||
1191 | # CONFIG_AFFS_FS is not set | ||
1192 | # CONFIG_HFS_FS is not set | ||
1193 | # CONFIG_HFSPLUS_FS is not set | ||
1194 | # CONFIG_BEFS_FS is not set | ||
1195 | # CONFIG_BFS_FS is not set | ||
1196 | # CONFIG_EFS_FS is not set | ||
1197 | CONFIG_YAFFS_FS=m | ||
1198 | CONFIG_YAFFS_YAFFS1=y | ||
1199 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1200 | CONFIG_YAFFS_YAFFS2=y | ||
1201 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1202 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1203 | CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10 | ||
1204 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1205 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1206 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1207 | CONFIG_JFFS2_FS=m | ||
1208 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1209 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1210 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1211 | # CONFIG_JFFS2_SUMMARY is not set | ||
1212 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1213 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1214 | CONFIG_JFFS2_ZLIB=y | ||
1215 | # CONFIG_JFFS2_LZO is not set | ||
1216 | CONFIG_JFFS2_RTIME=y | ||
1217 | # CONFIG_JFFS2_RUBIN is not set | ||
1218 | # CONFIG_CRAMFS is not set | ||
1219 | # CONFIG_VXFS_FS is not set | ||
1220 | # CONFIG_HPFS_FS is not set | ||
1221 | # CONFIG_QNX4FS_FS is not set | ||
1222 | # CONFIG_SYSV_FS is not set | ||
1223 | # CONFIG_UFS_FS is not set | ||
1224 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1225 | CONFIG_NFS_FS=m | ||
1226 | CONFIG_NFS_V3=y | ||
1227 | # CONFIG_NFS_V3_ACL is not set | ||
1228 | # CONFIG_NFS_V4 is not set | ||
1229 | # CONFIG_NFS_DIRECTIO is not set | ||
1230 | CONFIG_NFSD=m | ||
1231 | CONFIG_NFSD_V3=y | ||
1232 | # CONFIG_NFSD_V3_ACL is not set | ||
1233 | # CONFIG_NFSD_V4 is not set | ||
1234 | CONFIG_NFSD_TCP=y | ||
1235 | CONFIG_LOCKD=m | ||
1236 | CONFIG_LOCKD_V4=y | ||
1237 | CONFIG_EXPORTFS=m | ||
1238 | CONFIG_NFS_COMMON=y | ||
1239 | CONFIG_SUNRPC=m | ||
1240 | # CONFIG_SUNRPC_BIND34 is not set | ||
1241 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1242 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1243 | CONFIG_SMB_FS=m | ||
1244 | CONFIG_SMB_NLS_DEFAULT=y | ||
1245 | CONFIG_SMB_NLS_REMOTE="cp437" | ||
1246 | CONFIG_CIFS=y | ||
1247 | # CONFIG_CIFS_STATS is not set | ||
1248 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1249 | # CONFIG_CIFS_XATTR is not set | ||
1250 | # CONFIG_CIFS_DEBUG2 is not set | ||
1251 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1252 | # CONFIG_NCP_FS is not set | ||
1253 | # CONFIG_CODA_FS is not set | ||
1254 | # CONFIG_AFS_FS is not set | ||
1255 | |||
1256 | # | ||
1257 | # Partition Types | ||
1258 | # | ||
1259 | CONFIG_PARTITION_ADVANCED=y | ||
1260 | # CONFIG_ACORN_PARTITION is not set | ||
1261 | # CONFIG_OSF_PARTITION is not set | ||
1262 | # CONFIG_AMIGA_PARTITION is not set | ||
1263 | # CONFIG_ATARI_PARTITION is not set | ||
1264 | # CONFIG_MAC_PARTITION is not set | ||
1265 | CONFIG_MSDOS_PARTITION=y | ||
1266 | # CONFIG_BSD_DISKLABEL is not set | ||
1267 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1268 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1269 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1270 | # CONFIG_LDM_PARTITION is not set | ||
1271 | # CONFIG_SGI_PARTITION is not set | ||
1272 | # CONFIG_ULTRIX_PARTITION is not set | ||
1273 | # CONFIG_SUN_PARTITION is not set | ||
1274 | # CONFIG_KARMA_PARTITION is not set | ||
1275 | # CONFIG_EFI_PARTITION is not set | ||
1276 | # CONFIG_SYSV68_PARTITION is not set | ||
1277 | CONFIG_NLS=y | ||
1278 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1279 | CONFIG_NLS_CODEPAGE_437=m | ||
1280 | CONFIG_NLS_CODEPAGE_737=m | ||
1281 | CONFIG_NLS_CODEPAGE_775=m | ||
1282 | CONFIG_NLS_CODEPAGE_850=m | ||
1283 | CONFIG_NLS_CODEPAGE_852=m | ||
1284 | CONFIG_NLS_CODEPAGE_855=m | ||
1285 | CONFIG_NLS_CODEPAGE_857=m | ||
1286 | CONFIG_NLS_CODEPAGE_860=m | ||
1287 | CONFIG_NLS_CODEPAGE_861=m | ||
1288 | CONFIG_NLS_CODEPAGE_862=m | ||
1289 | CONFIG_NLS_CODEPAGE_863=m | ||
1290 | CONFIG_NLS_CODEPAGE_864=m | ||
1291 | CONFIG_NLS_CODEPAGE_865=m | ||
1292 | CONFIG_NLS_CODEPAGE_866=m | ||
1293 | CONFIG_NLS_CODEPAGE_869=m | ||
1294 | CONFIG_NLS_CODEPAGE_936=m | ||
1295 | CONFIG_NLS_CODEPAGE_950=m | ||
1296 | CONFIG_NLS_CODEPAGE_932=m | ||
1297 | CONFIG_NLS_CODEPAGE_949=m | ||
1298 | CONFIG_NLS_CODEPAGE_874=m | ||
1299 | CONFIG_NLS_ISO8859_8=m | ||
1300 | CONFIG_NLS_CODEPAGE_1250=m | ||
1301 | CONFIG_NLS_CODEPAGE_1251=m | ||
1302 | CONFIG_NLS_ASCII=m | ||
1303 | CONFIG_NLS_ISO8859_1=m | ||
1304 | CONFIG_NLS_ISO8859_2=m | ||
1305 | CONFIG_NLS_ISO8859_3=m | ||
1306 | CONFIG_NLS_ISO8859_4=m | ||
1307 | CONFIG_NLS_ISO8859_5=m | ||
1308 | CONFIG_NLS_ISO8859_6=m | ||
1309 | CONFIG_NLS_ISO8859_7=m | ||
1310 | CONFIG_NLS_ISO8859_9=m | ||
1311 | CONFIG_NLS_ISO8859_13=m | ||
1312 | CONFIG_NLS_ISO8859_14=m | ||
1313 | CONFIG_NLS_ISO8859_15=m | ||
1314 | CONFIG_NLS_KOI8_R=m | ||
1315 | CONFIG_NLS_KOI8_U=m | ||
1316 | CONFIG_NLS_UTF8=m | ||
1317 | # CONFIG_DLM is not set | ||
1318 | CONFIG_INSTRUMENTATION=y | ||
1319 | # CONFIG_PROFILING is not set | ||
1320 | # CONFIG_MARKERS is not set | ||
1321 | |||
1322 | # | ||
1323 | # Kernel hacking | ||
1324 | # | ||
1325 | # CONFIG_PRINTK_TIME is not set | ||
1326 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1327 | CONFIG_ENABLE_MUST_CHECK=y | ||
1328 | # CONFIG_MAGIC_SYSRQ is not set | ||
1329 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1330 | CONFIG_DEBUG_FS=y | ||
1331 | # CONFIG_HEADERS_CHECK is not set | ||
1332 | # CONFIG_DEBUG_KERNEL is not set | ||
1333 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1334 | # CONFIG_SAMPLES is not set | ||
1335 | # CONFIG_DEBUG_MMRS is not set | ||
1336 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1337 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1338 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
1339 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
1340 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1341 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
1342 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1343 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
1344 | # CONFIG_EARLY_PRINTK is not set | ||
1345 | CONFIG_CPLB_INFO=y | ||
1346 | CONFIG_ACCESS_CHECK=y | ||
1347 | |||
1348 | # | ||
1349 | # Security options | ||
1350 | # | ||
1351 | # CONFIG_KEYS is not set | ||
1352 | CONFIG_SECURITY=y | ||
1353 | # CONFIG_SECURITY_NETWORK is not set | ||
1354 | # CONFIG_SECURITY_CAPABILITIES is not set | ||
1355 | # CONFIG_SECURITY_ROOTPLUG is not set | ||
1356 | # CONFIG_CRYPTO is not set | ||
1357 | |||
1358 | # | ||
1359 | # Library routines | ||
1360 | # | ||
1361 | CONFIG_BITREVERSE=y | ||
1362 | CONFIG_CRC_CCITT=m | ||
1363 | # CONFIG_CRC16 is not set | ||
1364 | # CONFIG_CRC_ITU_T is not set | ||
1365 | CONFIG_CRC32=y | ||
1366 | # CONFIG_CRC7 is not set | ||
1367 | # CONFIG_LIBCRC32C is not set | ||
1368 | CONFIG_ZLIB_INFLATE=y | ||
1369 | CONFIG_ZLIB_DEFLATE=m | ||
1370 | CONFIG_PLIST=y | ||
1371 | CONFIG_HAS_IOMEM=y | ||
1372 | CONFIG_HAS_IOPORT=y | ||
1373 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/CM-BF561_defconfig b/arch/blackfin/configs/CM-BF561_defconfig new file mode 100644 index 000000000000..daf00906c1ef --- /dev/null +++ b/arch/blackfin/configs/CM-BF561_defconfig | |||
@@ -0,0 +1,876 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24.4 | ||
4 | # Tue Apr 1 10:50:11 2008 | ||
5 | # | ||
6 | # CONFIG_MMU is not set | ||
7 | # CONFIG_FPU is not set | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
10 | CONFIG_BLACKFIN=y | ||
11 | CONFIG_ZONE_DMA=y | ||
12 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
13 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_GENERIC_HWEIGHT=y | ||
15 | CONFIG_GENERIC_HARDIRQS=y | ||
16 | CONFIG_GENERIC_IRQ_PROBE=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # General setup | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | CONFIG_SYSVIPC_SYSCTL=y | ||
32 | # CONFIG_POSIX_MQUEUE is not set | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | # CONFIG_TASKSTATS is not set | ||
35 | # CONFIG_USER_NS is not set | ||
36 | # CONFIG_PID_NS is not set | ||
37 | # CONFIG_AUDIT is not set | ||
38 | # CONFIG_IKCONFIG is not set | ||
39 | CONFIG_LOG_BUF_SHIFT=14 | ||
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | # CONFIG_BLK_DEV_INITRD is not set | ||
47 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
48 | CONFIG_SYSCTL=y | ||
49 | CONFIG_EMBEDDED=y | ||
50 | # CONFIG_UID16 is not set | ||
51 | CONFIG_SYSCTL_SYSCALL=y | ||
52 | CONFIG_KALLSYMS=y | ||
53 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
54 | # CONFIG_HOTPLUG is not set | ||
55 | CONFIG_PRINTK=y | ||
56 | CONFIG_BUG=y | ||
57 | CONFIG_ELF_CORE=y | ||
58 | CONFIG_BASE_FULL=y | ||
59 | CONFIG_FUTEX=y | ||
60 | CONFIG_ANON_INODES=y | ||
61 | CONFIG_EPOLL=y | ||
62 | CONFIG_SIGNALFD=y | ||
63 | CONFIG_EVENTFD=y | ||
64 | CONFIG_VM_EVENT_COUNTERS=y | ||
65 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
66 | # CONFIG_NP2 is not set | ||
67 | CONFIG_SLAB=y | ||
68 | # CONFIG_SLUB is not set | ||
69 | # CONFIG_SLOB is not set | ||
70 | CONFIG_SLABINFO=y | ||
71 | CONFIG_RT_MUTEXES=y | ||
72 | CONFIG_TINY_SHMEM=y | ||
73 | CONFIG_BASE_SMALL=0 | ||
74 | CONFIG_MODULES=y | ||
75 | CONFIG_MODULE_UNLOAD=y | ||
76 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
77 | # CONFIG_MODVERSIONS is not set | ||
78 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
79 | CONFIG_KMOD=y | ||
80 | CONFIG_BLOCK=y | ||
81 | # CONFIG_LBD is not set | ||
82 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
83 | # CONFIG_LSF is not set | ||
84 | # CONFIG_BLK_DEV_BSG is not set | ||
85 | |||
86 | # | ||
87 | # IO Schedulers | ||
88 | # | ||
89 | CONFIG_IOSCHED_NOOP=y | ||
90 | # CONFIG_IOSCHED_AS is not set | ||
91 | # CONFIG_IOSCHED_DEADLINE is not set | ||
92 | CONFIG_IOSCHED_CFQ=y | ||
93 | # CONFIG_DEFAULT_AS is not set | ||
94 | # CONFIG_DEFAULT_DEADLINE is not set | ||
95 | # CONFIG_DEFAULT_CFQ is not set | ||
96 | CONFIG_DEFAULT_NOOP=y | ||
97 | CONFIG_DEFAULT_IOSCHED="noop" | ||
98 | CONFIG_PREEMPT_NONE=y | ||
99 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
100 | # CONFIG_PREEMPT is not set | ||
101 | |||
102 | # | ||
103 | # Blackfin Processor Options | ||
104 | # | ||
105 | |||
106 | # | ||
107 | # Processor and Board Settings | ||
108 | # | ||
109 | # CONFIG_BF522 is not set | ||
110 | # CONFIG_BF523 is not set | ||
111 | # CONFIG_BF524 is not set | ||
112 | # CONFIG_BF525 is not set | ||
113 | # CONFIG_BF526 is not set | ||
114 | # CONFIG_BF527 is not set | ||
115 | # CONFIG_BF531 is not set | ||
116 | # CONFIG_BF532 is not set | ||
117 | # CONFIG_BF533 is not set | ||
118 | # CONFIG_BF534 is not set | ||
119 | # CONFIG_BF536 is not set | ||
120 | # CONFIG_BF537 is not set | ||
121 | # CONFIG_BF542 is not set | ||
122 | # CONFIG_BF544 is not set | ||
123 | # CONFIG_BF547 is not set | ||
124 | # CONFIG_BF548 is not set | ||
125 | # CONFIG_BF549 is not set | ||
126 | CONFIG_BF561=y | ||
127 | # CONFIG_BF_REV_0_0 is not set | ||
128 | # CONFIG_BF_REV_0_1 is not set | ||
129 | # CONFIG_BF_REV_0_2 is not set | ||
130 | CONFIG_BF_REV_0_3=y | ||
131 | # CONFIG_BF_REV_0_4 is not set | ||
132 | # CONFIG_BF_REV_0_5 is not set | ||
133 | # CONFIG_BF_REV_ANY is not set | ||
134 | # CONFIG_BF_REV_NONE is not set | ||
135 | CONFIG_BFIN_DUAL_CORE=y | ||
136 | CONFIG_MEM_MT48LC8M32B2B5_7=y | ||
137 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
138 | CONFIG_IRQ_SPORT0_ERROR=7 | ||
139 | CONFIG_IRQ_SPORT1_ERROR=7 | ||
140 | CONFIG_IRQ_SPI_ERROR=7 | ||
141 | # CONFIG_BFIN561_EZKIT is not set | ||
142 | # CONFIG_BFIN561_TEPLA is not set | ||
143 | CONFIG_BFIN561_BLUETECHNIX_CM=y | ||
144 | # CONFIG_GENERIC_BF561_BOARD is not set | ||
145 | |||
146 | # | ||
147 | # BF561 Specific Configuration | ||
148 | # | ||
149 | |||
150 | # | ||
151 | # Core B Support | ||
152 | # | ||
153 | |||
154 | # | ||
155 | # Core B Support | ||
156 | # | ||
157 | CONFIG_BF561_COREB=y | ||
158 | # CONFIG_BF561_COREB_RESET is not set | ||
159 | |||
160 | # | ||
161 | # Interrupt Priority Assignment | ||
162 | # | ||
163 | |||
164 | # | ||
165 | # Priority | ||
166 | # | ||
167 | CONFIG_IRQ_DMA1_ERROR=7 | ||
168 | CONFIG_IRQ_DMA2_ERROR=7 | ||
169 | CONFIG_IRQ_IMDMA_ERROR=7 | ||
170 | CONFIG_IRQ_PPI0_ERROR=7 | ||
171 | CONFIG_IRQ_PPI1_ERROR=7 | ||
172 | CONFIG_IRQ_UART_ERROR=7 | ||
173 | CONFIG_IRQ_RESERVED_ERROR=7 | ||
174 | CONFIG_IRQ_DMA1_0=8 | ||
175 | CONFIG_IRQ_DMA1_1=8 | ||
176 | CONFIG_IRQ_DMA1_2=8 | ||
177 | CONFIG_IRQ_DMA1_3=8 | ||
178 | CONFIG_IRQ_DMA1_4=8 | ||
179 | CONFIG_IRQ_DMA1_5=8 | ||
180 | CONFIG_IRQ_DMA1_6=8 | ||
181 | CONFIG_IRQ_DMA1_7=8 | ||
182 | CONFIG_IRQ_DMA1_8=8 | ||
183 | CONFIG_IRQ_DMA1_9=8 | ||
184 | CONFIG_IRQ_DMA1_10=8 | ||
185 | CONFIG_IRQ_DMA1_11=8 | ||
186 | CONFIG_IRQ_DMA2_0=9 | ||
187 | CONFIG_IRQ_DMA2_1=9 | ||
188 | CONFIG_IRQ_DMA2_2=9 | ||
189 | CONFIG_IRQ_DMA2_3=9 | ||
190 | CONFIG_IRQ_DMA2_4=9 | ||
191 | CONFIG_IRQ_DMA2_5=9 | ||
192 | CONFIG_IRQ_DMA2_6=9 | ||
193 | CONFIG_IRQ_DMA2_7=9 | ||
194 | CONFIG_IRQ_DMA2_8=9 | ||
195 | CONFIG_IRQ_DMA2_9=9 | ||
196 | CONFIG_IRQ_DMA2_10=9 | ||
197 | CONFIG_IRQ_DMA2_11=9 | ||
198 | CONFIG_IRQ_TIMER0=10 | ||
199 | CONFIG_IRQ_TIMER1=10 | ||
200 | CONFIG_IRQ_TIMER2=10 | ||
201 | CONFIG_IRQ_TIMER3=10 | ||
202 | CONFIG_IRQ_TIMER4=10 | ||
203 | CONFIG_IRQ_TIMER5=10 | ||
204 | CONFIG_IRQ_TIMER6=10 | ||
205 | CONFIG_IRQ_TIMER7=10 | ||
206 | CONFIG_IRQ_TIMER8=10 | ||
207 | CONFIG_IRQ_TIMER9=10 | ||
208 | CONFIG_IRQ_TIMER10=10 | ||
209 | CONFIG_IRQ_TIMER11=10 | ||
210 | CONFIG_IRQ_PROG0_INTA=11 | ||
211 | CONFIG_IRQ_PROG0_INTB=11 | ||
212 | CONFIG_IRQ_PROG1_INTA=11 | ||
213 | CONFIG_IRQ_PROG1_INTB=11 | ||
214 | CONFIG_IRQ_PROG2_INTA=11 | ||
215 | CONFIG_IRQ_PROG2_INTB=11 | ||
216 | CONFIG_IRQ_DMA1_WRRD0=8 | ||
217 | CONFIG_IRQ_DMA1_WRRD1=8 | ||
218 | CONFIG_IRQ_DMA2_WRRD0=9 | ||
219 | CONFIG_IRQ_DMA2_WRRD1=9 | ||
220 | CONFIG_IRQ_IMDMA_WRRD0=12 | ||
221 | CONFIG_IRQ_IMDMA_WRRD1=12 | ||
222 | CONFIG_IRQ_WDTIMER=13 | ||
223 | |||
224 | # | ||
225 | # Board customizations | ||
226 | # | ||
227 | # CONFIG_CMDLINE_BOOL is not set | ||
228 | |||
229 | # | ||
230 | # Clock/PLL Setup | ||
231 | # | ||
232 | CONFIG_CLKIN_HZ=25000000 | ||
233 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
234 | CONFIG_MAX_VCO_HZ=600000000 | ||
235 | CONFIG_MIN_VCO_HZ=50000000 | ||
236 | CONFIG_MAX_SCLK_HZ=133333333 | ||
237 | CONFIG_MIN_SCLK_HZ=27000000 | ||
238 | |||
239 | # | ||
240 | # Kernel Timer/Scheduler | ||
241 | # | ||
242 | # CONFIG_HZ_100 is not set | ||
243 | CONFIG_HZ_250=y | ||
244 | # CONFIG_HZ_300 is not set | ||
245 | # CONFIG_HZ_1000 is not set | ||
246 | CONFIG_HZ=250 | ||
247 | CONFIG_GENERIC_TIME=y | ||
248 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
249 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
250 | # CONFIG_TICK_ONESHOT is not set | ||
251 | # CONFIG_NO_HZ is not set | ||
252 | # CONFIG_HIGH_RES_TIMERS is not set | ||
253 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
254 | |||
255 | # | ||
256 | # Memory Setup | ||
257 | # | ||
258 | CONFIG_MAX_MEM_SIZE=32 | ||
259 | CONFIG_BOOT_LOAD=0x1000 | ||
260 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
261 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
262 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
263 | |||
264 | # | ||
265 | # Blackfin Kernel Optimizations | ||
266 | # | ||
267 | |||
268 | # | ||
269 | # Memory Optimizations | ||
270 | # | ||
271 | CONFIG_I_ENTRY_L1=y | ||
272 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
273 | CONFIG_DO_IRQ_L1=y | ||
274 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
275 | CONFIG_IDLE_L1=y | ||
276 | CONFIG_SCHEDULE_L1=y | ||
277 | CONFIG_ARITHMETIC_OPS_L1=y | ||
278 | CONFIG_ACCESS_OK_L1=y | ||
279 | CONFIG_MEMSET_L1=y | ||
280 | CONFIG_MEMCPY_L1=y | ||
281 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
282 | CONFIG_IP_CHECKSUM_L1=y | ||
283 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
284 | CONFIG_SYSCALL_TAB_L1=y | ||
285 | CONFIG_CPLB_SWITCH_TAB_L1=y | ||
286 | CONFIG_RAMKERNEL=y | ||
287 | # CONFIG_ROMKERNEL is not set | ||
288 | CONFIG_SELECT_MEMORY_MODEL=y | ||
289 | CONFIG_FLATMEM_MANUAL=y | ||
290 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
291 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
292 | CONFIG_FLATMEM=y | ||
293 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
294 | # CONFIG_SPARSEMEM_STATIC is not set | ||
295 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
296 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
297 | # CONFIG_RESOURCES_64BIT is not set | ||
298 | CONFIG_ZONE_DMA_FLAG=1 | ||
299 | CONFIG_VIRT_TO_BUS=y | ||
300 | CONFIG_LARGE_ALLOCS=y | ||
301 | # CONFIG_BFIN_GPTIMERS is not set | ||
302 | CONFIG_BFIN_DMA_5XX=y | ||
303 | # CONFIG_DMA_UNCACHED_2M is not set | ||
304 | CONFIG_DMA_UNCACHED_1M=y | ||
305 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
306 | |||
307 | # | ||
308 | # Cache Support | ||
309 | # | ||
310 | CONFIG_BFIN_ICACHE=y | ||
311 | CONFIG_BFIN_DCACHE=y | ||
312 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
313 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
314 | CONFIG_BFIN_WB=y | ||
315 | # CONFIG_BFIN_WT is not set | ||
316 | CONFIG_L1_MAX_PIECE=16 | ||
317 | # CONFIG_MPU is not set | ||
318 | |||
319 | # | ||
320 | # Asynchonous Memory Configuration | ||
321 | # | ||
322 | |||
323 | # | ||
324 | # EBIU_AMGCTL Global Control | ||
325 | # | ||
326 | CONFIG_C_AMCKEN=y | ||
327 | CONFIG_C_CDPRIO=y | ||
328 | CONFIG_C_B0PEN=y | ||
329 | CONFIG_C_B1PEN=y | ||
330 | CONFIG_C_B2PEN=y | ||
331 | # CONFIG_C_B3PEN is not set | ||
332 | # CONFIG_C_AMBEN is not set | ||
333 | # CONFIG_C_AMBEN_B0 is not set | ||
334 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
335 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
336 | CONFIG_C_AMBEN_ALL=y | ||
337 | |||
338 | # | ||
339 | # EBIU_AMBCTL Control | ||
340 | # | ||
341 | CONFIG_BANK_0=0x7BB0 | ||
342 | CONFIG_BANK_1=0x7BB0 | ||
343 | CONFIG_BANK_2=0x7BB0 | ||
344 | CONFIG_BANK_3=0xFFC3 | ||
345 | |||
346 | # | ||
347 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
348 | # | ||
349 | # CONFIG_PCI is not set | ||
350 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
351 | |||
352 | # | ||
353 | # Executable file formats | ||
354 | # | ||
355 | CONFIG_BINFMT_ELF_FDPIC=y | ||
356 | CONFIG_BINFMT_FLAT=y | ||
357 | CONFIG_BINFMT_ZFLAT=y | ||
358 | CONFIG_BINFMT_SHARED_FLAT=y | ||
359 | # CONFIG_BINFMT_MISC is not set | ||
360 | |||
361 | # | ||
362 | # Power management options | ||
363 | # | ||
364 | # CONFIG_PM is not set | ||
365 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
366 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
367 | |||
368 | # | ||
369 | # Networking | ||
370 | # | ||
371 | CONFIG_NET=y | ||
372 | |||
373 | # | ||
374 | # Networking options | ||
375 | # | ||
376 | CONFIG_PACKET=y | ||
377 | # CONFIG_PACKET_MMAP is not set | ||
378 | 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_NET_KEY is not set | ||
384 | CONFIG_INET=y | ||
385 | # CONFIG_IP_MULTICAST is not set | ||
386 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
387 | CONFIG_IP_FIB_HASH=y | ||
388 | # CONFIG_IP_PNP is not set | ||
389 | # CONFIG_NET_IPIP is not set | ||
390 | # CONFIG_NET_IPGRE is not set | ||
391 | # CONFIG_ARPD is not set | ||
392 | CONFIG_SYN_COOKIES=y | ||
393 | # CONFIG_INET_AH is not set | ||
394 | # CONFIG_INET_ESP is not set | ||
395 | # CONFIG_INET_IPCOMP is not set | ||
396 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
397 | # CONFIG_INET_TUNNEL is not set | ||
398 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
399 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
400 | CONFIG_INET_XFRM_MODE_BEET=y | ||
401 | # CONFIG_INET_LRO is not set | ||
402 | CONFIG_INET_DIAG=y | ||
403 | CONFIG_INET_TCP_DIAG=y | ||
404 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
405 | CONFIG_TCP_CONG_CUBIC=y | ||
406 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
407 | # CONFIG_TCP_MD5SIG is not set | ||
408 | # CONFIG_IPV6 is not set | ||
409 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
410 | # CONFIG_INET6_TUNNEL is not set | ||
411 | # CONFIG_NETLABEL is not set | ||
412 | # CONFIG_NETWORK_SECMARK is not set | ||
413 | # CONFIG_NETFILTER is not set | ||
414 | # CONFIG_IP_DCCP is not set | ||
415 | # CONFIG_IP_SCTP is not set | ||
416 | # CONFIG_TIPC is not set | ||
417 | # CONFIG_ATM is not set | ||
418 | # CONFIG_BRIDGE is not set | ||
419 | # CONFIG_VLAN_8021Q is not set | ||
420 | # CONFIG_DECNET is not set | ||
421 | # CONFIG_LLC2 is not set | ||
422 | # CONFIG_IPX is not set | ||
423 | # CONFIG_ATALK is not set | ||
424 | # CONFIG_X25 is not set | ||
425 | # CONFIG_LAPB is not set | ||
426 | # CONFIG_ECONET is not set | ||
427 | # CONFIG_WAN_ROUTER is not set | ||
428 | # CONFIG_NET_SCHED is not set | ||
429 | |||
430 | # | ||
431 | # Network testing | ||
432 | # | ||
433 | # CONFIG_NET_PKTGEN is not set | ||
434 | # CONFIG_HAMRADIO is not set | ||
435 | # CONFIG_IRDA is not set | ||
436 | # CONFIG_BT is not set | ||
437 | # CONFIG_AF_RXRPC is not set | ||
438 | |||
439 | # | ||
440 | # Wireless | ||
441 | # | ||
442 | # CONFIG_CFG80211 is not set | ||
443 | # CONFIG_WIRELESS_EXT is not set | ||
444 | # CONFIG_MAC80211 is not set | ||
445 | # CONFIG_IEEE80211 is not set | ||
446 | # CONFIG_RFKILL is not set | ||
447 | # CONFIG_NET_9P is not set | ||
448 | |||
449 | # | ||
450 | # Device Drivers | ||
451 | # | ||
452 | |||
453 | # | ||
454 | # Generic Driver Options | ||
455 | # | ||
456 | CONFIG_STANDALONE=y | ||
457 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
458 | # CONFIG_SYS_HYPERVISOR is not set | ||
459 | # CONFIG_CONNECTOR is not set | ||
460 | CONFIG_MTD=y | ||
461 | # CONFIG_MTD_DEBUG is not set | ||
462 | # CONFIG_MTD_CONCAT is not set | ||
463 | CONFIG_MTD_PARTITIONS=y | ||
464 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
465 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
466 | |||
467 | # | ||
468 | # User Modules And Translation Layers | ||
469 | # | ||
470 | CONFIG_MTD_CHAR=y | ||
471 | CONFIG_MTD_BLKDEVS=y | ||
472 | CONFIG_MTD_BLOCK=y | ||
473 | # CONFIG_FTL is not set | ||
474 | # CONFIG_NFTL is not set | ||
475 | # CONFIG_INFTL is not set | ||
476 | # CONFIG_RFD_FTL is not set | ||
477 | # CONFIG_SSFDC is not set | ||
478 | # CONFIG_MTD_OOPS is not set | ||
479 | |||
480 | # | ||
481 | # RAM/ROM/Flash chip drivers | ||
482 | # | ||
483 | # CONFIG_MTD_CFI is not set | ||
484 | # CONFIG_MTD_JEDECPROBE is not set | ||
485 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
486 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
487 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
488 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
489 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
490 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
491 | CONFIG_MTD_CFI_I1=y | ||
492 | CONFIG_MTD_CFI_I2=y | ||
493 | # CONFIG_MTD_CFI_I4 is not set | ||
494 | # CONFIG_MTD_CFI_I8 is not set | ||
495 | CONFIG_MTD_RAM=y | ||
496 | # CONFIG_MTD_ROM is not set | ||
497 | # CONFIG_MTD_ABSENT is not set | ||
498 | |||
499 | # | ||
500 | # Mapping drivers for chip access | ||
501 | # | ||
502 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
503 | CONFIG_MTD_UCLINUX=y | ||
504 | # CONFIG_MTD_PLATRAM is not set | ||
505 | |||
506 | # | ||
507 | # Self-contained MTD device drivers | ||
508 | # | ||
509 | # CONFIG_MTD_SLRAM is not set | ||
510 | # CONFIG_MTD_PHRAM is not set | ||
511 | # CONFIG_MTD_MTDRAM is not set | ||
512 | # CONFIG_MTD_BLOCK2MTD is not set | ||
513 | |||
514 | # | ||
515 | # Disk-On-Chip Device Drivers | ||
516 | # | ||
517 | # CONFIG_MTD_DOC2000 is not set | ||
518 | # CONFIG_MTD_DOC2001 is not set | ||
519 | # CONFIG_MTD_DOC2001PLUS is not set | ||
520 | # CONFIG_MTD_NAND is not set | ||
521 | # CONFIG_MTD_ONENAND is not set | ||
522 | |||
523 | # | ||
524 | # UBI - Unsorted block images | ||
525 | # | ||
526 | # CONFIG_MTD_UBI is not set | ||
527 | # CONFIG_PARPORT is not set | ||
528 | CONFIG_BLK_DEV=y | ||
529 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
530 | # CONFIG_BLK_DEV_LOOP is not set | ||
531 | # CONFIG_BLK_DEV_NBD is not set | ||
532 | CONFIG_BLK_DEV_RAM=y | ||
533 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
534 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
535 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
536 | # CONFIG_CDROM_PKTCDVD is not set | ||
537 | # CONFIG_ATA_OVER_ETH is not set | ||
538 | CONFIG_MISC_DEVICES=y | ||
539 | # CONFIG_EEPROM_93CX6 is not set | ||
540 | # CONFIG_IDE is not set | ||
541 | # CONFIG_BFIN_IDE_ADDRESS_MAPPING_MODE0 is not set | ||
542 | # CONFIG_BFIN_IDE_ADDRESS_MAPPING_MODE1 is not set | ||
543 | |||
544 | # | ||
545 | # SCSI device support | ||
546 | # | ||
547 | # CONFIG_RAID_ATTRS is not set | ||
548 | # CONFIG_SCSI is not set | ||
549 | # CONFIG_SCSI_DMA is not set | ||
550 | # CONFIG_SCSI_NETLINK is not set | ||
551 | # CONFIG_ATA is not set | ||
552 | # CONFIG_MD is not set | ||
553 | CONFIG_NETDEVICES=y | ||
554 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
555 | # CONFIG_DUMMY is not set | ||
556 | # CONFIG_BONDING is not set | ||
557 | # CONFIG_MACVLAN is not set | ||
558 | # CONFIG_EQUALIZER is not set | ||
559 | # CONFIG_TUN is not set | ||
560 | # CONFIG_VETH is not set | ||
561 | # CONFIG_PHYLIB is not set | ||
562 | CONFIG_NET_ETHERNET=y | ||
563 | CONFIG_MII=y | ||
564 | CONFIG_SMC91X=y | ||
565 | # CONFIG_SMSC911X is not set | ||
566 | # CONFIG_DM9000 is not set | ||
567 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
568 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
569 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
570 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
571 | # CONFIG_B44 is not set | ||
572 | CONFIG_NETDEV_1000=y | ||
573 | # CONFIG_AX88180 is not set | ||
574 | CONFIG_NETDEV_10000=y | ||
575 | |||
576 | # | ||
577 | # Wireless LAN | ||
578 | # | ||
579 | # CONFIG_WLAN_PRE80211 is not set | ||
580 | # CONFIG_WLAN_80211 is not set | ||
581 | # CONFIG_WAN is not set | ||
582 | # CONFIG_PPP is not set | ||
583 | # CONFIG_SLIP is not set | ||
584 | # CONFIG_SHAPER is not set | ||
585 | # CONFIG_NETCONSOLE is not set | ||
586 | # CONFIG_NETPOLL is not set | ||
587 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
588 | # CONFIG_ISDN is not set | ||
589 | # CONFIG_PHONE is not set | ||
590 | |||
591 | # | ||
592 | # Input device support | ||
593 | # | ||
594 | # CONFIG_INPUT is not set | ||
595 | |||
596 | # | ||
597 | # Hardware I/O ports | ||
598 | # | ||
599 | # CONFIG_SERIO is not set | ||
600 | # CONFIG_GAMEPORT is not set | ||
601 | |||
602 | # | ||
603 | # Character devices | ||
604 | # | ||
605 | # CONFIG_AD9960 is not set | ||
606 | # CONFIG_SPI_ADC_BF533 is not set | ||
607 | # CONFIG_BF5xx_PPIFCD is not set | ||
608 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
609 | # CONFIG_BF5xx_PPI is not set | ||
610 | # CONFIG_BFIN_SPORT is not set | ||
611 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
612 | # CONFIG_SIMPLE_GPIO is not set | ||
613 | # CONFIG_VT is not set | ||
614 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
615 | |||
616 | # | ||
617 | # Serial drivers | ||
618 | # | ||
619 | # CONFIG_SERIAL_8250 is not set | ||
620 | |||
621 | # | ||
622 | # Non-8250 serial port support | ||
623 | # | ||
624 | CONFIG_SERIAL_BFIN=y | ||
625 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
626 | CONFIG_SERIAL_BFIN_DMA=y | ||
627 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
628 | CONFIG_SERIAL_BFIN_UART0=y | ||
629 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
630 | CONFIG_SERIAL_CORE=y | ||
631 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
632 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
633 | CONFIG_UNIX98_PTYS=y | ||
634 | CONFIG_LEGACY_PTYS=y | ||
635 | CONFIG_LEGACY_PTY_COUNT=256 | ||
636 | |||
637 | # | ||
638 | # CAN, the car bus and industrial fieldbus | ||
639 | # | ||
640 | # CONFIG_CAN4LINUX is not set | ||
641 | # CONFIG_IPMI_HANDLER is not set | ||
642 | # CONFIG_HW_RANDOM is not set | ||
643 | # CONFIG_GEN_RTC is not set | ||
644 | # CONFIG_R3964 is not set | ||
645 | # CONFIG_RAW_DRIVER is not set | ||
646 | # CONFIG_TCG_TPM is not set | ||
647 | # CONFIG_I2C is not set | ||
648 | |||
649 | # | ||
650 | # SPI support | ||
651 | # | ||
652 | # CONFIG_SPI is not set | ||
653 | # CONFIG_SPI_MASTER is not set | ||
654 | # CONFIG_W1 is not set | ||
655 | # CONFIG_POWER_SUPPLY is not set | ||
656 | CONFIG_HWMON=y | ||
657 | # CONFIG_HWMON_VID is not set | ||
658 | # CONFIG_SENSORS_F71805F is not set | ||
659 | # CONFIG_SENSORS_F71882FG is not set | ||
660 | # CONFIG_SENSORS_IT87 is not set | ||
661 | # CONFIG_SENSORS_PC87360 is not set | ||
662 | # CONFIG_SENSORS_PC87427 is not set | ||
663 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
664 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
665 | # CONFIG_SENSORS_VT1211 is not set | ||
666 | # CONFIG_SENSORS_W83627HF is not set | ||
667 | # CONFIG_SENSORS_W83627EHF is not set | ||
668 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
669 | # CONFIG_WATCHDOG is not set | ||
670 | |||
671 | # | ||
672 | # Sonics Silicon Backplane | ||
673 | # | ||
674 | CONFIG_SSB_POSSIBLE=y | ||
675 | # CONFIG_SSB is not set | ||
676 | |||
677 | # | ||
678 | # Multifunction device drivers | ||
679 | # | ||
680 | # CONFIG_MFD_SM501 is not set | ||
681 | |||
682 | # | ||
683 | # Multimedia devices | ||
684 | # | ||
685 | # CONFIG_VIDEO_DEV is not set | ||
686 | # CONFIG_DVB_CORE is not set | ||
687 | CONFIG_DAB=y | ||
688 | |||
689 | # | ||
690 | # Graphics support | ||
691 | # | ||
692 | # CONFIG_VGASTATE is not set | ||
693 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
694 | # CONFIG_FB is not set | ||
695 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
696 | |||
697 | # | ||
698 | # Display device support | ||
699 | # | ||
700 | # CONFIG_DISPLAY_SUPPORT is not set | ||
701 | |||
702 | # | ||
703 | # Sound | ||
704 | # | ||
705 | # CONFIG_SOUND is not set | ||
706 | CONFIG_USB_SUPPORT=y | ||
707 | CONFIG_USB_ARCH_HAS_HCD=y | ||
708 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
709 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
710 | # CONFIG_USB is not set | ||
711 | |||
712 | # | ||
713 | # Enable Host or Gadget support to see Inventra options | ||
714 | # | ||
715 | |||
716 | # | ||
717 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
718 | # | ||
719 | |||
720 | # | ||
721 | # USB Gadget Support | ||
722 | # | ||
723 | # CONFIG_USB_GADGET is not set | ||
724 | # CONFIG_MMC is not set | ||
725 | # CONFIG_NEW_LEDS is not set | ||
726 | # CONFIG_RTC_CLASS is not set | ||
727 | |||
728 | # | ||
729 | # Userspace I/O | ||
730 | # | ||
731 | # CONFIG_UIO is not set | ||
732 | |||
733 | # | ||
734 | # PBX support | ||
735 | # | ||
736 | # CONFIG_PBX is not set | ||
737 | |||
738 | # | ||
739 | # File systems | ||
740 | # | ||
741 | CONFIG_EXT2_FS=y | ||
742 | CONFIG_EXT2_FS_XATTR=y | ||
743 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
744 | # CONFIG_EXT2_FS_SECURITY is not set | ||
745 | # CONFIG_EXT3_FS is not set | ||
746 | # CONFIG_EXT4DEV_FS is not set | ||
747 | CONFIG_FS_MBCACHE=y | ||
748 | # CONFIG_REISERFS_FS is not set | ||
749 | # CONFIG_JFS_FS is not set | ||
750 | # CONFIG_FS_POSIX_ACL is not set | ||
751 | # CONFIG_XFS_FS is not set | ||
752 | # CONFIG_GFS2_FS is not set | ||
753 | # CONFIG_OCFS2_FS is not set | ||
754 | # CONFIG_MINIX_FS is not set | ||
755 | # CONFIG_ROMFS_FS is not set | ||
756 | CONFIG_INOTIFY=y | ||
757 | CONFIG_INOTIFY_USER=y | ||
758 | # CONFIG_QUOTA is not set | ||
759 | CONFIG_DNOTIFY=y | ||
760 | # CONFIG_AUTOFS_FS is not set | ||
761 | # CONFIG_AUTOFS4_FS is not set | ||
762 | # CONFIG_FUSE_FS is not set | ||
763 | |||
764 | # | ||
765 | # CD-ROM/DVD Filesystems | ||
766 | # | ||
767 | # CONFIG_ISO9660_FS is not set | ||
768 | # CONFIG_UDF_FS is not set | ||
769 | |||
770 | # | ||
771 | # DOS/FAT/NT Filesystems | ||
772 | # | ||
773 | # CONFIG_MSDOS_FS is not set | ||
774 | # CONFIG_VFAT_FS is not set | ||
775 | # CONFIG_NTFS_FS is not set | ||
776 | |||
777 | # | ||
778 | # Pseudo filesystems | ||
779 | # | ||
780 | CONFIG_PROC_FS=y | ||
781 | CONFIG_PROC_SYSCTL=y | ||
782 | CONFIG_SYSFS=y | ||
783 | # CONFIG_TMPFS is not set | ||
784 | # CONFIG_HUGETLB_PAGE is not set | ||
785 | # CONFIG_CONFIGFS_FS is not set | ||
786 | |||
787 | # | ||
788 | # Miscellaneous filesystems | ||
789 | # | ||
790 | # CONFIG_ADFS_FS is not set | ||
791 | # CONFIG_AFFS_FS is not set | ||
792 | # CONFIG_HFS_FS is not set | ||
793 | # CONFIG_HFSPLUS_FS is not set | ||
794 | # CONFIG_BEFS_FS is not set | ||
795 | # CONFIG_BFS_FS is not set | ||
796 | # CONFIG_EFS_FS is not set | ||
797 | # CONFIG_YAFFS_FS is not set | ||
798 | # CONFIG_JFFS2_FS is not set | ||
799 | # CONFIG_CRAMFS is not set | ||
800 | # CONFIG_VXFS_FS is not set | ||
801 | # CONFIG_HPFS_FS is not set | ||
802 | # CONFIG_QNX4FS_FS is not set | ||
803 | # CONFIG_SYSV_FS is not set | ||
804 | # CONFIG_UFS_FS is not set | ||
805 | CONFIG_NETWORK_FILESYSTEMS=y | ||
806 | # CONFIG_NFS_FS is not set | ||
807 | # CONFIG_NFSD is not set | ||
808 | # CONFIG_SMB_FS is not set | ||
809 | # CONFIG_CIFS is not set | ||
810 | # CONFIG_NCP_FS is not set | ||
811 | # CONFIG_CODA_FS is not set | ||
812 | # CONFIG_AFS_FS is not set | ||
813 | |||
814 | # | ||
815 | # Partition Types | ||
816 | # | ||
817 | # CONFIG_PARTITION_ADVANCED is not set | ||
818 | CONFIG_MSDOS_PARTITION=y | ||
819 | # CONFIG_NLS is not set | ||
820 | # CONFIG_DLM is not set | ||
821 | CONFIG_INSTRUMENTATION=y | ||
822 | # CONFIG_PROFILING is not set | ||
823 | # CONFIG_MARKERS is not set | ||
824 | |||
825 | # | ||
826 | # Kernel hacking | ||
827 | # | ||
828 | # CONFIG_PRINTK_TIME is not set | ||
829 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
830 | CONFIG_ENABLE_MUST_CHECK=y | ||
831 | # CONFIG_MAGIC_SYSRQ is not set | ||
832 | # CONFIG_UNUSED_SYMBOLS is not set | ||
833 | # CONFIG_DEBUG_FS is not set | ||
834 | # CONFIG_HEADERS_CHECK is not set | ||
835 | # CONFIG_DEBUG_KERNEL is not set | ||
836 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
837 | # CONFIG_SAMPLES is not set | ||
838 | # CONFIG_DEBUG_MMRS is not set | ||
839 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
840 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
841 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
842 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
843 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
844 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
845 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
846 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
847 | # CONFIG_EARLY_PRINTK is not set | ||
848 | # CONFIG_DUAL_CORE_TEST_MODULE is not set | ||
849 | CONFIG_CPLB_INFO=y | ||
850 | CONFIG_ACCESS_CHECK=y | ||
851 | |||
852 | # | ||
853 | # Security options | ||
854 | # | ||
855 | # CONFIG_KEYS is not set | ||
856 | CONFIG_SECURITY=y | ||
857 | # CONFIG_SECURITY_NETWORK is not set | ||
858 | CONFIG_SECURITY_CAPABILITIES=y | ||
859 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
860 | # CONFIG_CRYPTO is not set | ||
861 | |||
862 | # | ||
863 | # Library routines | ||
864 | # | ||
865 | CONFIG_BITREVERSE=y | ||
866 | CONFIG_CRC_CCITT=m | ||
867 | # CONFIG_CRC16 is not set | ||
868 | # CONFIG_CRC_ITU_T is not set | ||
869 | CONFIG_CRC32=y | ||
870 | # CONFIG_CRC7 is not set | ||
871 | # CONFIG_LIBCRC32C is not set | ||
872 | CONFIG_ZLIB_INFLATE=y | ||
873 | CONFIG_PLIST=y | ||
874 | CONFIG_HAS_IOMEM=y | ||
875 | CONFIG_HAS_IOPORT=y | ||
876 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index 18cbb8c3c373..679c7483ea71 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -207,7 +207,7 @@ CONFIG_HZ=250 | |||
207 | # | 207 | # |
208 | # Memory Setup | 208 | # Memory Setup |
209 | # | 209 | # |
210 | CONFIG_MEM_SIZE=32 | 210 | CONFIG_MAX_MEM_SIZE=32 |
211 | CONFIG_MEM_ADD_WIDTH=9 | 211 | CONFIG_MEM_ADD_WIDTH=9 |
212 | CONFIG_BOOT_LOAD=0x1000 | 212 | CONFIG_BOOT_LOAD=0x1000 |
213 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 213 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig new file mode 100644 index 000000000000..5f6ff04a86c3 --- /dev/null +++ b/arch/blackfin/configs/IP0X_defconfig | |||
@@ -0,0 +1,1252 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22.18 | ||
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_ZONE_DMA=y | ||
11 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
12 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
13 | CONFIG_GENERIC_HWEIGHT=y | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | # CONFIG_GENERIC_TIME is not set | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # Code maturity level options | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | CONFIG_LOCALVERSION_AUTO=y | ||
34 | CONFIG_SYSVIPC=y | ||
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | # CONFIG_POSIX_MQUEUE is not set | ||
38 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
39 | # CONFIG_TASKSTATS is not set | ||
40 | # CONFIG_UTS_NS is not set | ||
41 | # CONFIG_AUDIT is not set | ||
42 | # CONFIG_IKCONFIG is not set | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | ||
44 | CONFIG_SYSFS_DEPRECATED=y | ||
45 | # CONFIG_RELAY is not set | ||
46 | CONFIG_BLK_DEV_INITRD=y | ||
47 | CONFIG_INITRAMFS_SOURCE="" | ||
48 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
49 | CONFIG_SYSCTL=y | ||
50 | CONFIG_EMBEDDED=y | ||
51 | CONFIG_UID16=y | ||
52 | CONFIG_SYSCTL_SYSCALL=y | ||
53 | CONFIG_KALLSYMS=y | ||
54 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
55 | # CONFIG_HOTPLUG is not set | ||
56 | CONFIG_PRINTK=y | ||
57 | CONFIG_BUG=y | ||
58 | CONFIG_ELF_CORE=y | ||
59 | CONFIG_BASE_FULL=y | ||
60 | CONFIG_FUTEX=y | ||
61 | CONFIG_ANON_INODES=y | ||
62 | CONFIG_EPOLL=y | ||
63 | CONFIG_SIGNALFD=y | ||
64 | CONFIG_EVENTFD=y | ||
65 | CONFIG_VM_EVENT_COUNTERS=y | ||
66 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
67 | # CONFIG_NP2 is not set | ||
68 | CONFIG_SLAB=y | ||
69 | # CONFIG_SLUB is not set | ||
70 | # CONFIG_SLOB is not set | ||
71 | CONFIG_RT_MUTEXES=y | ||
72 | CONFIG_TINY_SHMEM=y | ||
73 | CONFIG_BASE_SMALL=0 | ||
74 | |||
75 | # | ||
76 | # Loadable module support | ||
77 | # | ||
78 | CONFIG_MODULES=y | ||
79 | CONFIG_MODULE_UNLOAD=y | ||
80 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
81 | # CONFIG_MODVERSIONS is not set | ||
82 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
83 | CONFIG_KMOD=y | ||
84 | |||
85 | # | ||
86 | # Block layer | ||
87 | # | ||
88 | CONFIG_BLOCK=y | ||
89 | # CONFIG_LBD is not set | ||
90 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
91 | # CONFIG_LSF is not set | ||
92 | |||
93 | # | ||
94 | # IO Schedulers | ||
95 | # | ||
96 | CONFIG_IOSCHED_NOOP=y | ||
97 | CONFIG_IOSCHED_AS=y | ||
98 | # CONFIG_IOSCHED_DEADLINE is not set | ||
99 | CONFIG_IOSCHED_CFQ=y | ||
100 | CONFIG_DEFAULT_AS=y | ||
101 | # CONFIG_DEFAULT_DEADLINE is not set | ||
102 | # CONFIG_DEFAULT_CFQ is not set | ||
103 | # CONFIG_DEFAULT_NOOP is not set | ||
104 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
105 | CONFIG_PREEMPT_NONE=y | ||
106 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
107 | # CONFIG_PREEMPT is not set | ||
108 | |||
109 | # | ||
110 | # Blackfin Processor Options | ||
111 | # | ||
112 | |||
113 | # | ||
114 | # Processor and Board Settings | ||
115 | # | ||
116 | # CONFIG_BF522 is not set | ||
117 | # CONFIG_BF523 is not set | ||
118 | # CONFIG_BF524 is not set | ||
119 | # CONFIG_BF525 is not set | ||
120 | # CONFIG_BF526 is not set | ||
121 | # CONFIG_BF527 is not set | ||
122 | # CONFIG_BF531 is not set | ||
123 | CONFIG_BF532=y | ||
124 | # CONFIG_BF533 is not set | ||
125 | # CONFIG_BF534 is not set | ||
126 | # CONFIG_BF536 is not set | ||
127 | # CONFIG_BF537 is not set | ||
128 | # CONFIG_BF542 is not set | ||
129 | # CONFIG_BF544 is not set | ||
130 | # CONFIG_BF547 is not set | ||
131 | # CONFIG_BF548 is not set | ||
132 | # CONFIG_BF549 is not set | ||
133 | # CONFIG_BF561 is not set | ||
134 | # CONFIG_BF_REV_0_0 is not set | ||
135 | # CONFIG_BF_REV_0_1 is not set | ||
136 | # CONFIG_BF_REV_0_2 is not set | ||
137 | # CONFIG_BF_REV_0_3 is not set | ||
138 | # CONFIG_BF_REV_0_4 is not set | ||
139 | CONFIG_BF_REV_0_5=y | ||
140 | # CONFIG_BF_REV_ANY is not set | ||
141 | # CONFIG_BF_REV_NONE is not set | ||
142 | CONFIG_BF53x=y | ||
143 | CONFIG_BFIN_SINGLE_CORE=y | ||
144 | CONFIG_MEM_MT48LC32M16A2TG_75=y | ||
145 | # CONFIG_BFIN533_EZKIT is not set | ||
146 | # CONFIG_BFIN533_STAMP is not set | ||
147 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set | ||
148 | # CONFIG_H8606_HVSISTEMAS is not set | ||
149 | CONFIG_BFIN532_IP0X=y | ||
150 | # CONFIG_GENERIC_BF533_BOARD is not set | ||
151 | |||
152 | # | ||
153 | # BF533/2/1 Specific Configuration | ||
154 | # | ||
155 | |||
156 | # | ||
157 | # Interrupt Priority Assignment | ||
158 | # | ||
159 | |||
160 | # | ||
161 | # Priority | ||
162 | # | ||
163 | CONFIG_UART_ERROR=7 | ||
164 | CONFIG_SPORT0_ERROR=7 | ||
165 | CONFIG_SPI_ERROR=7 | ||
166 | CONFIG_SPORT1_ERROR=7 | ||
167 | CONFIG_PPI_ERROR=7 | ||
168 | CONFIG_DMA_ERROR=7 | ||
169 | CONFIG_PLLWAKE_ERROR=7 | ||
170 | CONFIG_RTC_ERROR=8 | ||
171 | CONFIG_DMA0_PPI=8 | ||
172 | CONFIG_DMA1_SPORT0RX=9 | ||
173 | CONFIG_DMA2_SPORT0TX=9 | ||
174 | CONFIG_DMA3_SPORT1RX=9 | ||
175 | CONFIG_DMA4_SPORT1TX=9 | ||
176 | CONFIG_DMA5_SPI=10 | ||
177 | CONFIG_DMA6_UARTRX=10 | ||
178 | CONFIG_DMA7_UARTTX=10 | ||
179 | CONFIG_TIMER0=11 | ||
180 | CONFIG_TIMER1=11 | ||
181 | CONFIG_TIMER2=11 | ||
182 | CONFIG_PFA=12 | ||
183 | CONFIG_PFB=12 | ||
184 | CONFIG_MEMDMA0=13 | ||
185 | CONFIG_MEMDMA1=13 | ||
186 | CONFIG_WDTIMER=13 | ||
187 | |||
188 | # | ||
189 | # Board customizations | ||
190 | # | ||
191 | # CONFIG_CMDLINE_BOOL is not set | ||
192 | |||
193 | # | ||
194 | # Clock/PLL Setup | ||
195 | # | ||
196 | CONFIG_CLKIN_HZ=10000000 | ||
197 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
198 | CONFIG_MAX_VCO_HZ=400000000 | ||
199 | CONFIG_MIN_VCO_HZ=50000000 | ||
200 | CONFIG_MAX_SCLK_HZ=133333333 | ||
201 | CONFIG_MIN_SCLK_HZ=27000000 | ||
202 | |||
203 | # | ||
204 | # Kernel Timer/Scheduler | ||
205 | # | ||
206 | # CONFIG_HZ_100 is not set | ||
207 | CONFIG_HZ_250=y | ||
208 | # CONFIG_HZ_300 is not set | ||
209 | # CONFIG_HZ_1000 is not set | ||
210 | CONFIG_HZ=250 | ||
211 | |||
212 | # | ||
213 | # Memory Setup | ||
214 | # | ||
215 | CONFIG_MEM_SIZE=64 | ||
216 | CONFIG_MEM_ADD_WIDTH=10 | ||
217 | |||
218 | # | ||
219 | # Hardware addresses | ||
220 | # | ||
221 | CONFIG_IP0X_NET1=0x20100000 | ||
222 | CONFIG_IP0X_NET2=0x20200000 | ||
223 | CONFIG_IP0X_USB=0x20300000 | ||
224 | CONFIG_BOOT_LOAD=0x1000 | ||
225 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
226 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
227 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
228 | |||
229 | # | ||
230 | # Blackfin Kernel Optimizations | ||
231 | # | ||
232 | |||
233 | # | ||
234 | # Memory Optimizations | ||
235 | # | ||
236 | CONFIG_I_ENTRY_L1=y | ||
237 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
238 | CONFIG_DO_IRQ_L1=y | ||
239 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
240 | CONFIG_IDLE_L1=y | ||
241 | CONFIG_SCHEDULE_L1=y | ||
242 | CONFIG_ARITHMETIC_OPS_L1=y | ||
243 | CONFIG_ACCESS_OK_L1=y | ||
244 | CONFIG_MEMSET_L1=y | ||
245 | CONFIG_MEMCPY_L1=y | ||
246 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
247 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
248 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
249 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
250 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
251 | CONFIG_RAMKERNEL=y | ||
252 | # CONFIG_ROMKERNEL is not set | ||
253 | CONFIG_SELECT_MEMORY_MODEL=y | ||
254 | CONFIG_FLATMEM_MANUAL=y | ||
255 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
256 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
257 | CONFIG_FLATMEM=y | ||
258 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
259 | # CONFIG_SPARSEMEM_STATIC is not set | ||
260 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
261 | # CONFIG_RESOURCES_64BIT is not set | ||
262 | CONFIG_ZONE_DMA_FLAG=1 | ||
263 | CONFIG_LARGE_ALLOCS=y | ||
264 | # CONFIG_BFIN_GPTIMERS is not set | ||
265 | CONFIG_BFIN_DMA_5XX=y | ||
266 | # CONFIG_DMA_UNCACHED_2M is not set | ||
267 | CONFIG_DMA_UNCACHED_1M=y | ||
268 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
269 | |||
270 | # | ||
271 | # Cache Support | ||
272 | # | ||
273 | # CONFIG_BFIN_ICACHE is not set | ||
274 | # CONFIG_BFIN_DCACHE is not set | ||
275 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
276 | CONFIG_L1_MAX_PIECE=16 | ||
277 | # CONFIG_MPU is not set | ||
278 | |||
279 | # | ||
280 | # Asynchonous Memory Configuration | ||
281 | # | ||
282 | |||
283 | # | ||
284 | # EBIU_AMGCTL Global Control | ||
285 | # | ||
286 | CONFIG_C_AMCKEN=y | ||
287 | CONFIG_C_CDPRIO=y | ||
288 | # CONFIG_C_AMBEN is not set | ||
289 | # CONFIG_C_AMBEN_B0 is not set | ||
290 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
291 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
292 | CONFIG_C_AMBEN_ALL=y | ||
293 | |||
294 | # | ||
295 | # EBIU_AMBCTL Control | ||
296 | # | ||
297 | CONFIG_BANK_0=0xffc2 | ||
298 | CONFIG_BANK_1=0xffc2 | ||
299 | CONFIG_BANK_2=0xffc2 | ||
300 | CONFIG_BANK_3=0xffc2 | ||
301 | |||
302 | # | ||
303 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
304 | # | ||
305 | # CONFIG_PCI is not set | ||
306 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
307 | |||
308 | # | ||
309 | # PCCARD (PCMCIA/CardBus) support | ||
310 | # | ||
311 | |||
312 | # | ||
313 | # Executable file formats | ||
314 | # | ||
315 | CONFIG_BINFMT_ELF_FDPIC=y | ||
316 | CONFIG_BINFMT_FLAT=y | ||
317 | CONFIG_BINFMT_ZFLAT=y | ||
318 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
319 | # CONFIG_BINFMT_MISC is not set | ||
320 | |||
321 | # | ||
322 | # Power management options | ||
323 | # | ||
324 | CONFIG_PM=y | ||
325 | # CONFIG_PM_LEGACY is not set | ||
326 | # CONFIG_PM_DEBUG is not set | ||
327 | # CONFIG_PM_SYSFS_DEPRECATED is not set | ||
328 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | ||
329 | # CONFIG_PM_BFIN_SLEEP is not set | ||
330 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
331 | |||
332 | # | ||
333 | # Networking | ||
334 | # | ||
335 | CONFIG_NET=y | ||
336 | |||
337 | # | ||
338 | # Networking options | ||
339 | # | ||
340 | CONFIG_PACKET=y | ||
341 | # CONFIG_PACKET_MMAP is not set | ||
342 | CONFIG_UNIX=y | ||
343 | CONFIG_XFRM=y | ||
344 | # CONFIG_XFRM_USER is not set | ||
345 | # CONFIG_XFRM_SUB_POLICY is not set | ||
346 | # CONFIG_XFRM_MIGRATE is not set | ||
347 | # CONFIG_NET_KEY is not set | ||
348 | CONFIG_INET=y | ||
349 | # CONFIG_IP_MULTICAST is not set | ||
350 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
351 | CONFIG_IP_FIB_HASH=y | ||
352 | CONFIG_IP_PNP=y | ||
353 | # CONFIG_IP_PNP_DHCP is not set | ||
354 | # CONFIG_IP_PNP_BOOTP is not set | ||
355 | # CONFIG_IP_PNP_RARP is not set | ||
356 | # CONFIG_NET_IPIP is not set | ||
357 | # CONFIG_NET_IPGRE is not set | ||
358 | # CONFIG_ARPD is not set | ||
359 | CONFIG_SYN_COOKIES=y | ||
360 | # CONFIG_INET_AH is not set | ||
361 | # CONFIG_INET_ESP is not set | ||
362 | # CONFIG_INET_IPCOMP is not set | ||
363 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
364 | # CONFIG_INET_TUNNEL is not set | ||
365 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
366 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
367 | CONFIG_INET_XFRM_MODE_BEET=y | ||
368 | CONFIG_INET_DIAG=y | ||
369 | CONFIG_INET_TCP_DIAG=y | ||
370 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
371 | CONFIG_TCP_CONG_CUBIC=y | ||
372 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
373 | # CONFIG_TCP_MD5SIG is not set | ||
374 | # CONFIG_IP_VS is not set | ||
375 | # CONFIG_IPV6 is not set | ||
376 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
377 | # CONFIG_INET6_TUNNEL is not set | ||
378 | # CONFIG_NETLABEL is not set | ||
379 | # CONFIG_NETWORK_SECMARK is not set | ||
380 | CONFIG_NETFILTER=y | ||
381 | # CONFIG_NETFILTER_DEBUG is not set | ||
382 | |||
383 | # | ||
384 | # Core Netfilter Configuration | ||
385 | # | ||
386 | # CONFIG_NETFILTER_NETLINK is not set | ||
387 | # CONFIG_NF_CONNTRACK_ENABLED is not set | ||
388 | # CONFIG_NF_CONNTRACK is not set | ||
389 | CONFIG_NETFILTER_XTABLES=y | ||
390 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | ||
391 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | ||
392 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | ||
393 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | ||
394 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | ||
395 | # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set | ||
396 | # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set | ||
397 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | ||
398 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | ||
399 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | ||
400 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | ||
401 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | ||
402 | CONFIG_NETFILTER_XT_MATCH_MAC=y | ||
403 | # CONFIG_NETFILTER_XT_MATCH_MARK is not set | ||
404 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
405 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y | ||
406 | # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set | ||
407 | # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set | ||
408 | # CONFIG_NETFILTER_XT_MATCH_REALM is not set | ||
409 | # CONFIG_NETFILTER_XT_MATCH_SCTP is not set | ||
410 | # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set | ||
411 | # CONFIG_NETFILTER_XT_MATCH_STRING is not set | ||
412 | # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set | ||
413 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | ||
414 | |||
415 | # | ||
416 | # IP: Netfilter Configuration | ||
417 | # | ||
418 | # CONFIG_IP_NF_QUEUE is not set | ||
419 | CONFIG_IP_NF_IPTABLES=y | ||
420 | CONFIG_IP_NF_MATCH_IPRANGE=y | ||
421 | CONFIG_IP_NF_MATCH_TOS=y | ||
422 | # CONFIG_IP_NF_MATCH_RECENT is not set | ||
423 | # CONFIG_IP_NF_MATCH_ECN is not set | ||
424 | # CONFIG_IP_NF_MATCH_AH is not set | ||
425 | # CONFIG_IP_NF_MATCH_TTL is not set | ||
426 | # CONFIG_IP_NF_MATCH_OWNER is not set | ||
427 | # CONFIG_IP_NF_MATCH_ADDRTYPE is not set | ||
428 | CONFIG_IP_NF_FILTER=y | ||
429 | CONFIG_IP_NF_TARGET_REJECT=y | ||
430 | # CONFIG_IP_NF_TARGET_LOG is not set | ||
431 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
432 | CONFIG_IP_NF_MANGLE=y | ||
433 | CONFIG_IP_NF_TARGET_TOS=y | ||
434 | # CONFIG_IP_NF_TARGET_ECN is not set | ||
435 | # CONFIG_IP_NF_TARGET_TTL is not set | ||
436 | # CONFIG_IP_NF_RAW is not set | ||
437 | # CONFIG_IP_NF_ARPTABLES is not set | ||
438 | # CONFIG_IP_DCCP is not set | ||
439 | # CONFIG_IP_SCTP is not set | ||
440 | # CONFIG_TIPC is not set | ||
441 | # CONFIG_ATM is not set | ||
442 | # CONFIG_BRIDGE is not set | ||
443 | # CONFIG_VLAN_8021Q is not set | ||
444 | # CONFIG_DECNET is not set | ||
445 | # CONFIG_LLC2 is not set | ||
446 | # CONFIG_IPX is not set | ||
447 | # CONFIG_ATALK is not set | ||
448 | # CONFIG_X25 is not set | ||
449 | # CONFIG_LAPB is not set | ||
450 | # CONFIG_ECONET is not set | ||
451 | # CONFIG_WAN_ROUTER is not set | ||
452 | |||
453 | # | ||
454 | # QoS and/or fair queueing | ||
455 | # | ||
456 | # CONFIG_NET_SCHED is not set | ||
457 | |||
458 | # | ||
459 | # Network testing | ||
460 | # | ||
461 | # CONFIG_NET_PKTGEN is not set | ||
462 | # CONFIG_HAMRADIO is not set | ||
463 | # CONFIG_IRDA is not set | ||
464 | # CONFIG_BT is not set | ||
465 | # CONFIG_AF_RXRPC is not set | ||
466 | |||
467 | # | ||
468 | # Wireless | ||
469 | # | ||
470 | # CONFIG_CFG80211 is not set | ||
471 | # CONFIG_WIRELESS_EXT is not set | ||
472 | # CONFIG_MAC80211 is not set | ||
473 | # CONFIG_IEEE80211 is not set | ||
474 | # CONFIG_RFKILL is not set | ||
475 | |||
476 | # | ||
477 | # Device Drivers | ||
478 | # | ||
479 | |||
480 | # | ||
481 | # Generic Driver Options | ||
482 | # | ||
483 | CONFIG_STANDALONE=y | ||
484 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
485 | # CONFIG_SYS_HYPERVISOR is not set | ||
486 | |||
487 | # | ||
488 | # Connector - unified userspace <-> kernelspace linker | ||
489 | # | ||
490 | # CONFIG_CONNECTOR is not set | ||
491 | CONFIG_MTD=y | ||
492 | # CONFIG_MTD_DEBUG is not set | ||
493 | # CONFIG_MTD_CONCAT is not set | ||
494 | CONFIG_MTD_PARTITIONS=y | ||
495 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
496 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
497 | |||
498 | # | ||
499 | # User Modules And Translation Layers | ||
500 | # | ||
501 | CONFIG_MTD_CHAR=y | ||
502 | CONFIG_MTD_BLKDEVS=y | ||
503 | CONFIG_MTD_BLOCK=y | ||
504 | # CONFIG_FTL is not set | ||
505 | # CONFIG_NFTL is not set | ||
506 | # CONFIG_INFTL is not set | ||
507 | # CONFIG_RFD_FTL is not set | ||
508 | # CONFIG_SSFDC is not set | ||
509 | |||
510 | # | ||
511 | # RAM/ROM/Flash chip drivers | ||
512 | # | ||
513 | CONFIG_MTD_CFI=y | ||
514 | # CONFIG_MTD_JEDECPROBE is not set | ||
515 | CONFIG_MTD_GEN_PROBE=y | ||
516 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
517 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
518 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
519 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
520 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
521 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
522 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
523 | CONFIG_MTD_CFI_I1=y | ||
524 | CONFIG_MTD_CFI_I2=y | ||
525 | # CONFIG_MTD_CFI_I4 is not set | ||
526 | # CONFIG_MTD_CFI_I8 is not set | ||
527 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
528 | CONFIG_MTD_CFI_AMDSTD=y | ||
529 | # CONFIG_MTD_CFI_STAA is not set | ||
530 | CONFIG_MTD_CFI_UTIL=y | ||
531 | CONFIG_MTD_RAM=y | ||
532 | # CONFIG_MTD_ROM is not set | ||
533 | # CONFIG_MTD_ABSENT is not set | ||
534 | |||
535 | # | ||
536 | # Mapping drivers for chip access | ||
537 | # | ||
538 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
539 | # CONFIG_MTD_PHYSMAP is not set | ||
540 | CONFIG_MTD_UCLINUX=y | ||
541 | CONFIG_MTD_PLATRAM=y | ||
542 | |||
543 | # | ||
544 | # Self-contained MTD device drivers | ||
545 | # | ||
546 | # CONFIG_MTD_DATAFLASH is not set | ||
547 | # CONFIG_MTD_M25P80 is not set | ||
548 | # CONFIG_MTD_SLRAM is not set | ||
549 | # CONFIG_MTD_PHRAM is not set | ||
550 | # CONFIG_MTD_MTDRAM is not set | ||
551 | # CONFIG_MTD_BLOCK2MTD is not set | ||
552 | |||
553 | # | ||
554 | # Disk-On-Chip Device Drivers | ||
555 | # | ||
556 | # CONFIG_MTD_DOC2000 is not set | ||
557 | # CONFIG_MTD_DOC2001 is not set | ||
558 | # CONFIG_MTD_DOC2001PLUS is not set | ||
559 | CONFIG_MTD_NAND=y | ||
560 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
561 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
562 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
563 | CONFIG_MTD_NAND_BFIN=y | ||
564 | CONFIG_BFIN_NAND_BASE=0x20000000 | ||
565 | CONFIG_BFIN_NAND_SIZE=0x10000000 | ||
566 | CONFIG_BFIN_NAND_CLE=2 | ||
567 | CONFIG_BFIN_NAND_ALE=1 | ||
568 | CONFIG_BFIN_NAND_READY=10 | ||
569 | CONFIG_MTD_NAND_IDS=y | ||
570 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
571 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
572 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
573 | # CONFIG_MTD_ONENAND is not set | ||
574 | |||
575 | # | ||
576 | # UBI - Unsorted block images | ||
577 | # | ||
578 | # CONFIG_MTD_UBI is not set | ||
579 | |||
580 | # | ||
581 | # Parallel port support | ||
582 | # | ||
583 | # CONFIG_PARPORT is not set | ||
584 | |||
585 | # | ||
586 | # Plug and Play support | ||
587 | # | ||
588 | # CONFIG_PNPACPI is not set | ||
589 | |||
590 | # | ||
591 | # Block devices | ||
592 | # | ||
593 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
594 | # CONFIG_BLK_DEV_LOOP is not set | ||
595 | # CONFIG_BLK_DEV_NBD is not set | ||
596 | # CONFIG_BLK_DEV_UB is not set | ||
597 | CONFIG_BLK_DEV_RAM=y | ||
598 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
599 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
600 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
601 | # CONFIG_CDROM_PKTCDVD is not set | ||
602 | # CONFIG_ATA_OVER_ETH is not set | ||
603 | |||
604 | # | ||
605 | # Misc devices | ||
606 | # | ||
607 | # CONFIG_IDE is not set | ||
608 | |||
609 | # | ||
610 | # SCSI device support | ||
611 | # | ||
612 | # CONFIG_RAID_ATTRS is not set | ||
613 | CONFIG_SCSI=y | ||
614 | # CONFIG_SCSI_TGT is not set | ||
615 | # CONFIG_SCSI_NETLINK is not set | ||
616 | CONFIG_SCSI_PROC_FS=y | ||
617 | |||
618 | # | ||
619 | # SCSI support type (disk, tape, CD-ROM) | ||
620 | # | ||
621 | CONFIG_BLK_DEV_SD=y | ||
622 | # CONFIG_CHR_DEV_ST is not set | ||
623 | # CONFIG_CHR_DEV_OSST is not set | ||
624 | # CONFIG_BLK_DEV_SR is not set | ||
625 | # CONFIG_CHR_DEV_SG is not set | ||
626 | # CONFIG_CHR_DEV_SCH is not set | ||
627 | |||
628 | # | ||
629 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
630 | # | ||
631 | # CONFIG_SCSI_MULTI_LUN is not set | ||
632 | # CONFIG_SCSI_CONSTANTS is not set | ||
633 | # CONFIG_SCSI_LOGGING is not set | ||
634 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
635 | CONFIG_SCSI_WAIT_SCAN=m | ||
636 | |||
637 | # | ||
638 | # SCSI Transports | ||
639 | # | ||
640 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
641 | # CONFIG_SCSI_FC_ATTRS is not set | ||
642 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
643 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
644 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
645 | |||
646 | # | ||
647 | # SCSI low-level drivers | ||
648 | # | ||
649 | # CONFIG_ISCSI_TCP is not set | ||
650 | # CONFIG_SCSI_DEBUG is not set | ||
651 | # CONFIG_ATA is not set | ||
652 | |||
653 | # | ||
654 | # Multi-device support (RAID and LVM) | ||
655 | # | ||
656 | # CONFIG_MD is not set | ||
657 | |||
658 | # | ||
659 | # Network device support | ||
660 | # | ||
661 | CONFIG_NETDEVICES=y | ||
662 | # CONFIG_DUMMY is not set | ||
663 | # CONFIG_BONDING is not set | ||
664 | # CONFIG_EQUALIZER is not set | ||
665 | # CONFIG_TUN is not set | ||
666 | # CONFIG_PHYLIB is not set | ||
667 | |||
668 | # | ||
669 | # Ethernet (10 or 100Mbit) | ||
670 | # | ||
671 | CONFIG_NET_ETHERNET=y | ||
672 | CONFIG_MII=y | ||
673 | # CONFIG_SMC91X is not set | ||
674 | # CONFIG_SMSC911X is not set | ||
675 | CONFIG_DM9000=y | ||
676 | CONFIG_NETDEV_1000=y | ||
677 | # CONFIG_AX88180 is not set | ||
678 | CONFIG_NETDEV_10000=y | ||
679 | |||
680 | # | ||
681 | # Wireless LAN | ||
682 | # | ||
683 | # CONFIG_WLAN_PRE80211 is not set | ||
684 | # CONFIG_WLAN_80211 is not set | ||
685 | |||
686 | # | ||
687 | # USB Network Adapters | ||
688 | # | ||
689 | # CONFIG_USB_CATC is not set | ||
690 | # CONFIG_USB_KAWETH is not set | ||
691 | # CONFIG_USB_PEGASUS is not set | ||
692 | # CONFIG_USB_RTL8150 is not set | ||
693 | # CONFIG_USB_USBNET_MII is not set | ||
694 | # CONFIG_USB_USBNET is not set | ||
695 | # CONFIG_WAN is not set | ||
696 | # CONFIG_PPP is not set | ||
697 | # CONFIG_SLIP is not set | ||
698 | # CONFIG_SHAPER is not set | ||
699 | # CONFIG_NETCONSOLE is not set | ||
700 | # CONFIG_NETPOLL is not set | ||
701 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
702 | |||
703 | # | ||
704 | # ISDN subsystem | ||
705 | # | ||
706 | # CONFIG_ISDN is not set | ||
707 | |||
708 | # | ||
709 | # Telephony Support | ||
710 | # | ||
711 | # CONFIG_PHONE is not set | ||
712 | |||
713 | # | ||
714 | # Input device support | ||
715 | # | ||
716 | # CONFIG_INPUT is not set | ||
717 | |||
718 | # | ||
719 | # Hardware I/O ports | ||
720 | # | ||
721 | # CONFIG_SERIO is not set | ||
722 | # CONFIG_GAMEPORT is not set | ||
723 | |||
724 | # | ||
725 | # Character devices | ||
726 | # | ||
727 | # CONFIG_AD9960 is not set | ||
728 | # CONFIG_SPI_ADC_BF533 is not set | ||
729 | # CONFIG_BF5xx_PFLAGS is not set | ||
730 | # CONFIG_BF5xx_PPIFCD is not set | ||
731 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
732 | # CONFIG_BF5xx_PPI is not set | ||
733 | CONFIG_BFIN_SPORT=y | ||
734 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
735 | # CONFIG_AD5304 is not set | ||
736 | # CONFIG_VT is not set | ||
737 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
738 | |||
739 | # | ||
740 | # Serial drivers | ||
741 | # | ||
742 | # CONFIG_SERIAL_8250 is not set | ||
743 | |||
744 | # | ||
745 | # Non-8250 serial port support | ||
746 | # | ||
747 | CONFIG_SERIAL_BFIN=y | ||
748 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
749 | CONFIG_SERIAL_BFIN_DMA=y | ||
750 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
751 | CONFIG_SERIAL_BFIN_UART0=y | ||
752 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
753 | CONFIG_SERIAL_CORE=y | ||
754 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
755 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
756 | CONFIG_UNIX98_PTYS=y | ||
757 | # CONFIG_LEGACY_PTYS is not set | ||
758 | |||
759 | # | ||
760 | # CAN, the car bus and industrial fieldbus | ||
761 | # | ||
762 | # CONFIG_CAN4LINUX is not set | ||
763 | |||
764 | # | ||
765 | # IPMI | ||
766 | # | ||
767 | # CONFIG_IPMI_HANDLER is not set | ||
768 | CONFIG_WATCHDOG=y | ||
769 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
770 | |||
771 | # | ||
772 | # Watchdog Device Drivers | ||
773 | # | ||
774 | # CONFIG_SOFT_WATCHDOG is not set | ||
775 | # CONFIG_BFIN_WDT is not set | ||
776 | |||
777 | # | ||
778 | # USB-based Watchdog Cards | ||
779 | # | ||
780 | # CONFIG_USBPCWATCHDOG is not set | ||
781 | CONFIG_HW_RANDOM=y | ||
782 | # CONFIG_GEN_RTC is not set | ||
783 | # CONFIG_R3964 is not set | ||
784 | # CONFIG_RAW_DRIVER is not set | ||
785 | |||
786 | # | ||
787 | # TPM devices | ||
788 | # | ||
789 | # CONFIG_TCG_TPM is not set | ||
790 | # CONFIG_I2C is not set | ||
791 | |||
792 | # | ||
793 | # SPI support | ||
794 | # | ||
795 | CONFIG_SPI=y | ||
796 | CONFIG_SPI_MASTER=y | ||
797 | |||
798 | # | ||
799 | # SPI Master Controller Drivers | ||
800 | # | ||
801 | CONFIG_SPI_BFIN=y | ||
802 | # CONFIG_SPI_BITBANG is not set | ||
803 | |||
804 | # | ||
805 | # SPI Protocol Masters | ||
806 | # | ||
807 | # CONFIG_SPI_AT25 is not set | ||
808 | # CONFIG_SPI_SPIDEV is not set | ||
809 | |||
810 | # | ||
811 | # Dallas's 1-wire bus | ||
812 | # | ||
813 | # CONFIG_W1 is not set | ||
814 | # CONFIG_HWMON is not set | ||
815 | |||
816 | # | ||
817 | # Multifunction device drivers | ||
818 | # | ||
819 | # CONFIG_MFD_SM501 is not set | ||
820 | |||
821 | # | ||
822 | # Multimedia devices | ||
823 | # | ||
824 | # CONFIG_VIDEO_DEV is not set | ||
825 | # CONFIG_DVB_CORE is not set | ||
826 | CONFIG_DAB=y | ||
827 | # CONFIG_USB_DABUSB is not set | ||
828 | |||
829 | # | ||
830 | # Graphics support | ||
831 | # | ||
832 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
833 | |||
834 | # | ||
835 | # Display device support | ||
836 | # | ||
837 | # CONFIG_DISPLAY_SUPPORT is not set | ||
838 | # CONFIG_VGASTATE is not set | ||
839 | # CONFIG_FB is not set | ||
840 | |||
841 | # | ||
842 | # Sound | ||
843 | # | ||
844 | # CONFIG_SOUND is not set | ||
845 | |||
846 | # | ||
847 | # USB support | ||
848 | # | ||
849 | CONFIG_USB_ARCH_HAS_HCD=y | ||
850 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
851 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
852 | CONFIG_USB=y | ||
853 | # CONFIG_USB_DEBUG is not set | ||
854 | |||
855 | # | ||
856 | # Miscellaneous USB options | ||
857 | # | ||
858 | CONFIG_USB_DEVICEFS=y | ||
859 | CONFIG_USB_DEVICE_CLASS=y | ||
860 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
861 | # CONFIG_USB_SUSPEND is not set | ||
862 | # CONFIG_USB_OTG is not set | ||
863 | CONFIG_USB_OTG_WHITELIST=y | ||
864 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
865 | |||
866 | # | ||
867 | # USB Host Controller Drivers | ||
868 | # | ||
869 | # CONFIG_USB_ISP116X_HCD is not set | ||
870 | CONFIG_USB_ISP1362_HCD=y | ||
871 | # CONFIG_USB_ISP1760_HCD is not set | ||
872 | # CONFIG_USB_SL811_HCD is not set | ||
873 | # CONFIG_USB_MUSB_HDRC is not set | ||
874 | |||
875 | # | ||
876 | # USB Device Class drivers | ||
877 | # | ||
878 | # CONFIG_USB_ACM is not set | ||
879 | # CONFIG_USB_PRINTER is not set | ||
880 | |||
881 | # | ||
882 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
883 | # | ||
884 | |||
885 | # | ||
886 | # may also be needed; see USB_STORAGE Help for more information | ||
887 | # | ||
888 | CONFIG_USB_STORAGE=y | ||
889 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
890 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
891 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
892 | # CONFIG_USB_STORAGE_DPCM is not set | ||
893 | # CONFIG_USB_STORAGE_USBAT is not set | ||
894 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
895 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
896 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
897 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
898 | # CONFIG_USB_STORAGE_KARMA is not set | ||
899 | # CONFIG_USB_LIBUSUAL is not set | ||
900 | |||
901 | # | ||
902 | # USB Imaging devices | ||
903 | # | ||
904 | # CONFIG_USB_MDC800 is not set | ||
905 | # CONFIG_USB_MICROTEK is not set | ||
906 | CONFIG_USB_MON=y | ||
907 | |||
908 | # | ||
909 | # USB port drivers | ||
910 | # | ||
911 | |||
912 | # | ||
913 | # USB Serial Converter support | ||
914 | # | ||
915 | # CONFIG_USB_SERIAL is not set | ||
916 | |||
917 | # | ||
918 | # USB Miscellaneous drivers | ||
919 | # | ||
920 | # CONFIG_USB_EMI62 is not set | ||
921 | # CONFIG_USB_EMI26 is not set | ||
922 | # CONFIG_USB_ADUTUX is not set | ||
923 | # CONFIG_USB_AUERSWALD is not set | ||
924 | # CONFIG_USB_RIO500 is not set | ||
925 | # CONFIG_USB_LEGOTOWER is not set | ||
926 | # CONFIG_USB_LCD is not set | ||
927 | # CONFIG_USB_BERRY_CHARGE is not set | ||
928 | # CONFIG_USB_LED is not set | ||
929 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
930 | # CONFIG_USB_CYTHERM is not set | ||
931 | # CONFIG_USB_PHIDGET is not set | ||
932 | # CONFIG_USB_IDMOUSE is not set | ||
933 | # CONFIG_USB_FTDI_ELAN is not set | ||
934 | # CONFIG_USB_APPLEDISPLAY is not set | ||
935 | # CONFIG_USB_LD is not set | ||
936 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
937 | # CONFIG_USB_IOWARRIOR is not set | ||
938 | # CONFIG_USB_TEST is not set | ||
939 | |||
940 | # | ||
941 | # USB DSL modem support | ||
942 | # | ||
943 | |||
944 | # | ||
945 | # USB Gadget Support | ||
946 | # | ||
947 | # CONFIG_USB_GADGET is not set | ||
948 | CONFIG_MMC=m | ||
949 | # CONFIG_MMC_DEBUG is not set | ||
950 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
951 | |||
952 | # | ||
953 | # MMC/SD Card Drivers | ||
954 | # | ||
955 | CONFIG_MMC_BLOCK=m | ||
956 | |||
957 | # | ||
958 | # MMC/SD Host Controller Drivers | ||
959 | # | ||
960 | CONFIG_SPI_MMC=m | ||
961 | CONFIG_SPI_MMC_FRAMEWORK_DRIVER=y | ||
962 | # CONFIG_SPI_MMC_BFIN_PIO_SPI is not set | ||
963 | CONFIG_SPI_MMC_CS_CHAN=5 | ||
964 | CONFIG_SPI_MMC_MAX_HZ=20000000 | ||
965 | # CONFIG_SPI_MMC_CARD_DETECT is not set | ||
966 | # CONFIG_SPI_MMC_DEBUG_MODE is not set | ||
967 | |||
968 | # | ||
969 | # LED devices | ||
970 | # | ||
971 | # CONFIG_NEW_LEDS is not set | ||
972 | |||
973 | # | ||
974 | # LED drivers | ||
975 | # | ||
976 | |||
977 | # | ||
978 | # LED Triggers | ||
979 | # | ||
980 | |||
981 | # | ||
982 | # InfiniBand support | ||
983 | # | ||
984 | |||
985 | # | ||
986 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
987 | # | ||
988 | |||
989 | # | ||
990 | # Real Time Clock | ||
991 | # | ||
992 | CONFIG_RTC_LIB=y | ||
993 | CONFIG_RTC_CLASS=y | ||
994 | CONFIG_RTC_HCTOSYS=y | ||
995 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
996 | # CONFIG_RTC_DEBUG is not set | ||
997 | |||
998 | # | ||
999 | # RTC interfaces | ||
1000 | # | ||
1001 | CONFIG_RTC_INTF_SYSFS=y | ||
1002 | CONFIG_RTC_INTF_PROC=y | ||
1003 | CONFIG_RTC_INTF_DEV=y | ||
1004 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1005 | # CONFIG_RTC_DRV_TEST is not set | ||
1006 | |||
1007 | # | ||
1008 | # I2C RTC drivers | ||
1009 | # | ||
1010 | |||
1011 | # | ||
1012 | # SPI RTC drivers | ||
1013 | # | ||
1014 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1015 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1016 | |||
1017 | # | ||
1018 | # Platform RTC drivers | ||
1019 | # | ||
1020 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1021 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1022 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1023 | # CONFIG_RTC_DRV_V3020 is not set | ||
1024 | |||
1025 | # | ||
1026 | # on-CPU RTC drivers | ||
1027 | # | ||
1028 | CONFIG_RTC_DRV_BFIN=y | ||
1029 | |||
1030 | # | ||
1031 | # DMA Engine support | ||
1032 | # | ||
1033 | # CONFIG_DMA_ENGINE is not set | ||
1034 | |||
1035 | # | ||
1036 | # DMA Clients | ||
1037 | # | ||
1038 | |||
1039 | # | ||
1040 | # DMA Devices | ||
1041 | # | ||
1042 | |||
1043 | # | ||
1044 | # PBX support | ||
1045 | # | ||
1046 | # CONFIG_PBX is not set | ||
1047 | |||
1048 | # | ||
1049 | # File systems | ||
1050 | # | ||
1051 | CONFIG_EXT2_FS=y | ||
1052 | CONFIG_EXT2_FS_XATTR=y | ||
1053 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
1054 | # CONFIG_EXT2_FS_SECURITY is not set | ||
1055 | # CONFIG_EXT3_FS is not set | ||
1056 | # CONFIG_EXT4DEV_FS is not set | ||
1057 | CONFIG_FS_MBCACHE=y | ||
1058 | # CONFIG_REISERFS_FS is not set | ||
1059 | # CONFIG_JFS_FS is not set | ||
1060 | # CONFIG_FS_POSIX_ACL is not set | ||
1061 | # CONFIG_XFS_FS is not set | ||
1062 | # CONFIG_GFS2_FS is not set | ||
1063 | # CONFIG_OCFS2_FS is not set | ||
1064 | # CONFIG_MINIX_FS is not set | ||
1065 | # CONFIG_ROMFS_FS is not set | ||
1066 | CONFIG_INOTIFY=y | ||
1067 | CONFIG_INOTIFY_USER=y | ||
1068 | # CONFIG_QUOTA is not set | ||
1069 | CONFIG_DNOTIFY=y | ||
1070 | # CONFIG_AUTOFS_FS is not set | ||
1071 | # CONFIG_AUTOFS4_FS is not set | ||
1072 | # CONFIG_FUSE_FS is not set | ||
1073 | |||
1074 | # | ||
1075 | # CD-ROM/DVD Filesystems | ||
1076 | # | ||
1077 | # CONFIG_ISO9660_FS is not set | ||
1078 | # CONFIG_UDF_FS is not set | ||
1079 | |||
1080 | # | ||
1081 | # DOS/FAT/NT Filesystems | ||
1082 | # | ||
1083 | CONFIG_FAT_FS=y | ||
1084 | CONFIG_MSDOS_FS=y | ||
1085 | CONFIG_VFAT_FS=y | ||
1086 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1087 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1088 | # CONFIG_NTFS_FS is not set | ||
1089 | |||
1090 | # | ||
1091 | # Pseudo filesystems | ||
1092 | # | ||
1093 | CONFIG_PROC_FS=y | ||
1094 | CONFIG_PROC_SYSCTL=y | ||
1095 | CONFIG_SYSFS=y | ||
1096 | # CONFIG_TMPFS is not set | ||
1097 | # CONFIG_HUGETLB_PAGE is not set | ||
1098 | CONFIG_RAMFS=y | ||
1099 | # CONFIG_CONFIGFS_FS is not set | ||
1100 | |||
1101 | # | ||
1102 | # Miscellaneous filesystems | ||
1103 | # | ||
1104 | # CONFIG_ADFS_FS is not set | ||
1105 | # CONFIG_AFFS_FS is not set | ||
1106 | # CONFIG_HFS_FS is not set | ||
1107 | # CONFIG_HFSPLUS_FS is not set | ||
1108 | # CONFIG_BEFS_FS is not set | ||
1109 | # CONFIG_BFS_FS is not set | ||
1110 | # CONFIG_EFS_FS is not set | ||
1111 | CONFIG_YAFFS_FS=y | ||
1112 | CONFIG_YAFFS_YAFFS1=y | ||
1113 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1114 | CONFIG_YAFFS_YAFFS2=y | ||
1115 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1116 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1117 | CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10 | ||
1118 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1119 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1120 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1121 | # CONFIG_JFFS2_FS is not set | ||
1122 | # CONFIG_CRAMFS is not set | ||
1123 | # CONFIG_VXFS_FS is not set | ||
1124 | # CONFIG_HPFS_FS is not set | ||
1125 | # CONFIG_QNX4FS_FS is not set | ||
1126 | # CONFIG_SYSV_FS is not set | ||
1127 | # CONFIG_UFS_FS is not set | ||
1128 | |||
1129 | # | ||
1130 | # Network File Systems | ||
1131 | # | ||
1132 | # CONFIG_NFS_FS is not set | ||
1133 | # CONFIG_NFSD is not set | ||
1134 | # CONFIG_SMB_FS is not set | ||
1135 | # CONFIG_CIFS is not set | ||
1136 | # CONFIG_NCP_FS is not set | ||
1137 | # CONFIG_CODA_FS is not set | ||
1138 | # CONFIG_AFS_FS is not set | ||
1139 | # CONFIG_9P_FS is not set | ||
1140 | |||
1141 | # | ||
1142 | # Partition Types | ||
1143 | # | ||
1144 | # CONFIG_PARTITION_ADVANCED is not set | ||
1145 | CONFIG_MSDOS_PARTITION=y | ||
1146 | |||
1147 | # | ||
1148 | # Native Language Support | ||
1149 | # | ||
1150 | CONFIG_NLS=y | ||
1151 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1152 | CONFIG_NLS_CODEPAGE_437=y | ||
1153 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1154 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1155 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1156 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1157 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1158 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1159 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1160 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1161 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1162 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1163 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1164 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1165 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1166 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1167 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1168 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1169 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1170 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1171 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1172 | # CONFIG_NLS_ISO8859_8 is not set | ||
1173 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1174 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1175 | # CONFIG_NLS_ASCII is not set | ||
1176 | CONFIG_NLS_ISO8859_1=y | ||
1177 | # CONFIG_NLS_ISO8859_2 is not set | ||
1178 | # CONFIG_NLS_ISO8859_3 is not set | ||
1179 | # CONFIG_NLS_ISO8859_4 is not set | ||
1180 | # CONFIG_NLS_ISO8859_5 is not set | ||
1181 | # CONFIG_NLS_ISO8859_6 is not set | ||
1182 | # CONFIG_NLS_ISO8859_7 is not set | ||
1183 | # CONFIG_NLS_ISO8859_9 is not set | ||
1184 | # CONFIG_NLS_ISO8859_13 is not set | ||
1185 | # CONFIG_NLS_ISO8859_14 is not set | ||
1186 | # CONFIG_NLS_ISO8859_15 is not set | ||
1187 | # CONFIG_NLS_KOI8_R is not set | ||
1188 | # CONFIG_NLS_KOI8_U is not set | ||
1189 | # CONFIG_NLS_UTF8 is not set | ||
1190 | |||
1191 | # | ||
1192 | # Distributed Lock Manager | ||
1193 | # | ||
1194 | # CONFIG_DLM is not set | ||
1195 | |||
1196 | # | ||
1197 | # Profiling support | ||
1198 | # | ||
1199 | # CONFIG_PROFILING is not set | ||
1200 | |||
1201 | # | ||
1202 | # Kernel hacking | ||
1203 | # | ||
1204 | # CONFIG_PRINTK_TIME is not set | ||
1205 | CONFIG_ENABLE_MUST_CHECK=y | ||
1206 | # CONFIG_MAGIC_SYSRQ is not set | ||
1207 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1208 | # CONFIG_DEBUG_FS is not set | ||
1209 | # CONFIG_HEADERS_CHECK is not set | ||
1210 | # CONFIG_DEBUG_KERNEL is not set | ||
1211 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1212 | # CONFIG_DEBUG_MMRS is not set | ||
1213 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1214 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1215 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
1216 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
1217 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1218 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
1219 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1220 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
1221 | # CONFIG_EARLY_PRINTK is not set | ||
1222 | CONFIG_CPLB_INFO=y | ||
1223 | CONFIG_ACCESS_CHECK=y | ||
1224 | |||
1225 | # | ||
1226 | # Security options | ||
1227 | # | ||
1228 | # CONFIG_KEYS is not set | ||
1229 | CONFIG_SECURITY=y | ||
1230 | # CONFIG_SECURITY_NETWORK is not set | ||
1231 | CONFIG_SECURITY_CAPABILITIES=m | ||
1232 | # CONFIG_SECURITY_ROOTPLUG is not set | ||
1233 | |||
1234 | # | ||
1235 | # Cryptographic options | ||
1236 | # | ||
1237 | # CONFIG_CRYPTO is not set | ||
1238 | |||
1239 | # | ||
1240 | # Library routines | ||
1241 | # | ||
1242 | CONFIG_BITREVERSE=y | ||
1243 | CONFIG_CRC_CCITT=y | ||
1244 | # CONFIG_CRC16 is not set | ||
1245 | # CONFIG_CRC_ITU_T is not set | ||
1246 | CONFIG_CRC32=y | ||
1247 | # CONFIG_LIBCRC32C is not set | ||
1248 | CONFIG_ZLIB_INFLATE=y | ||
1249 | CONFIG_PLIST=y | ||
1250 | CONFIG_HAS_IOMEM=y | ||
1251 | CONFIG_HAS_IOPORT=y | ||
1252 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index 25709f504d8f..87622ad9df47 100644 --- a/arch/blackfin/configs/PNAV-10_defconfig +++ b/arch/blackfin/configs/PNAV-10_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=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_TIME is not set | 16 | CONFIG_GENERIC_TIME=y |
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
@@ -214,7 +214,7 @@ CONFIG_HZ=250 | |||
214 | # | 214 | # |
215 | # Memory Setup | 215 | # Memory Setup |
216 | # | 216 | # |
217 | CONFIG_MEM_SIZE=64 | 217 | CONFIG_MAX_MEM_SIZE=64 |
218 | CONFIG_MEM_ADD_WIDTH=10 | 218 | CONFIG_MEM_ADD_WIDTH=10 |
219 | CONFIG_BOOT_LOAD=0x1000 | 219 | CONFIG_BOOT_LOAD=0x1000 |
220 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 220 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
diff --git a/arch/blackfin/configs/SRV1_defconfig b/arch/blackfin/configs/SRV1_defconfig new file mode 100644 index 000000000000..951ea0412576 --- /dev/null +++ b/arch/blackfin/configs/SRV1_defconfig | |||
@@ -0,0 +1,1290 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.22.10 | ||
4 | # Fri Nov 2 20:50:23 2007 | ||
5 | # | ||
6 | # CONFIG_MMU is not set | ||
7 | # CONFIG_FPU is not set | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
10 | CONFIG_BLACKFIN=y | ||
11 | CONFIG_ZONE_DMA=y | ||
12 | CONFIG_BFIN=y | ||
13 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
14 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
15 | CONFIG_GENERIC_HWEIGHT=y | ||
16 | CONFIG_GENERIC_HARDIRQS=y | ||
17 | CONFIG_GENERIC_IRQ_PROBE=y | ||
18 | # CONFIG_GENERIC_TIME is not set | ||
19 | CONFIG_GENERIC_GPIO=y | ||
20 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
22 | CONFIG_IRQCHIP_DEMUX_GPIO=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | |||
25 | # | ||
26 | # Code maturity level options | ||
27 | # | ||
28 | CONFIG_EXPERIMENTAL=y | ||
29 | CONFIG_BROKEN_ON_SMP=y | ||
30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
31 | |||
32 | # | ||
33 | # General setup | ||
34 | # | ||
35 | CONFIG_LOCALVERSION="" | ||
36 | CONFIG_LOCALVERSION_AUTO=y | ||
37 | CONFIG_SYSVIPC=y | ||
38 | # CONFIG_IPC_NS is not set | ||
39 | CONFIG_SYSVIPC_SYSCTL=y | ||
40 | # CONFIG_POSIX_MQUEUE is not set | ||
41 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
42 | # CONFIG_TASKSTATS is not set | ||
43 | # CONFIG_UTS_NS is not set | ||
44 | # CONFIG_AUDIT is not set | ||
45 | # CONFIG_IKCONFIG is not set | ||
46 | CONFIG_LOG_BUF_SHIFT=14 | ||
47 | CONFIG_SYSFS_DEPRECATED=y | ||
48 | # CONFIG_RELAY is not set | ||
49 | CONFIG_BLK_DEV_INITRD=y | ||
50 | CONFIG_INITRAMFS_SOURCE="" | ||
51 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
52 | CONFIG_SYSCTL=y | ||
53 | CONFIG_EMBEDDED=y | ||
54 | CONFIG_UID16=y | ||
55 | CONFIG_SYSCTL_SYSCALL=y | ||
56 | CONFIG_KALLSYMS=y | ||
57 | CONFIG_KALLSYMS_ALL=y | ||
58 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
59 | CONFIG_HOTPLUG=y | ||
60 | CONFIG_PRINTK=y | ||
61 | CONFIG_BUG=y | ||
62 | CONFIG_ELF_CORE=y | ||
63 | CONFIG_BASE_FULL=y | ||
64 | CONFIG_FUTEX=y | ||
65 | CONFIG_ANON_INODES=y | ||
66 | CONFIG_EPOLL=y | ||
67 | CONFIG_SIGNALFD=y | ||
68 | CONFIG_EVENTFD=y | ||
69 | CONFIG_VM_EVENT_COUNTERS=y | ||
70 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
71 | # CONFIG_NP2 is not set | ||
72 | CONFIG_SLAB=y | ||
73 | # CONFIG_SLUB is not set | ||
74 | # CONFIG_SLOB is not set | ||
75 | CONFIG_RT_MUTEXES=y | ||
76 | CONFIG_TINY_SHMEM=y | ||
77 | CONFIG_BASE_SMALL=0 | ||
78 | |||
79 | # | ||
80 | # Loadable module support | ||
81 | # | ||
82 | CONFIG_MODULES=y | ||
83 | CONFIG_MODULE_UNLOAD=y | ||
84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
85 | # CONFIG_MODVERSIONS is not set | ||
86 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
87 | CONFIG_KMOD=y | ||
88 | |||
89 | # | ||
90 | # Block layer | ||
91 | # | ||
92 | CONFIG_BLOCK=y | ||
93 | # CONFIG_LBD is not set | ||
94 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
95 | # CONFIG_LSF is not set | ||
96 | |||
97 | # | ||
98 | # IO Schedulers | ||
99 | # | ||
100 | CONFIG_IOSCHED_NOOP=y | ||
101 | CONFIG_IOSCHED_AS=y | ||
102 | # CONFIG_IOSCHED_DEADLINE is not set | ||
103 | CONFIG_IOSCHED_CFQ=y | ||
104 | CONFIG_DEFAULT_AS=y | ||
105 | # CONFIG_DEFAULT_DEADLINE is not set | ||
106 | # CONFIG_DEFAULT_CFQ is not set | ||
107 | # CONFIG_DEFAULT_NOOP is not set | ||
108 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
109 | # CONFIG_PREEMPT_NONE is not set | ||
110 | CONFIG_PREEMPT_VOLUNTARY=y | ||
111 | # CONFIG_PREEMPT is not set | ||
112 | |||
113 | # | ||
114 | # Blackfin Processor Options | ||
115 | # | ||
116 | |||
117 | # | ||
118 | # Processor and Board Settings | ||
119 | # | ||
120 | # CONFIG_BF522 is not set | ||
121 | # CONFIG_BF525 is not set | ||
122 | # CONFIG_BF527 is not set | ||
123 | # CONFIG_BF531 is not set | ||
124 | # CONFIG_BF532 is not set | ||
125 | # CONFIG_BF533 is not set | ||
126 | # CONFIG_BF534 is not set | ||
127 | # CONFIG_BF536 is not set | ||
128 | CONFIG_BF537=y | ||
129 | # CONFIG_BF542 is not set | ||
130 | # CONFIG_BF544 is not set | ||
131 | # CONFIG_BF548 is not set | ||
132 | # CONFIG_BF549 is not set | ||
133 | # CONFIG_BF561 is not set | ||
134 | # CONFIG_BF_REV_0_0 is not set | ||
135 | # CONFIG_BF_REV_0_1 is not set | ||
136 | CONFIG_BF_REV_0_2=y | ||
137 | # CONFIG_BF_REV_0_3 is not set | ||
138 | # CONFIG_BF_REV_0_4 is not set | ||
139 | # CONFIG_BF_REV_0_5 is not set | ||
140 | # CONFIG_BF_REV_ANY is not set | ||
141 | # CONFIG_BF_REV_NONE is not set | ||
142 | CONFIG_BF53x=y | ||
143 | CONFIG_BFIN_SINGLE_CORE=y | ||
144 | # CONFIG_BFIN527_EZKIT is not set | ||
145 | # CONFIG_BFIN533_EZKIT is not set | ||
146 | # CONFIG_BFIN533_STAMP is not set | ||
147 | # CONFIG_BFIN537_STAMP is not set | ||
148 | # CONFIG_CAMSIG_MINOTAUR is not set | ||
149 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set | ||
150 | # CONFIG_BFIN537_BLUETECHNIX_CM is not set | ||
151 | # CONFIG_BFIN548_EZKIT is not set | ||
152 | # CONFIG_BFIN561_BLUETECHNIX_CM is not set | ||
153 | # CONFIG_BFIN561_EZKIT is not set | ||
154 | # CONFIG_BFIN561_TEPLA is not set | ||
155 | # CONFIG_PNAV10 is not set | ||
156 | # CONFIG_VISTASCAN is not set | ||
157 | # CONFIG_BFIN533_SR3K is not set | ||
158 | CONFIG_GENERIC_BOARD=y | ||
159 | CONFIG_MEM_GENERIC_BOARD=y | ||
160 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
161 | CONFIG_IRQ_RTC=8 | ||
162 | CONFIG_IRQ_PPI=8 | ||
163 | CONFIG_IRQ_SPORT0_RX=9 | ||
164 | CONFIG_IRQ_SPORT0_TX=9 | ||
165 | CONFIG_IRQ_SPORT1_RX=9 | ||
166 | CONFIG_IRQ_SPORT1_TX=9 | ||
167 | CONFIG_IRQ_TWI=10 | ||
168 | CONFIG_IRQ_SPI=10 | ||
169 | CONFIG_IRQ_UART0_RX=10 | ||
170 | CONFIG_IRQ_UART0_TX=10 | ||
171 | CONFIG_IRQ_UART1_RX=10 | ||
172 | CONFIG_IRQ_UART1_TX=10 | ||
173 | CONFIG_IRQ_MAC_RX=11 | ||
174 | CONFIG_IRQ_MAC_TX=11 | ||
175 | CONFIG_IRQ_TMR0=12 | ||
176 | CONFIG_IRQ_TMR1=12 | ||
177 | CONFIG_IRQ_TMR2=12 | ||
178 | CONFIG_IRQ_TMR3=12 | ||
179 | CONFIG_IRQ_TMR4=12 | ||
180 | CONFIG_IRQ_TMR5=12 | ||
181 | CONFIG_IRQ_TMR6=12 | ||
182 | CONFIG_IRQ_TMR7=12 | ||
183 | CONFIG_IRQ_PORTG_INTB=12 | ||
184 | CONFIG_IRQ_MEM_DMA0=13 | ||
185 | CONFIG_IRQ_MEM_DMA1=13 | ||
186 | CONFIG_IRQ_WATCH=13 | ||
187 | |||
188 | # | ||
189 | # BF537 Specific Configuration | ||
190 | # | ||
191 | |||
192 | # | ||
193 | # Interrupt Priority Assignment | ||
194 | # | ||
195 | |||
196 | # | ||
197 | # Priority | ||
198 | # | ||
199 | CONFIG_IRQ_DMA_ERROR=7 | ||
200 | CONFIG_IRQ_ERROR=7 | ||
201 | CONFIG_IRQ_CAN_RX=11 | ||
202 | CONFIG_IRQ_CAN_TX=11 | ||
203 | CONFIG_IRQ_PROG_INTA=12 | ||
204 | |||
205 | # | ||
206 | # Board customizations | ||
207 | # | ||
208 | # CONFIG_CMDLINE_BOOL is not set | ||
209 | |||
210 | # | ||
211 | # Clock/PLL Setup | ||
212 | # | ||
213 | CONFIG_CLKIN_HZ=22118400 | ||
214 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
215 | CONFIG_MAX_VCO_HZ=600000000 | ||
216 | CONFIG_MIN_VCO_HZ=50000000 | ||
217 | CONFIG_MAX_SCLK_HZ=133000000 | ||
218 | CONFIG_MIN_SCLK_HZ=27000000 | ||
219 | |||
220 | # | ||
221 | # Kernel Timer/Scheduler | ||
222 | # | ||
223 | # CONFIG_HZ_100 is not set | ||
224 | CONFIG_HZ_250=y | ||
225 | # CONFIG_HZ_300 is not set | ||
226 | # CONFIG_HZ_1000 is not set | ||
227 | CONFIG_HZ=250 | ||
228 | |||
229 | # | ||
230 | # Memory Setup | ||
231 | # | ||
232 | CONFIG_MAX_MEM_SIZE=32 | ||
233 | CONFIG_MEM_ADD_WIDTH=9 | ||
234 | CONFIG_BOOT_LOAD=0x400000 | ||
235 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
236 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
237 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
238 | |||
239 | # | ||
240 | # Blackfin Kernel Optimizations | ||
241 | # | ||
242 | |||
243 | # | ||
244 | # Memory Optimizations | ||
245 | # | ||
246 | CONFIG_I_ENTRY_L1=y | ||
247 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
248 | CONFIG_DO_IRQ_L1=y | ||
249 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
250 | CONFIG_IDLE_L1=y | ||
251 | CONFIG_SCHEDULE_L1=y | ||
252 | CONFIG_ARITHMETIC_OPS_L1=y | ||
253 | CONFIG_ACCESS_OK_L1=y | ||
254 | CONFIG_MEMSET_L1=y | ||
255 | CONFIG_MEMCPY_L1=y | ||
256 | CONFIG_SYS_BFIN_SPINLOCK_L1=y | ||
257 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
258 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
259 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
260 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
261 | CONFIG_RAMKERNEL=y | ||
262 | # CONFIG_ROMKERNEL is not set | ||
263 | CONFIG_SELECT_MEMORY_MODEL=y | ||
264 | CONFIG_FLATMEM_MANUAL=y | ||
265 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
266 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
267 | CONFIG_FLATMEM=y | ||
268 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
269 | # CONFIG_SPARSEMEM_STATIC is not set | ||
270 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
271 | # CONFIG_RESOURCES_64BIT is not set | ||
272 | CONFIG_ZONE_DMA_FLAG=1 | ||
273 | CONFIG_LARGE_ALLOCS=y | ||
274 | CONFIG_BFIN_DMA_5XX=y | ||
275 | CONFIG_DMA_UNCACHED_2M=y | ||
276 | # CONFIG_DMA_UNCACHED_1M is not set | ||
277 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
278 | |||
279 | # | ||
280 | # Cache Support | ||
281 | # | ||
282 | CONFIG_BFIN_ICACHE=y | ||
283 | CONFIG_BFIN_DCACHE=y | ||
284 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
285 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
286 | # CONFIG_BFIN_WB is not set | ||
287 | CONFIG_BFIN_WT=y | ||
288 | CONFIG_L1_MAX_PIECE=16 | ||
289 | |||
290 | # | ||
291 | # Asynchonous Memory Configuration | ||
292 | # | ||
293 | |||
294 | # | ||
295 | # EBIU_AMGCTL Global Control | ||
296 | # | ||
297 | CONFIG_C_AMCKEN=y | ||
298 | CONFIG_C_CDPRIO=y | ||
299 | # CONFIG_C_AMBEN is not set | ||
300 | # CONFIG_C_AMBEN_B0 is not set | ||
301 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
302 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
303 | CONFIG_C_AMBEN_ALL=y | ||
304 | |||
305 | # | ||
306 | # EBIU_AMBCTL Control | ||
307 | # | ||
308 | CONFIG_BANK_0=0x7BB0 | ||
309 | CONFIG_BANK_1=0x7BB0 | ||
310 | CONFIG_BANK_2=0x7BB0 | ||
311 | CONFIG_BANK_3=0x99B3 | ||
312 | |||
313 | # | ||
314 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
315 | # | ||
316 | # CONFIG_PCI is not set | ||
317 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
318 | |||
319 | # | ||
320 | # PCCARD (PCMCIA/CardBus) support | ||
321 | # | ||
322 | # CONFIG_PCCARD is not set | ||
323 | |||
324 | # | ||
325 | # Executable file formats | ||
326 | # | ||
327 | CONFIG_BINFMT_ELF_FDPIC=y | ||
328 | CONFIG_BINFMT_FLAT=y | ||
329 | CONFIG_BINFMT_ZFLAT=y | ||
330 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
331 | # CONFIG_BINFMT_MISC is not set | ||
332 | |||
333 | # | ||
334 | # Power management options | ||
335 | # | ||
336 | CONFIG_PM=y | ||
337 | # CONFIG_PM_LEGACY is not set | ||
338 | # CONFIG_PM_DEBUG is not set | ||
339 | # CONFIG_PM_SYSFS_DEPRECATED is not set | ||
340 | CONFIG_PM_WAKEUP_GPIO_BY_SIC_IWR=y | ||
341 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
342 | # CONFIG_PM_WAKEUP_GPIO_API is not set | ||
343 | CONFIG_PM_WAKEUP_SIC_IWR=0x80000000 | ||
344 | |||
345 | # | ||
346 | # CPU Frequency scaling | ||
347 | # | ||
348 | # CONFIG_CPU_FREQ is not set | ||
349 | |||
350 | # | ||
351 | # Networking | ||
352 | # | ||
353 | CONFIG_NET=y | ||
354 | |||
355 | # | ||
356 | # Networking options | ||
357 | # | ||
358 | CONFIG_PACKET=y | ||
359 | # CONFIG_PACKET_MMAP is not set | ||
360 | CONFIG_UNIX=y | ||
361 | CONFIG_XFRM=y | ||
362 | # CONFIG_XFRM_USER is not set | ||
363 | # CONFIG_XFRM_SUB_POLICY is not set | ||
364 | # CONFIG_XFRM_MIGRATE is not set | ||
365 | # CONFIG_NET_KEY is not set | ||
366 | CONFIG_INET=y | ||
367 | # CONFIG_IP_MULTICAST is not set | ||
368 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
369 | CONFIG_IP_FIB_HASH=y | ||
370 | CONFIG_IP_PNP=y | ||
371 | # CONFIG_IP_PNP_DHCP is not set | ||
372 | # CONFIG_IP_PNP_BOOTP is not set | ||
373 | # CONFIG_IP_PNP_RARP is not set | ||
374 | # CONFIG_NET_IPIP is not set | ||
375 | # CONFIG_NET_IPGRE is not set | ||
376 | # CONFIG_ARPD is not set | ||
377 | CONFIG_SYN_COOKIES=y | ||
378 | # CONFIG_INET_AH is not set | ||
379 | # CONFIG_INET_ESP is not set | ||
380 | # CONFIG_INET_IPCOMP is not set | ||
381 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
382 | # CONFIG_INET_TUNNEL is not set | ||
383 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
384 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
385 | CONFIG_INET_XFRM_MODE_BEET=y | ||
386 | CONFIG_INET_DIAG=y | ||
387 | CONFIG_INET_TCP_DIAG=y | ||
388 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
389 | CONFIG_TCP_CONG_CUBIC=y | ||
390 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
391 | # CONFIG_TCP_MD5SIG is not set | ||
392 | # CONFIG_IPV6 is not set | ||
393 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
394 | # CONFIG_INET6_TUNNEL is not set | ||
395 | # CONFIG_NETLABEL is not set | ||
396 | # CONFIG_NETWORK_SECMARK is not set | ||
397 | # CONFIG_NETFILTER is not set | ||
398 | # CONFIG_IP_DCCP is not set | ||
399 | # CONFIG_IP_SCTP is not set | ||
400 | # CONFIG_TIPC is not set | ||
401 | # CONFIG_ATM is not set | ||
402 | # CONFIG_BRIDGE is not set | ||
403 | # CONFIG_VLAN_8021Q is not set | ||
404 | # CONFIG_DECNET is not set | ||
405 | # CONFIG_LLC2 is not set | ||
406 | # CONFIG_IPX is not set | ||
407 | # CONFIG_ATALK is not set | ||
408 | # CONFIG_X25 is not set | ||
409 | # CONFIG_LAPB is not set | ||
410 | # CONFIG_ECONET is not set | ||
411 | # CONFIG_WAN_ROUTER is not set | ||
412 | |||
413 | # | ||
414 | # QoS and/or fair queueing | ||
415 | # | ||
416 | # CONFIG_NET_SCHED is not set | ||
417 | |||
418 | # | ||
419 | # Network testing | ||
420 | # | ||
421 | # CONFIG_NET_PKTGEN is not set | ||
422 | # CONFIG_HAMRADIO is not set | ||
423 | CONFIG_IRDA=m | ||
424 | |||
425 | # | ||
426 | # IrDA protocols | ||
427 | # | ||
428 | CONFIG_IRLAN=m | ||
429 | CONFIG_IRCOMM=m | ||
430 | # CONFIG_IRDA_ULTRA is not set | ||
431 | |||
432 | # | ||
433 | # IrDA options | ||
434 | # | ||
435 | CONFIG_IRDA_CACHE_LAST_LSAP=y | ||
436 | # CONFIG_IRDA_FAST_RR is not set | ||
437 | # CONFIG_IRDA_DEBUG is not set | ||
438 | |||
439 | # | ||
440 | # Infrared-port device drivers | ||
441 | # | ||
442 | |||
443 | # | ||
444 | # SIR device drivers | ||
445 | # | ||
446 | CONFIG_IRTTY_SIR=m | ||
447 | |||
448 | # | ||
449 | # Dongle support | ||
450 | # | ||
451 | # CONFIG_DONGLE is not set | ||
452 | |||
453 | # | ||
454 | # Old SIR device drivers | ||
455 | # | ||
456 | # CONFIG_IRPORT_SIR is not set | ||
457 | |||
458 | # | ||
459 | # Old Serial dongle support | ||
460 | # | ||
461 | |||
462 | # | ||
463 | # FIR device drivers | ||
464 | # | ||
465 | # CONFIG_BT is not set | ||
466 | # CONFIG_AF_RXRPC is not set | ||
467 | |||
468 | # | ||
469 | # Wireless | ||
470 | # | ||
471 | # CONFIG_CFG80211 is not set | ||
472 | # CONFIG_WIRELESS_EXT is not set | ||
473 | # CONFIG_MAC80211 is not set | ||
474 | # CONFIG_IEEE80211 is not set | ||
475 | # CONFIG_RFKILL is not set | ||
476 | |||
477 | # | ||
478 | # Device Drivers | ||
479 | # | ||
480 | |||
481 | # | ||
482 | # Generic Driver Options | ||
483 | # | ||
484 | CONFIG_STANDALONE=y | ||
485 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
486 | # CONFIG_FW_LOADER is not set | ||
487 | # CONFIG_DEBUG_DRIVER is not set | ||
488 | # CONFIG_DEBUG_DEVRES is not set | ||
489 | # CONFIG_SYS_HYPERVISOR is not set | ||
490 | |||
491 | # | ||
492 | # Connector - unified userspace <-> kernelspace linker | ||
493 | # | ||
494 | # CONFIG_CONNECTOR is not set | ||
495 | CONFIG_MTD=y | ||
496 | # CONFIG_MTD_DEBUG is not set | ||
497 | # CONFIG_MTD_CONCAT is not set | ||
498 | CONFIG_MTD_PARTITIONS=y | ||
499 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
500 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
501 | |||
502 | # | ||
503 | # User Modules And Translation Layers | ||
504 | # | ||
505 | CONFIG_MTD_CHAR=m | ||
506 | CONFIG_MTD_BLKDEVS=y | ||
507 | CONFIG_MTD_BLOCK=y | ||
508 | # CONFIG_FTL is not set | ||
509 | # CONFIG_NFTL is not set | ||
510 | # CONFIG_INFTL is not set | ||
511 | # CONFIG_RFD_FTL is not set | ||
512 | # CONFIG_SSFDC is not set | ||
513 | |||
514 | # | ||
515 | # RAM/ROM/Flash chip drivers | ||
516 | # | ||
517 | # CONFIG_MTD_CFI is not set | ||
518 | CONFIG_MTD_JEDECPROBE=m | ||
519 | CONFIG_MTD_GEN_PROBE=m | ||
520 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
521 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
522 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
523 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
524 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
525 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
526 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
527 | CONFIG_MTD_CFI_I1=y | ||
528 | CONFIG_MTD_CFI_I2=y | ||
529 | # CONFIG_MTD_CFI_I4 is not set | ||
530 | # CONFIG_MTD_CFI_I8 is not set | ||
531 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
532 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
533 | # CONFIG_MTD_CFI_STAA is not set | ||
534 | CONFIG_MTD_MW320D=m | ||
535 | CONFIG_MTD_RAM=y | ||
536 | CONFIG_MTD_ROM=m | ||
537 | # CONFIG_MTD_ABSENT is not set | ||
538 | |||
539 | # | ||
540 | # Mapping drivers for chip access | ||
541 | # | ||
542 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
543 | # CONFIG_MTD_PHYSMAP is not set | ||
544 | CONFIG_MTD_BF5xx=m | ||
545 | CONFIG_BFIN_FLASH_SIZE=0x400000 | ||
546 | CONFIG_EBIU_FLASH_BASE=0x20000000 | ||
547 | CONFIG_MTD_UCLINUX=y | ||
548 | # CONFIG_MTD_PLATRAM is not set | ||
549 | |||
550 | # | ||
551 | # Self-contained MTD device drivers | ||
552 | # | ||
553 | # CONFIG_MTD_DATAFLASH is not set | ||
554 | # CONFIG_MTD_M25P80 is not set | ||
555 | # CONFIG_MTD_SLRAM is not set | ||
556 | # CONFIG_MTD_PHRAM is not set | ||
557 | # CONFIG_MTD_MTDRAM is not set | ||
558 | # CONFIG_MTD_BLOCK2MTD is not set | ||
559 | |||
560 | # | ||
561 | # Disk-On-Chip Device Drivers | ||
562 | # | ||
563 | # CONFIG_MTD_DOC2000 is not set | ||
564 | # CONFIG_MTD_DOC2001 is not set | ||
565 | # CONFIG_MTD_DOC2001PLUS is not set | ||
566 | CONFIG_MTD_NAND=m | ||
567 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
568 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
569 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
570 | CONFIG_MTD_NAND_BFIN=m | ||
571 | CONFIG_BFIN_NAND_BASE=0x20212000 | ||
572 | CONFIG_BFIN_NAND_CLE=2 | ||
573 | CONFIG_BFIN_NAND_ALE=1 | ||
574 | CONFIG_BFIN_NAND_READY=3 | ||
575 | CONFIG_MTD_NAND_IDS=m | ||
576 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
577 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
578 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
579 | # CONFIG_MTD_ONENAND is not set | ||
580 | |||
581 | # | ||
582 | # UBI - Unsorted block images | ||
583 | # | ||
584 | # CONFIG_MTD_UBI is not set | ||
585 | |||
586 | # | ||
587 | # Parallel port support | ||
588 | # | ||
589 | # CONFIG_PARPORT is not set | ||
590 | |||
591 | # | ||
592 | # Plug and Play support | ||
593 | # | ||
594 | # CONFIG_PNPACPI is not set | ||
595 | |||
596 | # | ||
597 | # Block devices | ||
598 | # | ||
599 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
600 | # CONFIG_BLK_DEV_LOOP is not set | ||
601 | # CONFIG_BLK_DEV_NBD is not set | ||
602 | CONFIG_BLK_DEV_RAM=y | ||
603 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
604 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
605 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
606 | # CONFIG_CDROM_PKTCDVD is not set | ||
607 | # CONFIG_ATA_OVER_ETH is not set | ||
608 | |||
609 | # | ||
610 | # Misc devices | ||
611 | # | ||
612 | # CONFIG_IDE is not set | ||
613 | |||
614 | # | ||
615 | # SCSI device support | ||
616 | # | ||
617 | # CONFIG_RAID_ATTRS is not set | ||
618 | # CONFIG_SCSI is not set | ||
619 | # CONFIG_SCSI_NETLINK is not set | ||
620 | # CONFIG_ATA is not set | ||
621 | |||
622 | # | ||
623 | # Multi-device support (RAID and LVM) | ||
624 | # | ||
625 | # CONFIG_MD is not set | ||
626 | |||
627 | # | ||
628 | # Network device support | ||
629 | # | ||
630 | CONFIG_NETDEVICES=y | ||
631 | # CONFIG_DUMMY is not set | ||
632 | # CONFIG_BONDING is not set | ||
633 | # CONFIG_EQUALIZER is not set | ||
634 | # CONFIG_TUN is not set | ||
635 | |||
636 | # | ||
637 | # Ethernet (10 or 100Mbit) | ||
638 | # | ||
639 | # CONFIG_NET_ETHERNET is not set | ||
640 | # CONFIG_NETDEV_1000 is not set | ||
641 | # CONFIG_NETDEV_10000 is not set | ||
642 | |||
643 | # | ||
644 | # Wireless LAN | ||
645 | # | ||
646 | # CONFIG_WLAN_PRE80211 is not set | ||
647 | # CONFIG_WLAN_80211 is not set | ||
648 | # CONFIG_WAN is not set | ||
649 | # CONFIG_PPP is not set | ||
650 | # CONFIG_SLIP is not set | ||
651 | # CONFIG_SHAPER is not set | ||
652 | # CONFIG_NETCONSOLE is not set | ||
653 | # CONFIG_NETPOLL is not set | ||
654 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
655 | |||
656 | # | ||
657 | # ISDN subsystem | ||
658 | # | ||
659 | # CONFIG_ISDN is not set | ||
660 | |||
661 | # | ||
662 | # Telephony Support | ||
663 | # | ||
664 | # CONFIG_PHONE is not set | ||
665 | |||
666 | # | ||
667 | # Input device support | ||
668 | # | ||
669 | CONFIG_INPUT=y | ||
670 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
671 | # CONFIG_INPUT_POLLDEV is not set | ||
672 | |||
673 | # | ||
674 | # Userland interfaces | ||
675 | # | ||
676 | # CONFIG_INPUT_MOUSEDEV is not set | ||
677 | # CONFIG_INPUT_JOYDEV is not set | ||
678 | # CONFIG_INPUT_TSDEV is not set | ||
679 | CONFIG_INPUT_EVDEV=m | ||
680 | # CONFIG_INPUT_EVBUG is not set | ||
681 | |||
682 | # | ||
683 | # Input Device Drivers | ||
684 | # | ||
685 | # CONFIG_INPUT_KEYBOARD is not set | ||
686 | # CONFIG_INPUT_MOUSE is not set | ||
687 | # CONFIG_INPUT_JOYSTICK is not set | ||
688 | # CONFIG_INPUT_TABLET is not set | ||
689 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
690 | CONFIG_INPUT_MISC=y | ||
691 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
692 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
693 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
694 | # CONFIG_INPUT_POWERMATE is not set | ||
695 | # CONFIG_INPUT_YEALINK is not set | ||
696 | CONFIG_INPUT_UINPUT=y | ||
697 | # CONFIG_BF53X_PFBUTTONS is not set | ||
698 | # CONFIG_TWI_KEYPAD is not set | ||
699 | |||
700 | # | ||
701 | # Hardware I/O ports | ||
702 | # | ||
703 | # CONFIG_SERIO is not set | ||
704 | # CONFIG_GAMEPORT is not set | ||
705 | |||
706 | # | ||
707 | # Character devices | ||
708 | # | ||
709 | # CONFIG_AD9960 is not set | ||
710 | # CONFIG_SPI_ADC_BF533 is not set | ||
711 | CONFIG_BF5xx_PFLAGS=y | ||
712 | # CONFIG_BF5xx_PFLAGS_PROC is not set | ||
713 | # CONFIG_BF5xx_PPIFCD is not set | ||
714 | # CONFIG_BF5xx_TIMERS is not set | ||
715 | # CONFIG_BF5xx_PPI is not set | ||
716 | # CONFIG_BFIN_SPORT is not set | ||
717 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
718 | # CONFIG_TWI_LCD is not set | ||
719 | # CONFIG_AD5304 is not set | ||
720 | # CONFIG_BF5xx_TEA5764 is not set | ||
721 | # CONFIG_BF5xx_FBDMA is not set | ||
722 | # CONFIG_VT is not set | ||
723 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
724 | |||
725 | # | ||
726 | # Serial drivers | ||
727 | # | ||
728 | # CONFIG_SERIAL_8250 is not set | ||
729 | |||
730 | # | ||
731 | # Non-8250 serial port support | ||
732 | # | ||
733 | CONFIG_SERIAL_BFIN=y | ||
734 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
735 | CONFIG_SERIAL_BFIN_DMA=y | ||
736 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
737 | CONFIG_SERIAL_BFIN_UART0=y | ||
738 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
739 | # CONFIG_SERIAL_BFIN_UART1 is not set | ||
740 | CONFIG_SERIAL_CORE=y | ||
741 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
742 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
743 | CONFIG_UNIX98_PTYS=y | ||
744 | # CONFIG_LEGACY_PTYS is not set | ||
745 | |||
746 | # | ||
747 | # CAN, the car bus and industrial fieldbus | ||
748 | # | ||
749 | # CONFIG_CAN4LINUX is not set | ||
750 | |||
751 | # | ||
752 | # IPMI | ||
753 | # | ||
754 | # CONFIG_IPMI_HANDLER is not set | ||
755 | CONFIG_WATCHDOG=y | ||
756 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
757 | |||
758 | # | ||
759 | # Watchdog Device Drivers | ||
760 | # | ||
761 | # CONFIG_SOFT_WATCHDOG is not set | ||
762 | CONFIG_BFIN_WDT=y | ||
763 | CONFIG_HW_RANDOM=m | ||
764 | # CONFIG_GEN_RTC is not set | ||
765 | CONFIG_BLACKFIN_DPMC=y | ||
766 | # CONFIG_R3964 is not set | ||
767 | # CONFIG_RAW_DRIVER is not set | ||
768 | |||
769 | # | ||
770 | # TPM devices | ||
771 | # | ||
772 | # CONFIG_TCG_TPM is not set | ||
773 | CONFIG_I2C=y | ||
774 | CONFIG_I2C_BOARDINFO=y | ||
775 | CONFIG_I2C_CHARDEV=y | ||
776 | |||
777 | # | ||
778 | # I2C Algorithms | ||
779 | # | ||
780 | # CONFIG_I2C_ALGOBIT is not set | ||
781 | # CONFIG_I2C_ALGOPCF is not set | ||
782 | # CONFIG_I2C_ALGOPCA is not set | ||
783 | |||
784 | # | ||
785 | # I2C Hardware Bus support | ||
786 | # | ||
787 | # CONFIG_I2C_BLACKFIN_GPIO is not set | ||
788 | CONFIG_I2C_BLACKFIN_TWI=y | ||
789 | CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | ||
790 | # CONFIG_I2C_GPIO is not set | ||
791 | # CONFIG_I2C_OCORES is not set | ||
792 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
793 | # CONFIG_I2C_SIMTEC is not set | ||
794 | # CONFIG_I2C_STUB is not set | ||
795 | |||
796 | # | ||
797 | # Miscellaneous I2C Chip support | ||
798 | # | ||
799 | # CONFIG_SENSORS_DS1337 is not set | ||
800 | # CONFIG_SENSORS_DS1374 is not set | ||
801 | # CONFIG_SENSORS_AD5252 is not set | ||
802 | # CONFIG_SENSORS_EEPROM is not set | ||
803 | # CONFIG_SENSORS_PCF8574 is not set | ||
804 | # CONFIG_SENSORS_PCF8575 is not set | ||
805 | # CONFIG_SENSORS_PCA9543 is not set | ||
806 | # CONFIG_SENSORS_PCA9539 is not set | ||
807 | # CONFIG_SENSORS_PCF8591 is not set | ||
808 | # CONFIG_SENSORS_MAX6875 is not set | ||
809 | # CONFIG_I2C_DEBUG_CORE is not set | ||
810 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
811 | # CONFIG_I2C_DEBUG_BUS is not set | ||
812 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
813 | |||
814 | # | ||
815 | # SPI support | ||
816 | # | ||
817 | CONFIG_SPI=y | ||
818 | # CONFIG_SPI_DEBUG is not set | ||
819 | CONFIG_SPI_MASTER=y | ||
820 | |||
821 | # | ||
822 | # SPI Master Controller Drivers | ||
823 | # | ||
824 | CONFIG_SPI_BFIN=y | ||
825 | # CONFIG_SPI_BITBANG is not set | ||
826 | |||
827 | # | ||
828 | # SPI Protocol Masters | ||
829 | # | ||
830 | CONFIG_SPI_AT25=m | ||
831 | # CONFIG_SPI_SPIDEV is not set | ||
832 | |||
833 | # | ||
834 | # Dallas's 1-wire bus | ||
835 | # | ||
836 | # CONFIG_W1 is not set | ||
837 | CONFIG_HWMON=m | ||
838 | # CONFIG_HWMON_VID is not set | ||
839 | # CONFIG_SENSORS_ABITUGURU is not set | ||
840 | # CONFIG_SENSORS_AD7418 is not set | ||
841 | # CONFIG_SENSORS_ADM1021 is not set | ||
842 | # CONFIG_SENSORS_ADM1025 is not set | ||
843 | # CONFIG_SENSORS_ADM1026 is not set | ||
844 | # CONFIG_SENSORS_ADM1029 is not set | ||
845 | # CONFIG_SENSORS_ADM1031 is not set | ||
846 | # CONFIG_SENSORS_ADM9240 is not set | ||
847 | # CONFIG_SENSORS_ASB100 is not set | ||
848 | # CONFIG_SENSORS_ATXP1 is not set | ||
849 | # CONFIG_SENSORS_DS1621 is not set | ||
850 | # CONFIG_SENSORS_F71805F is not set | ||
851 | # CONFIG_SENSORS_FSCHER is not set | ||
852 | # CONFIG_SENSORS_FSCPOS is not set | ||
853 | # CONFIG_SENSORS_GL518SM is not set | ||
854 | # CONFIG_SENSORS_GL520SM is not set | ||
855 | # CONFIG_SENSORS_IT87 is not set | ||
856 | # CONFIG_SENSORS_LM63 is not set | ||
857 | # CONFIG_SENSORS_LM70 is not set | ||
858 | # CONFIG_SENSORS_LM75 is not set | ||
859 | # CONFIG_SENSORS_LM77 is not set | ||
860 | # CONFIG_SENSORS_LM78 is not set | ||
861 | # CONFIG_SENSORS_LM80 is not set | ||
862 | # CONFIG_SENSORS_LM83 is not set | ||
863 | # CONFIG_SENSORS_LM85 is not set | ||
864 | # CONFIG_SENSORS_LM87 is not set | ||
865 | # CONFIG_SENSORS_LM90 is not set | ||
866 | # CONFIG_SENSORS_LM92 is not set | ||
867 | # CONFIG_SENSORS_MAX1619 is not set | ||
868 | # CONFIG_SENSORS_MAX6650 is not set | ||
869 | # CONFIG_SENSORS_PC87360 is not set | ||
870 | # CONFIG_SENSORS_PC87427 is not set | ||
871 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
872 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
873 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
874 | # CONFIG_SENSORS_VT1211 is not set | ||
875 | # CONFIG_SENSORS_W83781D is not set | ||
876 | # CONFIG_SENSORS_W83791D is not set | ||
877 | # CONFIG_SENSORS_W83792D is not set | ||
878 | # CONFIG_SENSORS_W83793 is not set | ||
879 | # CONFIG_SENSORS_W83L785TS is not set | ||
880 | # CONFIG_SENSORS_W83627HF is not set | ||
881 | # CONFIG_SENSORS_W83627EHF is not set | ||
882 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
883 | |||
884 | # | ||
885 | # Multifunction device drivers | ||
886 | # | ||
887 | # CONFIG_MFD_SM501 is not set | ||
888 | |||
889 | # | ||
890 | # Multimedia devices | ||
891 | # | ||
892 | CONFIG_VIDEO_DEV=y | ||
893 | # CONFIG_VIDEO_V4L1 is not set | ||
894 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
895 | CONFIG_VIDEO_V4L2=y | ||
896 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
897 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
898 | # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set | ||
899 | |||
900 | # | ||
901 | # Encoders/decoders and other helper chips | ||
902 | # | ||
903 | |||
904 | # | ||
905 | # Audio decoders | ||
906 | # | ||
907 | # CONFIG_VIDEO_TDA9840 is not set | ||
908 | # CONFIG_VIDEO_TEA6415C is not set | ||
909 | # CONFIG_VIDEO_TEA6420 is not set | ||
910 | # CONFIG_VIDEO_MSP3400 is not set | ||
911 | # CONFIG_VIDEO_CS53L32A is not set | ||
912 | # CONFIG_VIDEO_TLV320AIC23B is not set | ||
913 | # CONFIG_VIDEO_WM8775 is not set | ||
914 | # CONFIG_VIDEO_WM8739 is not set | ||
915 | |||
916 | # | ||
917 | # Video decoders | ||
918 | # | ||
919 | # CONFIG_VIDEO_OV7670 is not set | ||
920 | # CONFIG_VIDEO_SAA711X is not set | ||
921 | # CONFIG_VIDEO_TVP5150 is not set | ||
922 | |||
923 | # | ||
924 | # Video and audio decoders | ||
925 | # | ||
926 | # CONFIG_VIDEO_CX25840 is not set | ||
927 | |||
928 | # | ||
929 | # MPEG video encoders | ||
930 | # | ||
931 | # CONFIG_VIDEO_CX2341X is not set | ||
932 | |||
933 | # | ||
934 | # Video encoders | ||
935 | # | ||
936 | # CONFIG_VIDEO_SAA7127 is not set | ||
937 | |||
938 | # | ||
939 | # Video improvement chips | ||
940 | # | ||
941 | # CONFIG_VIDEO_UPD64031A is not set | ||
942 | # CONFIG_VIDEO_UPD64083 is not set | ||
943 | # CONFIG_VIDEO_SAA5246A is not set | ||
944 | # CONFIG_VIDEO_SAA5249 is not set | ||
945 | # CONFIG_VIDEO_PPI_GENERIC is not set | ||
946 | CONFIG_VIDEO_BLACKFIN_CAM=m | ||
947 | # CONFIG_VIDEO_BLACKFIN_MT9M001 is not set | ||
948 | |||
949 | # | ||
950 | # CMOS Camera Sensor Selection | ||
951 | # | ||
952 | # CONFIG_MT9V022 is not set | ||
953 | # CONFIG_MT9M001 is not set | ||
954 | # CONFIG_VS6524 is not set | ||
955 | # CONFIG_VS6624 is not set | ||
956 | CONFIG_OV9655=y | ||
957 | # CONFIG_RADIO_ADAPTERS is not set | ||
958 | # CONFIG_DVB_CORE is not set | ||
959 | # CONFIG_DAB is not set | ||
960 | |||
961 | # | ||
962 | # Graphics support | ||
963 | # | ||
964 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
965 | |||
966 | # | ||
967 | # Display device support | ||
968 | # | ||
969 | # CONFIG_DISPLAY_SUPPORT is not set | ||
970 | # CONFIG_VGASTATE is not set | ||
971 | # CONFIG_FB is not set | ||
972 | |||
973 | # | ||
974 | # Sound | ||
975 | # | ||
976 | # CONFIG_SOUND is not set | ||
977 | |||
978 | # | ||
979 | # HID Devices | ||
980 | # | ||
981 | # CONFIG_HID is not set | ||
982 | |||
983 | # | ||
984 | # USB support | ||
985 | # | ||
986 | CONFIG_USB_ARCH_HAS_HCD=y | ||
987 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
988 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
989 | # CONFIG_USB is not set | ||
990 | |||
991 | # | ||
992 | # Enable Host or Gadget support to see Inventra options | ||
993 | # | ||
994 | |||
995 | # | ||
996 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
997 | # | ||
998 | |||
999 | # | ||
1000 | # USB Gadget Support | ||
1001 | # | ||
1002 | # CONFIG_USB_GADGET is not set | ||
1003 | # CONFIG_MMC is not set | ||
1004 | |||
1005 | # | ||
1006 | # LED devices | ||
1007 | # | ||
1008 | # CONFIG_NEW_LEDS is not set | ||
1009 | |||
1010 | # | ||
1011 | # LED drivers | ||
1012 | # | ||
1013 | |||
1014 | # | ||
1015 | # LED Triggers | ||
1016 | # | ||
1017 | |||
1018 | # | ||
1019 | # InfiniBand support | ||
1020 | # | ||
1021 | |||
1022 | # | ||
1023 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
1024 | # | ||
1025 | |||
1026 | # | ||
1027 | # Real Time Clock | ||
1028 | # | ||
1029 | # CONFIG_RTC_CLASS is not set | ||
1030 | |||
1031 | # | ||
1032 | # DMA Engine support | ||
1033 | # | ||
1034 | # CONFIG_DMA_ENGINE is not set | ||
1035 | |||
1036 | # | ||
1037 | # DMA Clients | ||
1038 | # | ||
1039 | |||
1040 | # | ||
1041 | # DMA Devices | ||
1042 | # | ||
1043 | |||
1044 | # | ||
1045 | # PBX support | ||
1046 | # | ||
1047 | # CONFIG_PBX is not set | ||
1048 | |||
1049 | # | ||
1050 | # File systems | ||
1051 | # | ||
1052 | CONFIG_EXT2_FS=y | ||
1053 | CONFIG_EXT2_FS_XATTR=y | ||
1054 | # CONFIG_EXT2_FS_POSIX_ACL is not set | ||
1055 | # CONFIG_EXT2_FS_SECURITY is not set | ||
1056 | # CONFIG_EXT3_FS is not set | ||
1057 | # CONFIG_EXT4DEV_FS is not set | ||
1058 | CONFIG_FS_MBCACHE=y | ||
1059 | # CONFIG_REISERFS_FS is not set | ||
1060 | # CONFIG_JFS_FS is not set | ||
1061 | # CONFIG_FS_POSIX_ACL is not set | ||
1062 | # CONFIG_XFS_FS is not set | ||
1063 | # CONFIG_GFS2_FS is not set | ||
1064 | # CONFIG_OCFS2_FS is not set | ||
1065 | # CONFIG_MINIX_FS is not set | ||
1066 | # CONFIG_ROMFS_FS is not set | ||
1067 | CONFIG_INOTIFY=y | ||
1068 | CONFIG_INOTIFY_USER=y | ||
1069 | # CONFIG_QUOTA is not set | ||
1070 | CONFIG_DNOTIFY=y | ||
1071 | # CONFIG_AUTOFS_FS is not set | ||
1072 | # CONFIG_AUTOFS4_FS is not set | ||
1073 | # CONFIG_FUSE_FS is not set | ||
1074 | |||
1075 | # | ||
1076 | # CD-ROM/DVD Filesystems | ||
1077 | # | ||
1078 | # CONFIG_ISO9660_FS is not set | ||
1079 | # CONFIG_UDF_FS is not set | ||
1080 | |||
1081 | # | ||
1082 | # DOS/FAT/NT Filesystems | ||
1083 | # | ||
1084 | # CONFIG_MSDOS_FS is not set | ||
1085 | # CONFIG_VFAT_FS is not set | ||
1086 | # CONFIG_NTFS_FS is not set | ||
1087 | |||
1088 | # | ||
1089 | # Pseudo filesystems | ||
1090 | # | ||
1091 | CONFIG_PROC_FS=y | ||
1092 | CONFIG_PROC_SYSCTL=y | ||
1093 | CONFIG_SYSFS=y | ||
1094 | # CONFIG_TMPFS is not set | ||
1095 | # CONFIG_HUGETLB_PAGE is not set | ||
1096 | CONFIG_RAMFS=y | ||
1097 | # CONFIG_CONFIGFS_FS is not set | ||
1098 | |||
1099 | # | ||
1100 | # Miscellaneous filesystems | ||
1101 | # | ||
1102 | # CONFIG_ADFS_FS is not set | ||
1103 | # CONFIG_AFFS_FS is not set | ||
1104 | # CONFIG_HFS_FS is not set | ||
1105 | # CONFIG_HFSPLUS_FS is not set | ||
1106 | # CONFIG_BEFS_FS is not set | ||
1107 | # CONFIG_BFS_FS is not set | ||
1108 | # CONFIG_EFS_FS is not set | ||
1109 | CONFIG_YAFFS_FS=m | ||
1110 | CONFIG_YAFFS_YAFFS1=y | ||
1111 | # CONFIG_YAFFS_DOES_ECC is not set | ||
1112 | CONFIG_YAFFS_YAFFS2=y | ||
1113 | CONFIG_YAFFS_AUTO_YAFFS2=y | ||
1114 | # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set | ||
1115 | CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10 | ||
1116 | # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set | ||
1117 | # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set | ||
1118 | CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | ||
1119 | CONFIG_JFFS2_FS=m | ||
1120 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1121 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1122 | # CONFIG_JFFS2_SUMMARY is not set | ||
1123 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1124 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1125 | CONFIG_JFFS2_ZLIB=y | ||
1126 | CONFIG_JFFS2_RTIME=y | ||
1127 | # CONFIG_JFFS2_RUBIN is not set | ||
1128 | # CONFIG_CRAMFS is not set | ||
1129 | # CONFIG_VXFS_FS is not set | ||
1130 | # CONFIG_HPFS_FS is not set | ||
1131 | # CONFIG_QNX4FS_FS is not set | ||
1132 | # CONFIG_SYSV_FS is not set | ||
1133 | # CONFIG_UFS_FS is not set | ||
1134 | |||
1135 | # | ||
1136 | # Network File Systems | ||
1137 | # | ||
1138 | CONFIG_NFS_FS=m | ||
1139 | CONFIG_NFS_V3=y | ||
1140 | # CONFIG_NFS_V3_ACL is not set | ||
1141 | # CONFIG_NFS_V4 is not set | ||
1142 | # CONFIG_NFS_DIRECTIO is not set | ||
1143 | # CONFIG_NFSD is not set | ||
1144 | CONFIG_LOCKD=m | ||
1145 | CONFIG_LOCKD_V4=y | ||
1146 | CONFIG_NFS_COMMON=y | ||
1147 | CONFIG_SUNRPC=m | ||
1148 | # CONFIG_SUNRPC_BIND34 is not set | ||
1149 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1150 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1151 | CONFIG_SMB_FS=m | ||
1152 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1153 | # CONFIG_CIFS is not set | ||
1154 | # CONFIG_NCP_FS is not set | ||
1155 | # CONFIG_CODA_FS is not set | ||
1156 | # CONFIG_AFS_FS is not set | ||
1157 | # CONFIG_9P_FS is not set | ||
1158 | |||
1159 | # | ||
1160 | # Partition Types | ||
1161 | # | ||
1162 | # CONFIG_PARTITION_ADVANCED is not set | ||
1163 | CONFIG_MSDOS_PARTITION=y | ||
1164 | |||
1165 | # | ||
1166 | # Native Language Support | ||
1167 | # | ||
1168 | CONFIG_NLS=m | ||
1169 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1170 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
1171 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1172 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1173 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1174 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1175 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1176 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1177 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1178 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1179 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1180 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1181 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1182 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1183 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1184 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1185 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1186 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1187 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1188 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1189 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1190 | # CONFIG_NLS_ISO8859_8 is not set | ||
1191 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1192 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1193 | # CONFIG_NLS_ASCII is not set | ||
1194 | # CONFIG_NLS_ISO8859_1 is not set | ||
1195 | # CONFIG_NLS_ISO8859_2 is not set | ||
1196 | # CONFIG_NLS_ISO8859_3 is not set | ||
1197 | # CONFIG_NLS_ISO8859_4 is not set | ||
1198 | # CONFIG_NLS_ISO8859_5 is not set | ||
1199 | # CONFIG_NLS_ISO8859_6 is not set | ||
1200 | # CONFIG_NLS_ISO8859_7 is not set | ||
1201 | # CONFIG_NLS_ISO8859_9 is not set | ||
1202 | # CONFIG_NLS_ISO8859_13 is not set | ||
1203 | # CONFIG_NLS_ISO8859_14 is not set | ||
1204 | # CONFIG_NLS_ISO8859_15 is not set | ||
1205 | # CONFIG_NLS_KOI8_R is not set | ||
1206 | # CONFIG_NLS_KOI8_U is not set | ||
1207 | # CONFIG_NLS_UTF8 is not set | ||
1208 | |||
1209 | # | ||
1210 | # Distributed Lock Manager | ||
1211 | # | ||
1212 | # CONFIG_DLM is not set | ||
1213 | |||
1214 | # | ||
1215 | # Profiling support | ||
1216 | # | ||
1217 | # CONFIG_PROFILING is not set | ||
1218 | |||
1219 | # | ||
1220 | # Kernel hacking | ||
1221 | # | ||
1222 | # CONFIG_PRINTK_TIME is not set | ||
1223 | CONFIG_ENABLE_MUST_CHECK=y | ||
1224 | # CONFIG_MAGIC_SYSRQ is not set | ||
1225 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1226 | # CONFIG_DEBUG_FS is not set | ||
1227 | # CONFIG_HEADERS_CHECK is not set | ||
1228 | CONFIG_DEBUG_KERNEL=y | ||
1229 | # CONFIG_DEBUG_SHIRQ is not set | ||
1230 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1231 | # CONFIG_SCHEDSTATS is not set | ||
1232 | # CONFIG_TIMER_STATS is not set | ||
1233 | # CONFIG_DEBUG_SLAB is not set | ||
1234 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1235 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1236 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1237 | # CONFIG_DEBUG_MUTEXES is not set | ||
1238 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1239 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1240 | # CONFIG_DEBUG_KOBJECT is not set | ||
1241 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1242 | CONFIG_DEBUG_INFO=y | ||
1243 | # CONFIG_DEBUG_VM is not set | ||
1244 | # CONFIG_DEBUG_LIST is not set | ||
1245 | # CONFIG_FRAME_POINTER is not set | ||
1246 | # CONFIG_FORCED_INLINING is not set | ||
1247 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1248 | # CONFIG_FAULT_INJECTION is not set | ||
1249 | # CONFIG_DEBUG_MMRS is not set | ||
1250 | # CONFIG_DEBUG_HWERR is not set | ||
1251 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1252 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1253 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
1254 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
1255 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1256 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
1257 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1258 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
1259 | # CONFIG_EARLY_PRINTK is not set | ||
1260 | CONFIG_CPLB_INFO=y | ||
1261 | CONFIG_ACCESS_CHECK=y | ||
1262 | |||
1263 | # | ||
1264 | # Security options | ||
1265 | # | ||
1266 | # CONFIG_KEYS is not set | ||
1267 | CONFIG_SECURITY=y | ||
1268 | # CONFIG_SECURITY_NETWORK is not set | ||
1269 | CONFIG_SECURITY_CAPABILITIES=y | ||
1270 | |||
1271 | # | ||
1272 | # Cryptographic options | ||
1273 | # | ||
1274 | # CONFIG_CRYPTO is not set | ||
1275 | |||
1276 | # | ||
1277 | # Library routines | ||
1278 | # | ||
1279 | CONFIG_BITREVERSE=y | ||
1280 | CONFIG_CRC_CCITT=m | ||
1281 | # CONFIG_CRC16 is not set | ||
1282 | # CONFIG_CRC_ITU_T is not set | ||
1283 | CONFIG_CRC32=y | ||
1284 | # CONFIG_LIBCRC32C is not set | ||
1285 | CONFIG_ZLIB_INFLATE=y | ||
1286 | CONFIG_ZLIB_DEFLATE=m | ||
1287 | CONFIG_PLIST=y | ||
1288 | CONFIG_HAS_IOMEM=y | ||
1289 | CONFIG_HAS_IOPORT=y | ||
1290 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/kernel/Makefile b/arch/blackfin/kernel/Makefile index 318b9b692a48..6140cd69c782 100644 --- a/arch/blackfin/kernel/Makefile +++ b/arch/blackfin/kernel/Makefile | |||
@@ -6,9 +6,15 @@ extra-y := init_task.o vmlinux.lds | |||
6 | 6 | ||
7 | obj-y := \ | 7 | obj-y := \ |
8 | entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \ | 8 | entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \ |
9 | sys_bfin.o time.o traps.o irqchip.o dma-mapping.o flat.o \ | 9 | sys_bfin.o traps.o irqchip.o dma-mapping.o flat.o \ |
10 | fixed_code.o reboot.o bfin_gpio.o | 10 | fixed_code.o reboot.o bfin_gpio.o |
11 | 11 | ||
12 | ifeq ($(CONFIG_GENERIC_CLOCKEVENTS),y) | ||
13 | obj-y += time-ts.o | ||
14 | else | ||
15 | obj-y += time.o | ||
16 | endif | ||
17 | |||
12 | obj-$(CONFIG_BFIN_GPTIMERS) += gptimers.o | 18 | obj-$(CONFIG_BFIN_GPTIMERS) += gptimers.o |
13 | obj-$(CONFIG_MODULES) += module.o | 19 | obj-$(CONFIG_MODULES) += module.o |
14 | obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o | 20 | obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index 8fd5d22cec34..fd5448d6107c 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -67,7 +67,7 @@ static int __init blackfin_dma_init(void) | |||
67 | 67 | ||
68 | for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) { | 68 | for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) { |
69 | dma_ch[i].chan_status = DMA_CHANNEL_FREE; | 69 | dma_ch[i].chan_status = DMA_CHANNEL_FREE; |
70 | dma_ch[i].regs = base_addr[i]; | 70 | dma_ch[i].regs = dma_io_base_addr[i]; |
71 | mutex_init(&(dma_ch[i].dmalock)); | 71 | mutex_init(&(dma_ch[i].dmalock)); |
72 | } | 72 | } |
73 | /* Mark MEMDMA Channel 0 as requested since we're using it internally */ | 73 | /* Mark MEMDMA Channel 0 as requested since we're using it internally */ |
@@ -106,12 +106,15 @@ int request_dma(unsigned int channel, char *device_id) | |||
106 | 106 | ||
107 | #ifdef CONFIG_BF54x | 107 | #ifdef CONFIG_BF54x |
108 | if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) { | 108 | if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) { |
109 | if (strncmp(device_id, "BFIN_UART", 9) == 0) | 109 | if (strncmp(device_id, "BFIN_UART", 9) == 0) { |
110 | dma_ch[channel].regs->peripheral_map &= 0x0FFF; | ||
110 | dma_ch[channel].regs->peripheral_map |= | 111 | dma_ch[channel].regs->peripheral_map |= |
111 | (channel - CH_UART2_RX + 0xC); | 112 | ((channel - CH_UART2_RX + 0xC)<<12); |
112 | else | 113 | } else { |
114 | dma_ch[channel].regs->peripheral_map &= 0x0FFF; | ||
113 | dma_ch[channel].regs->peripheral_map |= | 115 | dma_ch[channel].regs->peripheral_map |= |
114 | (channel - CH_UART2_RX + 0x6); | 116 | ((channel - CH_UART2_RX + 0x6)<<12); |
117 | } | ||
115 | } | 118 | } |
116 | #endif | 119 | #endif |
117 | 120 | ||
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index 08788f7bbfba..7e8eaf4a31bb 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -95,14 +95,14 @@ enum { | |||
95 | AWA_data_clear = SYSCR, | 95 | AWA_data_clear = SYSCR, |
96 | AWA_data_set = SYSCR, | 96 | AWA_data_set = SYSCR, |
97 | AWA_toggle = SYSCR, | 97 | AWA_toggle = SYSCR, |
98 | AWA_maska = UART_SCR, | 98 | AWA_maska = BFIN_UART_SCR, |
99 | AWA_maska_clear = UART_SCR, | 99 | AWA_maska_clear = BFIN_UART_SCR, |
100 | AWA_maska_set = UART_SCR, | 100 | AWA_maska_set = BFIN_UART_SCR, |
101 | AWA_maska_toggle = UART_SCR, | 101 | AWA_maska_toggle = BFIN_UART_SCR, |
102 | AWA_maskb = UART_GCTL, | 102 | AWA_maskb = BFIN_UART_GCTL, |
103 | AWA_maskb_clear = UART_GCTL, | 103 | AWA_maskb_clear = BFIN_UART_GCTL, |
104 | AWA_maskb_set = UART_GCTL, | 104 | AWA_maskb_set = BFIN_UART_GCTL, |
105 | AWA_maskb_toggle = UART_GCTL, | 105 | AWA_maskb_toggle = BFIN_UART_GCTL, |
106 | AWA_dir = SPORT1_STAT, | 106 | AWA_dir = SPORT1_STAT, |
107 | AWA_polar = SPORT1_STAT, | 107 | AWA_polar = SPORT1_STAT, |
108 | AWA_edge = SPORT1_STAT, | 108 | AWA_edge = SPORT1_STAT, |
@@ -348,11 +348,10 @@ static void portmux_setup(unsigned short per, unsigned short function) | |||
348 | offset = port_mux_lut[y].offset; | 348 | offset = port_mux_lut[y].offset; |
349 | muxreg = bfin_read_PORT_MUX(); | 349 | muxreg = bfin_read_PORT_MUX(); |
350 | 350 | ||
351 | if (offset != 1) { | 351 | if (offset != 1) |
352 | muxreg &= ~(1 << offset); | 352 | muxreg &= ~(1 << offset); |
353 | } else { | 353 | else |
354 | muxreg &= ~(3 << 1); | 354 | muxreg &= ~(3 << 1); |
355 | } | ||
356 | 355 | ||
357 | muxreg |= (function << offset); | 356 | muxreg |= (function << offset); |
358 | bfin_write_PORT_MUX(muxreg); | 357 | bfin_write_PORT_MUX(muxreg); |
@@ -396,39 +395,11 @@ inline void portmux_setup(unsigned short portno, unsigned short function) | |||
396 | # define portmux_setup(...) do { } while (0) | 395 | # define portmux_setup(...) do { } while (0) |
397 | #endif | 396 | #endif |
398 | 397 | ||
399 | #ifndef BF548_FAMILY | ||
400 | static void default_gpio(unsigned gpio) | ||
401 | { | ||
402 | unsigned short bank, bitmask; | ||
403 | unsigned long flags; | ||
404 | |||
405 | bank = gpio_bank(gpio); | ||
406 | bitmask = gpio_bit(gpio); | ||
407 | |||
408 | local_irq_save(flags); | ||
409 | |||
410 | gpio_bankb[bank]->maska_clear = bitmask; | ||
411 | gpio_bankb[bank]->maskb_clear = bitmask; | ||
412 | SSYNC(); | ||
413 | gpio_bankb[bank]->inen &= ~bitmask; | ||
414 | gpio_bankb[bank]->dir &= ~bitmask; | ||
415 | gpio_bankb[bank]->polar &= ~bitmask; | ||
416 | gpio_bankb[bank]->both &= ~bitmask; | ||
417 | gpio_bankb[bank]->edge &= ~bitmask; | ||
418 | AWA_DUMMY_READ(edge); | ||
419 | local_irq_restore(flags); | ||
420 | } | ||
421 | #else | ||
422 | # define default_gpio(...) do { } while (0) | ||
423 | #endif | ||
424 | |||
425 | static int __init bfin_gpio_init(void) | 398 | static int __init bfin_gpio_init(void) |
426 | { | 399 | { |
427 | |||
428 | printk(KERN_INFO "Blackfin GPIO Controller\n"); | 400 | printk(KERN_INFO "Blackfin GPIO Controller\n"); |
429 | 401 | ||
430 | return 0; | 402 | return 0; |
431 | |||
432 | } | 403 | } |
433 | arch_initcall(bfin_gpio_init); | 404 | arch_initcall(bfin_gpio_init); |
434 | 405 | ||
@@ -821,10 +792,10 @@ int peripheral_request(unsigned short per, const char *label) | |||
821 | local_irq_save(flags); | 792 | local_irq_save(flags); |
822 | 793 | ||
823 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { | 794 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { |
795 | dump_stack(); | ||
824 | printk(KERN_ERR | 796 | printk(KERN_ERR |
825 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", | 797 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", |
826 | __FUNCTION__, ident, get_label(ident)); | 798 | __func__, ident, get_label(ident)); |
827 | dump_stack(); | ||
828 | local_irq_restore(flags); | 799 | local_irq_restore(flags); |
829 | return -EBUSY; | 800 | return -EBUSY; |
830 | } | 801 | } |
@@ -833,31 +804,31 @@ int peripheral_request(unsigned short per, const char *label) | |||
833 | 804 | ||
834 | u16 funct = get_portmux(ident); | 805 | u16 funct = get_portmux(ident); |
835 | 806 | ||
836 | /* | 807 | /* |
837 | * Pin functions like AMC address strobes my | 808 | * Pin functions like AMC address strobes my |
838 | * be requested and used by several drivers | 809 | * be requested and used by several drivers |
839 | */ | 810 | */ |
840 | 811 | ||
841 | if (!((per & P_MAYSHARE) && (funct == P_FUNCT2MUX(per)))) { | 812 | if (!((per & P_MAYSHARE) && (funct == P_FUNCT2MUX(per)))) { |
842 | 813 | ||
843 | /* | 814 | /* |
844 | * Allow that the identical pin function can | 815 | * Allow that the identical pin function can |
845 | * be requested from the same driver twice | 816 | * be requested from the same driver twice |
846 | */ | 817 | */ |
847 | 818 | ||
848 | if (cmp_label(ident, label) == 0) | 819 | if (cmp_label(ident, label) == 0) |
849 | goto anyway; | 820 | goto anyway; |
850 | 821 | ||
822 | dump_stack(); | ||
851 | printk(KERN_ERR | 823 | printk(KERN_ERR |
852 | "%s: Peripheral %d function %d is already reserved by %s !\n", | 824 | "%s: Peripheral %d function %d is already reserved by %s !\n", |
853 | __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident)); | 825 | __func__, ident, P_FUNCT2MUX(per), get_label(ident)); |
854 | dump_stack(); | ||
855 | local_irq_restore(flags); | 826 | local_irq_restore(flags); |
856 | return -EBUSY; | 827 | return -EBUSY; |
857 | } | 828 | } |
858 | } | 829 | } |
859 | 830 | ||
860 | anyway: | 831 | anyway: |
861 | reserved_peri_map[gpio_bank(ident)] |= gpio_bit(ident); | 832 | reserved_peri_map[gpio_bank(ident)] |= gpio_bit(ident); |
862 | 833 | ||
863 | portmux_setup(ident, P_FUNCT2MUX(per)); | 834 | portmux_setup(ident, P_FUNCT2MUX(per)); |
@@ -890,47 +861,47 @@ int peripheral_request(unsigned short per, const char *label) | |||
890 | 861 | ||
891 | if (!check_gpio(ident)) { | 862 | if (!check_gpio(ident)) { |
892 | 863 | ||
893 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { | 864 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { |
894 | printk(KERN_ERR | 865 | dump_stack(); |
895 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", | 866 | printk(KERN_ERR |
896 | __FUNCTION__, ident, get_label(ident)); | 867 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", |
897 | dump_stack(); | 868 | __func__, ident, get_label(ident)); |
898 | local_irq_restore(flags); | 869 | local_irq_restore(flags); |
899 | return -EBUSY; | 870 | return -EBUSY; |
900 | } | 871 | } |
901 | 872 | ||
902 | } | 873 | } |
903 | 874 | ||
904 | if (unlikely(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident))) { | 875 | if (unlikely(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident))) { |
905 | 876 | ||
906 | /* | 877 | /* |
907 | * Pin functions like AMC address strobes my | 878 | * Pin functions like AMC address strobes my |
908 | * be requested and used by several drivers | 879 | * be requested and used by several drivers |
909 | */ | 880 | */ |
910 | 881 | ||
911 | if (!(per & P_MAYSHARE)) { | 882 | if (!(per & P_MAYSHARE)) { |
912 | 883 | ||
913 | /* | 884 | /* |
914 | * Allow that the identical pin function can | 885 | * Allow that the identical pin function can |
915 | * be requested from the same driver twice | 886 | * be requested from the same driver twice |
916 | */ | 887 | */ |
917 | 888 | ||
918 | if (cmp_label(ident, label) == 0) | 889 | if (cmp_label(ident, label) == 0) |
919 | goto anyway; | 890 | goto anyway; |
920 | 891 | ||
892 | dump_stack(); | ||
921 | printk(KERN_ERR | 893 | printk(KERN_ERR |
922 | "%s: Peripheral %d function %d is already" | 894 | "%s: Peripheral %d function %d is already" |
923 | " reserved by %s !\n", | 895 | " reserved by %s !\n", |
924 | __FUNCTION__, ident, P_FUNCT2MUX(per), | 896 | __func__, ident, P_FUNCT2MUX(per), |
925 | get_label(ident)); | 897 | get_label(ident)); |
926 | dump_stack(); | ||
927 | local_irq_restore(flags); | 898 | local_irq_restore(flags); |
928 | return -EBUSY; | 899 | return -EBUSY; |
929 | } | 900 | } |
930 | 901 | ||
931 | } | 902 | } |
932 | 903 | ||
933 | anyway: | 904 | anyway: |
934 | portmux_setup(per, P_FUNCT2MUX(per)); | 905 | portmux_setup(per, P_FUNCT2MUX(per)); |
935 | 906 | ||
936 | port_setup(ident, PERIPHERAL_USAGE); | 907 | port_setup(ident, PERIPHERAL_USAGE); |
@@ -944,7 +915,7 @@ anyway: | |||
944 | EXPORT_SYMBOL(peripheral_request); | 915 | EXPORT_SYMBOL(peripheral_request); |
945 | #endif | 916 | #endif |
946 | 917 | ||
947 | int peripheral_request_list(unsigned short per[], const char *label) | 918 | int peripheral_request_list(const unsigned short per[], const char *label) |
948 | { | 919 | { |
949 | u16 cnt; | 920 | u16 cnt; |
950 | int ret; | 921 | int ret; |
@@ -954,10 +925,10 @@ int peripheral_request_list(unsigned short per[], const char *label) | |||
954 | ret = peripheral_request(per[cnt], label); | 925 | ret = peripheral_request(per[cnt], label); |
955 | 926 | ||
956 | if (ret < 0) { | 927 | if (ret < 0) { |
957 | for ( ; cnt > 0; cnt--) { | 928 | for ( ; cnt > 0; cnt--) |
958 | peripheral_free(per[cnt - 1]); | 929 | peripheral_free(per[cnt - 1]); |
959 | } | 930 | |
960 | return ret; | 931 | return ret; |
961 | } | 932 | } |
962 | } | 933 | } |
963 | 934 | ||
@@ -981,15 +952,13 @@ void peripheral_free(unsigned short per) | |||
981 | 952 | ||
982 | local_irq_save(flags); | 953 | local_irq_save(flags); |
983 | 954 | ||
984 | if (unlikely(!(reserved_peri_map[gpio_bank(ident)] | 955 | if (unlikely(!(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident)))) { |
985 | & gpio_bit(ident)))) { | ||
986 | local_irq_restore(flags); | 956 | local_irq_restore(flags); |
987 | return; | 957 | return; |
988 | } | 958 | } |
989 | 959 | ||
990 | if (!(per & P_MAYSHARE)) { | 960 | if (!(per & P_MAYSHARE)) |
991 | port_setup(ident, GPIO_USAGE); | 961 | port_setup(ident, GPIO_USAGE); |
992 | } | ||
993 | 962 | ||
994 | reserved_peri_map[gpio_bank(ident)] &= ~gpio_bit(ident); | 963 | reserved_peri_map[gpio_bank(ident)] &= ~gpio_bit(ident); |
995 | 964 | ||
@@ -999,14 +968,11 @@ void peripheral_free(unsigned short per) | |||
999 | } | 968 | } |
1000 | EXPORT_SYMBOL(peripheral_free); | 969 | EXPORT_SYMBOL(peripheral_free); |
1001 | 970 | ||
1002 | void peripheral_free_list(unsigned short per[]) | 971 | void peripheral_free_list(const unsigned short per[]) |
1003 | { | 972 | { |
1004 | u16 cnt; | 973 | u16 cnt; |
1005 | 974 | for (cnt = 0; per[cnt] != 0; cnt++) | |
1006 | for (cnt = 0; per[cnt] != 0; cnt++) { | ||
1007 | peripheral_free(per[cnt]); | 975 | peripheral_free(per[cnt]); |
1008 | } | ||
1009 | |||
1010 | } | 976 | } |
1011 | EXPORT_SYMBOL(peripheral_free_list); | 977 | EXPORT_SYMBOL(peripheral_free_list); |
1012 | 978 | ||
@@ -1046,17 +1012,17 @@ int gpio_request(unsigned gpio, const char *label) | |||
1046 | } | 1012 | } |
1047 | 1013 | ||
1048 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1014 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
1015 | dump_stack(); | ||
1049 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", | 1016 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", |
1050 | gpio, get_label(gpio)); | 1017 | gpio, get_label(gpio)); |
1051 | dump_stack(); | ||
1052 | local_irq_restore(flags); | 1018 | local_irq_restore(flags); |
1053 | return -EBUSY; | 1019 | return -EBUSY; |
1054 | } | 1020 | } |
1055 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1021 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
1022 | dump_stack(); | ||
1056 | printk(KERN_ERR | 1023 | printk(KERN_ERR |
1057 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", | 1024 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", |
1058 | gpio, get_label(gpio)); | 1025 | gpio, get_label(gpio)); |
1059 | dump_stack(); | ||
1060 | local_irq_restore(flags); | 1026 | local_irq_restore(flags); |
1061 | return -EBUSY; | 1027 | return -EBUSY; |
1062 | } | 1028 | } |
@@ -1082,14 +1048,12 @@ void gpio_free(unsigned gpio) | |||
1082 | local_irq_save(flags); | 1048 | local_irq_save(flags); |
1083 | 1049 | ||
1084 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { | 1050 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { |
1085 | gpio_error(gpio); | ||
1086 | dump_stack(); | 1051 | dump_stack(); |
1052 | gpio_error(gpio); | ||
1087 | local_irq_restore(flags); | 1053 | local_irq_restore(flags); |
1088 | return; | 1054 | return; |
1089 | } | 1055 | } |
1090 | 1056 | ||
1091 | default_gpio(gpio); | ||
1092 | |||
1093 | reserved_gpio_map[gpio_bank(gpio)] &= ~gpio_bit(gpio); | 1057 | reserved_gpio_map[gpio_bank(gpio)] &= ~gpio_bit(gpio); |
1094 | 1058 | ||
1095 | set_label(gpio, "free"); | 1059 | set_label(gpio, "free"); |
@@ -1152,6 +1116,18 @@ int gpio_get_value(unsigned gpio) | |||
1152 | } | 1116 | } |
1153 | EXPORT_SYMBOL(gpio_get_value); | 1117 | EXPORT_SYMBOL(gpio_get_value); |
1154 | 1118 | ||
1119 | void bfin_gpio_irq_prepare(unsigned gpio) | ||
1120 | { | ||
1121 | unsigned long flags; | ||
1122 | |||
1123 | port_setup(gpio, GPIO_USAGE); | ||
1124 | |||
1125 | local_irq_save(flags); | ||
1126 | gpio_array[gpio_bank(gpio)]->port_dir_clear = gpio_bit(gpio); | ||
1127 | gpio_array[gpio_bank(gpio)]->port_inen |= gpio_bit(gpio); | ||
1128 | local_irq_restore(flags); | ||
1129 | } | ||
1130 | |||
1155 | #else | 1131 | #else |
1156 | 1132 | ||
1157 | int gpio_direction_input(unsigned gpio) | 1133 | int gpio_direction_input(unsigned gpio) |
@@ -1218,6 +1194,11 @@ void bfin_gpio_reset_spi0_ssel1(void) | |||
1218 | udelay(1); | 1194 | udelay(1); |
1219 | } | 1195 | } |
1220 | 1196 | ||
1197 | void bfin_gpio_irq_prepare(unsigned gpio) | ||
1198 | { | ||
1199 | port_setup(gpio, GPIO_USAGE); | ||
1200 | } | ||
1201 | |||
1221 | #endif /*BF548_FAMILY */ | 1202 | #endif /*BF548_FAMILY */ |
1222 | 1203 | ||
1223 | #if defined(CONFIG_PROC_FS) | 1204 | #if defined(CONFIG_PROC_FS) |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinfo.c b/arch/blackfin/kernel/cplb-mpu/cplbinfo.c index bd072299f7f2..822beefa3a4b 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbinfo.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbinfo.c | |||
@@ -39,14 +39,6 @@ | |||
39 | #include <asm/cplbinit.h> | 39 | #include <asm/cplbinit.h> |
40 | #include <asm/blackfin.h> | 40 | #include <asm/blackfin.h> |
41 | 41 | ||
42 | #define CPLB_I 1 | ||
43 | #define CPLB_D 2 | ||
44 | |||
45 | #define SYNC_SYS SSYNC() | ||
46 | #define SYNC_CORE CSYNC() | ||
47 | |||
48 | #define CPLB_BIT_PAGESIZE 0x30000 | ||
49 | |||
50 | static char page_size_string_table[][4] = { "1K", "4K", "1M", "4M" }; | 42 | static char page_size_string_table[][4] = { "1K", "4K", "1M", "4M" }; |
51 | 43 | ||
52 | static char *cplb_print_entry(char *buf, struct cplb_entry *tbl, int switched) | 44 | static char *cplb_print_entry(char *buf, struct cplb_entry *tbl, int switched) |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinit.c b/arch/blackfin/kernel/cplb-mpu/cplbinit.c index dc6e8a7a8bda..48060105346a 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbinit.c | |||
@@ -43,13 +43,15 @@ void __init generate_cpl_tables(void) | |||
43 | unsigned long d_data, i_data; | 43 | unsigned long d_data, i_data; |
44 | unsigned long d_cache = 0, i_cache = 0; | 44 | unsigned long d_cache = 0, i_cache = 0; |
45 | 45 | ||
46 | printk(KERN_INFO "MPU: setting up cplb tables with memory protection\n"); | ||
47 | |||
46 | #ifdef CONFIG_BFIN_ICACHE | 48 | #ifdef CONFIG_BFIN_ICACHE |
47 | i_cache = CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; | 49 | i_cache = CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; |
48 | #endif | 50 | #endif |
49 | 51 | ||
50 | #ifdef CONFIG_BFIN_DCACHE | 52 | #ifdef CONFIG_BFIN_DCACHE |
51 | d_cache = CPLB_L1_CHBL; | 53 | d_cache = CPLB_L1_CHBL; |
52 | #ifdef CONFIG_BLKFIN_WT | 54 | #ifdef CONFIG_BFIN_WT |
53 | d_cache |= CPLB_L1_AOW | CPLB_WT; | 55 | d_cache |= CPLB_L1_AOW | CPLB_WT; |
54 | #endif | 56 | #endif |
55 | #endif | 57 | #endif |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c index c426a22f9907..99f2831e2964 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c | |||
@@ -24,8 +24,6 @@ | |||
24 | #include <asm/cplbinit.h> | 24 | #include <asm/cplbinit.h> |
25 | #include <asm/mmu_context.h> | 25 | #include <asm/mmu_context.h> |
26 | 26 | ||
27 | #ifdef CONFIG_BFIN_ICACHE | ||
28 | |||
29 | #define FAULT_RW (1 << 16) | 27 | #define FAULT_RW (1 << 16) |
30 | #define FAULT_USERSUPV (1 << 17) | 28 | #define FAULT_USERSUPV (1 << 17) |
31 | 29 | ||
@@ -143,30 +141,48 @@ static noinline int dcplb_miss(void) | |||
143 | unsigned long d_data; | 141 | unsigned long d_data; |
144 | 142 | ||
145 | nr_dcplb_miss++; | 143 | nr_dcplb_miss++; |
146 | if (addr >= _ramend) | ||
147 | return CPLB_PROT_VIOL; | ||
148 | 144 | ||
149 | d_data = CPLB_SUPV_WR | CPLB_VALID | CPLB_DIRTY | PAGE_SIZE_4KB; | 145 | d_data = CPLB_SUPV_WR | CPLB_VALID | CPLB_DIRTY | PAGE_SIZE_4KB; |
150 | #ifdef CONFIG_BFIN_DCACHE | 146 | #ifdef CONFIG_BFIN_DCACHE |
151 | d_data |= CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; | 147 | if (addr < _ramend - DMA_UNCACHED_REGION || |
152 | #ifdef CONFIG_BLKFIN_WT | 148 | (reserved_mem_dcache_on && addr >= _ramend && |
153 | d_data |= CPLB_L1_AOW | CPLB_WT; | 149 | addr < physical_mem_end)) { |
154 | #endif | 150 | d_data |= CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; |
151 | #ifdef CONFIG_BFIN_WT | ||
152 | d_data |= CPLB_L1_AOW | CPLB_WT; | ||
155 | #endif | 153 | #endif |
156 | mask = current_rwx_mask; | ||
157 | if (mask) { | ||
158 | int page = addr >> PAGE_SHIFT; | ||
159 | int offs = page >> 5; | ||
160 | int bit = 1 << (page & 31); | ||
161 | |||
162 | if (mask[offs] & bit) | ||
163 | d_data |= CPLB_USER_RD; | ||
164 | |||
165 | mask += page_mask_nelts; | ||
166 | if (mask[offs] & bit) | ||
167 | d_data |= CPLB_USER_WR; | ||
168 | } | 154 | } |
155 | #endif | ||
156 | if (addr >= physical_mem_end) { | ||
157 | if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE | ||
158 | && (status & FAULT_USERSUPV)) { | ||
159 | addr &= ~0x3fffff; | ||
160 | d_data &= ~PAGE_SIZE_4KB; | ||
161 | d_data |= PAGE_SIZE_4MB; | ||
162 | } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH | ||
163 | && (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) { | ||
164 | addr &= ~(1 * 1024 * 1024 - 1); | ||
165 | d_data &= ~PAGE_SIZE_4KB; | ||
166 | d_data |= PAGE_SIZE_1MB; | ||
167 | } else | ||
168 | return CPLB_PROT_VIOL; | ||
169 | } else if (addr >= _ramend) { | ||
170 | d_data |= CPLB_USER_RD | CPLB_USER_WR; | ||
171 | } else { | ||
172 | mask = current_rwx_mask; | ||
173 | if (mask) { | ||
174 | int page = addr >> PAGE_SHIFT; | ||
175 | int offs = page >> 5; | ||
176 | int bit = 1 << (page & 31); | ||
177 | |||
178 | if (mask[offs] & bit) | ||
179 | d_data |= CPLB_USER_RD; | ||
169 | 180 | ||
181 | mask += page_mask_nelts; | ||
182 | if (mask[offs] & bit) | ||
183 | d_data |= CPLB_USER_WR; | ||
184 | } | ||
185 | } | ||
170 | idx = evict_one_dcplb(); | 186 | idx = evict_one_dcplb(); |
171 | 187 | ||
172 | addr &= PAGE_MASK; | 188 | addr &= PAGE_MASK; |
@@ -189,12 +205,14 @@ static noinline int icplb_miss(void) | |||
189 | unsigned long i_data; | 205 | unsigned long i_data; |
190 | 206 | ||
191 | nr_icplb_miss++; | 207 | nr_icplb_miss++; |
192 | if (status & FAULT_USERSUPV) | ||
193 | nr_icplb_supv_miss++; | ||
194 | 208 | ||
195 | if (addr >= _ramend) | 209 | /* If inside the uncached DMA region, fault. */ |
210 | if (addr >= _ramend - DMA_UNCACHED_REGION && addr < _ramend) | ||
196 | return CPLB_PROT_VIOL; | 211 | return CPLB_PROT_VIOL; |
197 | 212 | ||
213 | if (status & FAULT_USERSUPV) | ||
214 | nr_icplb_supv_miss++; | ||
215 | |||
198 | /* | 216 | /* |
199 | * First, try to find a CPLB that matches this address. If we | 217 | * First, try to find a CPLB that matches this address. If we |
200 | * find one, then the fact that we're in the miss handler means | 218 | * find one, then the fact that we're in the miss handler means |
@@ -211,30 +229,48 @@ static noinline int icplb_miss(void) | |||
211 | } | 229 | } |
212 | 230 | ||
213 | i_data = CPLB_VALID | CPLB_PORTPRIO | PAGE_SIZE_4KB; | 231 | i_data = CPLB_VALID | CPLB_PORTPRIO | PAGE_SIZE_4KB; |
214 | #ifdef CONFIG_BFIN_ICACHE | ||
215 | i_data |= CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; | ||
216 | #endif | ||
217 | 232 | ||
233 | #ifdef CONFIG_BFIN_ICACHE | ||
218 | /* | 234 | /* |
219 | * Two cases to distinguish - a supervisor access must necessarily | 235 | * Normal RAM, and possibly the reserved memory area, are |
220 | * be for a module page; we grant it unconditionally (could do better | 236 | * cacheable. |
221 | * here in the future). Otherwise, check the x bitmap of the current | ||
222 | * process. | ||
223 | */ | 237 | */ |
224 | if (!(status & FAULT_USERSUPV)) { | 238 | if (addr < _ramend || |
225 | unsigned long *mask = current_rwx_mask; | 239 | (addr < physical_mem_end && reserved_mem_icache_on)) |
226 | 240 | i_data |= CPLB_L1_CHBL | ANOMALY_05000158_WORKAROUND; | |
227 | if (mask) { | 241 | #endif |
228 | int page = addr >> PAGE_SHIFT; | ||
229 | int offs = page >> 5; | ||
230 | int bit = 1 << (page & 31); | ||
231 | 242 | ||
232 | mask += 2 * page_mask_nelts; | 243 | if (addr >= physical_mem_end) { |
233 | if (mask[offs] & bit) | 244 | if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH |
234 | i_data |= CPLB_USER_RD; | 245 | && (status & FAULT_USERSUPV)) { |
246 | addr &= ~(1 * 1024 * 1024 - 1); | ||
247 | i_data &= ~PAGE_SIZE_4KB; | ||
248 | i_data |= PAGE_SIZE_1MB; | ||
249 | } else | ||
250 | return CPLB_PROT_VIOL; | ||
251 | } else if (addr >= _ramend) { | ||
252 | i_data |= CPLB_USER_RD; | ||
253 | } else { | ||
254 | /* | ||
255 | * Two cases to distinguish - a supervisor access must | ||
256 | * necessarily be for a module page; we grant it | ||
257 | * unconditionally (could do better here in the future). | ||
258 | * Otherwise, check the x bitmap of the current process. | ||
259 | */ | ||
260 | if (!(status & FAULT_USERSUPV)) { | ||
261 | unsigned long *mask = current_rwx_mask; | ||
262 | |||
263 | if (mask) { | ||
264 | int page = addr >> PAGE_SHIFT; | ||
265 | int offs = page >> 5; | ||
266 | int bit = 1 << (page & 31); | ||
267 | |||
268 | mask += 2 * page_mask_nelts; | ||
269 | if (mask[offs] & bit) | ||
270 | i_data |= CPLB_USER_RD; | ||
271 | } | ||
235 | } | 272 | } |
236 | } | 273 | } |
237 | |||
238 | idx = evict_one_icplb(); | 274 | idx = evict_one_icplb(); |
239 | addr &= PAGE_MASK; | 275 | addr &= PAGE_MASK; |
240 | icplb_tbl[idx].addr = addr; | 276 | icplb_tbl[idx].addr = addr; |
@@ -250,7 +286,6 @@ static noinline int icplb_miss(void) | |||
250 | 286 | ||
251 | static noinline int dcplb_protection_fault(void) | 287 | static noinline int dcplb_protection_fault(void) |
252 | { | 288 | { |
253 | unsigned long addr = bfin_read_DCPLB_FAULT_ADDR(); | ||
254 | int status = bfin_read_DCPLB_STATUS(); | 289 | int status = bfin_read_DCPLB_STATUS(); |
255 | 290 | ||
256 | nr_dcplb_prot++; | 291 | nr_dcplb_prot++; |
@@ -280,8 +315,7 @@ int cplb_hdr(int seqstat, struct pt_regs *regs) | |||
280 | case 0x26: | 315 | case 0x26: |
281 | return dcplb_miss(); | 316 | return dcplb_miss(); |
282 | default: | 317 | default: |
283 | return 1; | 318 | return 1; |
284 | panic_cplb_error(seqstat, regs); | ||
285 | } | 319 | } |
286 | } | 320 | } |
287 | 321 | ||
@@ -299,7 +333,7 @@ void flush_switched_cplbs(void) | |||
299 | enable_icplb(); | 333 | enable_icplb(); |
300 | 334 | ||
301 | disable_dcplb(); | 335 | disable_dcplb(); |
302 | for (i = first_mask_dcplb; i < MAX_CPLBS; i++) { | 336 | for (i = first_switched_dcplb; i < MAX_CPLBS; i++) { |
303 | dcplb_tbl[i].data = 0; | 337 | dcplb_tbl[i].data = 0; |
304 | bfin_write32(DCPLB_DATA0 + i * 4, 0); | 338 | bfin_write32(DCPLB_DATA0 + i * 4, 0); |
305 | } | 339 | } |
@@ -319,7 +353,7 @@ void set_mask_dcplbs(unsigned long *masks) | |||
319 | d_data = CPLB_SUPV_WR | CPLB_VALID | CPLB_DIRTY | PAGE_SIZE_4KB; | 353 | d_data = CPLB_SUPV_WR | CPLB_VALID | CPLB_DIRTY | PAGE_SIZE_4KB; |
320 | #ifdef CONFIG_BFIN_DCACHE | 354 | #ifdef CONFIG_BFIN_DCACHE |
321 | d_data |= CPLB_L1_CHBL; | 355 | d_data |= CPLB_L1_CHBL; |
322 | #ifdef CONFIG_BLKFIN_WT | 356 | #ifdef CONFIG_BFIN_WT |
323 | d_data |= CPLB_L1_AOW | CPLB_WT; | 357 | d_data |= CPLB_L1_AOW | CPLB_WT; |
324 | #endif | 358 | #endif |
325 | #endif | 359 | #endif |
@@ -334,5 +368,3 @@ void set_mask_dcplbs(unsigned long *masks) | |||
334 | } | 368 | } |
335 | enable_dcplb(); | 369 | enable_dcplb(); |
336 | } | 370 | } |
337 | |||
338 | #endif | ||
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinfo.c b/arch/blackfin/kernel/cplb-nompu/cplbinfo.c index a4f0b428a34d..1e74f0b97996 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinfo.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinfo.c | |||
@@ -33,9 +33,7 @@ | |||
33 | #include <linux/proc_fs.h> | 33 | #include <linux/proc_fs.h> |
34 | #include <linux/uaccess.h> | 34 | #include <linux/uaccess.h> |
35 | 35 | ||
36 | #include <asm/current.h> | 36 | #include <asm/cplbinit.h> |
37 | #include <asm/system.h> | ||
38 | #include <asm/cplb.h> | ||
39 | #include <asm/blackfin.h> | 37 | #include <asm/blackfin.h> |
40 | 38 | ||
41 | #define CPLB_I 1 | 39 | #define CPLB_I 1 |
@@ -174,16 +172,6 @@ static int cplbinfo_read_proc(char *page, char **start, off_t off, | |||
174 | return len; | 172 | return len; |
175 | } | 173 | } |
176 | 174 | ||
177 | static int cplbinfo_write_proc(struct file *file, const char __user *buffer, | ||
178 | unsigned long count, void *data) | ||
179 | { | ||
180 | printk(KERN_INFO "Reset the CPLB swap in/out counts.\n"); | ||
181 | memset(ipdt_swapcount_table, 0, MAX_SWITCH_I_CPLBS * sizeof(unsigned long)); | ||
182 | memset(dpdt_swapcount_table, 0, MAX_SWITCH_D_CPLBS * sizeof(unsigned long)); | ||
183 | |||
184 | return count; | ||
185 | } | ||
186 | |||
187 | static int __init cplbinfo_init(void) | 175 | static int __init cplbinfo_init(void) |
188 | { | 176 | { |
189 | struct proc_dir_entry *entry; | 177 | struct proc_dir_entry *entry; |
@@ -193,7 +181,6 @@ static int __init cplbinfo_init(void) | |||
193 | return -ENOMEM; | 181 | return -ENOMEM; |
194 | 182 | ||
195 | entry->read_proc = cplbinfo_read_proc; | 183 | entry->read_proc = cplbinfo_read_proc; |
196 | entry->write_proc = cplbinfo_write_proc; | ||
197 | entry->data = NULL; | 184 | entry->data = NULL; |
198 | 185 | ||
199 | return 0; | 186 | return 0; |
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 6320bc45fbba..917325bfbd84 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -26,6 +26,35 @@ | |||
26 | #include <asm/cplb.h> | 26 | #include <asm/cplb.h> |
27 | #include <asm/cplbinit.h> | 27 | #include <asm/cplbinit.h> |
28 | 28 | ||
29 | #ifdef CONFIG_MAX_MEM_SIZE | ||
30 | # define CPLB_MEM CONFIG_MAX_MEM_SIZE | ||
31 | #else | ||
32 | # define CPLB_MEM CONFIG_MEM_SIZE | ||
33 | #endif | ||
34 | |||
35 | /* | ||
36 | * Number of required data CPLB switchtable entries | ||
37 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
38 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
39 | * 1 for L1 Data Memory | ||
40 | * possibly 1 for L2 Data Memory | ||
41 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
42 | * 1 for ASYNC Memory | ||
43 | */ | ||
44 | #define MAX_SWITCH_D_CPLBS (((CPLB_MEM / 4) + 16 + 1 + 1 + 1 \ | ||
45 | + ASYNC_MEMORY_CPLB_COVERAGE) * 2) | ||
46 | |||
47 | /* | ||
48 | * Number of required instruction CPLB switchtable entries | ||
49 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
50 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
51 | * 1 for L1 Instruction Memory | ||
52 | * possibly 1 for L2 Instruction Memory | ||
53 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
54 | */ | ||
55 | #define MAX_SWITCH_I_CPLBS (((CPLB_MEM / 4) + 12 + 1 + 1 + 1) * 2) | ||
56 | |||
57 | |||
29 | u_long icplb_table[MAX_CPLBS + 1]; | 58 | u_long icplb_table[MAX_CPLBS + 1]; |
30 | u_long dcplb_table[MAX_CPLBS + 1]; | 59 | u_long dcplb_table[MAX_CPLBS + 1]; |
31 | 60 | ||
@@ -295,6 +324,8 @@ void __init generate_cpl_tables(void) | |||
295 | struct cplb_tab *t_d = NULL; | 324 | struct cplb_tab *t_d = NULL; |
296 | struct s_cplb cplb; | 325 | struct s_cplb cplb; |
297 | 326 | ||
327 | printk(KERN_INFO "NOMPU: setting up cplb tables for global access\n"); | ||
328 | |||
298 | cplb.init_i.size = MAX_CPLBS; | 329 | cplb.init_i.size = MAX_CPLBS; |
299 | cplb.init_d.size = MAX_CPLBS; | 330 | cplb.init_d.size = MAX_CPLBS; |
300 | cplb.switch_i.size = MAX_SWITCH_I_CPLBS; | 331 | cplb.switch_i.size = MAX_SWITCH_I_CPLBS; |
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c index d6b61d56b656..2f62a9f4058a 100644 --- a/arch/blackfin/kernel/dma-mapping.c +++ b/arch/blackfin/kernel/dma-mapping.c | |||
@@ -59,7 +59,7 @@ void dma_alloc_init(unsigned long start, unsigned long end) | |||
59 | memset((void *)dma_base, 0, DMA_UNCACHED_REGION); | 59 | memset((void *)dma_base, 0, DMA_UNCACHED_REGION); |
60 | dma_initialized = 1; | 60 | dma_initialized = 1; |
61 | 61 | ||
62 | printk(KERN_INFO "%s: dma_page @ 0x%p - %d pages at 0x%08lx\n", __FUNCTION__, | 62 | printk(KERN_INFO "%s: dma_page @ 0x%p - %d pages at 0x%08lx\n", __func__, |
63 | dma_page, dma_pages, dma_base); | 63 | dma_page, dma_pages, dma_base); |
64 | } | 64 | } |
65 | 65 | ||
@@ -100,7 +100,7 @@ static void __free_dma_pages(unsigned long addr, unsigned int pages) | |||
100 | int i; | 100 | int i; |
101 | 101 | ||
102 | if ((page + pages) > dma_pages) { | 102 | if ((page + pages) > dma_pages) { |
103 | printk(KERN_ERR "%s: freeing outside range.\n", __FUNCTION__); | 103 | printk(KERN_ERR "%s: freeing outside range.\n", __func__); |
104 | BUG(); | 104 | BUG(); |
105 | } | 105 | } |
106 | 106 | ||
diff --git a/arch/blackfin/kernel/gptimers.c b/arch/blackfin/kernel/gptimers.c index 1904d8b53328..e698554895a7 100644 --- a/arch/blackfin/kernel/gptimers.c +++ b/arch/blackfin/kernel/gptimers.c | |||
@@ -52,12 +52,14 @@ static volatile GPTIMER_timer_regs *const timer_regs[MAX_BLACKFIN_GPTIMERS] = | |||
52 | (GPTIMER_timer_regs *)TIMER5_CONFIG, | 52 | (GPTIMER_timer_regs *)TIMER5_CONFIG, |
53 | (GPTIMER_timer_regs *)TIMER6_CONFIG, | 53 | (GPTIMER_timer_regs *)TIMER6_CONFIG, |
54 | (GPTIMER_timer_regs *)TIMER7_CONFIG, | 54 | (GPTIMER_timer_regs *)TIMER7_CONFIG, |
55 | #endif | 55 | # if (MAX_BLACKFIN_GPTIMERS > 8) |
56 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
57 | (GPTIMER_timer_regs *)TIMER8_CONFIG, | 56 | (GPTIMER_timer_regs *)TIMER8_CONFIG, |
58 | (GPTIMER_timer_regs *)TIMER9_CONFIG, | 57 | (GPTIMER_timer_regs *)TIMER9_CONFIG, |
59 | (GPTIMER_timer_regs *)TIMER10_CONFIG, | 58 | (GPTIMER_timer_regs *)TIMER10_CONFIG, |
59 | # if (MAX_BLACKFIN_GPTIMERS > 11) | ||
60 | (GPTIMER_timer_regs *)TIMER11_CONFIG, | 60 | (GPTIMER_timer_regs *)TIMER11_CONFIG, |
61 | # endif | ||
62 | # endif | ||
61 | #endif | 63 | #endif |
62 | }; | 64 | }; |
63 | 65 | ||
@@ -80,12 +82,14 @@ static uint32_t const trun_mask[MAX_BLACKFIN_GPTIMERS] = | |||
80 | TIMER_STATUS_TRUN5, | 82 | TIMER_STATUS_TRUN5, |
81 | TIMER_STATUS_TRUN6, | 83 | TIMER_STATUS_TRUN6, |
82 | TIMER_STATUS_TRUN7, | 84 | TIMER_STATUS_TRUN7, |
83 | #endif | 85 | # if (MAX_BLACKFIN_GPTIMERS > 8) |
84 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
85 | TIMER_STATUS_TRUN8, | 86 | TIMER_STATUS_TRUN8, |
86 | TIMER_STATUS_TRUN9, | 87 | TIMER_STATUS_TRUN9, |
87 | TIMER_STATUS_TRUN10, | 88 | TIMER_STATUS_TRUN10, |
89 | # if (MAX_BLACKFIN_GPTIMERS > 11) | ||
88 | TIMER_STATUS_TRUN11, | 90 | TIMER_STATUS_TRUN11, |
91 | # endif | ||
92 | # endif | ||
89 | #endif | 93 | #endif |
90 | }; | 94 | }; |
91 | 95 | ||
@@ -100,12 +104,14 @@ static uint32_t const tovf_mask[MAX_BLACKFIN_GPTIMERS] = | |||
100 | TIMER_STATUS_TOVF5, | 104 | TIMER_STATUS_TOVF5, |
101 | TIMER_STATUS_TOVF6, | 105 | TIMER_STATUS_TOVF6, |
102 | TIMER_STATUS_TOVF7, | 106 | TIMER_STATUS_TOVF7, |
103 | #endif | 107 | # if (MAX_BLACKFIN_GPTIMERS > 8) |
104 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
105 | TIMER_STATUS_TOVF8, | 108 | TIMER_STATUS_TOVF8, |
106 | TIMER_STATUS_TOVF9, | 109 | TIMER_STATUS_TOVF9, |
107 | TIMER_STATUS_TOVF10, | 110 | TIMER_STATUS_TOVF10, |
111 | # if (MAX_BLACKFIN_GPTIMERS > 11) | ||
108 | TIMER_STATUS_TOVF11, | 112 | TIMER_STATUS_TOVF11, |
113 | # endif | ||
114 | # endif | ||
109 | #endif | 115 | #endif |
110 | }; | 116 | }; |
111 | 117 | ||
@@ -120,12 +126,14 @@ static uint32_t const timil_mask[MAX_BLACKFIN_GPTIMERS] = | |||
120 | TIMER_STATUS_TIMIL5, | 126 | TIMER_STATUS_TIMIL5, |
121 | TIMER_STATUS_TIMIL6, | 127 | TIMER_STATUS_TIMIL6, |
122 | TIMER_STATUS_TIMIL7, | 128 | TIMER_STATUS_TIMIL7, |
123 | #endif | 129 | # if (MAX_BLACKFIN_GPTIMERS > 8) |
124 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
125 | TIMER_STATUS_TIMIL8, | 130 | TIMER_STATUS_TIMIL8, |
126 | TIMER_STATUS_TIMIL9, | 131 | TIMER_STATUS_TIMIL9, |
127 | TIMER_STATUS_TIMIL10, | 132 | TIMER_STATUS_TIMIL10, |
133 | # if (MAX_BLACKFIN_GPTIMERS > 11) | ||
128 | TIMER_STATUS_TIMIL11, | 134 | TIMER_STATUS_TIMIL11, |
135 | # endif | ||
136 | # endif | ||
129 | #endif | 137 | #endif |
130 | }; | 138 | }; |
131 | 139 | ||
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index 6b8459c66163..be9fdd00d7cb 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c | |||
@@ -32,6 +32,8 @@ | |||
32 | #include <linux/unistd.h> | 32 | #include <linux/unistd.h> |
33 | #include <linux/user.h> | 33 | #include <linux/user.h> |
34 | #include <linux/uaccess.h> | 34 | #include <linux/uaccess.h> |
35 | #include <linux/sched.h> | ||
36 | #include <linux/tick.h> | ||
35 | #include <linux/fs.h> | 37 | #include <linux/fs.h> |
36 | #include <linux/err.h> | 38 | #include <linux/err.h> |
37 | 39 | ||
@@ -69,33 +71,44 @@ EXPORT_SYMBOL(pm_power_off); | |||
69 | * The idle loop on BFIN | 71 | * The idle loop on BFIN |
70 | */ | 72 | */ |
71 | #ifdef CONFIG_IDLE_L1 | 73 | #ifdef CONFIG_IDLE_L1 |
72 | void default_idle(void)__attribute__((l1_text)); | 74 | static void default_idle(void)__attribute__((l1_text)); |
73 | void cpu_idle(void)__attribute__((l1_text)); | 75 | void cpu_idle(void)__attribute__((l1_text)); |
74 | #endif | 76 | #endif |
75 | 77 | ||
76 | void default_idle(void) | 78 | /* |
79 | * This is our default idle handler. We need to disable | ||
80 | * interrupts here to ensure we don't miss a wakeup call. | ||
81 | */ | ||
82 | static void default_idle(void) | ||
77 | { | 83 | { |
78 | while (!need_resched()) { | 84 | local_irq_disable(); |
79 | local_irq_disable(); | 85 | if (!need_resched()) |
80 | if (likely(!need_resched())) | 86 | idle_with_irq_disabled(); |
81 | idle_with_irq_disabled(); | ||
82 | local_irq_enable(); | ||
83 | } | ||
84 | } | ||
85 | 87 | ||
86 | void (*idle)(void) = default_idle; | 88 | local_irq_enable(); |
89 | } | ||
87 | 90 | ||
88 | /* | 91 | /* |
89 | * The idle thread. There's no useful work to be | 92 | * The idle thread. We try to conserve power, while trying to keep |
90 | * done, so just try to conserve power and have a | 93 | * overall latency low. The architecture specific idle is passed |
91 | * low exit latency (ie sit in a loop waiting for | 94 | * a value to indicate the level of "idleness" of the system. |
92 | * somebody to say that they'd like to reschedule) | ||
93 | */ | 95 | */ |
94 | void cpu_idle(void) | 96 | void cpu_idle(void) |
95 | { | 97 | { |
96 | /* endless idle loop with no priority at all */ | 98 | /* endless idle loop with no priority at all */ |
97 | while (1) { | 99 | while (1) { |
98 | idle(); | 100 | void (*idle)(void) = pm_idle; |
101 | |||
102 | #ifdef CONFIG_HOTPLUG_CPU | ||
103 | if (cpu_is_offline(smp_processor_id())) | ||
104 | cpu_die(); | ||
105 | #endif | ||
106 | if (!idle) | ||
107 | idle = default_idle; | ||
108 | tick_nohz_stop_sched_tick(); | ||
109 | while (!need_resched()) | ||
110 | idle(); | ||
111 | tick_nohz_restart_sched_tick(); | ||
99 | preempt_enable_no_resched(); | 112 | preempt_enable_no_resched(); |
100 | schedule(); | 113 | schedule(); |
101 | preempt_disable(); | 114 | preempt_disable(); |
@@ -189,7 +202,7 @@ copy_thread(int nr, unsigned long clone_flags, | |||
189 | * sys_execve() executes a new program. | 202 | * sys_execve() executes a new program. |
190 | */ | 203 | */ |
191 | 204 | ||
192 | asmlinkage int sys_execve(char *name, char **argv, char **envp) | 205 | asmlinkage int sys_execve(char __user *name, char __user * __user *argv, char __user * __user *envp) |
193 | { | 206 | { |
194 | int error; | 207 | int error; |
195 | char *filename; | 208 | char *filename; |
@@ -232,23 +245,25 @@ unsigned long get_wchan(struct task_struct *p) | |||
232 | 245 | ||
233 | void finish_atomic_sections (struct pt_regs *regs) | 246 | void finish_atomic_sections (struct pt_regs *regs) |
234 | { | 247 | { |
248 | int __user *up0 = (int __user *)®s->p0; | ||
249 | |||
235 | if (regs->pc < ATOMIC_SEQS_START || regs->pc >= ATOMIC_SEQS_END) | 250 | if (regs->pc < ATOMIC_SEQS_START || regs->pc >= ATOMIC_SEQS_END) |
236 | return; | 251 | return; |
237 | 252 | ||
238 | switch (regs->pc) { | 253 | switch (regs->pc) { |
239 | case ATOMIC_XCHG32 + 2: | 254 | case ATOMIC_XCHG32 + 2: |
240 | put_user(regs->r1, (int *)regs->p0); | 255 | put_user(regs->r1, up0); |
241 | regs->pc += 2; | 256 | regs->pc += 2; |
242 | break; | 257 | break; |
243 | 258 | ||
244 | case ATOMIC_CAS32 + 2: | 259 | case ATOMIC_CAS32 + 2: |
245 | case ATOMIC_CAS32 + 4: | 260 | case ATOMIC_CAS32 + 4: |
246 | if (regs->r0 == regs->r1) | 261 | if (regs->r0 == regs->r1) |
247 | put_user(regs->r2, (int *)regs->p0); | 262 | put_user(regs->r2, up0); |
248 | regs->pc = ATOMIC_CAS32 + 8; | 263 | regs->pc = ATOMIC_CAS32 + 8; |
249 | break; | 264 | break; |
250 | case ATOMIC_CAS32 + 6: | 265 | case ATOMIC_CAS32 + 6: |
251 | put_user(regs->r2, (int *)regs->p0); | 266 | put_user(regs->r2, up0); |
252 | regs->pc += 2; | 267 | regs->pc += 2; |
253 | break; | 268 | break; |
254 | 269 | ||
@@ -256,7 +271,7 @@ void finish_atomic_sections (struct pt_regs *regs) | |||
256 | regs->r0 = regs->r1 + regs->r0; | 271 | regs->r0 = regs->r1 + regs->r0; |
257 | /* fall through */ | 272 | /* fall through */ |
258 | case ATOMIC_ADD32 + 4: | 273 | case ATOMIC_ADD32 + 4: |
259 | put_user(regs->r0, (int *)regs->p0); | 274 | put_user(regs->r0, up0); |
260 | regs->pc = ATOMIC_ADD32 + 6; | 275 | regs->pc = ATOMIC_ADD32 + 6; |
261 | break; | 276 | break; |
262 | 277 | ||
@@ -264,7 +279,7 @@ void finish_atomic_sections (struct pt_regs *regs) | |||
264 | regs->r0 = regs->r1 - regs->r0; | 279 | regs->r0 = regs->r1 - regs->r0; |
265 | /* fall through */ | 280 | /* fall through */ |
266 | case ATOMIC_SUB32 + 4: | 281 | case ATOMIC_SUB32 + 4: |
267 | put_user(regs->r0, (int *)regs->p0); | 282 | put_user(regs->r0, up0); |
268 | regs->pc = ATOMIC_SUB32 + 6; | 283 | regs->pc = ATOMIC_SUB32 + 6; |
269 | break; | 284 | break; |
270 | 285 | ||
@@ -272,7 +287,7 @@ void finish_atomic_sections (struct pt_regs *regs) | |||
272 | regs->r0 = regs->r1 | regs->r0; | 287 | regs->r0 = regs->r1 | regs->r0; |
273 | /* fall through */ | 288 | /* fall through */ |
274 | case ATOMIC_IOR32 + 4: | 289 | case ATOMIC_IOR32 + 4: |
275 | put_user(regs->r0, (int *)regs->p0); | 290 | put_user(regs->r0, up0); |
276 | regs->pc = ATOMIC_IOR32 + 6; | 291 | regs->pc = ATOMIC_IOR32 + 6; |
277 | break; | 292 | break; |
278 | 293 | ||
@@ -280,7 +295,7 @@ void finish_atomic_sections (struct pt_regs *regs) | |||
280 | regs->r0 = regs->r1 & regs->r0; | 295 | regs->r0 = regs->r1 & regs->r0; |
281 | /* fall through */ | 296 | /* fall through */ |
282 | case ATOMIC_AND32 + 4: | 297 | case ATOMIC_AND32 + 4: |
283 | put_user(regs->r0, (int *)regs->p0); | 298 | put_user(regs->r0, up0); |
284 | regs->pc = ATOMIC_AND32 + 6; | 299 | regs->pc = ATOMIC_AND32 + 6; |
285 | break; | 300 | break; |
286 | 301 | ||
@@ -288,7 +303,7 @@ void finish_atomic_sections (struct pt_regs *regs) | |||
288 | regs->r0 = regs->r1 ^ regs->r0; | 303 | regs->r0 = regs->r1 ^ regs->r0; |
289 | /* fall through */ | 304 | /* fall through */ |
290 | case ATOMIC_XOR32 + 4: | 305 | case ATOMIC_XOR32 + 4: |
291 | put_user(regs->r0, (int *)regs->p0); | 306 | put_user(regs->r0, up0); |
292 | regs->pc = ATOMIC_XOR32 + 6; | 307 | regs->pc = ATOMIC_XOR32 + 6; |
293 | break; | 308 | break; |
294 | } | 309 | } |
@@ -309,6 +324,12 @@ int _access_ok(unsigned long addr, unsigned long size) | |||
309 | return 1; | 324 | return 1; |
310 | if (addr >= memory_mtd_end && (addr + size) <= physical_mem_end) | 325 | if (addr >= memory_mtd_end && (addr + size) <= physical_mem_end) |
311 | return 1; | 326 | return 1; |
327 | |||
328 | #ifdef CONFIG_ROMFS_MTD_FS | ||
329 | /* For XIP, allow user space to use pointers within the ROMFS. */ | ||
330 | if (addr >= memory_mtd_start && (addr + size) <= memory_mtd_end) | ||
331 | return 1; | ||
332 | #endif | ||
312 | #else | 333 | #else |
313 | if (addr >= memory_start && (addr + size) <= physical_mem_end) | 334 | if (addr >= memory_start && (addr + size) <= physical_mem_end) |
314 | return 1; | 335 | return 1; |
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c index 85caf9b711a1..b4f062c172c6 100644 --- a/arch/blackfin/kernel/ptrace.c +++ b/arch/blackfin/kernel/ptrace.c | |||
@@ -193,6 +193,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
193 | { | 193 | { |
194 | int ret; | 194 | int ret; |
195 | int add = 0; | 195 | int add = 0; |
196 | unsigned long __user *datap = (unsigned long __user *)data; | ||
196 | 197 | ||
197 | switch (request) { | 198 | switch (request) { |
198 | /* when I and D space are separate, these will need to be fixed. */ | 199 | /* when I and D space are separate, these will need to be fixed. */ |
@@ -229,7 +230,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
229 | pr_debug("ptrace: copied size %d [0x%08lx]\n", copied, tmp); | 230 | pr_debug("ptrace: copied size %d [0x%08lx]\n", copied, tmp); |
230 | if (copied != sizeof(tmp)) | 231 | if (copied != sizeof(tmp)) |
231 | break; | 232 | break; |
232 | ret = put_user(tmp, (unsigned long *)data); | 233 | ret = put_user(tmp, datap); |
233 | break; | 234 | break; |
234 | } | 235 | } |
235 | 236 | ||
@@ -263,7 +264,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
263 | } else { | 264 | } else { |
264 | tmp = get_reg(child, addr); | 265 | tmp = get_reg(child, addr); |
265 | } | 266 | } |
266 | ret = put_user(tmp, (unsigned long *)data); | 267 | ret = put_user(tmp, datap); |
267 | break; | 268 | break; |
268 | } | 269 | } |
269 | 270 | ||
@@ -389,7 +390,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
389 | { | 390 | { |
390 | 391 | ||
391 | /* Get all gp regs from the child. */ | 392 | /* Get all gp regs from the child. */ |
392 | ret = ptrace_getregs(child, (void __user *)data); | 393 | ret = ptrace_getregs(child, datap); |
393 | break; | 394 | break; |
394 | } | 395 | } |
395 | 396 | ||
diff --git a/arch/blackfin/kernel/reboot.c b/arch/blackfin/kernel/reboot.c index 483f93dfc1b5..367e2dc09881 100644 --- a/arch/blackfin/kernel/reboot.c +++ b/arch/blackfin/kernel/reboot.c | |||
@@ -11,45 +11,56 @@ | |||
11 | #include <asm/reboot.h> | 11 | #include <asm/reboot.h> |
12 | #include <asm/system.h> | 12 | #include <asm/system.h> |
13 | 13 | ||
14 | #if defined(BF537_FAMILY) || defined(BF533_FAMILY) || defined(BF527_FAMILY) | 14 | /* A system soft reset makes external memory unusable so force |
15 | #define SYSCR_VAL 0x0 | 15 | * this function into L1. We use the compiler ssync here rather |
16 | #elif defined(BF561_FAMILY) | 16 | * than SSYNC() because it's safe (no interrupts and such) and |
17 | #define SYSCR_VAL 0x20 | 17 | * we save some L1. We do not need to force sanity in the SYSCR |
18 | #elif defined(BF548_FAMILY) | 18 | * register as the BMODE selection bit is cleared by the soft |
19 | #define SYSCR_VAL 0x10 | 19 | * reset while the Core B bit (on dual core parts) is cleared by |
20 | #endif | 20 | * the core reset. |
21 | |||
22 | /* | ||
23 | * Delay min 5 SCLK cycles using worst case CCLK/SCLK ratio (15) | ||
24 | */ | ||
25 | #define SWRST_DELAY (5 * 15) | ||
26 | |||
27 | /* A system soft reset makes external memory unusable | ||
28 | * so force this function into L1. | ||
29 | */ | 21 | */ |
30 | __attribute__((l1_text)) | 22 | __attribute__((l1_text)) |
31 | void bfin_reset(void) | 23 | void bfin_reset(void) |
32 | { | 24 | { |
33 | /* force BMODE and disable Core B (as needed) */ | 25 | /* Wait for completion of "system" events such as cache line |
34 | bfin_write_SYSCR(SYSCR_VAL); | 26 | * line fills so that we avoid infinite stalls later on as |
35 | 27 | * much as possible. This code is in L1, so it won't trigger | |
36 | /* we use asm ssync here because it's save and we save some L1 */ | 28 | * any such event after this point in time. |
37 | asm("ssync;"); | 29 | */ |
30 | __builtin_bfin_ssync(); | ||
38 | 31 | ||
39 | while (1) { | 32 | while (1) { |
40 | /* initiate system soft reset with magic 0x7 */ | 33 | /* Initiate System software reset. */ |
41 | bfin_write_SWRST(0x7); | 34 | bfin_write_SWRST(0x7); |
42 | 35 | ||
43 | /* Wait for System reset to actually reset, needs to be 5 SCLKs, */ | 36 | /* Due to the way reset is handled in the hardware, we need |
44 | /* Assume CCLK / SCLK ratio is worst case (15), and use 5*15 */ | 37 | * to delay for 7 SCLKS. The only reliable way to do this is |
45 | 38 | * to calculate the CCLK/SCLK ratio and multiply 7. For now, | |
46 | asm("LSETUP(.Lfoo,.Lfoo) LC0 = %0\n .Lfoo: NOP;\n" | 39 | * we'll assume worse case which is a 1:15 ratio. |
47 | : : "a" (SWRST_DELAY) : "LC0", "LT0", "LB0"); | 40 | */ |
41 | asm( | ||
42 | "LSETUP (1f, 1f) LC0 = %0\n" | ||
43 | "1: nop;" | ||
44 | : | ||
45 | : "a" (15 * 7) | ||
46 | : "LC0", "LB0", "LT0" | ||
47 | ); | ||
48 | 48 | ||
49 | /* clear system soft reset */ | 49 | /* Clear System software reset */ |
50 | bfin_write_SWRST(0); | 50 | bfin_write_SWRST(0); |
51 | asm("ssync;"); | 51 | |
52 | /* issue core reset */ | 52 | /* Wait for the SWRST write to complete. Cannot rely on SSYNC |
53 | * though as the System state is all reset now. | ||
54 | */ | ||
55 | asm( | ||
56 | "LSETUP (1f, 1f) LC1 = %0\n" | ||
57 | "1: nop;" | ||
58 | : | ||
59 | : "a" (15 * 1) | ||
60 | : "LC1", "LB1", "LT1" | ||
61 | ); | ||
62 | |||
63 | /* Issue core reset */ | ||
53 | asm("raise 1"); | 64 | asm("raise 1"); |
54 | } | 65 | } |
55 | } | 66 | } |
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 2255c289a714..8efea004aecb 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -35,6 +35,7 @@ u16 _bfin_swrst; | |||
35 | EXPORT_SYMBOL(_bfin_swrst); | 35 | EXPORT_SYMBOL(_bfin_swrst); |
36 | 36 | ||
37 | unsigned long memory_start, memory_end, physical_mem_end; | 37 | unsigned long memory_start, memory_end, physical_mem_end; |
38 | unsigned long _rambase, _ramstart, _ramend; | ||
38 | unsigned long reserved_mem_dcache_on; | 39 | unsigned long reserved_mem_dcache_on; |
39 | unsigned long reserved_mem_icache_on; | 40 | unsigned long reserved_mem_icache_on; |
40 | EXPORT_SYMBOL(memory_start); | 41 | EXPORT_SYMBOL(memory_start); |
@@ -106,7 +107,7 @@ void __init bf53x_relocate_l1_mem(void) | |||
106 | 107 | ||
107 | l1_code_length = _etext_l1 - _stext_l1; | 108 | l1_code_length = _etext_l1 - _stext_l1; |
108 | if (l1_code_length > L1_CODE_LENGTH) | 109 | if (l1_code_length > L1_CODE_LENGTH) |
109 | l1_code_length = L1_CODE_LENGTH; | 110 | panic("L1 Instruction SRAM Overflow\n"); |
110 | /* cannot complain as printk is not available as yet. | 111 | /* cannot complain as printk is not available as yet. |
111 | * But we can continue booting and complain later! | 112 | * But we can continue booting and complain later! |
112 | */ | 113 | */ |
@@ -116,19 +117,18 @@ void __init bf53x_relocate_l1_mem(void) | |||
116 | 117 | ||
117 | l1_data_a_length = _ebss_l1 - _sdata_l1; | 118 | l1_data_a_length = _ebss_l1 - _sdata_l1; |
118 | if (l1_data_a_length > L1_DATA_A_LENGTH) | 119 | if (l1_data_a_length > L1_DATA_A_LENGTH) |
119 | l1_data_a_length = L1_DATA_A_LENGTH; | 120 | panic("L1 Data SRAM Bank A Overflow\n"); |
120 | 121 | ||
121 | /* Copy _sdata_l1 to _ebss_l1 to L1 data bank A SRAM */ | 122 | /* Copy _sdata_l1 to _ebss_l1 to L1 data bank A SRAM */ |
122 | dma_memcpy(_sdata_l1, _l1_lma_start + l1_code_length, l1_data_a_length); | 123 | dma_memcpy(_sdata_l1, _l1_lma_start + l1_code_length, l1_data_a_length); |
123 | 124 | ||
124 | l1_data_b_length = _ebss_b_l1 - _sdata_b_l1; | 125 | l1_data_b_length = _ebss_b_l1 - _sdata_b_l1; |
125 | if (l1_data_b_length > L1_DATA_B_LENGTH) | 126 | if (l1_data_b_length > L1_DATA_B_LENGTH) |
126 | l1_data_b_length = L1_DATA_B_LENGTH; | 127 | panic("L1 Data SRAM Bank B Overflow\n"); |
127 | 128 | ||
128 | /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ | 129 | /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ |
129 | dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + | 130 | dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + |
130 | l1_data_a_length, l1_data_b_length); | 131 | l1_data_a_length, l1_data_b_length); |
131 | |||
132 | } | 132 | } |
133 | 133 | ||
134 | /* add_memory_region to memmap */ | 134 | /* add_memory_region to memmap */ |
@@ -547,11 +547,38 @@ static __init void memory_setup(void) | |||
547 | ); | 547 | ); |
548 | } | 548 | } |
549 | 549 | ||
550 | /* | ||
551 | * Find the lowest, highest page frame number we have available | ||
552 | */ | ||
553 | void __init find_min_max_pfn(void) | ||
554 | { | ||
555 | int i; | ||
556 | |||
557 | max_pfn = 0; | ||
558 | min_low_pfn = memory_end; | ||
559 | |||
560 | for (i = 0; i < bfin_memmap.nr_map; i++) { | ||
561 | unsigned long start, end; | ||
562 | /* RAM? */ | ||
563 | if (bfin_memmap.map[i].type != BFIN_MEMMAP_RAM) | ||
564 | continue; | ||
565 | start = PFN_UP(bfin_memmap.map[i].addr); | ||
566 | end = PFN_DOWN(bfin_memmap.map[i].addr + | ||
567 | bfin_memmap.map[i].size); | ||
568 | if (start >= end) | ||
569 | continue; | ||
570 | if (end > max_pfn) | ||
571 | max_pfn = end; | ||
572 | if (start < min_low_pfn) | ||
573 | min_low_pfn = start; | ||
574 | } | ||
575 | } | ||
576 | |||
550 | static __init void setup_bootmem_allocator(void) | 577 | static __init void setup_bootmem_allocator(void) |
551 | { | 578 | { |
552 | int bootmap_size; | 579 | int bootmap_size; |
553 | int i; | 580 | int i; |
554 | unsigned long min_pfn, max_pfn; | 581 | unsigned long start_pfn, end_pfn; |
555 | unsigned long curr_pfn, last_pfn, size; | 582 | unsigned long curr_pfn, last_pfn, size; |
556 | 583 | ||
557 | /* mark memory between memory_start and memory_end usable */ | 584 | /* mark memory between memory_start and memory_end usable */ |
@@ -561,8 +588,19 @@ static __init void setup_bootmem_allocator(void) | |||
561 | sanitize_memmap(bfin_memmap.map, &bfin_memmap.nr_map); | 588 | sanitize_memmap(bfin_memmap.map, &bfin_memmap.nr_map); |
562 | print_memory_map("boot memmap"); | 589 | print_memory_map("boot memmap"); |
563 | 590 | ||
564 | min_pfn = PAGE_OFFSET >> PAGE_SHIFT; | 591 | /* intialize globals in linux/bootmem.h */ |
565 | max_pfn = memory_end >> PAGE_SHIFT; | 592 | find_min_max_pfn(); |
593 | /* pfn of the last usable page frame */ | ||
594 | if (max_pfn > memory_end >> PAGE_SHIFT) | ||
595 | max_pfn = memory_end >> PAGE_SHIFT; | ||
596 | /* pfn of last page frame directly mapped by kernel */ | ||
597 | max_low_pfn = max_pfn; | ||
598 | /* pfn of the first usable page frame after kernel image*/ | ||
599 | if (min_low_pfn < memory_start >> PAGE_SHIFT) | ||
600 | min_low_pfn = memory_start >> PAGE_SHIFT; | ||
601 | |||
602 | start_pfn = PAGE_OFFSET >> PAGE_SHIFT; | ||
603 | end_pfn = memory_end >> PAGE_SHIFT; | ||
566 | 604 | ||
567 | /* | 605 | /* |
568 | * give all the memory to the bootmap allocator, tell it to put the | 606 | * give all the memory to the bootmap allocator, tell it to put the |
@@ -570,7 +608,7 @@ static __init void setup_bootmem_allocator(void) | |||
570 | */ | 608 | */ |
571 | bootmap_size = init_bootmem_node(NODE_DATA(0), | 609 | bootmap_size = init_bootmem_node(NODE_DATA(0), |
572 | memory_start >> PAGE_SHIFT, /* map goes here */ | 610 | memory_start >> PAGE_SHIFT, /* map goes here */ |
573 | min_pfn, max_pfn); | 611 | start_pfn, end_pfn); |
574 | 612 | ||
575 | /* register the memmap regions with the bootmem allocator */ | 613 | /* register the memmap regions with the bootmem allocator */ |
576 | for (i = 0; i < bfin_memmap.nr_map; i++) { | 614 | for (i = 0; i < bfin_memmap.nr_map; i++) { |
@@ -583,7 +621,7 @@ static __init void setup_bootmem_allocator(void) | |||
583 | * We are rounding up the start address of usable memory: | 621 | * We are rounding up the start address of usable memory: |
584 | */ | 622 | */ |
585 | curr_pfn = PFN_UP(bfin_memmap.map[i].addr); | 623 | curr_pfn = PFN_UP(bfin_memmap.map[i].addr); |
586 | if (curr_pfn >= max_pfn) | 624 | if (curr_pfn >= end_pfn) |
587 | continue; | 625 | continue; |
588 | /* | 626 | /* |
589 | * ... and at the end of the usable range downwards: | 627 | * ... and at the end of the usable range downwards: |
@@ -591,8 +629,8 @@ static __init void setup_bootmem_allocator(void) | |||
591 | last_pfn = PFN_DOWN(bfin_memmap.map[i].addr + | 629 | last_pfn = PFN_DOWN(bfin_memmap.map[i].addr + |
592 | bfin_memmap.map[i].size); | 630 | bfin_memmap.map[i].size); |
593 | 631 | ||
594 | if (last_pfn > max_pfn) | 632 | if (last_pfn > end_pfn) |
595 | last_pfn = max_pfn; | 633 | last_pfn = end_pfn; |
596 | 634 | ||
597 | /* | 635 | /* |
598 | * .. finally, did all the rounding and playing | 636 | * .. finally, did all the rounding and playing |
@@ -611,9 +649,59 @@ static __init void setup_bootmem_allocator(void) | |||
611 | BOOTMEM_DEFAULT); | 649 | BOOTMEM_DEFAULT); |
612 | } | 650 | } |
613 | 651 | ||
652 | #define EBSZ_TO_MEG(ebsz) \ | ||
653 | ({ \ | ||
654 | int meg = 0; \ | ||
655 | switch (ebsz & 0xf) { \ | ||
656 | case 0x1: meg = 16; break; \ | ||
657 | case 0x3: meg = 32; break; \ | ||
658 | case 0x5: meg = 64; break; \ | ||
659 | case 0x7: meg = 128; break; \ | ||
660 | case 0x9: meg = 256; break; \ | ||
661 | case 0xb: meg = 512; break; \ | ||
662 | } \ | ||
663 | meg; \ | ||
664 | }) | ||
665 | static inline int __init get_mem_size(void) | ||
666 | { | ||
667 | #ifdef CONFIG_MEM_SIZE | ||
668 | return CONFIG_MEM_SIZE; | ||
669 | #else | ||
670 | # if defined(EBIU_SDBCTL) | ||
671 | # if defined(BF561_FAMILY) | ||
672 | int ret = 0; | ||
673 | u32 sdbctl = bfin_read_EBIU_SDBCTL(); | ||
674 | ret += EBSZ_TO_MEG(sdbctl >> 0); | ||
675 | ret += EBSZ_TO_MEG(sdbctl >> 8); | ||
676 | ret += EBSZ_TO_MEG(sdbctl >> 16); | ||
677 | ret += EBSZ_TO_MEG(sdbctl >> 24); | ||
678 | return ret; | ||
679 | # else | ||
680 | return EBSZ_TO_MEG(bfin_read_EBIU_SDBCTL()); | ||
681 | # endif | ||
682 | # elif defined(EBIU_DDRCTL1) | ||
683 | u32 ddrctl = bfin_read_EBIU_DDRCTL1(); | ||
684 | int ret = 0; | ||
685 | switch (ddrctl & 0xc0000) { | ||
686 | case DEVSZ_64: ret = 64 / 8; | ||
687 | case DEVSZ_128: ret = 128 / 8; | ||
688 | case DEVSZ_256: ret = 256 / 8; | ||
689 | case DEVSZ_512: ret = 512 / 8; | ||
690 | } | ||
691 | switch (ddrctl & 0x30000) { | ||
692 | case DEVWD_4: ret *= 2; | ||
693 | case DEVWD_8: ret *= 2; | ||
694 | case DEVWD_16: break; | ||
695 | } | ||
696 | return ret; | ||
697 | # endif | ||
698 | #endif | ||
699 | BUG(); | ||
700 | } | ||
701 | |||
614 | void __init setup_arch(char **cmdline_p) | 702 | void __init setup_arch(char **cmdline_p) |
615 | { | 703 | { |
616 | unsigned long l1_length, sclk, cclk; | 704 | unsigned long sclk, cclk; |
617 | 705 | ||
618 | #ifdef CONFIG_DUMMY_CONSOLE | 706 | #ifdef CONFIG_DUMMY_CONSOLE |
619 | conswitchp = &dummy_con; | 707 | conswitchp = &dummy_con; |
@@ -631,7 +719,7 @@ void __init setup_arch(char **cmdline_p) | |||
631 | 719 | ||
632 | /* setup memory defaults from the user config */ | 720 | /* setup memory defaults from the user config */ |
633 | physical_mem_end = 0; | 721 | physical_mem_end = 0; |
634 | _ramend = CONFIG_MEM_SIZE * 1024 * 1024; | 722 | _ramend = get_mem_size() * 1024 * 1024; |
635 | 723 | ||
636 | memset(&bfin_memmap, 0, sizeof(bfin_memmap)); | 724 | memset(&bfin_memmap, 0, sizeof(bfin_memmap)); |
637 | 725 | ||
@@ -712,15 +800,6 @@ void __init setup_arch(char **cmdline_p) | |||
712 | 800 | ||
713 | paging_init(); | 801 | paging_init(); |
714 | 802 | ||
715 | /* check the size of the l1 area */ | ||
716 | l1_length = _etext_l1 - _stext_l1; | ||
717 | if (l1_length > L1_CODE_LENGTH) | ||
718 | panic("L1 code memory overflow\n"); | ||
719 | |||
720 | l1_length = _ebss_l1 - _sdata_l1; | ||
721 | if (l1_length > L1_DATA_A_LENGTH) | ||
722 | panic("L1 data memory overflow\n"); | ||
723 | |||
724 | /* Copy atomic sequences to their fixed location, and sanity check that | 803 | /* Copy atomic sequences to their fixed location, and sanity check that |
725 | these locations are the ones that we advertise to userspace. */ | 804 | these locations are the ones that we advertise to userspace. */ |
726 | memcpy((void *)FIXED_CODE_START, &fixed_code_start, | 805 | memcpy((void *)FIXED_CODE_START, &fixed_code_start, |
@@ -859,12 +938,17 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
859 | seq_printf(m, "processor\t: %d\n" | 938 | seq_printf(m, "processor\t: %d\n" |
860 | "vendor_id\t: %s\n" | 939 | "vendor_id\t: %s\n" |
861 | "cpu family\t: 0x%x\n" | 940 | "cpu family\t: 0x%x\n" |
862 | "model name\t: ADSP-%s %lu(MHz CCLK) %lu(MHz SCLK)\n" | 941 | "model name\t: ADSP-%s %lu(MHz CCLK) %lu(MHz SCLK) (%s)\n" |
863 | "stepping\t: %d\n", | 942 | "stepping\t: %d\n", |
864 | 0, | 943 | 0, |
865 | vendor, | 944 | vendor, |
866 | (bfin_read_CHIPID() & CHIPID_FAMILY), | 945 | (bfin_read_CHIPID() & CHIPID_FAMILY), |
867 | cpu, cclk/1000000, sclk/1000000, | 946 | cpu, cclk/1000000, sclk/1000000, |
947 | #ifdef CONFIG_MPU | ||
948 | "mpu on", | ||
949 | #else | ||
950 | "mpu off", | ||
951 | #endif | ||
868 | revid); | 952 | revid); |
869 | 953 | ||
870 | seq_printf(m, "cpu MHz\t\t: %lu.%03lu/%lu.%03lu\n", | 954 | seq_printf(m, "cpu MHz\t\t: %lu.%03lu/%lu.%03lu\n", |
@@ -973,7 +1057,6 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
973 | seq_printf(m, "No Ways are locked\n"); | 1057 | seq_printf(m, "No Ways are locked\n"); |
974 | } | 1058 | } |
975 | #endif | 1059 | #endif |
976 | |||
977 | seq_printf(m, "board name\t: %s\n", bfin_board_name); | 1060 | seq_printf(m, "board name\t: %s\n", bfin_board_name); |
978 | seq_printf(m, "board memory\t: %ld kB (0x%p -> 0x%p)\n", | 1061 | seq_printf(m, "board memory\t: %ld kB (0x%p -> 0x%p)\n", |
979 | physical_mem_end >> 10, (void *)0, (void *)physical_mem_end); | 1062 | physical_mem_end >> 10, (void *)0, (void *)physical_mem_end); |
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index 5564c9588aa8..d1fa24401dc6 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c | |||
@@ -38,6 +38,7 @@ | |||
38 | 38 | ||
39 | #include <asm/cacheflush.h> | 39 | #include <asm/cacheflush.h> |
40 | #include <asm/ucontext.h> | 40 | #include <asm/ucontext.h> |
41 | #include <asm/fixed_code.h> | ||
41 | 42 | ||
42 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | 43 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) |
43 | 44 | ||
@@ -50,18 +51,20 @@ struct rt_sigframe { | |||
50 | int sig; | 51 | int sig; |
51 | struct siginfo *pinfo; | 52 | struct siginfo *pinfo; |
52 | void *puc; | 53 | void *puc; |
54 | /* This is no longer needed by the kernel, but unfortunately userspace | ||
55 | * code expects it to be there. */ | ||
53 | char retcode[8]; | 56 | char retcode[8]; |
54 | struct siginfo info; | 57 | struct siginfo info; |
55 | struct ucontext uc; | 58 | struct ucontext uc; |
56 | }; | 59 | }; |
57 | 60 | ||
58 | asmlinkage int sys_sigaltstack(const stack_t * uss, stack_t * uoss) | 61 | asmlinkage int sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss) |
59 | { | 62 | { |
60 | return do_sigaltstack(uss, uoss, rdusp()); | 63 | return do_sigaltstack(uss, uoss, rdusp()); |
61 | } | 64 | } |
62 | 65 | ||
63 | static inline int | 66 | static inline int |
64 | rt_restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc, int *pr0) | 67 | rt_restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *pr0) |
65 | { | 68 | { |
66 | unsigned long usp = 0; | 69 | unsigned long usp = 0; |
67 | int err = 0; | 70 | int err = 0; |
@@ -159,11 +162,6 @@ static inline int rt_setup_sigcontext(struct sigcontext *sc, struct pt_regs *reg | |||
159 | return err; | 162 | return err; |
160 | } | 163 | } |
161 | 164 | ||
162 | static inline void push_cache(unsigned long vaddr, unsigned int len) | ||
163 | { | ||
164 | flush_icache_range(vaddr, vaddr + len); | ||
165 | } | ||
166 | |||
167 | static inline void *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, | 165 | static inline void *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, |
168 | size_t frame_size) | 166 | size_t frame_size) |
169 | { | 167 | { |
@@ -209,19 +207,9 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info, | |||
209 | err |= rt_setup_sigcontext(&frame->uc.uc_mcontext, regs); | 207 | err |= rt_setup_sigcontext(&frame->uc.uc_mcontext, regs); |
210 | err |= copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); | 208 | err |= copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); |
211 | 209 | ||
212 | /* Set up to return from userspace. */ | ||
213 | err |= __put_user(0x28, &(frame->retcode[0])); | ||
214 | err |= __put_user(0xe1, &(frame->retcode[1])); | ||
215 | err |= __put_user(0xad, &(frame->retcode[2])); | ||
216 | err |= __put_user(0x00, &(frame->retcode[3])); | ||
217 | err |= __put_user(0xa0, &(frame->retcode[4])); | ||
218 | err |= __put_user(0x00, &(frame->retcode[5])); | ||
219 | |||
220 | if (err) | 210 | if (err) |
221 | goto give_sigsegv; | 211 | goto give_sigsegv; |
222 | 212 | ||
223 | push_cache((unsigned long)&frame->retcode, sizeof(frame->retcode)); | ||
224 | |||
225 | /* Set up registers for signal handler */ | 213 | /* Set up registers for signal handler */ |
226 | wrusp((unsigned long)frame); | 214 | wrusp((unsigned long)frame); |
227 | if (get_personality & FDPIC_FUNCPTRS) { | 215 | if (get_personality & FDPIC_FUNCPTRS) { |
@@ -231,7 +219,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info, | |||
231 | __get_user(regs->p3, &funcptr->GOT); | 219 | __get_user(regs->p3, &funcptr->GOT); |
232 | } else | 220 | } else |
233 | regs->pc = (unsigned long)ka->sa.sa_handler; | 221 | regs->pc = (unsigned long)ka->sa.sa_handler; |
234 | regs->rets = (unsigned long)(frame->retcode); | 222 | regs->rets = SIGRETURN_STUB; |
235 | 223 | ||
236 | regs->r0 = frame->sig; | 224 | regs->r0 = frame->sig; |
237 | regs->r1 = (unsigned long)(&frame->info); | 225 | regs->r1 = (unsigned long)(&frame->info); |
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c index abcd14817d0e..efb7b25a2633 100644 --- a/arch/blackfin/kernel/sys_bfin.c +++ b/arch/blackfin/kernel/sys_bfin.c | |||
@@ -49,7 +49,7 @@ | |||
49 | * sys_pipe() is the normal C calling standard for creating | 49 | * sys_pipe() is the normal C calling standard for creating |
50 | * a pipe. It's not the way unix traditionally does this, though. | 50 | * a pipe. It's not the way unix traditionally does this, though. |
51 | */ | 51 | */ |
52 | asmlinkage int sys_pipe(unsigned long *fildes) | 52 | asmlinkage int sys_pipe(unsigned long __user *fildes) |
53 | { | 53 | { |
54 | int fd[2]; | 54 | int fd[2]; |
55 | int error; | 55 | int error; |
diff --git a/arch/blackfin/kernel/time-ts.c b/arch/blackfin/kernel/time-ts.c new file mode 100644 index 000000000000..4482c47c09e5 --- /dev/null +++ b/arch/blackfin/kernel/time-ts.c | |||
@@ -0,0 +1,219 @@ | |||
1 | /* | ||
2 | * linux/arch/kernel/time-ts.c | ||
3 | * | ||
4 | * Based on arm clockevents implementation and old bfin time tick. | ||
5 | * | ||
6 | * Copyright(C) 2008, GeoTechnologies, Vitja Makarov | ||
7 | * | ||
8 | * This code is licenced under the GPL version 2. For details see | ||
9 | * kernel-base/COPYING. | ||
10 | */ | ||
11 | #include <linux/module.h> | ||
12 | #include <linux/profile.h> | ||
13 | #include <linux/interrupt.h> | ||
14 | #include <linux/time.h> | ||
15 | #include <linux/timex.h> | ||
16 | #include <linux/irq.h> | ||
17 | #include <linux/clocksource.h> | ||
18 | #include <linux/clockchips.h> | ||
19 | #include <linux/cpufreq.h> | ||
20 | |||
21 | #include <asm/blackfin.h> | ||
22 | #include <asm/time.h> | ||
23 | |||
24 | #ifdef CONFIG_CYCLES_CLOCKSOURCE | ||
25 | |||
26 | /* Accelerators for sched_clock() | ||
27 | * convert from cycles(64bits) => nanoseconds (64bits) | ||
28 | * basic equation: | ||
29 | * ns = cycles / (freq / ns_per_sec) | ||
30 | * ns = cycles * (ns_per_sec / freq) | ||
31 | * ns = cycles * (10^9 / (cpu_khz * 10^3)) | ||
32 | * ns = cycles * (10^6 / cpu_khz) | ||
33 | * | ||
34 | * Then we use scaling math (suggested by george@mvista.com) to get: | ||
35 | * ns = cycles * (10^6 * SC / cpu_khz) / SC | ||
36 | * ns = cycles * cyc2ns_scale / SC | ||
37 | * | ||
38 | * And since SC is a constant power of two, we can convert the div | ||
39 | * into a shift. | ||
40 | * | ||
41 | * We can use khz divisor instead of mhz to keep a better precision, since | ||
42 | * cyc2ns_scale is limited to 10^6 * 2^10, which fits in 32 bits. | ||
43 | * (mathieu.desnoyers@polymtl.ca) | ||
44 | * | ||
45 | * -johnstul@us.ibm.com "math is hard, lets go shopping!" | ||
46 | */ | ||
47 | |||
48 | static unsigned long cyc2ns_scale; | ||
49 | #define CYC2NS_SCALE_FACTOR 10 /* 2^10, carefully chosen */ | ||
50 | |||
51 | static inline void set_cyc2ns_scale(unsigned long cpu_khz) | ||
52 | { | ||
53 | cyc2ns_scale = (1000000 << CYC2NS_SCALE_FACTOR) / cpu_khz; | ||
54 | } | ||
55 | |||
56 | static inline unsigned long long cycles_2_ns(cycle_t cyc) | ||
57 | { | ||
58 | return (cyc * cyc2ns_scale) >> CYC2NS_SCALE_FACTOR; | ||
59 | } | ||
60 | |||
61 | static cycle_t read_cycles(void) | ||
62 | { | ||
63 | return get_cycles(); | ||
64 | } | ||
65 | |||
66 | unsigned long long sched_clock(void) | ||
67 | { | ||
68 | return cycles_2_ns(read_cycles()); | ||
69 | } | ||
70 | |||
71 | static struct clocksource clocksource_bfin = { | ||
72 | .name = "bfin_cycles", | ||
73 | .rating = 350, | ||
74 | .read = read_cycles, | ||
75 | .mask = CLOCKSOURCE_MASK(64), | ||
76 | .shift = 22, | ||
77 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | ||
78 | }; | ||
79 | |||
80 | static int __init bfin_clocksource_init(void) | ||
81 | { | ||
82 | set_cyc2ns_scale(get_cclk() / 1000); | ||
83 | |||
84 | clocksource_bfin.mult = clocksource_hz2mult(get_cclk(), clocksource_bfin.shift); | ||
85 | |||
86 | if (clocksource_register(&clocksource_bfin)) | ||
87 | panic("failed to register clocksource"); | ||
88 | |||
89 | return 0; | ||
90 | } | ||
91 | |||
92 | #else | ||
93 | # define bfin_clocksource_init() | ||
94 | #endif | ||
95 | |||
96 | static int bfin_timer_set_next_event(unsigned long cycles, | ||
97 | struct clock_event_device *evt) | ||
98 | { | ||
99 | bfin_write_TCOUNT(cycles); | ||
100 | CSYNC(); | ||
101 | return 0; | ||
102 | } | ||
103 | |||
104 | static void bfin_timer_set_mode(enum clock_event_mode mode, | ||
105 | struct clock_event_device *evt) | ||
106 | { | ||
107 | switch (mode) { | ||
108 | case CLOCK_EVT_MODE_PERIODIC: { | ||
109 | unsigned long tcount = ((get_cclk() / (HZ * TIME_SCALE)) - 1); | ||
110 | bfin_write_TCNTL(TMPWR); | ||
111 | bfin_write_TSCALE(TIME_SCALE - 1); | ||
112 | CSYNC(); | ||
113 | bfin_write_TPERIOD(tcount); | ||
114 | bfin_write_TCOUNT(tcount); | ||
115 | bfin_write_TCNTL(TMPWR | TMREN | TAUTORLD); | ||
116 | CSYNC(); | ||
117 | break; | ||
118 | } | ||
119 | case CLOCK_EVT_MODE_ONESHOT: | ||
120 | bfin_write_TSCALE(0); | ||
121 | bfin_write_TCOUNT(0); | ||
122 | bfin_write_TCNTL(TMPWR | TMREN); | ||
123 | CSYNC(); | ||
124 | break; | ||
125 | case CLOCK_EVT_MODE_UNUSED: | ||
126 | case CLOCK_EVT_MODE_SHUTDOWN: | ||
127 | bfin_write_TCNTL(0); | ||
128 | CSYNC(); | ||
129 | break; | ||
130 | case CLOCK_EVT_MODE_RESUME: | ||
131 | break; | ||
132 | } | ||
133 | } | ||
134 | |||
135 | static void __init bfin_timer_init(void) | ||
136 | { | ||
137 | /* power up the timer, but don't enable it just yet */ | ||
138 | bfin_write_TCNTL(TMPWR); | ||
139 | CSYNC(); | ||
140 | |||
141 | /* | ||
142 | * the TSCALE prescaler counter. | ||
143 | */ | ||
144 | bfin_write_TSCALE(TIME_SCALE - 1); | ||
145 | bfin_write_TPERIOD(0); | ||
146 | bfin_write_TCOUNT(0); | ||
147 | |||
148 | /* now enable the timer */ | ||
149 | CSYNC(); | ||
150 | } | ||
151 | |||
152 | /* | ||
153 | * timer_interrupt() needs to keep up the real-time clock, | ||
154 | * as well as call the "do_timer()" routine every clocktick | ||
155 | */ | ||
156 | #ifdef CONFIG_CORE_TIMER_IRQ_L1 | ||
157 | __attribute__((l1_text)) | ||
158 | #endif | ||
159 | irqreturn_t timer_interrupt(int irq, void *dev_id); | ||
160 | |||
161 | static struct clock_event_device clockevent_bfin = { | ||
162 | .name = "bfin_core_timer", | ||
163 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | ||
164 | .shift = 32, | ||
165 | .cpumask = CPU_MASK_CPU0, | ||
166 | .set_next_event = bfin_timer_set_next_event, | ||
167 | .set_mode = bfin_timer_set_mode, | ||
168 | }; | ||
169 | |||
170 | static struct irqaction bfin_timer_irq = { | ||
171 | .name = "Blackfin Core Timer", | ||
172 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, | ||
173 | .handler = timer_interrupt, | ||
174 | .dev_id = &clockevent_bfin, | ||
175 | }; | ||
176 | |||
177 | irqreturn_t timer_interrupt(int irq, void *dev_id) | ||
178 | { | ||
179 | struct clock_event_device *evt = dev_id; | ||
180 | evt->event_handler(evt); | ||
181 | return IRQ_HANDLED; | ||
182 | } | ||
183 | |||
184 | static int __init bfin_clockevent_init(void) | ||
185 | { | ||
186 | setup_irq(IRQ_CORETMR, &bfin_timer_irq); | ||
187 | bfin_timer_init(); | ||
188 | |||
189 | clockevent_bfin.mult = div_sc(get_cclk(), NSEC_PER_SEC, clockevent_bfin.shift); | ||
190 | clockevent_bfin.max_delta_ns = clockevent_delta2ns(-1, &clockevent_bfin); | ||
191 | clockevent_bfin.min_delta_ns = clockevent_delta2ns(100, &clockevent_bfin); | ||
192 | clockevents_register_device(&clockevent_bfin); | ||
193 | |||
194 | return 0; | ||
195 | } | ||
196 | |||
197 | void __init time_init(void) | ||
198 | { | ||
199 | time_t secs_since_1970 = (365 * 37 + 9) * 24 * 60 * 60; /* 1 Jan 2007 */ | ||
200 | |||
201 | #ifdef CONFIG_RTC_DRV_BFIN | ||
202 | /* [#2663] hack to filter junk RTC values that would cause | ||
203 | * userspace to have to deal with time values greater than | ||
204 | * 2^31 seconds (which uClibc cannot cope with yet) | ||
205 | */ | ||
206 | if ((bfin_read_RTC_STAT() & 0xC0000000) == 0xC0000000) { | ||
207 | printk(KERN_NOTICE "bfin-rtc: invalid date; resetting\n"); | ||
208 | bfin_write_RTC_STAT(0); | ||
209 | } | ||
210 | #endif | ||
211 | |||
212 | /* Initialize xtime. From now on, xtime is updated with timer interrupts */ | ||
213 | xtime.tv_sec = secs_since_1970; | ||
214 | xtime.tv_nsec = 0; | ||
215 | set_normalized_timespec(&wall_to_monotonic, -xtime.tv_sec, -xtime.tv_nsec); | ||
216 | |||
217 | bfin_clocksource_init(); | ||
218 | bfin_clockevent_init(); | ||
219 | } | ||
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c index 715b3945e4c7..eb2352320454 100644 --- a/arch/blackfin/kernel/time.c +++ b/arch/blackfin/kernel/time.c | |||
@@ -6,9 +6,10 @@ | |||
6 | * Created: | 6 | * Created: |
7 | * Description: This file contains the bfin-specific time handling details. | 7 | * Description: This file contains the bfin-specific time handling details. |
8 | * Most of the stuff is located in the machine specific files. | 8 | * Most of the stuff is located in the machine specific files. |
9 | * FIXME: (This file is subject for removal) | ||
9 | * | 10 | * |
10 | * Modified: | 11 | * Modified: |
11 | * Copyright 2004-2006 Analog Devices Inc. | 12 | * Copyright 2004-2008 Analog Devices Inc. |
12 | * | 13 | * |
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
14 | * | 15 | * |
@@ -35,6 +36,7 @@ | |||
35 | #include <linux/irq.h> | 36 | #include <linux/irq.h> |
36 | 37 | ||
37 | #include <asm/blackfin.h> | 38 | #include <asm/blackfin.h> |
39 | #include <asm/time.h> | ||
38 | 40 | ||
39 | /* This is an NTP setting */ | 41 | /* This is an NTP setting */ |
40 | #define TICK_SIZE (tick_nsec / 1000) | 42 | #define TICK_SIZE (tick_nsec / 1000) |
@@ -47,21 +49,6 @@ static struct irqaction bfin_timer_irq = { | |||
47 | .flags = IRQF_DISABLED | 49 | .flags = IRQF_DISABLED |
48 | }; | 50 | }; |
49 | 51 | ||
50 | /* | ||
51 | * The way that the Blackfin core timer works is: | ||
52 | * - CCLK is divided by a programmable 8-bit pre-scaler (TSCALE) | ||
53 | * - Every time TSCALE ticks, a 32bit is counted down (TCOUNT) | ||
54 | * | ||
55 | * If you take the fastest clock (1ns, or 1GHz to make the math work easier) | ||
56 | * 10ms is 10,000,000 clock ticks, which fits easy into a 32-bit counter | ||
57 | * (32 bit counter is 4,294,967,296ns or 4.2 seconds) so, we don't need | ||
58 | * to use TSCALE, and program it to zero (which is pass CCLK through). | ||
59 | * If you feel like using it, try to keep HZ * TIMESCALE to some | ||
60 | * value that divides easy (like power of 2). | ||
61 | */ | ||
62 | |||
63 | #define TIME_SCALE 1 | ||
64 | |||
65 | static void | 52 | static void |
66 | time_sched_init(irq_handler_t timer_routine) | 53 | time_sched_init(irq_handler_t timer_routine) |
67 | { | 54 | { |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 56a67ab698c7..5b847070dae5 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -67,6 +67,8 @@ void __init trap_init(void) | |||
67 | CSYNC(); | 67 | CSYNC(); |
68 | } | 68 | } |
69 | 69 | ||
70 | void *saved_icplb_fault_addr, *saved_dcplb_fault_addr; | ||
71 | |||
70 | int kstack_depth_to_print = 48; | 72 | int kstack_depth_to_print = 48; |
71 | 73 | ||
72 | static void decode_address(char *buf, unsigned long address) | 74 | static void decode_address(char *buf, unsigned long address) |
@@ -75,7 +77,7 @@ static void decode_address(char *buf, unsigned long address) | |||
75 | struct task_struct *p; | 77 | struct task_struct *p; |
76 | struct mm_struct *mm; | 78 | struct mm_struct *mm; |
77 | unsigned long flags, offset; | 79 | unsigned long flags, offset; |
78 | unsigned int in_exception = bfin_read_IPEND() & 0x10; | 80 | unsigned char in_atomic = (bfin_read_IPEND() & 0x10) || in_atomic(); |
79 | 81 | ||
80 | #ifdef CONFIG_KALLSYMS | 82 | #ifdef CONFIG_KALLSYMS |
81 | unsigned long symsize; | 83 | unsigned long symsize; |
@@ -117,7 +119,7 @@ static void decode_address(char *buf, unsigned long address) | |||
117 | */ | 119 | */ |
118 | write_lock_irqsave(&tasklist_lock, flags); | 120 | write_lock_irqsave(&tasklist_lock, flags); |
119 | for_each_process(p) { | 121 | for_each_process(p) { |
120 | mm = (in_exception ? p->mm : get_task_mm(p)); | 122 | mm = (in_atomic ? p->mm : get_task_mm(p)); |
121 | if (!mm) | 123 | if (!mm) |
122 | continue; | 124 | continue; |
123 | 125 | ||
@@ -137,23 +139,36 @@ static void decode_address(char *buf, unsigned long address) | |||
137 | /* FLAT does not have its text aligned to the start of | 139 | /* FLAT does not have its text aligned to the start of |
138 | * the map while FDPIC ELF does ... | 140 | * the map while FDPIC ELF does ... |
139 | */ | 141 | */ |
140 | if (current->mm && | 142 | |
141 | (address > current->mm->start_code) && | 143 | /* before we can check flat/fdpic, we need to |
142 | (address < current->mm->end_code)) | 144 | * make sure current is valid |
143 | offset = address - current->mm->start_code; | 145 | */ |
144 | else | 146 | if ((unsigned long)current >= FIXED_CODE_START && |
145 | offset = (address - vma->vm_start) + (vma->vm_pgoff << PAGE_SHIFT); | 147 | !((unsigned long)current & 0x3)) { |
146 | 148 | if (current->mm && | |
147 | sprintf(buf, "<0x%p> [ %s + 0x%lx ]", | 149 | (address > current->mm->start_code) && |
148 | (void *)address, name, offset); | 150 | (address < current->mm->end_code)) |
149 | if (!in_exception) | 151 | offset = address - current->mm->start_code; |
152 | else | ||
153 | offset = (address - vma->vm_start) + | ||
154 | (vma->vm_pgoff << PAGE_SHIFT); | ||
155 | |||
156 | sprintf(buf, "<0x%p> [ %s + 0x%lx ]", | ||
157 | (void *)address, name, offset); | ||
158 | } else | ||
159 | sprintf(buf, "<0x%p> [ %s vma:0x%lx-0x%lx]", | ||
160 | (void *)address, name, | ||
161 | vma->vm_start, vma->vm_end); | ||
162 | |||
163 | if (!in_atomic) | ||
150 | mmput(mm); | 164 | mmput(mm); |
165 | |||
151 | goto done; | 166 | goto done; |
152 | } | 167 | } |
153 | 168 | ||
154 | vml = vml->next; | 169 | vml = vml->next; |
155 | } | 170 | } |
156 | if (!in_exception) | 171 | if (!in_atomic) |
157 | mmput(mm); | 172 | mmput(mm); |
158 | } | 173 | } |
159 | 174 | ||
@@ -506,7 +521,7 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
506 | 521 | ||
507 | info.si_signo = sig; | 522 | info.si_signo = sig; |
508 | info.si_errno = 0; | 523 | info.si_errno = 0; |
509 | info.si_addr = (void *)fp->pc; | 524 | info.si_addr = (void __user *)fp->pc; |
510 | force_sig_info(sig, &info, current); | 525 | force_sig_info(sig, &info, current); |
511 | 526 | ||
512 | trace_buffer_restore(j); | 527 | trace_buffer_restore(j); |
@@ -655,21 +670,31 @@ void dump_bfin_process(struct pt_regs *fp) | |||
655 | else if (context & 0x8000) | 670 | else if (context & 0x8000) |
656 | printk(KERN_NOTICE "Kernel process context\n"); | 671 | printk(KERN_NOTICE "Kernel process context\n"); |
657 | 672 | ||
658 | if (current->pid && current->mm) { | 673 | /* Because we are crashing, and pointers could be bad, we check things |
674 | * pretty closely before we use them | ||
675 | */ | ||
676 | if ((unsigned long)current >= FIXED_CODE_START && | ||
677 | !((unsigned long)current & 0x3) && current->pid) { | ||
659 | printk(KERN_NOTICE "CURRENT PROCESS:\n"); | 678 | printk(KERN_NOTICE "CURRENT PROCESS:\n"); |
660 | printk(KERN_NOTICE "COMM=%s PID=%d\n", | 679 | if (current->comm >= (char *)FIXED_CODE_START) |
661 | current->comm, current->pid); | 680 | printk(KERN_NOTICE "COMM=%s PID=%d\n", |
662 | 681 | current->comm, current->pid); | |
663 | printk(KERN_NOTICE "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" | 682 | else |
664 | KERN_NOTICE "BSS = 0x%p-0x%p USER-STACK = 0x%p\n" | 683 | printk(KERN_NOTICE "COMM= invalid\n"); |
665 | KERN_NOTICE "\n", | 684 | |
666 | (void *)current->mm->start_code, | 685 | if (!((unsigned long)current->mm & 0x3) && (unsigned long)current->mm >= FIXED_CODE_START) |
667 | (void *)current->mm->end_code, | 686 | printk(KERN_NOTICE "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" |
668 | (void *)current->mm->start_data, | 687 | KERN_NOTICE " BSS = 0x%p-0x%p USER-STACK = 0x%p\n" |
669 | (void *)current->mm->end_data, | 688 | KERN_NOTICE "\n", |
670 | (void *)current->mm->end_data, | 689 | (void *)current->mm->start_code, |
671 | (void *)current->mm->brk, | 690 | (void *)current->mm->end_code, |
672 | (void *)current->mm->start_stack); | 691 | (void *)current->mm->start_data, |
692 | (void *)current->mm->end_data, | ||
693 | (void *)current->mm->end_data, | ||
694 | (void *)current->mm->brk, | ||
695 | (void *)current->mm->start_stack); | ||
696 | else | ||
697 | printk(KERN_NOTICE "invalid mm\n"); | ||
673 | } else | 698 | } else |
674 | printk(KERN_NOTICE "\n" KERN_NOTICE | 699 | printk(KERN_NOTICE "\n" KERN_NOTICE |
675 | "No Valid process in current context\n"); | 700 | "No Valid process in current context\n"); |
@@ -680,10 +705,7 @@ void dump_bfin_mem(struct pt_regs *fp) | |||
680 | unsigned short *addr, *erraddr, val = 0, err = 0; | 705 | unsigned short *addr, *erraddr, val = 0, err = 0; |
681 | char sti = 0, buf[6]; | 706 | char sti = 0, buf[6]; |
682 | 707 | ||
683 | if (unlikely((fp->seqstat & SEQSTAT_EXCAUSE) == VEC_HWERR)) | 708 | erraddr = (void *)fp->pc; |
684 | erraddr = (void *)fp->pc; | ||
685 | else | ||
686 | erraddr = (void *)fp->retx; | ||
687 | 709 | ||
688 | printk(KERN_NOTICE "return address: [0x%p]; contents of:", erraddr); | 710 | printk(KERN_NOTICE "return address: [0x%p]; contents of:", erraddr); |
689 | 711 | ||
@@ -807,9 +829,9 @@ unlock: | |||
807 | 829 | ||
808 | if (((long)fp->seqstat & SEQSTAT_EXCAUSE) && | 830 | if (((long)fp->seqstat & SEQSTAT_EXCAUSE) && |
809 | (((long)fp->seqstat & SEQSTAT_EXCAUSE) != VEC_HWERR)) { | 831 | (((long)fp->seqstat & SEQSTAT_EXCAUSE) != VEC_HWERR)) { |
810 | decode_address(buf, bfin_read_DCPLB_FAULT_ADDR()); | 832 | decode_address(buf, saved_dcplb_fault_addr); |
811 | printk(KERN_NOTICE "DCPLB_FAULT_ADDR: %s\n", buf); | 833 | printk(KERN_NOTICE "DCPLB_FAULT_ADDR: %s\n", buf); |
812 | decode_address(buf, bfin_read_ICPLB_FAULT_ADDR()); | 834 | decode_address(buf, saved_icplb_fault_addr); |
813 | printk(KERN_NOTICE "ICPLB_FAULT_ADDR: %s\n", buf); | 835 | printk(KERN_NOTICE "ICPLB_FAULT_ADDR: %s\n", buf); |
814 | } | 836 | } |
815 | 837 | ||
@@ -917,8 +939,8 @@ void panic_cplb_error(int cplb_panic, struct pt_regs *fp) | |||
917 | 939 | ||
918 | oops_in_progress = 1; | 940 | oops_in_progress = 1; |
919 | 941 | ||
920 | printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void *)bfin_read_DCPLB_FAULT_ADDR()); | 942 | printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", saved_dcplb_fault_addr); |
921 | printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void *)bfin_read_ICPLB_FAULT_ADDR()); | 943 | printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", saved_icplb_fault_addr); |
922 | dump_bfin_process(fp); | 944 | dump_bfin_process(fp); |
923 | dump_bfin_mem(fp); | 945 | dump_bfin_mem(fp); |
924 | show_regs(fp); | 946 | show_regs(fp); |
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index cb01a9de2680..3ecc64cab3be 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -56,6 +56,10 @@ SECTIONS | |||
56 | *(.text.*) | 56 | *(.text.*) |
57 | *(.fixup) | 57 | *(.fixup) |
58 | 58 | ||
59 | #if !L1_CODE_LENGTH | ||
60 | *(.l1.text) | ||
61 | #endif | ||
62 | |||
59 | . = ALIGN(16); | 63 | . = ALIGN(16); |
60 | ___start___ex_table = .; | 64 | ___start___ex_table = .; |
61 | *(__ex_table) | 65 | *(__ex_table) |
@@ -73,6 +77,12 @@ SECTIONS | |||
73 | ___bss_start = .; | 77 | ___bss_start = .; |
74 | *(.bss .bss.*) | 78 | *(.bss .bss.*) |
75 | *(COMMON) | 79 | *(COMMON) |
80 | #if !L1_DATA_A_LENGTH | ||
81 | *(.l1.bss) | ||
82 | #endif | ||
83 | #if !L1_DATA_B_LENGTH | ||
84 | *(.l1.bss.B) | ||
85 | #endif | ||
76 | ___bss_stop = .; | 86 | ___bss_stop = .; |
77 | } | 87 | } |
78 | 88 | ||
@@ -83,6 +93,15 @@ SECTIONS | |||
83 | . = ALIGN(32); | 93 | . = ALIGN(32); |
84 | *(.data.cacheline_aligned) | 94 | *(.data.cacheline_aligned) |
85 | 95 | ||
96 | #if !L1_DATA_A_LENGTH | ||
97 | . = ALIGN(32); | ||
98 | *(.data_l1.cacheline_aligned) | ||
99 | *(.l1.data) | ||
100 | #endif | ||
101 | #if !L1_DATA_B_LENGTH | ||
102 | *(.l1.data.B) | ||
103 | #endif | ||
104 | |||
86 | DATA_DATA | 105 | DATA_DATA |
87 | *(.data.*) | 106 | *(.data.*) |
88 | CONSTRUCTORS | 107 | CONSTRUCTORS |
@@ -147,64 +166,43 @@ SECTIONS | |||
147 | 166 | ||
148 | __l1_lma_start = .; | 167 | __l1_lma_start = .; |
149 | 168 | ||
150 | #if L1_CODE_LENGTH | ||
151 | # define LDS_L1_CODE *(.l1.text) | ||
152 | #else | ||
153 | # define LDS_L1_CODE | ||
154 | #endif | ||
155 | .text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) | 169 | .text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) |
156 | { | 170 | { |
157 | . = ALIGN(4); | 171 | . = ALIGN(4); |
158 | __stext_l1 = .; | 172 | __stext_l1 = .; |
159 | LDS_L1_CODE | 173 | *(.l1.text) |
160 | . = ALIGN(4); | 174 | . = ALIGN(4); |
161 | __etext_l1 = .; | 175 | __etext_l1 = .; |
162 | } | 176 | } |
163 | 177 | ||
164 | #if L1_DATA_A_LENGTH | ||
165 | # define LDS_L1_A_DATA *(.l1.data) | ||
166 | # define LDS_L1_A_BSS *(.l1.bss) | ||
167 | # define LDS_L1_A_CACHE *(.data_l1.cacheline_aligned) | ||
168 | #else | ||
169 | # define LDS_L1_A_DATA | ||
170 | # define LDS_L1_A_BSS | ||
171 | # define LDS_L1_A_CACHE | ||
172 | #endif | ||
173 | .data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1)) | 178 | .data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1)) |
174 | { | 179 | { |
175 | . = ALIGN(4); | 180 | . = ALIGN(4); |
176 | __sdata_l1 = .; | 181 | __sdata_l1 = .; |
177 | LDS_L1_A_DATA | 182 | *(.l1.data) |
178 | __edata_l1 = .; | 183 | __edata_l1 = .; |
179 | 184 | ||
180 | . = ALIGN(4); | 185 | . = ALIGN(4); |
181 | __sbss_l1 = .; | 186 | __sbss_l1 = .; |
182 | LDS_L1_A_BSS | 187 | *(.l1.bss) |
183 | 188 | ||
184 | . = ALIGN(32); | 189 | . = ALIGN(32); |
185 | LDS_L1_A_CACHE | 190 | *(.data_l1.cacheline_aligned) |
186 | 191 | ||
187 | . = ALIGN(4); | 192 | . = ALIGN(4); |
188 | __ebss_l1 = .; | 193 | __ebss_l1 = .; |
189 | } | 194 | } |
190 | 195 | ||
191 | #if L1_DATA_B_LENGTH | ||
192 | # define LDS_L1_B_DATA *(.l1.data.B) | ||
193 | # define LDS_L1_B_BSS *(.l1.bss.B) | ||
194 | #else | ||
195 | # define LDS_L1_B_DATA | ||
196 | # define LDS_L1_B_BSS | ||
197 | #endif | ||
198 | .data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1)) | 196 | .data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1)) |
199 | { | 197 | { |
200 | . = ALIGN(4); | 198 | . = ALIGN(4); |
201 | __sdata_b_l1 = .; | 199 | __sdata_b_l1 = .; |
202 | LDS_L1_B_DATA | 200 | *(.l1.data.B) |
203 | __edata_b_l1 = .; | 201 | __edata_b_l1 = .; |
204 | 202 | ||
205 | . = ALIGN(4); | 203 | . = ALIGN(4); |
206 | __sbss_b_l1 = .; | 204 | __sbss_b_l1 = .; |
207 | LDS_L1_B_BSS | 205 | *(.l1.bss.B) |
208 | 206 | ||
209 | . = ALIGN(4); | 207 | . = ALIGN(4); |
210 | __ebss_b_l1 = .; | 208 | __ebss_b_l1 = .; |
@@ -223,8 +221,6 @@ SECTIONS | |||
223 | 221 | ||
224 | DWARF_DEBUG | 222 | DWARF_DEBUG |
225 | 223 | ||
226 | NOTES | ||
227 | |||
228 | /DISCARD/ : | 224 | /DISCARD/ : |
229 | { | 225 | { |
230 | EXIT_TEXT | 226 | EXIT_TEXT |
diff --git a/arch/blackfin/mach-bf527/Makefile b/arch/blackfin/mach-bf527/Makefile index 9f99f5d0bcd1..4eddb580319c 100644 --- a/arch/blackfin/mach-bf527/Makefile +++ b/arch/blackfin/mach-bf527/Makefile | |||
@@ -5,5 +5,3 @@ | |||
5 | extra-y := head.o | 5 | extra-y := head.o |
6 | 6 | ||
7 | obj-y := ints-priority.o dma.o | 7 | obj-y := ints-priority.o dma.o |
8 | |||
9 | obj-$(CONFIG_CPU_FREQ) += cpu.o | ||
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index cf4bc0d83355..583d53811f03 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -94,7 +94,7 @@ int __init bfin_isp1761_init(void) | |||
94 | { | 94 | { |
95 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | 95 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); |
96 | 96 | ||
97 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 97 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
98 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | 98 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); |
99 | 99 | ||
100 | return platform_add_devices(bfin_isp1761_devices, num_devices); | 100 | return platform_add_devices(bfin_isp1761_devices, num_devices); |
@@ -416,7 +416,7 @@ static struct platform_device net2272_bfin_device = { | |||
416 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 416 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
417 | { | 417 | { |
418 | .name = "bootloader", | 418 | .name = "bootloader", |
419 | .size = 0x00020000, | 419 | .size = 0x00040000, |
420 | .offset = 0, | 420 | .offset = 0, |
421 | .mask_flags = MTD_CAP_ROM | 421 | .mask_flags = MTD_CAP_ROM |
422 | }, { | 422 | }, { |
@@ -707,6 +707,32 @@ static struct platform_device bfin_uart_device = { | |||
707 | }; | 707 | }; |
708 | #endif | 708 | #endif |
709 | 709 | ||
710 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
711 | static struct resource bfin_sir_resources[] = { | ||
712 | #ifdef CONFIG_BFIN_SIR0 | ||
713 | { | ||
714 | .start = 0xFFC00400, | ||
715 | .end = 0xFFC004FF, | ||
716 | .flags = IORESOURCE_MEM, | ||
717 | }, | ||
718 | #endif | ||
719 | #ifdef CONFIG_BFIN_SIR1 | ||
720 | { | ||
721 | .start = 0xFFC02000, | ||
722 | .end = 0xFFC020FF, | ||
723 | .flags = IORESOURCE_MEM, | ||
724 | }, | ||
725 | #endif | ||
726 | }; | ||
727 | |||
728 | static struct platform_device bfin_sir_device = { | ||
729 | .name = "bfin_sir", | ||
730 | .id = 0, | ||
731 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
732 | .resource = bfin_sir_resources, | ||
733 | }; | ||
734 | #endif | ||
735 | |||
710 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 736 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
711 | static struct resource bfin_twi0_resource[] = { | 737 | static struct resource bfin_twi0_resource[] = { |
712 | [0] = { | 738 | [0] = { |
@@ -874,6 +900,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
874 | &bfin_uart_device, | 900 | &bfin_uart_device, |
875 | #endif | 901 | #endif |
876 | 902 | ||
903 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
904 | &bfin_sir_device, | ||
905 | #endif | ||
906 | |||
877 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 907 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
878 | &i2c_bfin_twi_device, | 908 | &i2c_bfin_twi_device, |
879 | #endif | 909 | #endif |
@@ -896,7 +926,7 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
896 | 926 | ||
897 | static int __init stamp_init(void) | 927 | static int __init stamp_init(void) |
898 | { | 928 | { |
899 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 929 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
900 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 930 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
901 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 931 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
902 | spi_register_board_info(bfin_spi_board_info, | 932 | spi_register_board_info(bfin_spi_board_info, |
diff --git a/arch/blackfin/mach-bf527/cpu.c b/arch/blackfin/mach-bf527/cpu.c deleted file mode 100644 index 1975402b1dbc..000000000000 --- a/arch/blackfin/mach-bf527/cpu.c +++ /dev/null | |||
@@ -1,161 +0,0 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf527/cpu.c | ||
3 | * Based on: arch/blackfin/mach-bf537/cpu.c | ||
4 | * Author: michael.kang@analog.com | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: clock scaling for the bf527 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/init.h> | ||
33 | #include <linux/cpufreq.h> | ||
34 | #include <asm/dpmc.h> | ||
35 | #include <linux/fs.h> | ||
36 | #include <asm/bfin-global.h> | ||
37 | |||
38 | /* CONFIG_CLKIN_HZ=11059200 */ | ||
39 | #define VCO5 (CONFIG_CLKIN_HZ*45) /*497664000 */ | ||
40 | #define VCO4 (CONFIG_CLKIN_HZ*36) /*398131200 */ | ||
41 | #define VCO3 (CONFIG_CLKIN_HZ*27) /*298598400 */ | ||
42 | #define VCO2 (CONFIG_CLKIN_HZ*18) /*199065600 */ | ||
43 | #define VCO1 (CONFIG_CLKIN_HZ*9) /*99532800 */ | ||
44 | #define VCO(x) VCO##x | ||
45 | |||
46 | #define MFREQ(x) {VCO(x), VCO(x)/4}, {VCO(x), VCO(x)/2}, {VCO(x), VCO(x)} | ||
47 | /* frequency */ | ||
48 | static struct cpufreq_frequency_table bf527_freq_table[] = { | ||
49 | MFREQ(1), | ||
50 | MFREQ(3), | ||
51 | {VCO4, VCO4 / 2}, {VCO4, VCO4}, | ||
52 | MFREQ(5), | ||
53 | {0, CPUFREQ_TABLE_END}, | ||
54 | }; | ||
55 | |||
56 | /* | ||
57 | * dpmc_fops->ioctl() | ||
58 | * static int dpmc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) | ||
59 | */ | ||
60 | static int bf527_getfreq(unsigned int cpu) | ||
61 | { | ||
62 | unsigned long cclk_mhz; | ||
63 | |||
64 | /* The driver only support single cpu */ | ||
65 | if (cpu == 0) | ||
66 | dpmc_fops.ioctl(NULL, NULL, IOCTL_GET_CORECLOCK, &cclk_mhz); | ||
67 | else | ||
68 | cclk_mhz = -1; | ||
69 | |||
70 | return cclk_mhz; | ||
71 | } | ||
72 | |||
73 | static int bf527_target(struct cpufreq_policy *policy, | ||
74 | unsigned int target_freq, unsigned int relation) | ||
75 | { | ||
76 | unsigned long cclk_mhz; | ||
77 | unsigned long vco_mhz; | ||
78 | unsigned long flags; | ||
79 | unsigned int index; | ||
80 | struct cpufreq_freqs freqs; | ||
81 | |||
82 | if (cpufreq_frequency_table_target | ||
83 | (policy, bf527_freq_table, target_freq, relation, &index)) | ||
84 | return -EINVAL; | ||
85 | |||
86 | cclk_mhz = bf527_freq_table[index].frequency; | ||
87 | vco_mhz = bf527_freq_table[index].index; | ||
88 | |||
89 | dpmc_fops.ioctl(NULL, NULL, IOCTL_CHANGE_FREQUENCY, &vco_mhz); | ||
90 | freqs.old = bf527_getfreq(0); | ||
91 | freqs.new = cclk_mhz; | ||
92 | freqs.cpu = 0; | ||
93 | |||
94 | pr_debug | ||
95 | ("cclk begin change to cclk %d,vco=%d,index=%d,target=%d,oldfreq=%d\n", | ||
96 | cclk_mhz, vco_mhz, index, target_freq, freqs.old); | ||
97 | |||
98 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
99 | local_irq_save(flags); | ||
100 | dpmc_fops.ioctl(NULL, NULL, IOCTL_SET_CCLK, &cclk_mhz); | ||
101 | local_irq_restore(flags); | ||
102 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
103 | |||
104 | vco_mhz = get_vco(); | ||
105 | cclk_mhz = get_cclk(); | ||
106 | return 0; | ||
107 | } | ||
108 | |||
109 | /* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on | ||
110 | * this platform, anyway. | ||
111 | */ | ||
112 | static int bf527_verify_speed(struct cpufreq_policy *policy) | ||
113 | { | ||
114 | return cpufreq_frequency_table_verify(policy, &bf527_freq_table); | ||
115 | } | ||
116 | |||
117 | static int __init __bf527_cpu_init(struct cpufreq_policy *policy) | ||
118 | { | ||
119 | if (policy->cpu != 0) | ||
120 | return -EINVAL; | ||
121 | |||
122 | policy->governor = CPUFREQ_DEFAULT_GOVERNOR; | ||
123 | |||
124 | policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; | ||
125 | /*Now ,only support one cpu */ | ||
126 | policy->cur = bf527_getfreq(0); | ||
127 | cpufreq_frequency_table_get_attr(bf527_freq_table, policy->cpu); | ||
128 | return cpufreq_frequency_table_cpuinfo(policy, bf527_freq_table); | ||
129 | } | ||
130 | |||
131 | static struct freq_attr *bf527_freq_attr[] = { | ||
132 | &cpufreq_freq_attr_scaling_available_freqs, | ||
133 | NULL, | ||
134 | }; | ||
135 | |||
136 | static struct cpufreq_driver bf527_driver = { | ||
137 | .verify = bf527_verify_speed, | ||
138 | .target = bf527_target, | ||
139 | .get = bf527_getfreq, | ||
140 | .init = __bf527_cpu_init, | ||
141 | .name = "bf527", | ||
142 | .owner = THIS_MODULE, | ||
143 | .attr = bf527_freq_attr, | ||
144 | }; | ||
145 | |||
146 | static int __init bf527_cpu_init(void) | ||
147 | { | ||
148 | return cpufreq_register_driver(&bf527_driver); | ||
149 | } | ||
150 | |||
151 | static void __exit bf527_cpu_exit(void) | ||
152 | { | ||
153 | cpufreq_unregister_driver(&bf527_driver); | ||
154 | } | ||
155 | |||
156 | MODULE_AUTHOR("Mickael Kang"); | ||
157 | MODULE_DESCRIPTION("cpufreq driver for bf527 CPU"); | ||
158 | MODULE_LICENSE("GPL"); | ||
159 | |||
160 | module_init(bf527_cpu_init); | ||
161 | module_exit(bf527_cpu_exit); | ||
diff --git a/arch/blackfin/mach-bf527/dma.c b/arch/blackfin/mach-bf527/dma.c index 522de24cc394..dfd080cda787 100644 --- a/arch/blackfin/mach-bf527/dma.c +++ b/arch/blackfin/mach-bf527/dma.c | |||
@@ -26,10 +26,12 @@ | |||
26 | * to the Free Software Foundation, Inc., | 26 | * to the Free Software Foundation, Inc., |
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
28 | */ | 28 | */ |
29 | #include <linux/module.h> | ||
30 | |||
29 | #include <asm/blackfin.h> | 31 | #include <asm/blackfin.h> |
30 | #include <asm/dma.h> | 32 | #include <asm/dma.h> |
31 | 33 | ||
32 | struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | 34 | struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { |
33 | (struct dma_register *) DMA0_NEXT_DESC_PTR, | 35 | (struct dma_register *) DMA0_NEXT_DESC_PTR, |
34 | (struct dma_register *) DMA1_NEXT_DESC_PTR, | 36 | (struct dma_register *) DMA1_NEXT_DESC_PTR, |
35 | (struct dma_register *) DMA2_NEXT_DESC_PTR, | 37 | (struct dma_register *) DMA2_NEXT_DESC_PTR, |
@@ -47,6 +49,7 @@ struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | |||
47 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, | 49 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, |
48 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, | 50 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, |
49 | }; | 51 | }; |
52 | EXPORT_SYMBOL(dma_io_base_addr); | ||
50 | 53 | ||
51 | int channel2irq(unsigned int channel) | 54 | int channel2irq(unsigned int channel) |
52 | { | 55 | { |
diff --git a/arch/blackfin/mach-bf527/head.S b/arch/blackfin/mach-bf527/head.S index cdb00a084965..57bdb3ba2fed 100644 --- a/arch/blackfin/mach-bf527/head.S +++ b/arch/blackfin/mach-bf527/head.S | |||
@@ -37,9 +37,6 @@ | |||
37 | #include <asm/mach/mem_init.h> | 37 | #include <asm/mach/mem_init.h> |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | .global __rambase | ||
41 | .global __ramstart | ||
42 | .global __ramend | ||
43 | .extern ___bss_stop | 40 | .extern ___bss_stop |
44 | .extern ___bss_start | 41 | .extern ___bss_start |
45 | .extern _bf53x_relocate_l1_mem | 42 | .extern _bf53x_relocate_l1_mem |
@@ -439,18 +436,3 @@ ENTRY(_start_dma_code) | |||
439 | RTS; | 436 | RTS; |
440 | ENDPROC(_start_dma_code) | 437 | ENDPROC(_start_dma_code) |
441 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 438 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
442 | |||
443 | .data | ||
444 | |||
445 | /* | ||
446 | * Set up the usable of RAM stuff. Size of RAM is determined then | ||
447 | * an initial stack set up at the end. | ||
448 | */ | ||
449 | |||
450 | .align 4 | ||
451 | __rambase: | ||
452 | .long 0 | ||
453 | __ramstart: | ||
454 | .long 0 | ||
455 | __ramend: | ||
456 | .long 0 | ||
diff --git a/arch/blackfin/mach-bf533/Makefile b/arch/blackfin/mach-bf533/Makefile index 8cce1736360d..aa9f2647ee0c 100644 --- a/arch/blackfin/mach-bf533/Makefile +++ b/arch/blackfin/mach-bf533/Makefile | |||
@@ -5,5 +5,3 @@ | |||
5 | extra-y := head.o | 5 | extra-y := head.o |
6 | 6 | ||
7 | obj-y := ints-priority.o dma.o | 7 | obj-y := ints-priority.o dma.o |
8 | |||
9 | obj-$(CONFIG_CPU_FREQ) += cpu.o | ||
diff --git a/arch/blackfin/mach-bf533/boards/H8606.c b/arch/blackfin/mach-bf533/boards/H8606.c index 97378b0a9753..7cc4864f6aaf 100644 --- a/arch/blackfin/mach-bf533/boards/H8606.c +++ b/arch/blackfin/mach-bf533/boards/H8606.c | |||
@@ -304,6 +304,25 @@ static struct platform_device bfin_uart_device = { | |||
304 | }; | 304 | }; |
305 | #endif | 305 | #endif |
306 | 306 | ||
307 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
308 | static struct resource bfin_sir_resources[] = { | ||
309 | #ifdef CONFIG_BFIN_SIR0 | ||
310 | { | ||
311 | .start = 0xFFC00400, | ||
312 | .end = 0xFFC004FF, | ||
313 | .flags = IORESOURCE_MEM, | ||
314 | }, | ||
315 | #endif | ||
316 | }; | ||
317 | |||
318 | static struct platform_device bfin_sir_device = { | ||
319 | .name = "bfin_sir", | ||
320 | .id = 0, | ||
321 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
322 | .resource = bfin_sir_resources, | ||
323 | }; | ||
324 | #endif | ||
325 | |||
307 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) | 326 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) |
308 | 327 | ||
309 | #include <linux/serial_8250.h> | 328 | #include <linux/serial_8250.h> |
@@ -403,6 +422,10 @@ static struct platform_device *h8606_devices[] __initdata = { | |||
403 | &serial8250_device, | 422 | &serial8250_device, |
404 | #endif | 423 | #endif |
405 | 424 | ||
425 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
426 | &bfin_sir_device, | ||
427 | #endif | ||
428 | |||
406 | #if defined(CONFIG_KEYBOARD_OPENCORES) || defined(CONFIG_KEYBOARD_OPENCORES_MODULE) | 429 | #if defined(CONFIG_KEYBOARD_OPENCORES) || defined(CONFIG_KEYBOARD_OPENCORES_MODULE) |
407 | &opencores_kbd_device, | 430 | &opencores_kbd_device, |
408 | #endif | 431 | #endif |
@@ -411,7 +434,7 @@ static struct platform_device *h8606_devices[] __initdata = { | |||
411 | static int __init H8606_init(void) | 434 | static int __init H8606_init(void) |
412 | { | 435 | { |
413 | printk(KERN_INFO "HV Sistemas H8606 board support by http://www.hvsistemas.com\n"); | 436 | printk(KERN_INFO "HV Sistemas H8606 board support by http://www.hvsistemas.com\n"); |
414 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 437 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
415 | platform_add_devices(h8606_devices, ARRAY_SIZE(h8606_devices)); | 438 | platform_add_devices(h8606_devices, ARRAY_SIZE(h8606_devices)); |
416 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 439 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
417 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 440 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
diff --git a/arch/blackfin/mach-bf533/boards/Kconfig b/arch/blackfin/mach-bf533/boards/Kconfig index 751de5110afc..840059241fbe 100644 --- a/arch/blackfin/mach-bf533/boards/Kconfig +++ b/arch/blackfin/mach-bf533/boards/Kconfig | |||
@@ -26,6 +26,12 @@ config H8606_HVSISTEMAS | |||
26 | help | 26 | help |
27 | HV Sistemas H8606 board support. | 27 | HV Sistemas H8606 board support. |
28 | 28 | ||
29 | config BFIN532_IP0X | ||
30 | bool "IP04/IP08 IP-PBX" | ||
31 | depends on (BF532) | ||
32 | help | ||
33 | Core support for IP04/IP04 open hardware IP-PBX. | ||
34 | |||
29 | config GENERIC_BF533_BOARD | 35 | config GENERIC_BF533_BOARD |
30 | bool "Generic" | 36 | bool "Generic" |
31 | help | 37 | help |
diff --git a/arch/blackfin/mach-bf533/boards/Makefile b/arch/blackfin/mach-bf533/boards/Makefile index 54f57fb9791e..b7a1a1d79bda 100644 --- a/arch/blackfin/mach-bf533/boards/Makefile +++ b/arch/blackfin/mach-bf533/boards/Makefile | |||
@@ -4,6 +4,7 @@ | |||
4 | 4 | ||
5 | obj-$(CONFIG_GENERIC_BF533_BOARD) += generic_board.o | 5 | obj-$(CONFIG_GENERIC_BF533_BOARD) += generic_board.o |
6 | obj-$(CONFIG_BFIN533_STAMP) += stamp.o | 6 | obj-$(CONFIG_BFIN533_STAMP) += stamp.o |
7 | obj-$(CONFIG_BFIN532_IP0X) += ip0x.o | ||
7 | obj-$(CONFIG_BFIN533_EZKIT) += ezkit.o | 8 | obj-$(CONFIG_BFIN533_EZKIT) += ezkit.o |
8 | obj-$(CONFIG_BFIN533_BLUETECHNIX_CM) += cm_bf533.o | 9 | obj-$(CONFIG_BFIN533_BLUETECHNIX_CM) += cm_bf533.o |
9 | obj-$(CONFIG_H8606_HVSISTEMAS) += H8606.o | 10 | obj-$(CONFIG_H8606_HVSISTEMAS) += H8606.o |
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index 886f260d9359..a03149c72681 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c | |||
@@ -234,6 +234,25 @@ static struct platform_device bfin_uart_device = { | |||
234 | }; | 234 | }; |
235 | #endif | 235 | #endif |
236 | 236 | ||
237 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
238 | static struct resource bfin_sir_resources[] = { | ||
239 | #ifdef CONFIG_BFIN_SIR0 | ||
240 | { | ||
241 | .start = 0xFFC00400, | ||
242 | .end = 0xFFC004FF, | ||
243 | .flags = IORESOURCE_MEM, | ||
244 | }, | ||
245 | #endif | ||
246 | }; | ||
247 | |||
248 | static struct platform_device bfin_sir_device = { | ||
249 | .name = "bfin_sir", | ||
250 | .id = 0, | ||
251 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
252 | .resource = bfin_sir_resources, | ||
253 | }; | ||
254 | #endif | ||
255 | |||
237 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 256 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
238 | static struct platform_device bfin_sport0_uart_device = { | 257 | static struct platform_device bfin_sport0_uart_device = { |
239 | .name = "bfin-sport-uart", | 258 | .name = "bfin-sport-uart", |
@@ -327,6 +346,10 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
327 | &bfin_uart_device, | 346 | &bfin_uart_device, |
328 | #endif | 347 | #endif |
329 | 348 | ||
349 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
350 | &bfin_sir_device, | ||
351 | #endif | ||
352 | |||
330 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 353 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
331 | &bfin_sport0_uart_device, | 354 | &bfin_sport0_uart_device, |
332 | &bfin_sport1_uart_device, | 355 | &bfin_sport1_uart_device, |
@@ -355,7 +378,7 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
355 | 378 | ||
356 | static int __init cm_bf533_init(void) | 379 | static int __init cm_bf533_init(void) |
357 | { | 380 | { |
358 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 381 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
359 | platform_add_devices(cm_bf533_devices, ARRAY_SIZE(cm_bf533_devices)); | 382 | platform_add_devices(cm_bf533_devices, ARRAY_SIZE(cm_bf533_devices)); |
360 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 383 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
361 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 384 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index 241b5a20a36a..08a7943949ae 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
@@ -237,6 +237,25 @@ static struct platform_device bfin_uart_device = { | |||
237 | }; | 237 | }; |
238 | #endif | 238 | #endif |
239 | 239 | ||
240 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
241 | static struct resource bfin_sir_resources[] = { | ||
242 | #ifdef CONFIG_BFIN_SIR0 | ||
243 | { | ||
244 | .start = 0xFFC00400, | ||
245 | .end = 0xFFC004FF, | ||
246 | .flags = IORESOURCE_MEM, | ||
247 | }, | ||
248 | #endif | ||
249 | }; | ||
250 | |||
251 | static struct platform_device bfin_sir_device = { | ||
252 | .name = "bfin_sir", | ||
253 | .id = 0, | ||
254 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
255 | .resource = bfin_sir_resources, | ||
256 | }; | ||
257 | #endif | ||
258 | |||
240 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 259 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
241 | #define PATA_INT 55 | 260 | #define PATA_INT 55 |
242 | 261 | ||
@@ -352,6 +371,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
352 | &bfin_uart_device, | 371 | &bfin_uart_device, |
353 | #endif | 372 | #endif |
354 | 373 | ||
374 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
375 | &bfin_sir_device, | ||
376 | #endif | ||
377 | |||
355 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 378 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
356 | &bfin_pata_device, | 379 | &bfin_pata_device, |
357 | #endif | 380 | #endif |
@@ -369,7 +392,7 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
369 | 392 | ||
370 | static int __init ezkit_init(void) | 393 | static int __init ezkit_init(void) |
371 | { | 394 | { |
372 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 395 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
373 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); | 396 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); |
374 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 397 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
375 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 398 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
diff --git a/arch/blackfin/mach-bf533/boards/generic_board.c b/arch/blackfin/mach-bf533/boards/generic_board.c index e359a0d6467f..82b1f6a60e3f 100644 --- a/arch/blackfin/mach-bf533/boards/generic_board.c +++ b/arch/blackfin/mach-bf533/boards/generic_board.c | |||
@@ -84,7 +84,7 @@ static struct platform_device *generic_board_devices[] __initdata = { | |||
84 | 84 | ||
85 | static int __init generic_board_init(void) | 85 | static int __init generic_board_init(void) |
86 | { | 86 | { |
87 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 87 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
88 | return platform_add_devices(generic_board_devices, ARRAY_SIZE(generic_board_devices)); | 88 | return platform_add_devices(generic_board_devices, ARRAY_SIZE(generic_board_devices)); |
89 | } | 89 | } |
90 | 90 | ||
diff --git a/arch/blackfin/mach-bf533/boards/ip0x.c b/arch/blackfin/mach-bf533/boards/ip0x.c new file mode 100644 index 000000000000..5864892de314 --- /dev/null +++ b/arch/blackfin/mach-bf533/boards/ip0x.c | |||
@@ -0,0 +1,303 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf533/ip0x.c | ||
3 | * Based on: arch/blackfin/mach-bf533/bf1.c | ||
4 | * Based on: arch/blackfin/mach-bf533/stamp.c | ||
5 | * Author: Ivan Danov <idanov@gmail.com> | ||
6 | * Modified for IP0X David Rowe | ||
7 | * | ||
8 | * Created: 2007 | ||
9 | * Description: Board info file for the IP04/IP08 boards, which | ||
10 | * are derived from the BlackfinOne V2.0 boards. | ||
11 | * | ||
12 | * Modified: | ||
13 | * COpyright 2007 David Rowe | ||
14 | * Copyright 2006 Intratrade Ltd. | ||
15 | * Copyright 2005 National ICT Australia (NICTA) | ||
16 | * Copyright 2004-2006 Analog Devices Inc. | ||
17 | * | ||
18 | * This program is free software; you can redistribute it and/or modify | ||
19 | * it under the terms of the GNU General Public License as published by | ||
20 | * the Free Software Foundation; either version 2 of the License, or | ||
21 | * (at your option) any later version. | ||
22 | * | ||
23 | * This program is distributed in the hope that it will be useful, | ||
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
26 | * GNU General Public License for more details. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License | ||
29 | * along with this program; if not, see the file COPYING, or write | ||
30 | * to the Free Software Foundation, Inc., | ||
31 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
32 | */ | ||
33 | |||
34 | #include <linux/device.h> | ||
35 | #include <linux/platform_device.h> | ||
36 | #include <linux/mtd/mtd.h> | ||
37 | #include <linux/mtd/partitions.h> | ||
38 | #include <linux/spi/spi.h> | ||
39 | #include <linux/spi/flash.h> | ||
40 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
41 | #include <linux/usb/isp1362.h> | ||
42 | #endif | ||
43 | #include <asm/irq.h> | ||
44 | #include <asm/bfin5xx_spi.h> | ||
45 | |||
46 | /* | ||
47 | * Name the Board for the /proc/cpuinfo | ||
48 | */ | ||
49 | const char bfin_board_name[] = "IP04/IP08"; | ||
50 | |||
51 | /* | ||
52 | * Driver needs to know address, irq and flag pin. | ||
53 | */ | ||
54 | #if defined(CONFIG_BFIN532_IP0X) | ||
55 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | ||
56 | |||
57 | #include <linux/dm9000.h> | ||
58 | |||
59 | static struct resource dm9000_resource1[] = { | ||
60 | { | ||
61 | .start = 0x20100000, | ||
62 | .end = 0x20100000 + 1, | ||
63 | .flags = IORESOURCE_MEM | ||
64 | },{ | ||
65 | .start = 0x20100000 + 2, | ||
66 | .end = 0x20100000 + 3, | ||
67 | .flags = IORESOURCE_MEM | ||
68 | },{ | ||
69 | .start = IRQ_PF15, | ||
70 | .end = IRQ_PF15, | ||
71 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | ||
72 | } | ||
73 | }; | ||
74 | |||
75 | static struct resource dm9000_resource2[] = { | ||
76 | { | ||
77 | .start = 0x20200000, | ||
78 | .end = 0x20200000 + 1, | ||
79 | .flags = IORESOURCE_MEM | ||
80 | },{ | ||
81 | .start = 0x20200000 + 2, | ||
82 | .end = 0x20200000 + 3, | ||
83 | .flags = IORESOURCE_MEM | ||
84 | },{ | ||
85 | .start = IRQ_PF14, | ||
86 | .end = IRQ_PF14, | ||
87 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | ||
88 | } | ||
89 | }; | ||
90 | |||
91 | /* | ||
92 | * for the moment we limit ourselves to 16bit IO until some | ||
93 | * better IO routines can be written and tested | ||
94 | */ | ||
95 | static struct dm9000_plat_data dm9000_platdata1 = { | ||
96 | .flags = DM9000_PLATF_16BITONLY, | ||
97 | }; | ||
98 | |||
99 | static struct platform_device dm9000_device1 = { | ||
100 | .name = "dm9000", | ||
101 | .id = 0, | ||
102 | .num_resources = ARRAY_SIZE(dm9000_resource1), | ||
103 | .resource = dm9000_resource1, | ||
104 | .dev = { | ||
105 | .platform_data = &dm9000_platdata1, | ||
106 | } | ||
107 | }; | ||
108 | |||
109 | static struct dm9000_plat_data dm9000_platdata2 = { | ||
110 | .flags = DM9000_PLATF_16BITONLY, | ||
111 | }; | ||
112 | |||
113 | static struct platform_device dm9000_device2 = { | ||
114 | .name = "dm9000", | ||
115 | .id = 1, | ||
116 | .num_resources = ARRAY_SIZE(dm9000_resource2), | ||
117 | .resource = dm9000_resource2, | ||
118 | .dev = { | ||
119 | .platform_data = &dm9000_platdata2, | ||
120 | } | ||
121 | }; | ||
122 | |||
123 | #endif | ||
124 | #endif | ||
125 | |||
126 | |||
127 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
128 | /* all SPI peripherals info goes here */ | ||
129 | |||
130 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
131 | static struct bfin5xx_spi_chip spi_mmc_chip_info = { | ||
132 | /* | ||
133 | * CPOL (Clock Polarity) | ||
134 | * 0 - Active high SCK | ||
135 | * 1 - Active low SCK | ||
136 | * CPHA (Clock Phase) Selects transfer format and operation mode | ||
137 | * 0 - SCLK toggles from middle of the first data bit, slave select | ||
138 | * pins controlled by hardware. | ||
139 | * 1 - SCLK toggles from beginning of first data bit, slave select | ||
140 | * pins controller by user software. | ||
141 | * .ctl_reg = 0x1c00, * CPOL=1,CPHA=1,Sandisk 1G work | ||
142 | * NO NO .ctl_reg = 0x1800, * CPOL=1,CPHA=0 | ||
143 | * NO NO .ctl_reg = 0x1400, * CPOL=0,CPHA=1 | ||
144 | */ | ||
145 | .ctl_reg = 0x1000, /* CPOL=0,CPHA=0,Sandisk 1G work */ | ||
146 | .enable_dma = 0, /* if 1 - block!!! */ | ||
147 | .bits_per_word = 8, | ||
148 | .cs_change_per_word = 0, | ||
149 | }; | ||
150 | #endif | ||
151 | |||
152 | /* Notice: for blackfin, the speed_hz is the value of register | ||
153 | * SPI_BAUD, not the real baudrate */ | ||
154 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | ||
155 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
156 | { | ||
157 | .modalias = "spi_mmc", | ||
158 | .max_speed_hz = 2, | ||
159 | .bus_num = 1, | ||
160 | .chip_select = CONFIG_SPI_MMC_CS_CHAN, | ||
161 | .platform_data = NULL, | ||
162 | .controller_data = &spi_mmc_chip_info, | ||
163 | }, | ||
164 | #endif | ||
165 | }; | ||
166 | |||
167 | /* SPI controller data */ | ||
168 | static struct bfin5xx_spi_master spi_bfin_master_info = { | ||
169 | .num_chipselect = 8, | ||
170 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
171 | }; | ||
172 | |||
173 | static struct platform_device spi_bfin_master_device = { | ||
174 | .name = "bfin-spi-master", | ||
175 | .id = 1, /* Bus number */ | ||
176 | .dev = { | ||
177 | .platform_data = &spi_bfin_master_info, /* Passed to driver */ | ||
178 | }, | ||
179 | }; | ||
180 | #endif /* spi master and devices */ | ||
181 | |||
182 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
183 | static struct resource bfin_uart_resources[] = { | ||
184 | { | ||
185 | .start = 0xFFC00400, | ||
186 | .end = 0xFFC004FF, | ||
187 | .flags = IORESOURCE_MEM, | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | static struct platform_device bfin_uart_device = { | ||
192 | .name = "bfin-uart", | ||
193 | .id = 1, | ||
194 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | ||
195 | .resource = bfin_uart_resources, | ||
196 | }; | ||
197 | #endif | ||
198 | |||
199 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
200 | static struct resource bfin_sir_resources[] = { | ||
201 | #ifdef CONFIG_BFIN_SIR0 | ||
202 | { | ||
203 | .start = 0xFFC00400, | ||
204 | .end = 0xFFC004FF, | ||
205 | .flags = IORESOURCE_MEM, | ||
206 | }, | ||
207 | #endif | ||
208 | }; | ||
209 | |||
210 | static struct platform_device bfin_sir_device = { | ||
211 | .name = "bfin_sir", | ||
212 | .id = 0, | ||
213 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
214 | .resource = bfin_sir_resources, | ||
215 | }; | ||
216 | #endif | ||
217 | |||
218 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
219 | static struct resource isp1362_hcd_resources[] = { | ||
220 | { | ||
221 | .start = 0x20300000, | ||
222 | .end = 0x20300000 + 1, | ||
223 | .flags = IORESOURCE_MEM, | ||
224 | },{ | ||
225 | .start = 0x20300000 + 2, | ||
226 | .end = 0x20300000 + 3, | ||
227 | .flags = IORESOURCE_MEM, | ||
228 | },{ | ||
229 | .start = IRQ_PF11, | ||
230 | .end = IRQ_PF11, | ||
231 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
232 | }, | ||
233 | }; | ||
234 | |||
235 | static struct isp1362_platform_data isp1362_priv = { | ||
236 | .sel15Kres = 1, | ||
237 | .clknotstop = 0, | ||
238 | .oc_enable = 0, /* external OC */ | ||
239 | .int_act_high = 0, | ||
240 | .int_edge_triggered = 0, | ||
241 | .remote_wakeup_connected = 0, | ||
242 | .no_power_switching = 1, | ||
243 | .power_switching_mode = 0, | ||
244 | }; | ||
245 | |||
246 | static struct platform_device isp1362_hcd_device = { | ||
247 | .name = "isp1362-hcd", | ||
248 | .id = 0, | ||
249 | .dev = { | ||
250 | .platform_data = &isp1362_priv, | ||
251 | }, | ||
252 | .num_resources = ARRAY_SIZE(isp1362_hcd_resources), | ||
253 | .resource = isp1362_hcd_resources, | ||
254 | }; | ||
255 | #endif | ||
256 | |||
257 | |||
258 | static struct platform_device *ip0x_devices[] __initdata = { | ||
259 | #if defined(CONFIG_BFIN532_IP0X) | ||
260 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | ||
261 | &dm9000_device1, | ||
262 | &dm9000_device2, | ||
263 | #endif | ||
264 | #endif | ||
265 | |||
266 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
267 | &spi_bfin_master_device, | ||
268 | #endif | ||
269 | |||
270 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
271 | &bfin_uart_device, | ||
272 | #endif | ||
273 | |||
274 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
275 | &bfin_sir_device, | ||
276 | #endif | ||
277 | |||
278 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
279 | &isp1362_hcd_device, | ||
280 | #endif | ||
281 | }; | ||
282 | |||
283 | static int __init ip0x_init(void) | ||
284 | { | ||
285 | int i; | ||
286 | |||
287 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
288 | platform_add_devices(ip0x_devices, ARRAY_SIZE(ip0x_devices)); | ||
289 | |||
290 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
291 | for (i = 0; i < ARRAY_SIZE(bfin_spi_board_info); ++i) { | ||
292 | int j = 1 << bfin_spi_board_info[i].chip_select; | ||
293 | /* set spi cs to 1 */ | ||
294 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | j); | ||
295 | bfin_write_FIO_FLAG_S(j); | ||
296 | } | ||
297 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | ||
298 | #endif | ||
299 | |||
300 | return 0; | ||
301 | } | ||
302 | |||
303 | arch_initcall(ip0x_init); | ||
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index b2ac4816ae62..fddce32901a2 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #endif | 40 | #endif |
41 | #include <linux/ata_platform.h> | 41 | #include <linux/ata_platform.h> |
42 | #include <linux/irq.h> | 42 | #include <linux/irq.h> |
43 | #include <linux/i2c.h> | ||
43 | #include <asm/dma.h> | 44 | #include <asm/dma.h> |
44 | #include <asm/bfin5xx_spi.h> | 45 | #include <asm/bfin5xx_spi.h> |
45 | #include <asm/reboot.h> | 46 | #include <asm/reboot.h> |
@@ -109,6 +110,7 @@ static struct platform_device net2272_bfin_device = { | |||
109 | }; | 110 | }; |
110 | #endif | 111 | #endif |
111 | 112 | ||
113 | #if defined(CONFIG_MTD_BF5xx) || defined(CONFIG_MTD_BF5xx_MODULE) | ||
112 | static struct mtd_partition stamp_partitions[] = { | 114 | static struct mtd_partition stamp_partitions[] = { |
113 | { | 115 | { |
114 | .name = "Bootloader", | 116 | .name = "Bootloader", |
@@ -152,6 +154,7 @@ static struct platform_device stamp_flash_device = { | |||
152 | .num_resources = ARRAY_SIZE(stamp_flash_resource), | 154 | .num_resources = ARRAY_SIZE(stamp_flash_resource), |
153 | .resource = stamp_flash_resource, | 155 | .resource = stamp_flash_resource, |
154 | }; | 156 | }; |
157 | #endif | ||
155 | 158 | ||
156 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 159 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
157 | /* all SPI peripherals info goes here */ | 160 | /* all SPI peripherals info goes here */ |
@@ -367,6 +370,25 @@ static struct platform_device bfin_uart_device = { | |||
367 | }; | 370 | }; |
368 | #endif | 371 | #endif |
369 | 372 | ||
373 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
374 | static struct resource bfin_sir_resources[] = { | ||
375 | #ifdef CONFIG_BFIN_SIR0 | ||
376 | { | ||
377 | .start = 0xFFC00400, | ||
378 | .end = 0xFFC004FF, | ||
379 | .flags = IORESOURCE_MEM, | ||
380 | }, | ||
381 | #endif | ||
382 | }; | ||
383 | |||
384 | static struct platform_device bfin_sir_device = { | ||
385 | .name = "bfin_sir", | ||
386 | .id = 0, | ||
387 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
388 | .resource = bfin_sir_resources, | ||
389 | }; | ||
390 | #endif | ||
391 | |||
370 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 392 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
371 | static struct platform_device bfin_sport0_uart_device = { | 393 | static struct platform_device bfin_sport0_uart_device = { |
372 | .name = "bfin-sport-uart", | 394 | .name = "bfin-sport-uart", |
@@ -472,6 +494,31 @@ static struct platform_device i2c_gpio_device = { | |||
472 | }; | 494 | }; |
473 | #endif | 495 | #endif |
474 | 496 | ||
497 | #ifdef CONFIG_I2C_BOARDINFO | ||
498 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | ||
499 | #if defined(CONFIG_JOYSTICK_AD7142) || defined(CONFIG_JOYSTICK_AD7142_MODULE) | ||
500 | { | ||
501 | I2C_BOARD_INFO("ad7142_joystick", 0x2C), | ||
502 | .type = "ad7142_joystick", | ||
503 | .irq = 39, | ||
504 | }, | ||
505 | #endif | ||
506 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | ||
507 | { | ||
508 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | ||
509 | .type = "pcf8574_lcd", | ||
510 | }, | ||
511 | #endif | ||
512 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) | ||
513 | { | ||
514 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | ||
515 | .type = "pcf8574_keypad", | ||
516 | .irq = 39, | ||
517 | }, | ||
518 | #endif | ||
519 | }; | ||
520 | #endif | ||
521 | |||
475 | static struct platform_device *stamp_devices[] __initdata = { | 522 | static struct platform_device *stamp_devices[] __initdata = { |
476 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | 523 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) |
477 | &rtc_device, | 524 | &rtc_device, |
@@ -497,6 +544,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
497 | &bfin_uart_device, | 544 | &bfin_uart_device, |
498 | #endif | 545 | #endif |
499 | 546 | ||
547 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
548 | &bfin_sir_device, | ||
549 | #endif | ||
550 | |||
500 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 551 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
501 | &bfin_sport0_uart_device, | 552 | &bfin_sport0_uart_device, |
502 | &bfin_sport1_uart_device, | 553 | &bfin_sport1_uart_device, |
@@ -515,14 +566,23 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
515 | #endif | 566 | #endif |
516 | 567 | ||
517 | &bfin_gpios_device, | 568 | &bfin_gpios_device, |
569 | |||
570 | #if defined(CONFIG_MTD_BF5xx) || defined(CONFIG_MTD_BF5xx_MODULE) | ||
518 | &stamp_flash_device, | 571 | &stamp_flash_device, |
572 | #endif | ||
519 | }; | 573 | }; |
520 | 574 | ||
521 | static int __init stamp_init(void) | 575 | static int __init stamp_init(void) |
522 | { | 576 | { |
523 | int ret; | 577 | int ret; |
524 | 578 | ||
525 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 579 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
580 | |||
581 | #ifdef CONFIG_I2C_BOARDINFO | ||
582 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
583 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
584 | #endif | ||
585 | |||
526 | ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 586 | ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
527 | if (ret < 0) | 587 | if (ret < 0) |
528 | return ret; | 588 | return ret; |
diff --git a/arch/blackfin/mach-bf533/cpu.c b/arch/blackfin/mach-bf533/cpu.c deleted file mode 100644 index b7a0e0fbd9af..000000000000 --- a/arch/blackfin/mach-bf533/cpu.c +++ /dev/null | |||
@@ -1,158 +0,0 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf533/cpu.c | ||
3 | * Based on: | ||
4 | * Author: michael.kang@analog.com | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: clock scaling for the bf533 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/init.h> | ||
33 | #include <linux/cpufreq.h> | ||
34 | #include <asm/dpmc.h> | ||
35 | #include <linux/fs.h> | ||
36 | #include <asm/bfin-global.h> | ||
37 | |||
38 | /* CONFIG_CLKIN_HZ=11059200 */ | ||
39 | #define VCO5 (CONFIG_CLKIN_HZ*45) /*497664000 */ | ||
40 | #define VCO4 (CONFIG_CLKIN_HZ*36) /*398131200 */ | ||
41 | #define VCO3 (CONFIG_CLKIN_HZ*27) /*298598400 */ | ||
42 | #define VCO2 (CONFIG_CLKIN_HZ*18) /*199065600 */ | ||
43 | #define VCO1 (CONFIG_CLKIN_HZ*9) /*99532800 */ | ||
44 | #define VCO(x) VCO##x | ||
45 | |||
46 | #define FREQ(x) {VCO(x),VCO(x)/4},{VCO(x),VCO(x)/2},{VCO(x),VCO(x)} | ||
47 | /* frequency */ | ||
48 | static struct cpufreq_frequency_table bf533_freq_table[] = { | ||
49 | FREQ(1), | ||
50 | FREQ(3), | ||
51 | {VCO4, VCO4 / 2}, {VCO4, VCO4}, | ||
52 | FREQ(5), | ||
53 | {0, CPUFREQ_TABLE_END}, | ||
54 | }; | ||
55 | |||
56 | /* | ||
57 | * dpmc_fops->ioctl() | ||
58 | * static int dpmc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) | ||
59 | */ | ||
60 | static int bf533_getfreq(unsigned int cpu) | ||
61 | { | ||
62 | unsigned long cclk_mhz, vco_mhz; | ||
63 | |||
64 | /* The driver only support single cpu */ | ||
65 | if (cpu == 0) | ||
66 | dpmc_fops.ioctl(NULL, NULL, IOCTL_GET_CORECLOCK, &cclk_mhz); | ||
67 | else | ||
68 | cclk_mhz = -1; | ||
69 | return cclk_mhz; | ||
70 | } | ||
71 | |||
72 | static int bf533_target(struct cpufreq_policy *policy, | ||
73 | unsigned int target_freq, unsigned int relation) | ||
74 | { | ||
75 | unsigned long cclk_mhz; | ||
76 | unsigned long vco_mhz; | ||
77 | unsigned long flags; | ||
78 | unsigned int index, vco_index; | ||
79 | int i; | ||
80 | |||
81 | struct cpufreq_freqs freqs; | ||
82 | if (cpufreq_frequency_table_target(policy, bf533_freq_table, target_freq, relation, &index)) | ||
83 | return -EINVAL; | ||
84 | cclk_mhz = bf533_freq_table[index].frequency; | ||
85 | vco_mhz = bf533_freq_table[index].index; | ||
86 | |||
87 | dpmc_fops.ioctl(NULL, NULL, IOCTL_CHANGE_FREQUENCY, &vco_mhz); | ||
88 | freqs.old = bf533_getfreq(0); | ||
89 | freqs.new = cclk_mhz; | ||
90 | freqs.cpu = 0; | ||
91 | |||
92 | pr_debug("cclk begin change to cclk %d,vco=%d,index=%d,target=%d,oldfreq=%d\n", | ||
93 | cclk_mhz, vco_mhz, index, target_freq, freqs.old); | ||
94 | |||
95 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
96 | local_irq_save(flags); | ||
97 | dpmc_fops.ioctl(NULL, NULL, IOCTL_SET_CCLK, &cclk_mhz); | ||
98 | local_irq_restore(flags); | ||
99 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
100 | |||
101 | vco_mhz = get_vco(); | ||
102 | cclk_mhz = get_cclk(); | ||
103 | return 0; | ||
104 | } | ||
105 | |||
106 | /* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on | ||
107 | * this platform, anyway. | ||
108 | */ | ||
109 | static int bf533_verify_speed(struct cpufreq_policy *policy) | ||
110 | { | ||
111 | return cpufreq_frequency_table_verify(policy, &bf533_freq_table); | ||
112 | } | ||
113 | |||
114 | static int __init __bf533_cpu_init(struct cpufreq_policy *policy) | ||
115 | { | ||
116 | int result; | ||
117 | |||
118 | if (policy->cpu != 0) | ||
119 | return -EINVAL; | ||
120 | |||
121 | policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; | ||
122 | /*Now ,only support one cpu */ | ||
123 | policy->cur = bf533_getfreq(0); | ||
124 | cpufreq_frequency_table_get_attr(bf533_freq_table, policy->cpu); | ||
125 | return cpufreq_frequency_table_cpuinfo(policy, bf533_freq_table); | ||
126 | } | ||
127 | |||
128 | static struct freq_attr *bf533_freq_attr[] = { | ||
129 | &cpufreq_freq_attr_scaling_available_freqs, | ||
130 | NULL, | ||
131 | }; | ||
132 | |||
133 | static struct cpufreq_driver bf533_driver = { | ||
134 | .verify = bf533_verify_speed, | ||
135 | .target = bf533_target, | ||
136 | .get = bf533_getfreq, | ||
137 | .init = __bf533_cpu_init, | ||
138 | .name = "bf533", | ||
139 | .owner = THIS_MODULE, | ||
140 | .attr = bf533_freq_attr, | ||
141 | }; | ||
142 | |||
143 | static int __init bf533_cpu_init(void) | ||
144 | { | ||
145 | return cpufreq_register_driver(&bf533_driver); | ||
146 | } | ||
147 | |||
148 | static void __exit bf533_cpu_exit(void) | ||
149 | { | ||
150 | cpufreq_unregister_driver(&bf533_driver); | ||
151 | } | ||
152 | |||
153 | MODULE_AUTHOR("Mickael Kang"); | ||
154 | MODULE_DESCRIPTION("cpufreq driver for BF533 CPU"); | ||
155 | MODULE_LICENSE("GPL"); | ||
156 | |||
157 | module_init(bf533_cpu_init); | ||
158 | module_exit(bf533_cpu_exit); | ||
diff --git a/arch/blackfin/mach-bf533/dma.c b/arch/blackfin/mach-bf533/dma.c index 6c909cf4f7bf..28655c1cb7dc 100644 --- a/arch/blackfin/mach-bf533/dma.c +++ b/arch/blackfin/mach-bf533/dma.c | |||
@@ -26,10 +26,12 @@ | |||
26 | * to the Free Software Foundation, Inc., | 26 | * to the Free Software Foundation, Inc., |
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
28 | */ | 28 | */ |
29 | #include <linux/module.h> | ||
30 | |||
29 | #include <asm/blackfin.h> | 31 | #include <asm/blackfin.h> |
30 | #include <asm/dma.h> | 32 | #include <asm/dma.h> |
31 | 33 | ||
32 | struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | 34 | struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { |
33 | (struct dma_register *) DMA0_NEXT_DESC_PTR, | 35 | (struct dma_register *) DMA0_NEXT_DESC_PTR, |
34 | (struct dma_register *) DMA1_NEXT_DESC_PTR, | 36 | (struct dma_register *) DMA1_NEXT_DESC_PTR, |
35 | (struct dma_register *) DMA2_NEXT_DESC_PTR, | 37 | (struct dma_register *) DMA2_NEXT_DESC_PTR, |
@@ -43,6 +45,7 @@ struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | |||
43 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, | 45 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, |
44 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, | 46 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, |
45 | }; | 47 | }; |
48 | EXPORT_SYMBOL(dma_io_base_addr); | ||
46 | 49 | ||
47 | int channel2irq(unsigned int channel) | 50 | int channel2irq(unsigned int channel) |
48 | { | 51 | { |
diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S index 1ded945a6fa0..1295deac00a4 100644 --- a/arch/blackfin/mach-bf533/head.S +++ b/arch/blackfin/mach-bf533/head.S | |||
@@ -36,9 +36,6 @@ | |||
36 | #include <asm/mach/mem_init.h> | 36 | #include <asm/mach/mem_init.h> |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | .global __rambase | ||
40 | .global __ramstart | ||
41 | .global __ramend | ||
42 | .extern ___bss_stop | 39 | .extern ___bss_stop |
43 | .extern ___bss_start | 40 | .extern ___bss_start |
44 | .extern _bf53x_relocate_l1_mem | 41 | .extern _bf53x_relocate_l1_mem |
@@ -151,26 +148,26 @@ ENTRY(__start) | |||
151 | 148 | ||
152 | /* Initialise UART - when booting from u-boot, the UART is not disabled | 149 | /* Initialise UART - when booting from u-boot, the UART is not disabled |
153 | * so if we dont initalize here, our serial console gets hosed */ | 150 | * so if we dont initalize here, our serial console gets hosed */ |
154 | p0.h = hi(UART_LCR); | 151 | p0.h = hi(BFIN_UART_LCR); |
155 | p0.l = lo(UART_LCR); | 152 | p0.l = lo(BFIN_UART_LCR); |
156 | r0 = 0x0(Z); | 153 | r0 = 0x0(Z); |
157 | w[p0] = r0.L; /* To enable DLL writes */ | 154 | w[p0] = r0.L; /* To enable DLL writes */ |
158 | ssync; | 155 | ssync; |
159 | 156 | ||
160 | p0.h = hi(UART_DLL); | 157 | p0.h = hi(BFIN_UART_DLL); |
161 | p0.l = lo(UART_DLL); | 158 | p0.l = lo(BFIN_UART_DLL); |
162 | r0 = 0x0(Z); | 159 | r0 = 0x0(Z); |
163 | w[p0] = r0.L; | 160 | w[p0] = r0.L; |
164 | ssync; | 161 | ssync; |
165 | 162 | ||
166 | p0.h = hi(UART_DLH); | 163 | p0.h = hi(BFIN_UART_DLH); |
167 | p0.l = lo(UART_DLH); | 164 | p0.l = lo(BFIN_UART_DLH); |
168 | r0 = 0x00(Z); | 165 | r0 = 0x00(Z); |
169 | w[p0] = r0.L; | 166 | w[p0] = r0.L; |
170 | ssync; | 167 | ssync; |
171 | 168 | ||
172 | p0.h = hi(UART_GCTL); | 169 | p0.h = hi(BFIN_UART_GCTL); |
173 | p0.l = lo(UART_GCTL); | 170 | p0.l = lo(BFIN_UART_GCTL); |
174 | r0 = 0x0(Z); | 171 | r0 = 0x0(Z); |
175 | w[p0] = r0.L; /* To enable UART clock */ | 172 | w[p0] = r0.L; /* To enable UART clock */ |
176 | ssync; | 173 | ssync; |
@@ -431,18 +428,3 @@ ENTRY(_start_dma_code) | |||
431 | RTS; | 428 | RTS; |
432 | ENDPROC(_start_dma_code) | 429 | ENDPROC(_start_dma_code) |
433 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 430 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
434 | |||
435 | .data | ||
436 | |||
437 | /* | ||
438 | * Set up the usable of RAM stuff. Size of RAM is determined then | ||
439 | * an initial stack set up at the end. | ||
440 | */ | ||
441 | |||
442 | .align 4 | ||
443 | __rambase: | ||
444 | .long 0 | ||
445 | __ramstart: | ||
446 | .long 0 | ||
447 | __ramend: | ||
448 | .long 0 | ||
diff --git a/arch/blackfin/mach-bf537/Makefile b/arch/blackfin/mach-bf537/Makefile index 7e7c9c8ac5b2..68e5478e95a9 100644 --- a/arch/blackfin/mach-bf537/Makefile +++ b/arch/blackfin/mach-bf537/Makefile | |||
@@ -5,5 +5,3 @@ | |||
5 | extra-y := head.o | 5 | extra-y := head.o |
6 | 6 | ||
7 | obj-y := ints-priority.o dma.o | 7 | obj-y := ints-priority.o dma.o |
8 | |||
9 | obj-$(CONFIG_CPU_FREQ) += cpu.o | ||
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537.c b/arch/blackfin/mach-bf537/boards/cm_bf537.c index f7c1f964f13b..d8a23cd9b9ed 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537.c | |||
@@ -325,6 +325,54 @@ static struct platform_device bfin_uart_device = { | |||
325 | }; | 325 | }; |
326 | #endif | 326 | #endif |
327 | 327 | ||
328 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
329 | static struct resource bfin_sir_resources[] = { | ||
330 | #ifdef CONFIG_BFIN_SIR0 | ||
331 | { | ||
332 | .start = 0xFFC00400, | ||
333 | .end = 0xFFC004FF, | ||
334 | .flags = IORESOURCE_MEM, | ||
335 | }, | ||
336 | #endif | ||
337 | #ifdef CONFIG_BFIN_SIR1 | ||
338 | { | ||
339 | .start = 0xFFC02000, | ||
340 | .end = 0xFFC020FF, | ||
341 | .flags = IORESOURCE_MEM, | ||
342 | }, | ||
343 | #endif | ||
344 | }; | ||
345 | |||
346 | static struct platform_device bfin_sir_device = { | ||
347 | .name = "bfin_sir", | ||
348 | .id = 0, | ||
349 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
350 | .resource = bfin_sir_resources, | ||
351 | }; | ||
352 | #endif | ||
353 | |||
354 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
355 | static struct resource bfin_twi0_resource[] = { | ||
356 | [0] = { | ||
357 | .start = TWI0_REGBASE, | ||
358 | .end = TWI0_REGBASE, | ||
359 | .flags = IORESOURCE_MEM, | ||
360 | }, | ||
361 | [1] = { | ||
362 | .start = IRQ_TWI, | ||
363 | .end = IRQ_TWI, | ||
364 | .flags = IORESOURCE_IRQ, | ||
365 | }, | ||
366 | }; | ||
367 | |||
368 | static struct platform_device i2c_bfin_twi_device = { | ||
369 | .name = "i2c-bfin-twi", | ||
370 | .id = 0, | ||
371 | .num_resources = ARRAY_SIZE(bfin_twi0_resource), | ||
372 | .resource = bfin_twi0_resource, | ||
373 | }; | ||
374 | #endif | ||
375 | |||
328 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 376 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
329 | static struct platform_device bfin_sport0_uart_device = { | 377 | static struct platform_device bfin_sport0_uart_device = { |
330 | .name = "bfin-sport-uart", | 378 | .name = "bfin-sport-uart", |
@@ -393,6 +441,14 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
393 | &bfin_uart_device, | 441 | &bfin_uart_device, |
394 | #endif | 442 | #endif |
395 | 443 | ||
444 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
445 | &bfin_sir_device, | ||
446 | #endif | ||
447 | |||
448 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
449 | &i2c_bfin_twi_device, | ||
450 | #endif | ||
451 | |||
396 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 452 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
397 | &bfin_sport0_uart_device, | 453 | &bfin_sport0_uart_device, |
398 | &bfin_sport1_uart_device, | 454 | &bfin_sport1_uart_device, |
@@ -425,7 +481,7 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
425 | 481 | ||
426 | static int __init cm_bf537_init(void) | 482 | static int __init cm_bf537_init(void) |
427 | { | 483 | { |
428 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 484 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
429 | platform_add_devices(cm_bf537_devices, ARRAY_SIZE(cm_bf537_devices)); | 485 | platform_add_devices(cm_bf537_devices, ARRAY_SIZE(cm_bf537_devices)); |
430 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 486 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
431 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 487 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c b/arch/blackfin/mach-bf537/boards/generic_board.c index c95395ba7bfa..7d250828dad8 100644 --- a/arch/blackfin/mach-bf537/boards/generic_board.c +++ b/arch/blackfin/mach-bf537/boards/generic_board.c | |||
@@ -90,7 +90,7 @@ int __init bfin_isp1761_init(void) | |||
90 | { | 90 | { |
91 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | 91 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); |
92 | 92 | ||
93 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 93 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
94 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | 94 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); |
95 | 95 | ||
96 | return platform_add_devices(bfin_isp1761_devices, num_devices); | 96 | return platform_add_devices(bfin_isp1761_devices, num_devices); |
@@ -554,6 +554,32 @@ static struct platform_device bfin_uart_device = { | |||
554 | }; | 554 | }; |
555 | #endif | 555 | #endif |
556 | 556 | ||
557 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
558 | static struct resource bfin_sir_resources[] = { | ||
559 | #ifdef CONFIG_BFIN_SIR0 | ||
560 | { | ||
561 | .start = 0xFFC00400, | ||
562 | .end = 0xFFC004FF, | ||
563 | .flags = IORESOURCE_MEM, | ||
564 | }, | ||
565 | #endif | ||
566 | #ifdef CONFIG_BFIN_SIR1 | ||
567 | { | ||
568 | .start = 0xFFC02000, | ||
569 | .end = 0xFFC020FF, | ||
570 | .flags = IORESOURCE_MEM, | ||
571 | }, | ||
572 | #endif | ||
573 | }; | ||
574 | |||
575 | static struct platform_device bfin_sir_device = { | ||
576 | .name = "bfin_sir", | ||
577 | .id = 0, | ||
578 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
579 | .resource = bfin_sir_resources, | ||
580 | }; | ||
581 | #endif | ||
582 | |||
557 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 583 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
558 | static struct resource bfin_twi0_resource[] = { | 584 | static struct resource bfin_twi0_resource[] = { |
559 | [0] = { | 585 | [0] = { |
@@ -674,6 +700,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
674 | &bfin_uart_device, | 700 | &bfin_uart_device, |
675 | #endif | 701 | #endif |
676 | 702 | ||
703 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
704 | &bfin_sir_device, | ||
705 | #endif | ||
706 | |||
677 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 707 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
678 | &i2c_bfin_twi_device, | 708 | &i2c_bfin_twi_device, |
679 | #endif | 709 | #endif |
@@ -690,7 +720,7 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
690 | 720 | ||
691 | static int __init stamp_init(void) | 721 | static int __init stamp_init(void) |
692 | { | 722 | { |
693 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 723 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
694 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 724 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
695 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 725 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
696 | spi_register_board_info(bfin_spi_board_info, | 726 | spi_register_board_info(bfin_spi_board_info, |
diff --git a/arch/blackfin/mach-bf537/boards/minotaur.c b/arch/blackfin/mach-bf537/boards/minotaur.c index d71e0be33921..18ddf7a52005 100644 --- a/arch/blackfin/mach-bf537/boards/minotaur.c +++ b/arch/blackfin/mach-bf537/boards/minotaur.c | |||
@@ -8,12 +8,12 @@ | |||
8 | #include <linux/spi/spi.h> | 8 | #include <linux/spi/spi.h> |
9 | #include <linux/spi/flash.h> | 9 | #include <linux/spi/flash.h> |
10 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 10 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
11 | #include <linux/usb_isp1362.h> | 11 | #include <linux/usb/isp1362.h> |
12 | #endif | 12 | #endif |
13 | #include <linux/ata_platform.h> | 13 | #include <linux/ata_platform.h> |
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/usb_sl811.h> | 16 | #include <linux/usb/sl811.h> |
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/reboot.h> | 19 | #include <asm/reboot.h> |
@@ -225,6 +225,32 @@ static struct platform_device bfin_uart_device = { | |||
225 | }; | 225 | }; |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
229 | static struct resource bfin_sir_resources[] = { | ||
230 | #ifdef CONFIG_BFIN_SIR0 | ||
231 | { | ||
232 | .start = 0xFFC00400, | ||
233 | .end = 0xFFC004FF, | ||
234 | .flags = IORESOURCE_MEM, | ||
235 | }, | ||
236 | #endif | ||
237 | #ifdef CONFIG_BFIN_SIR1 | ||
238 | { | ||
239 | .start = 0xFFC02000, | ||
240 | .end = 0xFFC020FF, | ||
241 | .flags = IORESOURCE_MEM, | ||
242 | }, | ||
243 | #endif | ||
244 | }; | ||
245 | |||
246 | static struct platform_device bfin_sir_device = { | ||
247 | .name = "bfin_sir", | ||
248 | .id = 0, | ||
249 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
250 | .resource = bfin_sir_resources, | ||
251 | }; | ||
252 | #endif | ||
253 | |||
228 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 254 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
229 | static struct resource bfin_twi0_resource[] = { | 255 | static struct resource bfin_twi0_resource[] = { |
230 | [0] = { | 256 | [0] = { |
@@ -284,6 +310,10 @@ static struct platform_device *minotaur_devices[] __initdata = { | |||
284 | &bfin_uart_device, | 310 | &bfin_uart_device, |
285 | #endif | 311 | #endif |
286 | 312 | ||
313 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
314 | &bfin_sir_device, | ||
315 | #endif | ||
316 | |||
287 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 317 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
288 | &i2c_bfin_twi_device, | 318 | &i2c_bfin_twi_device, |
289 | #endif | 319 | #endif |
@@ -297,7 +327,7 @@ static struct platform_device *minotaur_devices[] __initdata = { | |||
297 | 327 | ||
298 | static int __init minotaur_init(void) | 328 | static int __init minotaur_init(void) |
299 | { | 329 | { |
300 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 330 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
301 | platform_add_devices(minotaur_devices, ARRAY_SIZE(minotaur_devices)); | 331 | platform_add_devices(minotaur_devices, ARRAY_SIZE(minotaur_devices)); |
302 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 332 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
303 | spi_register_board_info(bfin_spi_board_info, | 333 | spi_register_board_info(bfin_spi_board_info, |
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c index 509a8a236fd0..51c3bab14a69 100644 --- a/arch/blackfin/mach-bf537/boards/pnav10.c +++ b/arch/blackfin/mach-bf537/boards/pnav10.c | |||
@@ -452,6 +452,31 @@ static struct platform_device bfin_uart_device = { | |||
452 | }; | 452 | }; |
453 | #endif | 453 | #endif |
454 | 454 | ||
455 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
456 | static struct resource bfin_sir_resources[] = { | ||
457 | #ifdef CONFIG_BFIN_SIR0 | ||
458 | { | ||
459 | .start = 0xFFC00400, | ||
460 | .end = 0xFFC004FF, | ||
461 | .flags = IORESOURCE_MEM, | ||
462 | }, | ||
463 | #endif | ||
464 | #ifdef CONFIG_BFIN_SIR1 | ||
465 | { | ||
466 | .start = 0xFFC02000, | ||
467 | .end = 0xFFC020FF, | ||
468 | .flags = IORESOURCE_MEM, | ||
469 | }, | ||
470 | #endif | ||
471 | }; | ||
472 | |||
473 | static struct platform_device bfin_sir_device = { | ||
474 | .name = "bfin_sir", | ||
475 | .id = 0, | ||
476 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
477 | .resource = bfin_sir_resources, | ||
478 | }; | ||
479 | #endif | ||
455 | 480 | ||
456 | static struct platform_device *stamp_devices[] __initdata = { | 481 | static struct platform_device *stamp_devices[] __initdata = { |
457 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | 482 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) |
@@ -493,11 +518,15 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
493 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 518 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
494 | &bfin_uart_device, | 519 | &bfin_uart_device, |
495 | #endif | 520 | #endif |
521 | |||
522 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
523 | &bfin_sir_device, | ||
524 | #endif | ||
496 | }; | 525 | }; |
497 | 526 | ||
498 | static int __init stamp_init(void) | 527 | static int __init stamp_init(void) |
499 | { | 528 | { |
500 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 529 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
501 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 530 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
502 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 531 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
503 | spi_register_board_info(bfin_spi_board_info, | 532 | spi_register_board_info(bfin_spi_board_info, |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index ea83148993da..0cec14b1ef5c 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <linux/ata_platform.h> | 41 | #include <linux/ata_platform.h> |
42 | #include <linux/irq.h> | 42 | #include <linux/irq.h> |
43 | #include <linux/interrupt.h> | 43 | #include <linux/interrupt.h> |
44 | #include <linux/i2c.h> | ||
44 | #include <linux/usb/sl811.h> | 45 | #include <linux/usb/sl811.h> |
45 | #include <asm/dma.h> | 46 | #include <asm/dma.h> |
46 | #include <asm/bfin5xx_spi.h> | 47 | #include <asm/bfin5xx_spi.h> |
@@ -90,7 +91,7 @@ int __init bfin_isp1761_init(void) | |||
90 | { | 91 | { |
91 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | 92 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); |
92 | 93 | ||
93 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 94 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
94 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | 95 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); |
95 | 96 | ||
96 | return platform_add_devices(bfin_isp1761_devices, num_devices); | 97 | return platform_add_devices(bfin_isp1761_devices, num_devices); |
@@ -353,6 +354,7 @@ static struct platform_device net2272_bfin_device = { | |||
353 | }; | 354 | }; |
354 | #endif | 355 | #endif |
355 | 356 | ||
357 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
356 | static struct mtd_partition stamp_partitions[] = { | 358 | static struct mtd_partition stamp_partitions[] = { |
357 | { | 359 | { |
358 | .name = "Bootloader", | 360 | .name = "Bootloader", |
@@ -395,6 +397,7 @@ static struct platform_device stamp_flash_device = { | |||
395 | .num_resources = 1, | 397 | .num_resources = 1, |
396 | .resource = &stamp_flash_resource, | 398 | .resource = &stamp_flash_resource, |
397 | }; | 399 | }; |
400 | #endif | ||
398 | 401 | ||
399 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 402 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
400 | /* all SPI peripherals info goes here */ | 403 | /* all SPI peripherals info goes here */ |
@@ -500,6 +503,15 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
500 | }; | 503 | }; |
501 | #endif | 504 | #endif |
502 | 505 | ||
506 | #if defined(CONFIG_MTD_DATAFLASH) \ | ||
507 | || defined(CONFIG_MTD_DATAFLASH_MODULE) | ||
508 | /* DataFlash chip */ | ||
509 | static struct bfin5xx_spi_chip data_flash_chip_info = { | ||
510 | .enable_dma = 0, /* use dma transfer with this chip*/ | ||
511 | .bits_per_word = 8, | ||
512 | }; | ||
513 | #endif | ||
514 | |||
503 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 515 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
504 | #if defined(CONFIG_MTD_M25P80) \ | 516 | #if defined(CONFIG_MTD_M25P80) \ |
505 | || defined(CONFIG_MTD_M25P80_MODULE) | 517 | || defined(CONFIG_MTD_M25P80_MODULE) |
@@ -514,7 +526,17 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
514 | .mode = SPI_MODE_3, | 526 | .mode = SPI_MODE_3, |
515 | }, | 527 | }, |
516 | #endif | 528 | #endif |
517 | 529 | #if defined(CONFIG_MTD_DATAFLASH) \ | |
530 | || defined(CONFIG_MTD_DATAFLASH_MODULE) | ||
531 | { /* DataFlash chip */ | ||
532 | .modalias = "mtd_dataflash", | ||
533 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
534 | .bus_num = 0, /* Framework bus number */ | ||
535 | .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/ | ||
536 | .controller_data = &data_flash_chip_info, | ||
537 | .mode = SPI_MODE_3, | ||
538 | }, | ||
539 | #endif | ||
518 | #if defined(CONFIG_SPI_ADC_BF533) \ | 540 | #if defined(CONFIG_SPI_ADC_BF533) \ |
519 | || defined(CONFIG_SPI_ADC_BF533_MODULE) | 541 | || defined(CONFIG_SPI_ADC_BF533_MODULE) |
520 | { | 542 | { |
@@ -676,6 +698,32 @@ static struct platform_device bfin_uart_device = { | |||
676 | }; | 698 | }; |
677 | #endif | 699 | #endif |
678 | 700 | ||
701 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
702 | static struct resource bfin_sir_resources[] = { | ||
703 | #ifdef CONFIG_BFIN_SIR0 | ||
704 | { | ||
705 | .start = 0xFFC00400, | ||
706 | .end = 0xFFC004FF, | ||
707 | .flags = IORESOURCE_MEM, | ||
708 | }, | ||
709 | #endif | ||
710 | #ifdef CONFIG_BFIN_SIR1 | ||
711 | { | ||
712 | .start = 0xFFC02000, | ||
713 | .end = 0xFFC020FF, | ||
714 | .flags = IORESOURCE_MEM, | ||
715 | }, | ||
716 | #endif | ||
717 | }; | ||
718 | |||
719 | static struct platform_device bfin_sir_device = { | ||
720 | .name = "bfin_sir", | ||
721 | .id = 0, | ||
722 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
723 | .resource = bfin_sir_resources, | ||
724 | }; | ||
725 | #endif | ||
726 | |||
679 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 727 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
680 | static struct resource bfin_twi0_resource[] = { | 728 | static struct resource bfin_twi0_resource[] = { |
681 | [0] = { | 729 | [0] = { |
@@ -698,6 +746,31 @@ static struct platform_device i2c_bfin_twi_device = { | |||
698 | }; | 746 | }; |
699 | #endif | 747 | #endif |
700 | 748 | ||
749 | #ifdef CONFIG_I2C_BOARDINFO | ||
750 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | ||
751 | #if defined(CONFIG_JOYSTICK_AD7142) || defined(CONFIG_JOYSTICK_AD7142_MODULE) | ||
752 | { | ||
753 | I2C_BOARD_INFO("ad7142_joystick", 0x2C), | ||
754 | .type = "ad7142_joystick", | ||
755 | .irq = 55, | ||
756 | }, | ||
757 | #endif | ||
758 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | ||
759 | { | ||
760 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | ||
761 | .type = "pcf8574_lcd", | ||
762 | }, | ||
763 | #endif | ||
764 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) | ||
765 | { | ||
766 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | ||
767 | .type = "pcf8574_keypad", | ||
768 | .irq = 72, | ||
769 | }, | ||
770 | #endif | ||
771 | }; | ||
772 | #endif | ||
773 | |||
701 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 774 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
702 | static struct platform_device bfin_sport0_uart_device = { | 775 | static struct platform_device bfin_sport0_uart_device = { |
703 | .name = "bfin-sport-uart", | 776 | .name = "bfin-sport-uart", |
@@ -800,6 +873,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
800 | &bfin_uart_device, | 873 | &bfin_uart_device, |
801 | #endif | 874 | #endif |
802 | 875 | ||
876 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
877 | &bfin_sir_device, | ||
878 | #endif | ||
879 | |||
803 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | 880 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) |
804 | &i2c_bfin_twi_device, | 881 | &i2c_bfin_twi_device, |
805 | #endif | 882 | #endif |
@@ -818,12 +895,21 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
818 | #endif | 895 | #endif |
819 | 896 | ||
820 | &bfin_gpios_device, | 897 | &bfin_gpios_device, |
898 | |||
899 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
821 | &stamp_flash_device, | 900 | &stamp_flash_device, |
901 | #endif | ||
822 | }; | 902 | }; |
823 | 903 | ||
824 | static int __init stamp_init(void) | 904 | static int __init stamp_init(void) |
825 | { | 905 | { |
826 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 906 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
907 | |||
908 | #ifdef CONFIG_I2C_BOARDINFO | ||
909 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
910 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
911 | #endif | ||
912 | |||
827 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 913 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
828 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 914 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
829 | spi_register_board_info(bfin_spi_board_info, | 915 | spi_register_board_info(bfin_spi_board_info, |
@@ -833,6 +919,7 @@ static int __init stamp_init(void) | |||
833 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 919 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
834 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 920 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
835 | #endif | 921 | #endif |
922 | |||
836 | return 0; | 923 | return 0; |
837 | } | 924 | } |
838 | 925 | ||
diff --git a/arch/blackfin/mach-bf537/cpu.c b/arch/blackfin/mach-bf537/cpu.c deleted file mode 100644 index 0442c4c7f723..000000000000 --- a/arch/blackfin/mach-bf537/cpu.c +++ /dev/null | |||
@@ -1,159 +0,0 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf537/cpu.c | ||
3 | * Based on: | ||
4 | * Author: michael.kang@analog.com | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: clock scaling for the bf537 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/init.h> | ||
33 | #include <linux/cpufreq.h> | ||
34 | #include <asm/dpmc.h> | ||
35 | #include <linux/fs.h> | ||
36 | #include <asm/bfin-global.h> | ||
37 | |||
38 | /* CONFIG_CLKIN_HZ=11059200 */ | ||
39 | #define VCO5 (CONFIG_CLKIN_HZ*45) /*497664000 */ | ||
40 | #define VCO4 (CONFIG_CLKIN_HZ*36) /*398131200 */ | ||
41 | #define VCO3 (CONFIG_CLKIN_HZ*27) /*298598400 */ | ||
42 | #define VCO2 (CONFIG_CLKIN_HZ*18) /*199065600 */ | ||
43 | #define VCO1 (CONFIG_CLKIN_HZ*9) /*99532800 */ | ||
44 | #define VCO(x) VCO##x | ||
45 | |||
46 | #define MFREQ(x) {VCO(x),VCO(x)/4},{VCO(x),VCO(x)/2},{VCO(x),VCO(x)} | ||
47 | /* frequency */ | ||
48 | static struct cpufreq_frequency_table bf537_freq_table[] = { | ||
49 | MFREQ(1), | ||
50 | MFREQ(3), | ||
51 | {VCO4, VCO4 / 2}, {VCO4, VCO4}, | ||
52 | MFREQ(5), | ||
53 | {0, CPUFREQ_TABLE_END}, | ||
54 | }; | ||
55 | |||
56 | /* | ||
57 | * dpmc_fops->ioctl() | ||
58 | * static int dpmc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) | ||
59 | */ | ||
60 | static int bf537_getfreq(unsigned int cpu) | ||
61 | { | ||
62 | unsigned long cclk_mhz; | ||
63 | |||
64 | /* The driver only support single cpu */ | ||
65 | if (cpu == 0) | ||
66 | dpmc_fops.ioctl(NULL, NULL, IOCTL_GET_CORECLOCK, &cclk_mhz); | ||
67 | else | ||
68 | cclk_mhz = -1; | ||
69 | |||
70 | return cclk_mhz; | ||
71 | } | ||
72 | |||
73 | static int bf537_target(struct cpufreq_policy *policy, | ||
74 | unsigned int target_freq, unsigned int relation) | ||
75 | { | ||
76 | unsigned long cclk_mhz; | ||
77 | unsigned long vco_mhz; | ||
78 | unsigned long flags; | ||
79 | unsigned int index; | ||
80 | struct cpufreq_freqs freqs; | ||
81 | |||
82 | if (cpufreq_frequency_table_target(policy, bf537_freq_table, target_freq, relation, &index)) | ||
83 | return -EINVAL; | ||
84 | |||
85 | cclk_mhz = bf537_freq_table[index].frequency; | ||
86 | vco_mhz = bf537_freq_table[index].index; | ||
87 | |||
88 | dpmc_fops.ioctl(NULL, NULL, IOCTL_CHANGE_FREQUENCY, &vco_mhz); | ||
89 | freqs.old = bf537_getfreq(0); | ||
90 | freqs.new = cclk_mhz; | ||
91 | freqs.cpu = 0; | ||
92 | |||
93 | pr_debug("cclk begin change to cclk %d,vco=%d,index=%d,target=%d,oldfreq=%d\n", | ||
94 | cclk_mhz, vco_mhz, index, target_freq, freqs.old); | ||
95 | |||
96 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
97 | local_irq_save(flags); | ||
98 | dpmc_fops.ioctl(NULL, NULL, IOCTL_SET_CCLK, &cclk_mhz); | ||
99 | local_irq_restore(flags); | ||
100 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
101 | |||
102 | vco_mhz = get_vco(); | ||
103 | cclk_mhz = get_cclk(); | ||
104 | return 0; | ||
105 | } | ||
106 | |||
107 | /* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on | ||
108 | * this platform, anyway. | ||
109 | */ | ||
110 | static int bf537_verify_speed(struct cpufreq_policy *policy) | ||
111 | { | ||
112 | return cpufreq_frequency_table_verify(policy, &bf537_freq_table); | ||
113 | } | ||
114 | |||
115 | static int __init __bf537_cpu_init(struct cpufreq_policy *policy) | ||
116 | { | ||
117 | if (policy->cpu != 0) | ||
118 | return -EINVAL; | ||
119 | |||
120 | policy->governor = CPUFREQ_DEFAULT_GOVERNOR; | ||
121 | |||
122 | policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; | ||
123 | /*Now ,only support one cpu */ | ||
124 | policy->cur = bf537_getfreq(0); | ||
125 | cpufreq_frequency_table_get_attr(bf537_freq_table, policy->cpu); | ||
126 | return cpufreq_frequency_table_cpuinfo(policy, bf537_freq_table); | ||
127 | } | ||
128 | |||
129 | static struct freq_attr *bf537_freq_attr[] = { | ||
130 | &cpufreq_freq_attr_scaling_available_freqs, | ||
131 | NULL, | ||
132 | }; | ||
133 | |||
134 | static struct cpufreq_driver bf537_driver = { | ||
135 | .verify = bf537_verify_speed, | ||
136 | .target = bf537_target, | ||
137 | .get = bf537_getfreq, | ||
138 | .init = __bf537_cpu_init, | ||
139 | .name = "bf537", | ||
140 | .owner = THIS_MODULE, | ||
141 | .attr = bf537_freq_attr, | ||
142 | }; | ||
143 | |||
144 | static int __init bf537_cpu_init(void) | ||
145 | { | ||
146 | return cpufreq_register_driver(&bf537_driver); | ||
147 | } | ||
148 | |||
149 | static void __exit bf537_cpu_exit(void) | ||
150 | { | ||
151 | cpufreq_unregister_driver(&bf537_driver); | ||
152 | } | ||
153 | |||
154 | MODULE_AUTHOR("Mickael Kang"); | ||
155 | MODULE_DESCRIPTION("cpufreq driver for BF537 CPU"); | ||
156 | MODULE_LICENSE("GPL"); | ||
157 | |||
158 | module_init(bf537_cpu_init); | ||
159 | module_exit(bf537_cpu_exit); | ||
diff --git a/arch/blackfin/mach-bf537/dma.c b/arch/blackfin/mach-bf537/dma.c index 706cb97b0265..4edb363ff99c 100644 --- a/arch/blackfin/mach-bf537/dma.c +++ b/arch/blackfin/mach-bf537/dma.c | |||
@@ -26,10 +26,12 @@ | |||
26 | * to the Free Software Foundation, Inc., | 26 | * to the Free Software Foundation, Inc., |
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
28 | */ | 28 | */ |
29 | #include <linux/module.h> | ||
30 | |||
29 | #include <asm/blackfin.h> | 31 | #include <asm/blackfin.h> |
30 | #include <asm/dma.h> | 32 | #include <asm/dma.h> |
31 | 33 | ||
32 | struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | 34 | struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { |
33 | (struct dma_register *) DMA0_NEXT_DESC_PTR, | 35 | (struct dma_register *) DMA0_NEXT_DESC_PTR, |
34 | (struct dma_register *) DMA1_NEXT_DESC_PTR, | 36 | (struct dma_register *) DMA1_NEXT_DESC_PTR, |
35 | (struct dma_register *) DMA2_NEXT_DESC_PTR, | 37 | (struct dma_register *) DMA2_NEXT_DESC_PTR, |
@@ -47,6 +49,7 @@ struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | |||
47 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, | 49 | (struct dma_register *) MDMA_D1_NEXT_DESC_PTR, |
48 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, | 50 | (struct dma_register *) MDMA_S1_NEXT_DESC_PTR, |
49 | }; | 51 | }; |
52 | EXPORT_SYMBOL(dma_io_base_addr); | ||
50 | 53 | ||
51 | int channel2irq(unsigned int channel) | 54 | int channel2irq(unsigned int channel) |
52 | { | 55 | { |
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S index 3014fe8dd155..48cd58a410a0 100644 --- a/arch/blackfin/mach-bf537/head.S +++ b/arch/blackfin/mach-bf537/head.S | |||
@@ -37,9 +37,6 @@ | |||
37 | #include <asm/mach/mem_init.h> | 37 | #include <asm/mach/mem_init.h> |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | .global __rambase | ||
41 | .global __ramstart | ||
42 | .global __ramend | ||
43 | .extern ___bss_stop | 40 | .extern ___bss_stop |
44 | .extern ___bss_start | 41 | .extern ___bss_start |
45 | .extern _bf53x_relocate_l1_mem | 42 | .extern _bf53x_relocate_l1_mem |
@@ -180,40 +177,28 @@ ENTRY(__start) | |||
180 | SSYNC; | 177 | SSYNC; |
181 | #endif | 178 | #endif |
182 | 179 | ||
183 | #ifdef CONFIG_BF537_PORT_H | ||
184 | p0.h = hi(PORTH_FER); | ||
185 | p0.l = lo(PORTH_FER); | ||
186 | R0.L = W[P0]; /* Read */ | ||
187 | SSYNC; | ||
188 | R0 = 0x0000; | ||
189 | W[P0] = R0.L; /* Write */ | ||
190 | SSYNC; | ||
191 | W[P0] = R0.L; /* Disable peripheral function of PORTH */ | ||
192 | SSYNC; | ||
193 | #endif | ||
194 | |||
195 | /* Initialise UART - when booting from u-boot, the UART is not disabled | 180 | /* Initialise UART - when booting from u-boot, the UART is not disabled |
196 | * so if we dont initalize here, our serial console gets hosed */ | 181 | * so if we dont initalize here, our serial console gets hosed */ |
197 | p0.h = hi(UART_LCR); | 182 | p0.h = hi(BFIN_UART_LCR); |
198 | p0.l = lo(UART_LCR); | 183 | p0.l = lo(BFIN_UART_LCR); |
199 | r0 = 0x0(Z); | 184 | r0 = 0x0(Z); |
200 | w[p0] = r0.L; /* To enable DLL writes */ | 185 | w[p0] = r0.L; /* To enable DLL writes */ |
201 | ssync; | 186 | ssync; |
202 | 187 | ||
203 | p0.h = hi(UART_DLL); | 188 | p0.h = hi(BFIN_UART_DLL); |
204 | p0.l = lo(UART_DLL); | 189 | p0.l = lo(BFIN_UART_DLL); |
205 | r0 = 0x0(Z); | 190 | r0 = 0x0(Z); |
206 | w[p0] = r0.L; | 191 | w[p0] = r0.L; |
207 | ssync; | 192 | ssync; |
208 | 193 | ||
209 | p0.h = hi(UART_DLH); | 194 | p0.h = hi(BFIN_UART_DLH); |
210 | p0.l = lo(UART_DLH); | 195 | p0.l = lo(BFIN_UART_DLH); |
211 | r0 = 0x00(Z); | 196 | r0 = 0x00(Z); |
212 | w[p0] = r0.L; | 197 | w[p0] = r0.L; |
213 | ssync; | 198 | ssync; |
214 | 199 | ||
215 | p0.h = hi(UART_GCTL); | 200 | p0.h = hi(BFIN_UART_GCTL); |
216 | p0.l = lo(UART_GCTL); | 201 | p0.l = lo(BFIN_UART_GCTL); |
217 | r0 = 0x0(Z); | 202 | r0 = 0x0(Z); |
218 | w[p0] = r0.L; /* To enable UART clock */ | 203 | w[p0] = r0.L; /* To enable UART clock */ |
219 | ssync; | 204 | ssync; |
@@ -483,18 +468,3 @@ ENTRY(_start_dma_code) | |||
483 | RTS; | 468 | RTS; |
484 | ENDPROC(_start_dma_code) | 469 | ENDPROC(_start_dma_code) |
485 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 470 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
486 | |||
487 | .data | ||
488 | |||
489 | /* | ||
490 | * Set up the usable of RAM stuff. Size of RAM is determined then | ||
491 | * an initial stack set up at the end. | ||
492 | */ | ||
493 | |||
494 | .align 4 | ||
495 | __rambase: | ||
496 | .long 0 | ||
497 | __ramstart: | ||
498 | .long 0 | ||
499 | __ramend: | ||
500 | .long 0 | ||
diff --git a/arch/blackfin/mach-bf548/Makefile b/arch/blackfin/mach-bf548/Makefile index 7e7c9c8ac5b2..68e5478e95a9 100644 --- a/arch/blackfin/mach-bf548/Makefile +++ b/arch/blackfin/mach-bf548/Makefile | |||
@@ -5,5 +5,3 @@ | |||
5 | extra-y := head.o | 5 | extra-y := head.o |
6 | 6 | ||
7 | obj-y := ints-priority.o dma.o | 7 | obj-y := ints-priority.o dma.o |
8 | |||
9 | obj-$(CONFIG_CPU_FREQ) += cpu.o | ||
diff --git a/arch/blackfin/mach-bf548/boards/Kconfig b/arch/blackfin/mach-bf548/boards/Kconfig index 057129064037..d38e52671853 100644 --- a/arch/blackfin/mach-bf548/boards/Kconfig +++ b/arch/blackfin/mach-bf548/boards/Kconfig | |||
@@ -8,5 +8,11 @@ config BFIN548_EZKIT | |||
8 | bool "BF548-EZKIT" | 8 | bool "BF548-EZKIT" |
9 | help | 9 | help |
10 | BFIN548-EZKIT board support. | 10 | BFIN548-EZKIT board support. |
11 | |||
12 | config BFIN548_BLUETECHNIX_CM | ||
13 | bool "Bluetechnix CM-BF548" | ||
14 | depends on (BF548) | ||
15 | help | ||
16 | CM-BF548 support for DEV-Board. | ||
11 | 17 | ||
12 | endchoice | 18 | endchoice |
diff --git a/arch/blackfin/mach-bf548/boards/Makefile b/arch/blackfin/mach-bf548/boards/Makefile index a444cc739578..eed161dd7845 100644 --- a/arch/blackfin/mach-bf548/boards/Makefile +++ b/arch/blackfin/mach-bf548/boards/Makefile | |||
@@ -3,3 +3,4 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o led.o | 5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o led.o |
6 | obj-$(CONFIG_BFIN548_BLUETECHNIX_CM) += cm_bf548.o | ||
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c new file mode 100644 index 000000000000..e3e8479fffb5 --- /dev/null +++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c | |||
@@ -0,0 +1,664 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf548/boards/cm_bf548.c | ||
3 | * Based on: arch/blackfin/mach-bf537/boards/ezkit.c | ||
4 | * Author: Aidan Williams <aidan@nicta.com.au> | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | ||
30 | |||
31 | #include <linux/device.h> | ||
32 | #include <linux/platform_device.h> | ||
33 | #include <linux/mtd/mtd.h> | ||
34 | #include <linux/mtd/partitions.h> | ||
35 | #include <linux/spi/spi.h> | ||
36 | #include <linux/spi/flash.h> | ||
37 | #include <linux/irq.h> | ||
38 | #include <linux/interrupt.h> | ||
39 | #include <linux/usb/musb.h> | ||
40 | #include <asm/bfin5xx_spi.h> | ||
41 | #include <asm/cplb.h> | ||
42 | #include <asm/dma.h> | ||
43 | #include <asm/gpio.h> | ||
44 | #include <asm/nand.h> | ||
45 | #include <asm/portmux.h> | ||
46 | #include <asm/mach/bf54x_keys.h> | ||
47 | #include <linux/input.h> | ||
48 | #include <linux/spi/ad7877.h> | ||
49 | |||
50 | /* | ||
51 | * Name the Board for the /proc/cpuinfo | ||
52 | */ | ||
53 | const char bfin_board_name[] = "Bluetechnix CM-BF548"; | ||
54 | |||
55 | /* | ||
56 | * Driver needs to know address, irq and flag pin. | ||
57 | */ | ||
58 | |||
59 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) | ||
60 | |||
61 | #include <asm/mach/bf54x-lq043.h> | ||
62 | |||
63 | static struct bfin_bf54xfb_mach_info bf54x_lq043_data = { | ||
64 | .width = 480, | ||
65 | .height = 272, | ||
66 | .xres = {480, 480, 480}, | ||
67 | .yres = {272, 272, 272}, | ||
68 | .bpp = {24, 24, 24}, | ||
69 | .disp = GPIO_PE3, | ||
70 | }; | ||
71 | |||
72 | static struct resource bf54x_lq043_resources[] = { | ||
73 | { | ||
74 | .start = IRQ_EPPI0_ERR, | ||
75 | .end = IRQ_EPPI0_ERR, | ||
76 | .flags = IORESOURCE_IRQ, | ||
77 | }, | ||
78 | }; | ||
79 | |||
80 | static struct platform_device bf54x_lq043_device = { | ||
81 | .name = "bf54x-lq043", | ||
82 | .id = -1, | ||
83 | .num_resources = ARRAY_SIZE(bf54x_lq043_resources), | ||
84 | .resource = bf54x_lq043_resources, | ||
85 | .dev = { | ||
86 | .platform_data = &bf54x_lq043_data, | ||
87 | }, | ||
88 | }; | ||
89 | #endif | ||
90 | |||
91 | #if defined(CONFIG_KEYBOARD_BFIN) || defined(CONFIG_KEYBOARD_BFIN_MODULE) | ||
92 | static unsigned int bf548_keymap[] = { | ||
93 | KEYVAL(0, 0, KEY_ENTER), | ||
94 | KEYVAL(0, 1, KEY_HELP), | ||
95 | KEYVAL(0, 2, KEY_0), | ||
96 | KEYVAL(0, 3, KEY_BACKSPACE), | ||
97 | KEYVAL(1, 0, KEY_TAB), | ||
98 | KEYVAL(1, 1, KEY_9), | ||
99 | KEYVAL(1, 2, KEY_8), | ||
100 | KEYVAL(1, 3, KEY_7), | ||
101 | KEYVAL(2, 0, KEY_DOWN), | ||
102 | KEYVAL(2, 1, KEY_6), | ||
103 | KEYVAL(2, 2, KEY_5), | ||
104 | KEYVAL(2, 3, KEY_4), | ||
105 | KEYVAL(3, 0, KEY_UP), | ||
106 | KEYVAL(3, 1, KEY_3), | ||
107 | KEYVAL(3, 2, KEY_2), | ||
108 | KEYVAL(3, 3, KEY_1), | ||
109 | }; | ||
110 | |||
111 | static struct bfin_kpad_platform_data bf54x_kpad_data = { | ||
112 | .rows = 4, | ||
113 | .cols = 4, | ||
114 | .keymap = bf548_keymap, | ||
115 | .keymapsize = ARRAY_SIZE(bf548_keymap), | ||
116 | .repeat = 0, | ||
117 | .debounce_time = 5000, /* ns (5ms) */ | ||
118 | .coldrive_time = 1000, /* ns (1ms) */ | ||
119 | .keyup_test_interval = 50, /* ms (50ms) */ | ||
120 | }; | ||
121 | |||
122 | static struct resource bf54x_kpad_resources[] = { | ||
123 | { | ||
124 | .start = IRQ_KEY, | ||
125 | .end = IRQ_KEY, | ||
126 | .flags = IORESOURCE_IRQ, | ||
127 | }, | ||
128 | }; | ||
129 | |||
130 | static struct platform_device bf54x_kpad_device = { | ||
131 | .name = "bf54x-keys", | ||
132 | .id = -1, | ||
133 | .num_resources = ARRAY_SIZE(bf54x_kpad_resources), | ||
134 | .resource = bf54x_kpad_resources, | ||
135 | .dev = { | ||
136 | .platform_data = &bf54x_kpad_data, | ||
137 | }, | ||
138 | }; | ||
139 | #endif | ||
140 | |||
141 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
142 | static struct platform_device rtc_device = { | ||
143 | .name = "rtc-bfin", | ||
144 | .id = -1, | ||
145 | }; | ||
146 | #endif | ||
147 | |||
148 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
149 | static struct resource bfin_uart_resources[] = { | ||
150 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
151 | { | ||
152 | .start = 0xFFC00400, | ||
153 | .end = 0xFFC004FF, | ||
154 | .flags = IORESOURCE_MEM, | ||
155 | }, | ||
156 | #endif | ||
157 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
158 | { | ||
159 | .start = 0xFFC02000, | ||
160 | .end = 0xFFC020FF, | ||
161 | .flags = IORESOURCE_MEM, | ||
162 | }, | ||
163 | #endif | ||
164 | #ifdef CONFIG_SERIAL_BFIN_UART2 | ||
165 | { | ||
166 | .start = 0xFFC02100, | ||
167 | .end = 0xFFC021FF, | ||
168 | .flags = IORESOURCE_MEM, | ||
169 | }, | ||
170 | #endif | ||
171 | #ifdef CONFIG_SERIAL_BFIN_UART3 | ||
172 | { | ||
173 | .start = 0xFFC03100, | ||
174 | .end = 0xFFC031FF, | ||
175 | }, | ||
176 | #endif | ||
177 | }; | ||
178 | |||
179 | static struct platform_device bfin_uart_device = { | ||
180 | .name = "bfin-uart", | ||
181 | .id = 1, | ||
182 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | ||
183 | .resource = bfin_uart_resources, | ||
184 | }; | ||
185 | #endif | ||
186 | |||
187 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
188 | static struct resource bfin_sir_resources[] = { | ||
189 | #ifdef CONFIG_BFIN_SIR0 | ||
190 | { | ||
191 | .start = 0xFFC00400, | ||
192 | .end = 0xFFC004FF, | ||
193 | .flags = IORESOURCE_MEM, | ||
194 | }, | ||
195 | #endif | ||
196 | #ifdef CONFIG_BFIN_SIR1 | ||
197 | { | ||
198 | .start = 0xFFC02000, | ||
199 | .end = 0xFFC020FF, | ||
200 | .flags = IORESOURCE_MEM, | ||
201 | }, | ||
202 | #endif | ||
203 | #ifdef CONFIG_BFIN_SIR2 | ||
204 | { | ||
205 | .start = 0xFFC02100, | ||
206 | .end = 0xFFC021FF, | ||
207 | .flags = IORESOURCE_MEM, | ||
208 | }, | ||
209 | #endif | ||
210 | #ifdef CONFIG_BFIN_SIR3 | ||
211 | { | ||
212 | .start = 0xFFC03100, | ||
213 | .end = 0xFFC031FF, | ||
214 | .flags = IORESOURCE_MEM, | ||
215 | }, | ||
216 | #endif | ||
217 | }; | ||
218 | |||
219 | static struct platform_device bfin_sir_device = { | ||
220 | .name = "bfin_sir", | ||
221 | .id = 0, | ||
222 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
223 | .resource = bfin_sir_resources, | ||
224 | }; | ||
225 | #endif | ||
226 | |||
227 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | ||
228 | static struct resource smsc911x_resources[] = { | ||
229 | { | ||
230 | .name = "smsc911x-memory", | ||
231 | .start = 0x24000000, | ||
232 | .end = 0x24000000 + 0xFF, | ||
233 | .flags = IORESOURCE_MEM, | ||
234 | }, | ||
235 | { | ||
236 | .start = IRQ_PE6, | ||
237 | .end = IRQ_PE6, | ||
238 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | ||
239 | }, | ||
240 | }; | ||
241 | static struct platform_device smsc911x_device = { | ||
242 | .name = "smsc911x", | ||
243 | .id = 0, | ||
244 | .num_resources = ARRAY_SIZE(smsc911x_resources), | ||
245 | .resource = smsc911x_resources, | ||
246 | }; | ||
247 | #endif | ||
248 | |||
249 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | ||
250 | static struct resource musb_resources[] = { | ||
251 | [0] = { | ||
252 | .start = 0xFFC03C00, | ||
253 | .end = 0xFFC040FF, | ||
254 | .flags = IORESOURCE_MEM, | ||
255 | }, | ||
256 | [1] = { /* general IRQ */ | ||
257 | .start = IRQ_USB_INT0, | ||
258 | .end = IRQ_USB_INT0, | ||
259 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
260 | }, | ||
261 | [2] = { /* DMA IRQ */ | ||
262 | .start = IRQ_USB_DMA, | ||
263 | .end = IRQ_USB_DMA, | ||
264 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
265 | }, | ||
266 | }; | ||
267 | |||
268 | static struct musb_hdrc_platform_data musb_plat = { | ||
269 | #if defined(CONFIG_USB_MUSB_OTG) | ||
270 | .mode = MUSB_OTG, | ||
271 | #elif defined(CONFIG_USB_MUSB_HDRC_HCD) | ||
272 | .mode = MUSB_HOST, | ||
273 | #elif defined(CONFIG_USB_GADGET_MUSB_HDRC) | ||
274 | .mode = MUSB_PERIPHERAL, | ||
275 | #endif | ||
276 | .multipoint = 0, | ||
277 | }; | ||
278 | |||
279 | static u64 musb_dmamask = ~(u32)0; | ||
280 | |||
281 | static struct platform_device musb_device = { | ||
282 | .name = "musb_hdrc", | ||
283 | .id = 0, | ||
284 | .dev = { | ||
285 | .dma_mask = &musb_dmamask, | ||
286 | .coherent_dma_mask = 0xffffffff, | ||
287 | .platform_data = &musb_plat, | ||
288 | }, | ||
289 | .num_resources = ARRAY_SIZE(musb_resources), | ||
290 | .resource = musb_resources, | ||
291 | }; | ||
292 | #endif | ||
293 | |||
294 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | ||
295 | static struct resource bfin_atapi_resources[] = { | ||
296 | { | ||
297 | .start = 0xFFC03800, | ||
298 | .end = 0xFFC0386F, | ||
299 | .flags = IORESOURCE_MEM, | ||
300 | }, | ||
301 | { | ||
302 | .start = IRQ_ATAPI_ERR, | ||
303 | .end = IRQ_ATAPI_ERR, | ||
304 | .flags = IORESOURCE_IRQ, | ||
305 | }, | ||
306 | }; | ||
307 | |||
308 | static struct platform_device bfin_atapi_device = { | ||
309 | .name = "pata-bf54x", | ||
310 | .id = -1, | ||
311 | .num_resources = ARRAY_SIZE(bfin_atapi_resources), | ||
312 | .resource = bfin_atapi_resources, | ||
313 | }; | ||
314 | #endif | ||
315 | |||
316 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) | ||
317 | static struct mtd_partition partition_info[] = { | ||
318 | { | ||
319 | .name = "Linux Kernel", | ||
320 | .offset = 0, | ||
321 | .size = 4 * SIZE_1M, | ||
322 | }, | ||
323 | { | ||
324 | .name = "File System", | ||
325 | .offset = 4 * SIZE_1M, | ||
326 | .size = (256 - 4) * SIZE_1M, | ||
327 | }, | ||
328 | }; | ||
329 | |||
330 | static struct bf5xx_nand_platform bf5xx_nand_platform = { | ||
331 | .page_size = NFC_PG_SIZE_256, | ||
332 | .data_width = NFC_NWIDTH_8, | ||
333 | .partitions = partition_info, | ||
334 | .nr_partitions = ARRAY_SIZE(partition_info), | ||
335 | .rd_dly = 3, | ||
336 | .wr_dly = 3, | ||
337 | }; | ||
338 | |||
339 | static struct resource bf5xx_nand_resources[] = { | ||
340 | { | ||
341 | .start = 0xFFC03B00, | ||
342 | .end = 0xFFC03B4F, | ||
343 | .flags = IORESOURCE_MEM, | ||
344 | }, | ||
345 | { | ||
346 | .start = CH_NFC, | ||
347 | .end = CH_NFC, | ||
348 | .flags = IORESOURCE_IRQ, | ||
349 | }, | ||
350 | }; | ||
351 | |||
352 | static struct platform_device bf5xx_nand_device = { | ||
353 | .name = "bf5xx-nand", | ||
354 | .id = 0, | ||
355 | .num_resources = ARRAY_SIZE(bf5xx_nand_resources), | ||
356 | .resource = bf5xx_nand_resources, | ||
357 | .dev = { | ||
358 | .platform_data = &bf5xx_nand_platform, | ||
359 | }, | ||
360 | }; | ||
361 | #endif | ||
362 | |||
363 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
364 | static struct platform_device bf54x_sdh_device = { | ||
365 | .name = "bfin-sdh", | ||
366 | .id = 0, | ||
367 | }; | ||
368 | #endif | ||
369 | |||
370 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
371 | /* all SPI peripherals info goes here */ | ||
372 | #if defined(CONFIG_MTD_M25P80) \ | ||
373 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
374 | /* SPI flash chip (m25p16) */ | ||
375 | static struct mtd_partition bfin_spi_flash_partitions[] = { | ||
376 | { | ||
377 | .name = "bootloader", | ||
378 | .size = 0x00040000, | ||
379 | .offset = 0, | ||
380 | .mask_flags = MTD_CAP_ROM | ||
381 | }, { | ||
382 | .name = "linux kernel", | ||
383 | .size = 0x1c0000, | ||
384 | .offset = 0x40000 | ||
385 | } | ||
386 | }; | ||
387 | |||
388 | static struct flash_platform_data bfin_spi_flash_data = { | ||
389 | .name = "m25p80", | ||
390 | .parts = bfin_spi_flash_partitions, | ||
391 | .nr_parts = ARRAY_SIZE(bfin_spi_flash_partitions), | ||
392 | .type = "m25p16", | ||
393 | }; | ||
394 | |||
395 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | ||
396 | .enable_dma = 0, /* use dma transfer with this chip*/ | ||
397 | .bits_per_word = 8, | ||
398 | .cs_change_per_word = 0, | ||
399 | }; | ||
400 | #endif | ||
401 | |||
402 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
403 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | ||
404 | .cs_change_per_word = 0, | ||
405 | .enable_dma = 0, | ||
406 | .bits_per_word = 16, | ||
407 | }; | ||
408 | |||
409 | static const struct ad7877_platform_data bfin_ad7877_ts_info = { | ||
410 | .model = 7877, | ||
411 | .vref_delay_usecs = 50, /* internal, no capacitor */ | ||
412 | .x_plate_ohms = 419, | ||
413 | .y_plate_ohms = 486, | ||
414 | .pressure_max = 1000, | ||
415 | .pressure_min = 0, | ||
416 | .stopacq_polarity = 1, | ||
417 | .first_conversion_delay = 3, | ||
418 | .acquisition_time = 1, | ||
419 | .averaging = 1, | ||
420 | .pen_down_acc_interval = 1, | ||
421 | }; | ||
422 | #endif | ||
423 | |||
424 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
425 | static struct bfin5xx_spi_chip spidev_chip_info = { | ||
426 | .enable_dma = 0, | ||
427 | .bits_per_word = 8, | ||
428 | }; | ||
429 | #endif | ||
430 | |||
431 | static struct spi_board_info bf54x_spi_board_info[] __initdata = { | ||
432 | #if defined(CONFIG_MTD_M25P80) \ | ||
433 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
434 | { | ||
435 | /* the modalias must be the same as spi device driver name */ | ||
436 | .modalias = "m25p80", /* Name of spi_driver for this device */ | ||
437 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
438 | .bus_num = 0, /* Framework bus number */ | ||
439 | .chip_select = 1, /* SPI_SSEL1*/ | ||
440 | .platform_data = &bfin_spi_flash_data, | ||
441 | .controller_data = &spi_flash_chip_info, | ||
442 | .mode = SPI_MODE_3, | ||
443 | }, | ||
444 | #endif | ||
445 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
446 | { | ||
447 | .modalias = "ad7877", | ||
448 | .platform_data = &bfin_ad7877_ts_info, | ||
449 | .irq = IRQ_PJ11, | ||
450 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | ||
451 | .bus_num = 0, | ||
452 | .chip_select = 2, | ||
453 | .controller_data = &spi_ad7877_chip_info, | ||
454 | }, | ||
455 | #endif | ||
456 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
457 | { | ||
458 | .modalias = "spidev", | ||
459 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
460 | .bus_num = 0, | ||
461 | .chip_select = 1, | ||
462 | .controller_data = &spidev_chip_info, | ||
463 | }, | ||
464 | #endif | ||
465 | }; | ||
466 | |||
467 | /* SPI (0) */ | ||
468 | static struct resource bfin_spi0_resource[] = { | ||
469 | [0] = { | ||
470 | .start = SPI0_REGBASE, | ||
471 | .end = SPI0_REGBASE + 0xFF, | ||
472 | .flags = IORESOURCE_MEM, | ||
473 | }, | ||
474 | [1] = { | ||
475 | .start = CH_SPI0, | ||
476 | .end = CH_SPI0, | ||
477 | .flags = IORESOURCE_IRQ, | ||
478 | } | ||
479 | }; | ||
480 | |||
481 | /* SPI (1) */ | ||
482 | static struct resource bfin_spi1_resource[] = { | ||
483 | [0] = { | ||
484 | .start = SPI1_REGBASE, | ||
485 | .end = SPI1_REGBASE + 0xFF, | ||
486 | .flags = IORESOURCE_MEM, | ||
487 | }, | ||
488 | [1] = { | ||
489 | .start = CH_SPI1, | ||
490 | .end = CH_SPI1, | ||
491 | .flags = IORESOURCE_IRQ, | ||
492 | } | ||
493 | }; | ||
494 | |||
495 | /* SPI controller data */ | ||
496 | static struct bfin5xx_spi_master bf54x_spi_master_info0 = { | ||
497 | .num_chipselect = 8, | ||
498 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
499 | .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, | ||
500 | }; | ||
501 | |||
502 | static struct platform_device bf54x_spi_master0 = { | ||
503 | .name = "bfin-spi", | ||
504 | .id = 0, /* Bus number */ | ||
505 | .num_resources = ARRAY_SIZE(bfin_spi0_resource), | ||
506 | .resource = bfin_spi0_resource, | ||
507 | .dev = { | ||
508 | .platform_data = &bf54x_spi_master_info0, /* Passed to driver */ | ||
509 | }, | ||
510 | }; | ||
511 | |||
512 | static struct bfin5xx_spi_master bf54x_spi_master_info1 = { | ||
513 | .num_chipselect = 8, | ||
514 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
515 | .pin_req = {P_SPI1_SCK, P_SPI1_MISO, P_SPI1_MOSI, 0}, | ||
516 | }; | ||
517 | |||
518 | static struct platform_device bf54x_spi_master1 = { | ||
519 | .name = "bfin-spi", | ||
520 | .id = 1, /* Bus number */ | ||
521 | .num_resources = ARRAY_SIZE(bfin_spi1_resource), | ||
522 | .resource = bfin_spi1_resource, | ||
523 | .dev = { | ||
524 | .platform_data = &bf54x_spi_master_info1, /* Passed to driver */ | ||
525 | }, | ||
526 | }; | ||
527 | #endif /* spi master and devices */ | ||
528 | |||
529 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
530 | static struct resource bfin_twi0_resource[] = { | ||
531 | [0] = { | ||
532 | .start = TWI0_REGBASE, | ||
533 | .end = TWI0_REGBASE + 0xFF, | ||
534 | .flags = IORESOURCE_MEM, | ||
535 | }, | ||
536 | [1] = { | ||
537 | .start = IRQ_TWI0, | ||
538 | .end = IRQ_TWI0, | ||
539 | .flags = IORESOURCE_IRQ, | ||
540 | }, | ||
541 | }; | ||
542 | |||
543 | static struct platform_device i2c_bfin_twi0_device = { | ||
544 | .name = "i2c-bfin-twi", | ||
545 | .id = 0, | ||
546 | .num_resources = ARRAY_SIZE(bfin_twi0_resource), | ||
547 | .resource = bfin_twi0_resource, | ||
548 | }; | ||
549 | |||
550 | #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ | ||
551 | static struct resource bfin_twi1_resource[] = { | ||
552 | [0] = { | ||
553 | .start = TWI1_REGBASE, | ||
554 | .end = TWI1_REGBASE + 0xFF, | ||
555 | .flags = IORESOURCE_MEM, | ||
556 | }, | ||
557 | [1] = { | ||
558 | .start = IRQ_TWI1, | ||
559 | .end = IRQ_TWI1, | ||
560 | .flags = IORESOURCE_IRQ, | ||
561 | }, | ||
562 | }; | ||
563 | |||
564 | static struct platform_device i2c_bfin_twi1_device = { | ||
565 | .name = "i2c-bfin-twi", | ||
566 | .id = 1, | ||
567 | .num_resources = ARRAY_SIZE(bfin_twi1_resource), | ||
568 | .resource = bfin_twi1_resource, | ||
569 | }; | ||
570 | #endif | ||
571 | #endif | ||
572 | |||
573 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
574 | #include <linux/gpio_keys.h> | ||
575 | |||
576 | static struct gpio_keys_button bfin_gpio_keys_table[] = { | ||
577 | {BTN_0, GPIO_PH7, 1, "gpio-keys: BTN0"}, | ||
578 | }; | ||
579 | |||
580 | static struct gpio_keys_platform_data bfin_gpio_keys_data = { | ||
581 | .buttons = bfin_gpio_keys_table, | ||
582 | .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table), | ||
583 | }; | ||
584 | |||
585 | static struct platform_device bfin_device_gpiokeys = { | ||
586 | .name = "gpio-keys", | ||
587 | .dev = { | ||
588 | .platform_data = &bfin_gpio_keys_data, | ||
589 | }, | ||
590 | }; | ||
591 | #endif | ||
592 | |||
593 | static struct platform_device *cm_bf548_devices[] __initdata = { | ||
594 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
595 | &rtc_device, | ||
596 | #endif | ||
597 | |||
598 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
599 | &bfin_uart_device, | ||
600 | #endif | ||
601 | |||
602 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
603 | &bfin_sir_device, | ||
604 | #endif | ||
605 | |||
606 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) | ||
607 | &bf54x_lq043_device, | ||
608 | #endif | ||
609 | |||
610 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | ||
611 | &smsc911x_device, | ||
612 | #endif | ||
613 | |||
614 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | ||
615 | &musb_device, | ||
616 | #endif | ||
617 | |||
618 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | ||
619 | &bfin_atapi_device, | ||
620 | #endif | ||
621 | |||
622 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) | ||
623 | &bf5xx_nand_device, | ||
624 | #endif | ||
625 | |||
626 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
627 | &bf54x_sdh_device, | ||
628 | #endif | ||
629 | |||
630 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
631 | &bf54x_spi_master0, | ||
632 | &bf54x_spi_master1, | ||
633 | #endif | ||
634 | |||
635 | #if defined(CONFIG_KEYBOARD_BFIN) || defined(CONFIG_KEYBOARD_BFIN_MODULE) | ||
636 | &bf54x_kpad_device, | ||
637 | #endif | ||
638 | |||
639 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
640 | /* &i2c_bfin_twi0_device, */ | ||
641 | #if !defined(CONFIG_BF542) | ||
642 | &i2c_bfin_twi1_device, | ||
643 | #endif | ||
644 | #endif | ||
645 | |||
646 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
647 | &bfin_device_gpiokeys, | ||
648 | #endif | ||
649 | }; | ||
650 | |||
651 | static int __init cm_bf548_init(void) | ||
652 | { | ||
653 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | ||
654 | platform_add_devices(cm_bf548_devices, ARRAY_SIZE(cm_bf548_devices)); | ||
655 | |||
656 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
657 | spi_register_board_info(bf54x_spi_board_info, | ||
658 | ARRAY_SIZE(bf54x_spi_board_info)); | ||
659 | #endif | ||
660 | |||
661 | return 0; | ||
662 | } | ||
663 | |||
664 | arch_initcall(cm_bf548_init); | ||
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index 40846aa034c4..231dfbd3bc1f 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/spi/spi.h> | 36 | #include <linux/spi/spi.h> |
37 | #include <linux/spi/flash.h> | 37 | #include <linux/spi/flash.h> |
38 | #include <linux/irq.h> | 38 | #include <linux/irq.h> |
39 | #include <linux/i2c.h> | ||
39 | #include <linux/interrupt.h> | 40 | #include <linux/interrupt.h> |
40 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 41 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
41 | #include <linux/usb/musb.h> | 42 | #include <linux/usb/musb.h> |
@@ -187,6 +188,46 @@ static struct platform_device bfin_uart_device = { | |||
187 | }; | 188 | }; |
188 | #endif | 189 | #endif |
189 | 190 | ||
191 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
192 | static struct resource bfin_sir_resources[] = { | ||
193 | #ifdef CONFIG_BFIN_SIR0 | ||
194 | { | ||
195 | .start = 0xFFC00400, | ||
196 | .end = 0xFFC004FF, | ||
197 | .flags = IORESOURCE_MEM, | ||
198 | }, | ||
199 | #endif | ||
200 | #ifdef CONFIG_BFIN_SIR1 | ||
201 | { | ||
202 | .start = 0xFFC02000, | ||
203 | .end = 0xFFC020FF, | ||
204 | .flags = IORESOURCE_MEM, | ||
205 | }, | ||
206 | #endif | ||
207 | #ifdef CONFIG_BFIN_SIR2 | ||
208 | { | ||
209 | .start = 0xFFC02100, | ||
210 | .end = 0xFFC021FF, | ||
211 | .flags = IORESOURCE_MEM, | ||
212 | }, | ||
213 | #endif | ||
214 | #ifdef CONFIG_BFIN_SIR3 | ||
215 | { | ||
216 | .start = 0xFFC03100, | ||
217 | .end = 0xFFC031FF, | ||
218 | .flags = IORESOURCE_MEM, | ||
219 | }, | ||
220 | #endif | ||
221 | }; | ||
222 | |||
223 | static struct platform_device bfin_sir_device = { | ||
224 | .name = "bfin_sir", | ||
225 | .id = 0, | ||
226 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
227 | .resource = bfin_sir_resources, | ||
228 | }; | ||
229 | #endif | ||
230 | |||
190 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) | 231 | #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE) |
191 | static struct resource smsc911x_resources[] = { | 232 | static struct resource smsc911x_resources[] = { |
192 | { | 233 | { |
@@ -330,6 +371,7 @@ static struct platform_device bf54x_sdh_device = { | |||
330 | }; | 371 | }; |
331 | #endif | 372 | #endif |
332 | 373 | ||
374 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
333 | static struct mtd_partition ezkit_partitions[] = { | 375 | static struct mtd_partition ezkit_partitions[] = { |
334 | { | 376 | { |
335 | .name = "Bootloader", | 377 | .name = "Bootloader", |
@@ -337,7 +379,7 @@ static struct mtd_partition ezkit_partitions[] = { | |||
337 | .offset = 0, | 379 | .offset = 0, |
338 | }, { | 380 | }, { |
339 | .name = "Kernel", | 381 | .name = "Kernel", |
340 | .size = 0xE0000, | 382 | .size = 0x1C0000, |
341 | .offset = MTDPART_OFS_APPEND, | 383 | .offset = MTDPART_OFS_APPEND, |
342 | }, { | 384 | }, { |
343 | .name = "RootFS", | 385 | .name = "RootFS", |
@@ -367,6 +409,7 @@ static struct platform_device ezkit_flash_device = { | |||
367 | .num_resources = 1, | 409 | .num_resources = 1, |
368 | .resource = &ezkit_flash_resource, | 410 | .resource = &ezkit_flash_resource, |
369 | }; | 411 | }; |
412 | #endif | ||
370 | 413 | ||
371 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 414 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
372 | /* all SPI peripherals info goes here */ | 415 | /* all SPI peripherals info goes here */ |
@@ -400,6 +443,14 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
400 | }; | 443 | }; |
401 | #endif | 444 | #endif |
402 | 445 | ||
446 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | ||
447 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | ||
448 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | ||
449 | .enable_dma = 0, | ||
450 | .bits_per_word = 16, | ||
451 | }; | ||
452 | #endif | ||
453 | |||
403 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 454 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
404 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | 455 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { |
405 | .cs_change_per_word = 0, | 456 | .cs_change_per_word = 0, |
@@ -443,6 +494,16 @@ static struct spi_board_info bf54x_spi_board_info[] __initdata = { | |||
443 | .mode = SPI_MODE_3, | 494 | .mode = SPI_MODE_3, |
444 | }, | 495 | }, |
445 | #endif | 496 | #endif |
497 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | ||
498 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | ||
499 | { | ||
500 | .modalias = "ad1836-spi", | ||
501 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
502 | .bus_num = 1, | ||
503 | .chip_select = CONFIG_SND_BLACKFIN_SPI_PFBIT, | ||
504 | .controller_data = &ad1836_spi_chip_info, | ||
505 | }, | ||
506 | #endif | ||
446 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 507 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
447 | { | 508 | { |
448 | .modalias = "ad7877", | 509 | .modalias = "ad7877", |
@@ -571,6 +632,29 @@ static struct platform_device i2c_bfin_twi1_device = { | |||
571 | #endif | 632 | #endif |
572 | #endif | 633 | #endif |
573 | 634 | ||
635 | #ifdef CONFIG_I2C_BOARDINFO | ||
636 | static struct i2c_board_info __initdata bfin_i2c_board_info0[] = { | ||
637 | }; | ||
638 | |||
639 | #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ | ||
640 | static struct i2c_board_info __initdata bfin_i2c_board_info1[] = { | ||
641 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | ||
642 | { | ||
643 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | ||
644 | .type = "pcf8574_lcd", | ||
645 | }, | ||
646 | #endif | ||
647 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) | ||
648 | { | ||
649 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | ||
650 | .type = "pcf8574_keypad", | ||
651 | .irq = 212, | ||
652 | }, | ||
653 | #endif | ||
654 | }; | ||
655 | #endif | ||
656 | #endif | ||
657 | |||
574 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 658 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
575 | #include <linux/gpio_keys.h> | 659 | #include <linux/gpio_keys.h> |
576 | 660 | ||
@@ -616,6 +700,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
616 | &bfin_uart_device, | 700 | &bfin_uart_device, |
617 | #endif | 701 | #endif |
618 | 702 | ||
703 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
704 | &bfin_sir_device, | ||
705 | #endif | ||
706 | |||
619 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) | 707 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) |
620 | &bf54x_lq043_device, | 708 | &bf54x_lq043_device, |
621 | #endif | 709 | #endif |
@@ -661,12 +749,25 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
661 | #endif | 749 | #endif |
662 | 750 | ||
663 | &bfin_gpios_device, | 751 | &bfin_gpios_device, |
752 | |||
753 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
664 | &ezkit_flash_device, | 754 | &ezkit_flash_device, |
755 | #endif | ||
665 | }; | 756 | }; |
666 | 757 | ||
667 | static int __init ezkit_init(void) | 758 | static int __init ezkit_init(void) |
668 | { | 759 | { |
669 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 760 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
761 | |||
762 | #ifdef CONFIG_I2C_BOARDINFO | ||
763 | i2c_register_board_info(0, bfin_i2c_board_info0, | ||
764 | ARRAY_SIZE(bfin_i2c_board_info0)); | ||
765 | #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ | ||
766 | i2c_register_board_info(1, bfin_i2c_board_info1, | ||
767 | ARRAY_SIZE(bfin_i2c_board_info1)); | ||
768 | #endif | ||
769 | #endif | ||
770 | |||
670 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); | 771 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); |
671 | 772 | ||
672 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 773 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
diff --git a/arch/blackfin/mach-bf548/cpu.c b/arch/blackfin/mach-bf548/cpu.c deleted file mode 100644 index 4298a3ccfbfc..000000000000 --- a/arch/blackfin/mach-bf548/cpu.c +++ /dev/null | |||
@@ -1,159 +0,0 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf548/cpu.c | ||
3 | * Based on: | ||
4 | * Author: | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: clock scaling for the bf54x | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/init.h> | ||
33 | #include <linux/cpufreq.h> | ||
34 | #include <asm/dpmc.h> | ||
35 | #include <linux/fs.h> | ||
36 | #include <asm/bfin-global.h> | ||
37 | |||
38 | /* CONFIG_CLKIN_HZ=25000000 */ | ||
39 | #define VCO5 (CONFIG_CLKIN_HZ*45) | ||
40 | #define VCO4 (CONFIG_CLKIN_HZ*36) | ||
41 | #define VCO3 (CONFIG_CLKIN_HZ*27) | ||
42 | #define VCO2 (CONFIG_CLKIN_HZ*18) | ||
43 | #define VCO1 (CONFIG_CLKIN_HZ*9) | ||
44 | #define VCO(x) VCO##x | ||
45 | |||
46 | #define MFREQ(x) {VCO(x),VCO(x)/4},{VCO(x),VCO(x)/2},{VCO(x),VCO(x)} | ||
47 | /* frequency */ | ||
48 | static struct cpufreq_frequency_table bf548_freq_table[] = { | ||
49 | MFREQ(1), | ||
50 | MFREQ(3), | ||
51 | {VCO4, VCO4 / 2}, {VCO4, VCO4}, | ||
52 | MFREQ(5), | ||
53 | {0, CPUFREQ_TABLE_END}, | ||
54 | }; | ||
55 | |||
56 | /* | ||
57 | * dpmc_fops->ioctl() | ||
58 | * static int dpmc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) | ||
59 | */ | ||
60 | static int bf548_getfreq(unsigned int cpu) | ||
61 | { | ||
62 | unsigned long cclk_mhz; | ||
63 | |||
64 | /* The driver only support single cpu */ | ||
65 | if (cpu == 0) | ||
66 | dpmc_fops.ioctl(NULL, NULL, IOCTL_GET_CORECLOCK, &cclk_mhz); | ||
67 | else | ||
68 | cclk_mhz = -1; | ||
69 | |||
70 | return cclk_mhz; | ||
71 | } | ||
72 | |||
73 | static int bf548_target(struct cpufreq_policy *policy, | ||
74 | unsigned int target_freq, unsigned int relation) | ||
75 | { | ||
76 | unsigned long cclk_mhz; | ||
77 | unsigned long vco_mhz; | ||
78 | unsigned long flags; | ||
79 | unsigned int index; | ||
80 | struct cpufreq_freqs freqs; | ||
81 | |||
82 | if (cpufreq_frequency_table_target(policy, bf548_freq_table, target_freq, relation, &index)) | ||
83 | return -EINVAL; | ||
84 | |||
85 | cclk_mhz = bf548_freq_table[index].frequency; | ||
86 | vco_mhz = bf548_freq_table[index].index; | ||
87 | |||
88 | dpmc_fops.ioctl(NULL, NULL, IOCTL_CHANGE_FREQUENCY, &vco_mhz); | ||
89 | freqs.old = bf548_getfreq(0); | ||
90 | freqs.new = cclk_mhz; | ||
91 | freqs.cpu = 0; | ||
92 | |||
93 | pr_debug("cclk begin change to cclk %d,vco=%d,index=%d,target=%d,oldfreq=%d\n", | ||
94 | cclk_mhz, vco_mhz, index, target_freq, freqs.old); | ||
95 | |||
96 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
97 | local_irq_save(flags); | ||
98 | dpmc_fops.ioctl(NULL, NULL, IOCTL_SET_CCLK, &cclk_mhz); | ||
99 | local_irq_restore(flags); | ||
100 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
101 | |||
102 | vco_mhz = get_vco(); | ||
103 | cclk_mhz = get_cclk(); | ||
104 | return 0; | ||
105 | } | ||
106 | |||
107 | /* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on | ||
108 | * this platform, anyway. | ||
109 | */ | ||
110 | static int bf548_verify_speed(struct cpufreq_policy *policy) | ||
111 | { | ||
112 | return cpufreq_frequency_table_verify(policy, &bf548_freq_table); | ||
113 | } | ||
114 | |||
115 | static int __init __bf548_cpu_init(struct cpufreq_policy *policy) | ||
116 | { | ||
117 | if (policy->cpu != 0) | ||
118 | return -EINVAL; | ||
119 | |||
120 | policy->governor = CPUFREQ_DEFAULT_GOVERNOR; | ||
121 | |||
122 | policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; | ||
123 | /*Now ,only support one cpu */ | ||
124 | policy->cur = bf548_getfreq(0); | ||
125 | cpufreq_frequency_table_get_attr(bf548_freq_table, policy->cpu); | ||
126 | return cpufreq_frequency_table_cpuinfo(policy, bf548_freq_table); | ||
127 | } | ||
128 | |||
129 | static struct freq_attr *bf548_freq_attr[] = { | ||
130 | &cpufreq_freq_attr_scaling_available_freqs, | ||
131 | NULL, | ||
132 | }; | ||
133 | |||
134 | static struct cpufreq_driver bf548_driver = { | ||
135 | .verify = bf548_verify_speed, | ||
136 | .target = bf548_target, | ||
137 | .get = bf548_getfreq, | ||
138 | .init = __bf548_cpu_init, | ||
139 | .name = "bf548", | ||
140 | .owner = THIS_MODULE, | ||
141 | .attr = bf548_freq_attr, | ||
142 | }; | ||
143 | |||
144 | static int __init bf548_cpu_init(void) | ||
145 | { | ||
146 | return cpufreq_register_driver(&bf548_driver); | ||
147 | } | ||
148 | |||
149 | static void __exit bf548_cpu_exit(void) | ||
150 | { | ||
151 | cpufreq_unregister_driver(&bf548_driver); | ||
152 | } | ||
153 | |||
154 | MODULE_AUTHOR("Mickael Kang"); | ||
155 | MODULE_DESCRIPTION("cpufreq driver for BF548 CPU"); | ||
156 | MODULE_LICENSE("GPL"); | ||
157 | |||
158 | module_init(bf548_cpu_init); | ||
159 | module_exit(bf548_cpu_exit); | ||
diff --git a/arch/blackfin/mach-bf548/dma.c b/arch/blackfin/mach-bf548/dma.c index f5479298bb79..74730eb8ae1b 100644 --- a/arch/blackfin/mach-bf548/dma.c +++ b/arch/blackfin/mach-bf548/dma.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
33 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
34 | 34 | ||
35 | struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | 35 | struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { |
36 | (struct dma_register *) DMA0_NEXT_DESC_PTR, | 36 | (struct dma_register *) DMA0_NEXT_DESC_PTR, |
37 | (struct dma_register *) DMA1_NEXT_DESC_PTR, | 37 | (struct dma_register *) DMA1_NEXT_DESC_PTR, |
38 | (struct dma_register *) DMA2_NEXT_DESC_PTR, | 38 | (struct dma_register *) DMA2_NEXT_DESC_PTR, |
@@ -66,7 +66,7 @@ | |||
66 | (struct dma_register *) MDMA_D3_NEXT_DESC_PTR, | 66 | (struct dma_register *) MDMA_D3_NEXT_DESC_PTR, |
67 | (struct dma_register *) MDMA_S3_NEXT_DESC_PTR, | 67 | (struct dma_register *) MDMA_S3_NEXT_DESC_PTR, |
68 | }; | 68 | }; |
69 | EXPORT_SYMBOL(base_addr); | 69 | EXPORT_SYMBOL(dma_io_base_addr); |
70 | 70 | ||
71 | int channel2irq(unsigned int channel) | 71 | int channel2irq(unsigned int channel) |
72 | { | 72 | { |
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S index 46222a75321a..f7191141a3ce 100644 --- a/arch/blackfin/mach-bf548/head.S +++ b/arch/blackfin/mach-bf548/head.S | |||
@@ -36,9 +36,6 @@ | |||
36 | #include <asm/mach/mem_init.h> | 36 | #include <asm/mach/mem_init.h> |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | .global __rambase | ||
40 | .global __ramstart | ||
41 | .global __ramend | ||
42 | .extern ___bss_stop | 39 | .extern ___bss_stop |
43 | .extern ___bss_start | 40 | .extern ___bss_start |
44 | .extern _bf53x_relocate_l1_mem | 41 | .extern _bf53x_relocate_l1_mem |
@@ -456,18 +453,3 @@ ENTRY(_start_dma_code) | |||
456 | RTS; | 453 | RTS; |
457 | ENDPROC(_start_dma_code) | 454 | ENDPROC(_start_dma_code) |
458 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 455 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
459 | |||
460 | .data | ||
461 | |||
462 | /* | ||
463 | * Set up the usable of RAM stuff. Size of RAM is determined then | ||
464 | * an initial stack set up at the end. | ||
465 | */ | ||
466 | |||
467 | .align 4 | ||
468 | __rambase: | ||
469 | .long 0 | ||
470 | __ramstart: | ||
471 | .long 0 | ||
472 | __ramend: | ||
473 | .long 0 | ||
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c index bf9e738a7c64..9fd580952fd8 100644 --- a/arch/blackfin/mach-bf561/boards/cm_bf561.c +++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c | |||
@@ -283,6 +283,25 @@ static struct platform_device bfin_uart_device = { | |||
283 | }; | 283 | }; |
284 | #endif | 284 | #endif |
285 | 285 | ||
286 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
287 | static struct resource bfin_sir_resources[] = { | ||
288 | #ifdef CONFIG_BFIN_SIR0 | ||
289 | { | ||
290 | .start = 0xFFC00400, | ||
291 | .end = 0xFFC004FF, | ||
292 | .flags = IORESOURCE_MEM, | ||
293 | }, | ||
294 | #endif | ||
295 | }; | ||
296 | |||
297 | static struct platform_device bfin_sir_device = { | ||
298 | .name = "bfin_sir", | ||
299 | .id = 0, | ||
300 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
301 | .resource = bfin_sir_resources, | ||
302 | }; | ||
303 | #endif | ||
304 | |||
286 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 305 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
287 | #define PATA_INT 119 | 306 | #define PATA_INT 119 |
288 | 307 | ||
@@ -330,6 +349,10 @@ static struct platform_device *cm_bf561_devices[] __initdata = { | |||
330 | &bfin_uart_device, | 349 | &bfin_uart_device, |
331 | #endif | 350 | #endif |
332 | 351 | ||
352 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
353 | &bfin_sir_device, | ||
354 | #endif | ||
355 | |||
333 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 356 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
334 | &isp1362_hcd_device, | 357 | &isp1362_hcd_device, |
335 | #endif | 358 | #endif |
@@ -349,7 +372,7 @@ static struct platform_device *cm_bf561_devices[] __initdata = { | |||
349 | 372 | ||
350 | static int __init cm_bf561_init(void) | 373 | static int __init cm_bf561_init(void) |
351 | { | 374 | { |
352 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 375 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
353 | platform_add_devices(cm_bf561_devices, ARRAY_SIZE(cm_bf561_devices)); | 376 | platform_add_devices(cm_bf561_devices, ARRAY_SIZE(cm_bf561_devices)); |
354 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 377 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
355 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 378 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index d357f648d963..0d74b7d99209 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
@@ -78,7 +78,7 @@ int __init bfin_isp1761_init(void) | |||
78 | { | 78 | { |
79 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | 79 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); |
80 | 80 | ||
81 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 81 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
82 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | 82 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); |
83 | 83 | ||
84 | return platform_add_devices(bfin_isp1761_devices, num_devices); | 84 | return platform_add_devices(bfin_isp1761_devices, num_devices); |
@@ -220,6 +220,26 @@ static struct platform_device bfin_uart_device = { | |||
220 | }; | 220 | }; |
221 | #endif | 221 | #endif |
222 | 222 | ||
223 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
224 | static struct resource bfin_sir_resources[] = { | ||
225 | #ifdef CONFIG_BFIN_SIR0 | ||
226 | { | ||
227 | .start = 0xFFC00400, | ||
228 | .end = 0xFFC004FF, | ||
229 | .flags = IORESOURCE_MEM, | ||
230 | }, | ||
231 | #endif | ||
232 | }; | ||
233 | |||
234 | static struct platform_device bfin_sir_device = { | ||
235 | .name = "bfin_sir", | ||
236 | .id = 0, | ||
237 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
238 | .resource = bfin_sir_resources, | ||
239 | }; | ||
240 | #endif | ||
241 | |||
242 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
223 | static struct mtd_partition ezkit_partitions[] = { | 243 | static struct mtd_partition ezkit_partitions[] = { |
224 | { | 244 | { |
225 | .name = "Bootloader", | 245 | .name = "Bootloader", |
@@ -227,7 +247,7 @@ static struct mtd_partition ezkit_partitions[] = { | |||
227 | .offset = 0, | 247 | .offset = 0, |
228 | }, { | 248 | }, { |
229 | .name = "Kernel", | 249 | .name = "Kernel", |
230 | .size = 0xE0000, | 250 | .size = 0x1C0000, |
231 | .offset = MTDPART_OFS_APPEND, | 251 | .offset = MTDPART_OFS_APPEND, |
232 | }, { | 252 | }, { |
233 | .name = "RootFS", | 253 | .name = "RootFS", |
@@ -257,6 +277,7 @@ static struct platform_device ezkit_flash_device = { | |||
257 | .num_resources = 1, | 277 | .num_resources = 1, |
258 | .resource = &ezkit_flash_resource, | 278 | .resource = &ezkit_flash_resource, |
259 | }; | 279 | }; |
280 | #endif | ||
260 | 281 | ||
261 | #ifdef CONFIG_SPI_BFIN | 282 | #ifdef CONFIG_SPI_BFIN |
262 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 283 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ |
@@ -443,6 +464,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
443 | &bfin_uart_device, | 464 | &bfin_uart_device, |
444 | #endif | 465 | #endif |
445 | 466 | ||
467 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
468 | &bfin_sir_device, | ||
469 | #endif | ||
470 | |||
446 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 471 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
447 | &bfin_pata_device, | 472 | &bfin_pata_device, |
448 | #endif | 473 | #endif |
@@ -460,7 +485,10 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
460 | #endif | 485 | #endif |
461 | 486 | ||
462 | &bfin_gpios_device, | 487 | &bfin_gpios_device, |
488 | |||
489 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
463 | &ezkit_flash_device, | 490 | &ezkit_flash_device, |
491 | #endif | ||
464 | }; | 492 | }; |
465 | 493 | ||
466 | static int __init ezkit_init(void) | 494 | static int __init ezkit_init(void) |
diff --git a/arch/blackfin/mach-bf561/boards/generic_board.c b/arch/blackfin/mach-bf561/boards/generic_board.c index fc80c5d059f8..2faa0072d614 100644 --- a/arch/blackfin/mach-bf561/boards/generic_board.c +++ b/arch/blackfin/mach-bf561/boards/generic_board.c | |||
@@ -70,7 +70,7 @@ static struct platform_device *generic_board_devices[] __initdata = { | |||
70 | 70 | ||
71 | static int __init generic_board_init(void) | 71 | static int __init generic_board_init(void) |
72 | { | 72 | { |
73 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 73 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
74 | return platform_add_devices(generic_board_devices, | 74 | return platform_add_devices(generic_board_devices, |
75 | ARRAY_SIZE(generic_board_devices)); | 75 | ARRAY_SIZE(generic_board_devices)); |
76 | } | 76 | } |
diff --git a/arch/blackfin/mach-bf561/boards/tepla.c b/arch/blackfin/mach-bf561/boards/tepla.c index ec6a2207c202..c9174b39f98d 100644 --- a/arch/blackfin/mach-bf561/boards/tepla.c +++ b/arch/blackfin/mach-bf561/boards/tepla.c | |||
@@ -50,7 +50,7 @@ static struct platform_device *tepla_devices[] __initdata = { | |||
50 | 50 | ||
51 | static int __init tepla_init(void) | 51 | static int __init tepla_init(void) |
52 | { | 52 | { |
53 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 53 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
54 | return platform_add_devices(tepla_devices, ARRAY_SIZE(tepla_devices)); | 54 | return platform_add_devices(tepla_devices, ARRAY_SIZE(tepla_devices)); |
55 | } | 55 | } |
56 | 56 | ||
diff --git a/arch/blackfin/mach-bf561/dma.c b/arch/blackfin/mach-bf561/dma.c index 89c65bb0bed3..24415eb82698 100644 --- a/arch/blackfin/mach-bf561/dma.c +++ b/arch/blackfin/mach-bf561/dma.c | |||
@@ -26,10 +26,12 @@ | |||
26 | * to the Free Software Foundation, Inc., | 26 | * to the Free Software Foundation, Inc., |
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
28 | */ | 28 | */ |
29 | #include <linux/module.h> | ||
30 | |||
29 | #include <asm/blackfin.h> | 31 | #include <asm/blackfin.h> |
30 | #include <asm/dma.h> | 32 | #include <asm/dma.h> |
31 | 33 | ||
32 | struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | 34 | struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { |
33 | (struct dma_register *) DMA1_0_NEXT_DESC_PTR, | 35 | (struct dma_register *) DMA1_0_NEXT_DESC_PTR, |
34 | (struct dma_register *) DMA1_1_NEXT_DESC_PTR, | 36 | (struct dma_register *) DMA1_1_NEXT_DESC_PTR, |
35 | (struct dma_register *) DMA1_2_NEXT_DESC_PTR, | 37 | (struct dma_register *) DMA1_2_NEXT_DESC_PTR, |
@@ -67,6 +69,7 @@ struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = { | |||
67 | (struct dma_register *) IMDMA_D1_NEXT_DESC_PTR, | 69 | (struct dma_register *) IMDMA_D1_NEXT_DESC_PTR, |
68 | (struct dma_register *) IMDMA_S1_NEXT_DESC_PTR, | 70 | (struct dma_register *) IMDMA_S1_NEXT_DESC_PTR, |
69 | }; | 71 | }; |
72 | EXPORT_SYMBOL(dma_io_base_addr); | ||
70 | 73 | ||
71 | int channel2irq(unsigned int channel) | 74 | int channel2irq(unsigned int channel) |
72 | { | 75 | { |
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S index 96a3d456fb6d..5b8bd40851dd 100644 --- a/arch/blackfin/mach-bf561/head.S +++ b/arch/blackfin/mach-bf561/head.S | |||
@@ -37,9 +37,6 @@ | |||
37 | #include <asm/mach/mem_init.h> | 37 | #include <asm/mach/mem_init.h> |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | .global __rambase | ||
41 | .global __ramstart | ||
42 | .global __ramend | ||
43 | .extern ___bss_stop | 40 | .extern ___bss_stop |
44 | .extern ___bss_start | 41 | .extern ___bss_start |
45 | .extern _bf53x_relocate_l1_mem | 42 | .extern _bf53x_relocate_l1_mem |
@@ -139,26 +136,26 @@ ENTRY(__start) | |||
139 | 136 | ||
140 | /* Initialise UART - when booting from u-boot, the UART is not disabled | 137 | /* Initialise UART - when booting from u-boot, the UART is not disabled |
141 | * so if we dont initalize here, our serial console gets hosed */ | 138 | * so if we dont initalize here, our serial console gets hosed */ |
142 | p0.h = hi(UART_LCR); | 139 | p0.h = hi(BFIN_UART_LCR); |
143 | p0.l = lo(UART_LCR); | 140 | p0.l = lo(BFIN_UART_LCR); |
144 | r0 = 0x0(Z); | 141 | r0 = 0x0(Z); |
145 | w[p0] = r0.L; /* To enable DLL writes */ | 142 | w[p0] = r0.L; /* To enable DLL writes */ |
146 | ssync; | 143 | ssync; |
147 | 144 | ||
148 | p0.h = hi(UART_DLL); | 145 | p0.h = hi(BFIN_UART_DLL); |
149 | p0.l = lo(UART_DLL); | 146 | p0.l = lo(BFIN_UART_DLL); |
150 | r0 = 0x0(Z); | 147 | r0 = 0x0(Z); |
151 | w[p0] = r0.L; | 148 | w[p0] = r0.L; |
152 | ssync; | 149 | ssync; |
153 | 150 | ||
154 | p0.h = hi(UART_DLH); | 151 | p0.h = hi(BFIN_UART_DLH); |
155 | p0.l = lo(UART_DLH); | 152 | p0.l = lo(BFIN_UART_DLH); |
156 | r0 = 0x00(Z); | 153 | r0 = 0x00(Z); |
157 | w[p0] = r0.L; | 154 | w[p0] = r0.L; |
158 | ssync; | 155 | ssync; |
159 | 156 | ||
160 | p0.h = hi(UART_GCTL); | 157 | p0.h = hi(BFIN_UART_GCTL); |
161 | p0.l = lo(UART_GCTL); | 158 | p0.l = lo(BFIN_UART_GCTL); |
162 | r0 = 0x0(Z); | 159 | r0 = 0x0(Z); |
163 | w[p0] = r0.L; /* To enable UART clock */ | 160 | w[p0] = r0.L; /* To enable UART clock */ |
164 | ssync; | 161 | ssync; |
@@ -411,18 +408,3 @@ ENTRY(_start_dma_code) | |||
411 | RTS; | 408 | RTS; |
412 | ENDPROC(_start_dma_code) | 409 | ENDPROC(_start_dma_code) |
413 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 410 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
414 | |||
415 | .data | ||
416 | |||
417 | /* | ||
418 | * Set up the usable of RAM stuff. Size of RAM is determined then | ||
419 | * an initial stack set up at the end. | ||
420 | */ | ||
421 | |||
422 | .align 4 | ||
423 | __rambase: | ||
424 | .long 0 | ||
425 | __ramstart: | ||
426 | .long 0 | ||
427 | __ramend: | ||
428 | .long 0 | ||
diff --git a/arch/blackfin/mach-common/Makefile b/arch/blackfin/mach-common/Makefile index 15e33ca1ce80..393081e9b680 100644 --- a/arch/blackfin/mach-common/Makefile +++ b/arch/blackfin/mach-common/Makefile | |||
@@ -6,4 +6,5 @@ obj-y := \ | |||
6 | cache.o cacheinit.o entry.o \ | 6 | cache.o cacheinit.o entry.o \ |
7 | interrupt.o lock.o irqpanic.o arch_checks.o ints-priority.o | 7 | interrupt.o lock.o irqpanic.o arch_checks.o ints-priority.o |
8 | 8 | ||
9 | obj-$(CONFIG_PM) += pm.o dpmc.o | 9 | obj-$(CONFIG_PM) += pm.o dpmc.o |
10 | obj-$(CONFIG_CPU_FREQ) += cpufreq.o | ||
diff --git a/arch/blackfin/mach-common/arch_checks.c b/arch/blackfin/mach-common/arch_checks.c index 2f6ce397780f..caaab49e9cfa 100644 --- a/arch/blackfin/mach-common/arch_checks.c +++ b/arch/blackfin/mach-common/arch_checks.c | |||
@@ -54,7 +54,8 @@ | |||
54 | 54 | ||
55 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 55 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
56 | 56 | ||
57 | #ifdef CONFIG_MEM_SIZE | ||
57 | #if (CONFIG_MEM_SIZE % 4) | 58 | #if (CONFIG_MEM_SIZE % 4) |
58 | #error "SDRAM mem size must be multible of 4MB" | 59 | #error "SDRAM mem size must be multible of 4MB" |
59 | #endif | 60 | #endif |
60 | 61 | #endif | |
diff --git a/arch/blackfin/mach-common/cpufreq.c b/arch/blackfin/mach-common/cpufreq.c new file mode 100644 index 000000000000..ed81e00d20e1 --- /dev/null +++ b/arch/blackfin/mach-common/cpufreq.c | |||
@@ -0,0 +1,194 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-common/cpufreq.c | ||
3 | * Based on: | ||
4 | * Author: | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: Blackfin core clock scaling | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/init.h> | ||
33 | #include <linux/cpufreq.h> | ||
34 | #include <linux/fs.h> | ||
35 | #include <asm/blackfin.h> | ||
36 | #include <asm/time.h> | ||
37 | |||
38 | |||
39 | /* this is the table of CCLK frequencies, in Hz */ | ||
40 | /* .index is the entry in the auxillary dpm_state_table[] */ | ||
41 | static struct cpufreq_frequency_table bfin_freq_table[] = { | ||
42 | { | ||
43 | .frequency = CPUFREQ_TABLE_END, | ||
44 | .index = 0, | ||
45 | }, | ||
46 | { | ||
47 | .frequency = CPUFREQ_TABLE_END, | ||
48 | .index = 1, | ||
49 | }, | ||
50 | { | ||
51 | .frequency = CPUFREQ_TABLE_END, | ||
52 | .index = 2, | ||
53 | }, | ||
54 | { | ||
55 | .frequency = CPUFREQ_TABLE_END, | ||
56 | .index = 0, | ||
57 | }, | ||
58 | }; | ||
59 | |||
60 | static struct bfin_dpm_state { | ||
61 | unsigned int csel; /* system clock divider */ | ||
62 | unsigned int tscale; /* change the divider on the core timer interrupt */ | ||
63 | } dpm_state_table[3]; | ||
64 | |||
65 | /**************************************************************************/ | ||
66 | |||
67 | static unsigned int bfin_getfreq(unsigned int cpu) | ||
68 | { | ||
69 | /* The driver only support single cpu */ | ||
70 | if (cpu != 0) | ||
71 | return -1; | ||
72 | |||
73 | return get_cclk(); | ||
74 | } | ||
75 | |||
76 | |||
77 | static int bfin_target(struct cpufreq_policy *policy, | ||
78 | unsigned int target_freq, unsigned int relation) | ||
79 | { | ||
80 | unsigned int index, plldiv, tscale; | ||
81 | unsigned long flags, cclk_hz; | ||
82 | struct cpufreq_freqs freqs; | ||
83 | |||
84 | if (cpufreq_frequency_table_target(policy, bfin_freq_table, | ||
85 | target_freq, relation, &index)) | ||
86 | return -EINVAL; | ||
87 | |||
88 | cclk_hz = bfin_freq_table[index].frequency; | ||
89 | |||
90 | freqs.old = bfin_getfreq(0); | ||
91 | freqs.new = cclk_hz; | ||
92 | freqs.cpu = 0; | ||
93 | |||
94 | pr_debug("cpufreq: changing cclk to %lu; target = %u, oldfreq = %u\n", | ||
95 | cclk_hz, target_freq, freqs.old); | ||
96 | |||
97 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
98 | local_irq_save(flags); | ||
99 | plldiv = (bfin_read_PLL_DIV() & SSEL) | dpm_state_table[index].csel; | ||
100 | tscale = dpm_state_table[index].tscale; | ||
101 | bfin_write_PLL_DIV(plldiv); | ||
102 | /* we have to adjust the core timer, because it is using cclk */ | ||
103 | bfin_write_TSCALE(tscale); | ||
104 | SSYNC(); | ||
105 | local_irq_restore(flags); | ||
106 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
107 | |||
108 | return 0; | ||
109 | } | ||
110 | |||
111 | static int bfin_verify_speed(struct cpufreq_policy *policy) | ||
112 | { | ||
113 | return cpufreq_frequency_table_verify(policy, bfin_freq_table); | ||
114 | } | ||
115 | |||
116 | static int __init __bfin_cpu_init(struct cpufreq_policy *policy) | ||
117 | { | ||
118 | |||
119 | unsigned long cclk, sclk, csel, min_cclk; | ||
120 | int index; | ||
121 | |||
122 | #ifdef CONFIG_CYCLES_CLOCKSOURCE | ||
123 | /* | ||
124 | * Clocksource CYCLES is still CONTINUOUS but not longer MONOTONIC in case we enable | ||
125 | * CPU frequency scaling, since CYCLES runs off Core Clock. | ||
126 | */ | ||
127 | printk(KERN_WARNING "CPU frequency scaling not supported: Clocksource not suitable\n" | ||
128 | return -ENODEV; | ||
129 | #endif | ||
130 | |||
131 | if (policy->cpu != 0) | ||
132 | return -EINVAL; | ||
133 | |||
134 | cclk = get_cclk(); | ||
135 | sclk = get_sclk(); | ||
136 | |||
137 | #if ANOMALY_05000273 | ||
138 | min_cclk = sclk * 2; | ||
139 | #else | ||
140 | min_cclk = sclk; | ||
141 | #endif | ||
142 | csel = ((bfin_read_PLL_DIV() & CSEL) >> 4); | ||
143 | |||
144 | for (index = 0; (cclk >> index) >= min_cclk && csel <= 3; index++, csel++) { | ||
145 | bfin_freq_table[index].frequency = cclk >> index; | ||
146 | dpm_state_table[index].csel = csel << 4; /* Shift now into PLL_DIV bitpos */ | ||
147 | dpm_state_table[index].tscale = (TIME_SCALE / (1 << csel)) - 1; | ||
148 | |||
149 | pr_debug("cpufreq: freq:%d csel:%d tscale:%d\n", | ||
150 | bfin_freq_table[index].frequency, | ||
151 | dpm_state_table[index].csel, | ||
152 | dpm_state_table[index].tscale); | ||
153 | } | ||
154 | |||
155 | policy->governor = CPUFREQ_DEFAULT_GOVERNOR; | ||
156 | |||
157 | policy->cpuinfo.transition_latency = (bfin_read_PLL_LOCKCNT() / (sclk / 1000000)) * 1000; | ||
158 | /*Now ,only support one cpu */ | ||
159 | policy->cur = cclk; | ||
160 | cpufreq_frequency_table_get_attr(bfin_freq_table, policy->cpu); | ||
161 | return cpufreq_frequency_table_cpuinfo(policy, bfin_freq_table); | ||
162 | } | ||
163 | |||
164 | static struct freq_attr *bfin_freq_attr[] = { | ||
165 | &cpufreq_freq_attr_scaling_available_freqs, | ||
166 | NULL, | ||
167 | }; | ||
168 | |||
169 | static struct cpufreq_driver bfin_driver = { | ||
170 | .verify = bfin_verify_speed, | ||
171 | .target = bfin_target, | ||
172 | .get = bfin_getfreq, | ||
173 | .init = __bfin_cpu_init, | ||
174 | .name = "bfin cpufreq", | ||
175 | .owner = THIS_MODULE, | ||
176 | .attr = bfin_freq_attr, | ||
177 | }; | ||
178 | |||
179 | static int __init bfin_cpu_init(void) | ||
180 | { | ||
181 | return cpufreq_register_driver(&bfin_driver); | ||
182 | } | ||
183 | |||
184 | static void __exit bfin_cpu_exit(void) | ||
185 | { | ||
186 | cpufreq_unregister_driver(&bfin_driver); | ||
187 | } | ||
188 | |||
189 | MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>"); | ||
190 | MODULE_DESCRIPTION("cpufreq driver for Blackfin"); | ||
191 | MODULE_LICENSE("GPL"); | ||
192 | |||
193 | module_init(bfin_cpu_init); | ||
194 | module_exit(bfin_cpu_exit); | ||
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index cee54cebbc65..f2fb87e9a46e 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/unistd.h> | 38 | #include <linux/unistd.h> |
39 | #include <asm/blackfin.h> | 39 | #include <asm/blackfin.h> |
40 | #include <asm/errno.h> | 40 | #include <asm/errno.h> |
41 | #include <asm/fixed_code.h> | ||
41 | #include <asm/thread_info.h> /* TIF_NEED_RESCHED */ | 42 | #include <asm/thread_info.h> /* TIF_NEED_RESCHED */ |
42 | #include <asm/asm-offsets.h> | 43 | #include <asm/asm-offsets.h> |
43 | #include <asm/trace.h> | 44 | #include <asm/trace.h> |
@@ -52,15 +53,6 @@ | |||
52 | # define EX_SCRATCH_REG CYCLES | 53 | # define EX_SCRATCH_REG CYCLES |
53 | #endif | 54 | #endif |
54 | 55 | ||
55 | #if ANOMALY_05000281 | ||
56 | ENTRY(_safe_speculative_execution) | ||
57 | NOP; | ||
58 | NOP; | ||
59 | NOP; | ||
60 | jump _safe_speculative_execution; | ||
61 | ENDPROC(_safe_speculative_execution) | ||
62 | #endif | ||
63 | |||
64 | #ifdef CONFIG_EXCPT_IRQ_SYSC_L1 | 56 | #ifdef CONFIG_EXCPT_IRQ_SYSC_L1 |
65 | .section .l1.text | 57 | .section .l1.text |
66 | #else | 58 | #else |
@@ -121,10 +113,14 @@ ENTRY(_ex_icplb_miss) | |||
121 | (R7:6,P5:4) = [sp++]; | 113 | (R7:6,P5:4) = [sp++]; |
122 | ASTAT = [sp++]; | 114 | ASTAT = [sp++]; |
123 | SAVE_ALL_SYS | 115 | SAVE_ALL_SYS |
124 | DEBUG_HWTRACE_SAVE(p5, r7) | ||
125 | #ifdef CONFIG_MPU | 116 | #ifdef CONFIG_MPU |
117 | /* We must load R1 here, _before_ DEBUG_HWTRACE_SAVE, since that | ||
118 | * will change the stack pointer. */ | ||
126 | R0 = SEQSTAT; | 119 | R0 = SEQSTAT; |
127 | R1 = SP; | 120 | R1 = SP; |
121 | #endif | ||
122 | DEBUG_HWTRACE_SAVE(p5, r7) | ||
123 | #ifdef CONFIG_MPU | ||
128 | sp += -12; | 124 | sp += -12; |
129 | call _cplb_hdr; | 125 | call _cplb_hdr; |
130 | sp += 12; | 126 | sp += 12; |
@@ -191,6 +187,7 @@ ENTRY(_bfin_return_from_exception) | |||
191 | ENDPROC(_bfin_return_from_exception) | 187 | ENDPROC(_bfin_return_from_exception) |
192 | 188 | ||
193 | ENTRY(_handle_bad_cplb) | 189 | ENTRY(_handle_bad_cplb) |
190 | DEBUG_HWTRACE_RESTORE(p5, r7) | ||
194 | /* To get here, we just tried and failed to change a CPLB | 191 | /* To get here, we just tried and failed to change a CPLB |
195 | * so, handle things in trap_c (C code), by lowering to | 192 | * so, handle things in trap_c (C code), by lowering to |
196 | * IRQ5, just like we normally do. Since this is not a | 193 | * IRQ5, just like we normally do. Since this is not a |
@@ -225,6 +222,26 @@ ENTRY(_ex_trap_c) | |||
225 | [p4] = p5; | 222 | [p4] = p5; |
226 | csync; | 223 | csync; |
227 | 224 | ||
225 | p4.l = lo(DCPLB_FAULT_ADDR); | ||
226 | p4.h = hi(DCPLB_FAULT_ADDR); | ||
227 | r7 = [p4]; | ||
228 | p5.h = _saved_dcplb_fault_addr; | ||
229 | p5.l = _saved_dcplb_fault_addr; | ||
230 | [p5] = r7; | ||
231 | |||
232 | r7 = [p4 + (ICPLB_FAULT_ADDR - DCPLB_FAULT_ADDR)]; | ||
233 | p5.h = _saved_icplb_fault_addr; | ||
234 | p5.l = _saved_icplb_fault_addr; | ||
235 | [p5] = r7; | ||
236 | |||
237 | p4.l = __retx; | ||
238 | p4.h = __retx; | ||
239 | r6 = retx; | ||
240 | [p4] = r6; | ||
241 | p4.l = lo(SAFE_USER_INSTRUCTION); | ||
242 | p4.h = hi(SAFE_USER_INSTRUCTION); | ||
243 | retx = p4; | ||
244 | |||
228 | /* Disable all interrupts, but make sure level 5 is enabled so | 245 | /* Disable all interrupts, but make sure level 5 is enabled so |
229 | * we can switch to that level. Save the old mask. */ | 246 | * we can switch to that level. Save the old mask. */ |
230 | cli r6; | 247 | cli r6; |
@@ -234,23 +251,6 @@ ENTRY(_ex_trap_c) | |||
234 | r6 = 0x3f; | 251 | r6 = 0x3f; |
235 | sti r6; | 252 | sti r6; |
236 | 253 | ||
237 | /* Save the excause into a circular buffer, in case the instruction | ||
238 | * which caused this excecptions causes others. | ||
239 | */ | ||
240 | P5.l = _in_ptr_excause; | ||
241 | P5.h = _in_ptr_excause; | ||
242 | R7 = [P5]; | ||
243 | R7 += 4; | ||
244 | R6 = 0xF; | ||
245 | R7 = R7 & R6; | ||
246 | [P5] = R7; | ||
247 | R6.l = _excause_circ_buf; | ||
248 | R6.h = _excause_circ_buf; | ||
249 | R7 = R7 + R6; | ||
250 | p5 = R7; | ||
251 | R6 = SEQSTAT; | ||
252 | [P5] = R6; | ||
253 | |||
254 | (R7:6,P5:4) = [sp++]; | 254 | (R7:6,P5:4) = [sp++]; |
255 | ASTAT = [sp++]; | 255 | ASTAT = [sp++]; |
256 | SP = EX_SCRATCH_REG; | 256 | SP = EX_SCRATCH_REG; |
@@ -307,6 +307,11 @@ ENDPROC(_double_fault) | |||
307 | ENTRY(_exception_to_level5) | 307 | ENTRY(_exception_to_level5) |
308 | SAVE_ALL_SYS | 308 | SAVE_ALL_SYS |
309 | 309 | ||
310 | p4.l = __retx; | ||
311 | p4.h = __retx; | ||
312 | r6 = [p4]; | ||
313 | [sp + PT_PC] = r6; | ||
314 | |||
310 | /* Restore interrupt mask. We haven't pushed RETI, so this | 315 | /* Restore interrupt mask. We haven't pushed RETI, so this |
311 | * doesn't enable interrupts until we return from this handler. */ | 316 | * doesn't enable interrupts until we return from this handler. */ |
312 | p4.l = _excpt_saved_imask; | 317 | p4.l = _excpt_saved_imask; |
@@ -328,42 +333,11 @@ ENTRY(_exception_to_level5) | |||
328 | r0 = [p2]; /* Read current IPEND */ | 333 | r0 = [p2]; /* Read current IPEND */ |
329 | [sp + PT_IPEND] = r0; /* Store IPEND */ | 334 | [sp + PT_IPEND] = r0; /* Store IPEND */ |
330 | 335 | ||
331 | /* Pop the excause from the circular buffer and push it on the stack | ||
332 | * (in the right place - if you change the location of SEQSTAT, you | ||
333 | * must change this offset. | ||
334 | */ | ||
335 | .L_excep_to_5_again: | ||
336 | P5.l = _out_ptr_excause; | ||
337 | P5.h = _out_ptr_excause; | ||
338 | R7 = [P5]; | ||
339 | R7 += 4; | ||
340 | R6 = 0xF; | ||
341 | R7 = R7 & R6; | ||
342 | [P5] = R7; | ||
343 | R6.l = _excause_circ_buf; | ||
344 | R6.h = _excause_circ_buf; | ||
345 | R7 = R7 + R6; | ||
346 | P5 = R7; | ||
347 | R1 = [P5]; | ||
348 | [SP + PT_SEQSTAT] = r1; | ||
349 | |||
350 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ | 336 | r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */ |
351 | SP += -12; | 337 | SP += -12; |
352 | call _trap_c; | 338 | call _trap_c; |
353 | SP += 12; | 339 | SP += 12; |
354 | 340 | ||
355 | /* See if anything else is in the exception buffer | ||
356 | * if there is, process it | ||
357 | */ | ||
358 | P5.l = _out_ptr_excause; | ||
359 | P5.h = _out_ptr_excause; | ||
360 | P4.l = _in_ptr_excause; | ||
361 | P4.h = _in_ptr_excause; | ||
362 | R6 = [P5]; | ||
363 | R7 = [P4]; | ||
364 | CC = R6 == R7; | ||
365 | if ! CC JUMP .L_excep_to_5_again | ||
366 | |||
367 | call _ret_from_exception; | 341 | call _ret_from_exception; |
368 | RESTORE_ALL_SYS | 342 | RESTORE_ALL_SYS |
369 | rti; | 343 | rti; |
@@ -727,8 +701,8 @@ ENTRY(_return_from_int) | |||
727 | [p0] = p1; | 701 | [p0] = p1; |
728 | csync; | 702 | csync; |
729 | #if ANOMALY_05000281 | 703 | #if ANOMALY_05000281 |
730 | r0.l = _safe_speculative_execution; | 704 | r0.l = lo(SAFE_USER_INSTRUCTION); |
731 | r0.h = _safe_speculative_execution; | 705 | r0.h = hi(SAFE_USER_INSTRUCTION); |
732 | reti = r0; | 706 | reti = r0; |
733 | #endif | 707 | #endif |
734 | r0 = 0x801f (z); | 708 | r0 = 0x801f (z); |
@@ -741,8 +715,8 @@ ENDPROC(_return_from_int) | |||
741 | 715 | ||
742 | ENTRY(_lower_to_irq14) | 716 | ENTRY(_lower_to_irq14) |
743 | #if ANOMALY_05000281 | 717 | #if ANOMALY_05000281 |
744 | r0.l = _safe_speculative_execution; | 718 | r0.l = lo(SAFE_USER_INSTRUCTION); |
745 | r0.h = _safe_speculative_execution; | 719 | r0.h = hi(SAFE_USER_INSTRUCTION); |
746 | reti = r0; | 720 | reti = r0; |
747 | #endif | 721 | #endif |
748 | r0 = 0x401f; | 722 | r0 = 0x401f; |
@@ -809,20 +783,6 @@ _schedule_and_signal: | |||
809 | rti; | 783 | rti; |
810 | ENDPROC(_lower_to_irq14) | 784 | ENDPROC(_lower_to_irq14) |
811 | 785 | ||
812 | /* Make sure when we start, that the circular buffer is initialized properly | ||
813 | * R0 and P0 are call clobbered, so we can use them here. | ||
814 | */ | ||
815 | ENTRY(_init_exception_buff) | ||
816 | r0 = 0; | ||
817 | p0.h = _in_ptr_excause; | ||
818 | p0.l = _in_ptr_excause; | ||
819 | [p0] = r0; | ||
820 | p0.h = _out_ptr_excause; | ||
821 | p0.l = _out_ptr_excause; | ||
822 | [p0] = r0; | ||
823 | rts; | ||
824 | ENDPROC(_init_exception_buff) | ||
825 | |||
826 | /* We handle this 100% in exception space - to reduce overhead | 786 | /* We handle this 100% in exception space - to reduce overhead |
827 | * Only potiential problem is if the software buffer gets swapped out of the | 787 | * Only potiential problem is if the software buffer gets swapped out of the |
828 | * CPLB table - then double fault. - so we don't let this happen in other places | 788 | * CPLB table - then double fault. - so we don't let this happen in other places |
@@ -1398,17 +1358,7 @@ _exception_stack_top: | |||
1398 | _last_cplb_fault_retx: | 1358 | _last_cplb_fault_retx: |
1399 | .long 0; | 1359 | .long 0; |
1400 | #endif | 1360 | #endif |
1401 | /* | 1361 | /* Used to save the real RETX when temporarily storing a safe |
1402 | * Single instructions can have multiple faults, which need to be | 1362 | * return address. */ |
1403 | * handled by traps.c, in irq5. We store the exception cause to ensure | 1363 | __retx: |
1404 | * we don't miss a double fault condition | ||
1405 | */ | ||
1406 | ENTRY(_in_ptr_excause) | ||
1407 | .long 0; | 1364 | .long 0; |
1408 | ENTRY(_out_ptr_excause) | ||
1409 | .long 0; | ||
1410 | ALIGN | ||
1411 | ENTRY(_excause_circ_buf) | ||
1412 | .rept 4 | ||
1413 | .long 0 | ||
1414 | .endr | ||
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index 225ef14af75e..f5fd768022ea 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -316,7 +316,7 @@ static void bfin_demux_error_irq(unsigned int int_err_irq, | |||
316 | printk(KERN_ERR | 316 | printk(KERN_ERR |
317 | "%s : %s : LINE %d :\nIRQ ?: PERIPHERAL ERROR" | 317 | "%s : %s : LINE %d :\nIRQ ?: PERIPHERAL ERROR" |
318 | " INTERRUPT ASSERTED BUT NO SOURCE FOUND\n", | 318 | " INTERRUPT ASSERTED BUT NO SOURCE FOUND\n", |
319 | __FUNCTION__, __FILE__, __LINE__); | 319 | __func__, __FILE__, __LINE__); |
320 | 320 | ||
321 | } | 321 | } |
322 | #endif /* BF537_GENERIC_ERROR_INT_DEMUX */ | 322 | #endif /* BF537_GENERIC_ERROR_INT_DEMUX */ |
@@ -326,6 +326,7 @@ static void bfin_demux_error_irq(unsigned int int_err_irq, | |||
326 | static unsigned short gpio_enabled[gpio_bank(MAX_BLACKFIN_GPIOS)]; | 326 | static unsigned short gpio_enabled[gpio_bank(MAX_BLACKFIN_GPIOS)]; |
327 | static unsigned short gpio_edge_triggered[gpio_bank(MAX_BLACKFIN_GPIOS)]; | 327 | static unsigned short gpio_edge_triggered[gpio_bank(MAX_BLACKFIN_GPIOS)]; |
328 | 328 | ||
329 | extern void bfin_gpio_irq_prepare(unsigned gpio); | ||
329 | 330 | ||
330 | static void bfin_gpio_ack_irq(unsigned int irq) | 331 | static void bfin_gpio_ack_irq(unsigned int irq) |
331 | { | 332 | { |
@@ -364,35 +365,25 @@ static void bfin_gpio_unmask_irq(unsigned int irq) | |||
364 | 365 | ||
365 | static unsigned int bfin_gpio_irq_startup(unsigned int irq) | 366 | static unsigned int bfin_gpio_irq_startup(unsigned int irq) |
366 | { | 367 | { |
367 | unsigned int ret; | ||
368 | u16 gpionr = irq - IRQ_PF0; | 368 | u16 gpionr = irq - IRQ_PF0; |
369 | char buf[8]; | ||
370 | 369 | ||
371 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { | 370 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) |
372 | snprintf(buf, sizeof buf, "IRQ %d", irq); | 371 | bfin_gpio_irq_prepare(gpionr); |
373 | ret = gpio_request(gpionr, buf); | ||
374 | if (ret) | ||
375 | return ret; | ||
376 | } | ||
377 | 372 | ||
378 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); | 373 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); |
379 | bfin_gpio_unmask_irq(irq); | 374 | bfin_gpio_unmask_irq(irq); |
380 | 375 | ||
381 | return ret; | 376 | return 0; |
382 | } | 377 | } |
383 | 378 | ||
384 | static void bfin_gpio_irq_shutdown(unsigned int irq) | 379 | static void bfin_gpio_irq_shutdown(unsigned int irq) |
385 | { | 380 | { |
386 | bfin_gpio_mask_irq(irq); | 381 | bfin_gpio_mask_irq(irq); |
387 | gpio_free(irq - IRQ_PF0); | ||
388 | gpio_enabled[gpio_bank(irq - IRQ_PF0)] &= ~gpio_bit(irq - IRQ_PF0); | 382 | gpio_enabled[gpio_bank(irq - IRQ_PF0)] &= ~gpio_bit(irq - IRQ_PF0); |
389 | } | 383 | } |
390 | 384 | ||
391 | static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) | 385 | static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) |
392 | { | 386 | { |
393 | |||
394 | unsigned int ret; | ||
395 | char buf[8]; | ||
396 | u16 gpionr = irq - IRQ_PF0; | 387 | u16 gpionr = irq - IRQ_PF0; |
397 | 388 | ||
398 | if (type == IRQ_TYPE_PROBE) { | 389 | if (type == IRQ_TYPE_PROBE) { |
@@ -404,12 +395,8 @@ static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) | |||
404 | 395 | ||
405 | if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING | | 396 | if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING | |
406 | IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { | 397 | IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { |
407 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { | 398 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) |
408 | snprintf(buf, sizeof buf, "IRQ %d", irq); | 399 | bfin_gpio_irq_prepare(gpionr); |
409 | ret = gpio_request(gpionr, buf); | ||
410 | if (ret) | ||
411 | return ret; | ||
412 | } | ||
413 | 400 | ||
414 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); | 401 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); |
415 | } else { | 402 | } else { |
@@ -595,6 +582,8 @@ static struct pin_int_t *pint[NR_PINT_SYS_IRQS] = { | |||
595 | (struct pin_int_t *)PINT3_MASK_SET, | 582 | (struct pin_int_t *)PINT3_MASK_SET, |
596 | }; | 583 | }; |
597 | 584 | ||
585 | extern void bfin_gpio_irq_prepare(unsigned gpio); | ||
586 | |||
598 | inline unsigned short get_irq_base(u8 bank, u8 bmap) | 587 | inline unsigned short get_irq_base(u8 bank, u8 bmap) |
599 | { | 588 | { |
600 | 589 | ||
@@ -697,8 +686,6 @@ static void bfin_gpio_unmask_irq(unsigned int irq) | |||
697 | 686 | ||
698 | static unsigned int bfin_gpio_irq_startup(unsigned int irq) | 687 | static unsigned int bfin_gpio_irq_startup(unsigned int irq) |
699 | { | 688 | { |
700 | unsigned int ret; | ||
701 | char buf[8]; | ||
702 | u16 gpionr = irq_to_gpio(irq); | 689 | u16 gpionr = irq_to_gpio(irq); |
703 | u8 pint_val = irq2pint_lut[irq - SYS_IRQS]; | 690 | u8 pint_val = irq2pint_lut[irq - SYS_IRQS]; |
704 | 691 | ||
@@ -709,17 +696,13 @@ static unsigned int bfin_gpio_irq_startup(unsigned int irq) | |||
709 | return -ENODEV; | 696 | return -ENODEV; |
710 | } | 697 | } |
711 | 698 | ||
712 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { | 699 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) |
713 | snprintf(buf, sizeof buf, "IRQ %d", irq); | 700 | bfin_gpio_irq_prepare(gpionr); |
714 | ret = gpio_request(gpionr, buf); | ||
715 | if (ret) | ||
716 | return ret; | ||
717 | } | ||
718 | 701 | ||
719 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); | 702 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); |
720 | bfin_gpio_unmask_irq(irq); | 703 | bfin_gpio_unmask_irq(irq); |
721 | 704 | ||
722 | return ret; | 705 | return 0; |
723 | } | 706 | } |
724 | 707 | ||
725 | static void bfin_gpio_irq_shutdown(unsigned int irq) | 708 | static void bfin_gpio_irq_shutdown(unsigned int irq) |
@@ -727,15 +710,12 @@ static void bfin_gpio_irq_shutdown(unsigned int irq) | |||
727 | u16 gpionr = irq_to_gpio(irq); | 710 | u16 gpionr = irq_to_gpio(irq); |
728 | 711 | ||
729 | bfin_gpio_mask_irq(irq); | 712 | bfin_gpio_mask_irq(irq); |
730 | gpio_free(gpionr); | ||
731 | gpio_enabled[gpio_bank(gpionr)] &= ~gpio_bit(gpionr); | 713 | gpio_enabled[gpio_bank(gpionr)] &= ~gpio_bit(gpionr); |
732 | } | 714 | } |
733 | 715 | ||
734 | static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) | 716 | static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) |
735 | { | 717 | { |
736 | 718 | ||
737 | unsigned int ret; | ||
738 | char buf[8]; | ||
739 | u16 gpionr = irq_to_gpio(irq); | 719 | u16 gpionr = irq_to_gpio(irq); |
740 | u8 pint_val = irq2pint_lut[irq - SYS_IRQS]; | 720 | u8 pint_val = irq2pint_lut[irq - SYS_IRQS]; |
741 | u32 pintbit = PINT_BIT(pint_val); | 721 | u32 pintbit = PINT_BIT(pint_val); |
@@ -753,12 +733,8 @@ static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) | |||
753 | 733 | ||
754 | if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING | | 734 | if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING | |
755 | IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { | 735 | IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { |
756 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { | 736 | if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) |
757 | snprintf(buf, sizeof buf, "IRQ %d", irq); | 737 | bfin_gpio_irq_prepare(gpionr); |
758 | ret = gpio_request(gpionr, buf); | ||
759 | if (ret) | ||
760 | return ret; | ||
761 | } | ||
762 | 738 | ||
763 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); | 739 | gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr); |
764 | } else { | 740 | } else { |
@@ -766,8 +742,6 @@ static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) | |||
766 | return 0; | 742 | return 0; |
767 | } | 743 | } |
768 | 744 | ||
769 | gpio_direction_input(gpionr); | ||
770 | |||
771 | if ((type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_LEVEL_LOW))) | 745 | if ((type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_LEVEL_LOW))) |
772 | pint[bank]->invert_set = pintbit; /* low or falling edge denoted by one */ | 746 | pint[bank]->invert_set = pintbit; /* low or falling edge denoted by one */ |
773 | else | 747 | else |
@@ -965,8 +939,6 @@ int __init init_arch_irq(void) | |||
965 | 939 | ||
966 | local_irq_disable(); | 940 | local_irq_disable(); |
967 | 941 | ||
968 | init_exception_buff(); | ||
969 | |||
970 | #ifdef CONFIG_BF54x | 942 | #ifdef CONFIG_BF54x |
971 | # ifdef CONFIG_PINTx_REASSIGN | 943 | # ifdef CONFIG_PINTx_REASSIGN |
972 | pint[0]->assign = CONFIG_PINT0_ASSIGN; | 944 | pint[0]->assign = CONFIG_PINT0_ASSIGN; |
diff --git a/arch/blackfin/mach-common/lock.S b/arch/blackfin/mach-common/lock.S index 28b87fe9ce3c..30b887e67dd6 100644 --- a/arch/blackfin/mach-common/lock.S +++ b/arch/blackfin/mach-common/lock.S | |||
@@ -174,7 +174,7 @@ ENTRY(_cache_lock) | |||
174 | CLI R3; | 174 | CLI R3; |
175 | 175 | ||
176 | R7 = [P1]; | 176 | R7 = [P1]; |
177 | R2 = 0xFFFFFF87 (X); | 177 | R2 = ~(0x78) (X); /* mask out ILOC */ |
178 | R7 = R7 & R2; | 178 | R7 = R7 & R2; |
179 | R0 = R0 << 3; | 179 | R0 = R0 << 3; |
180 | R7 = R0 | R7; | 180 | R7 = R0 | R7; |
diff --git a/arch/blackfin/mm/blackfin_sram.c b/arch/blackfin/mm/blackfin_sram.c index e41f0e8ecacb..3246f91c7baa 100644 --- a/arch/blackfin/mm/blackfin_sram.c +++ b/arch/blackfin/mm/blackfin_sram.c | |||
@@ -401,7 +401,7 @@ EXPORT_SYMBOL(l1_data_sram_free); | |||
401 | 401 | ||
402 | void *l1_inst_sram_alloc(size_t size) | 402 | void *l1_inst_sram_alloc(size_t size) |
403 | { | 403 | { |
404 | #if L1_DATA_A_LENGTH != 0 | 404 | #if L1_CODE_LENGTH != 0 |
405 | unsigned flags; | 405 | unsigned flags; |
406 | void *addr; | 406 | void *addr; |
407 | 407 | ||
diff --git a/arch/blackfin/oprofile/common.c b/arch/blackfin/oprofile/common.c index cb8b8d5af34f..0f6d303a8891 100644 --- a/arch/blackfin/oprofile/common.c +++ b/arch/blackfin/oprofile/common.c | |||
@@ -75,7 +75,7 @@ static int op_bfin_start(void) | |||
75 | { | 75 | { |
76 | int ret = -EBUSY; | 76 | int ret = -EBUSY; |
77 | 77 | ||
78 | printk(KERN_INFO "KSDBG:in %s\n", __FUNCTION__); | 78 | printk(KERN_INFO "KSDBG:in %s\n", __func__); |
79 | mutex_lock(&pfmon_lock); | 79 | mutex_lock(&pfmon_lock); |
80 | if (!pfmon_enabled) { | 80 | if (!pfmon_enabled) { |
81 | ret = model->start(ctr); | 81 | ret = model->start(ctr); |
diff --git a/arch/blackfin/oprofile/op_model_bf533.c b/arch/blackfin/oprofile/op_model_bf533.c index 872dffe33623..d1c698bb9ee5 100644 --- a/arch/blackfin/oprofile/op_model_bf533.c +++ b/arch/blackfin/oprofile/op_model_bf533.c | |||
@@ -125,7 +125,7 @@ int pm_overflow_handler(int irq, struct pt_regs *regs) | |||
125 | unsigned int pc, pfctl; | 125 | unsigned int pc, pfctl; |
126 | unsigned int count[2]; | 126 | unsigned int count[2]; |
127 | 127 | ||
128 | pr_debug("get interrupt in %s\n", __FUNCTION__); | 128 | pr_debug("get interrupt in %s\n", __func__); |
129 | if (oprofile_running == 0) { | 129 | if (oprofile_running == 0) { |
130 | pr_debug("error: entering interrupt when oprofile is stopped.\n\r"); | 130 | pr_debug("error: entering interrupt when oprofile is stopped.\n\r"); |
131 | return -1; | 131 | return -1; |
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index a87b89db08e9..2906ee7bd298 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
@@ -481,6 +481,34 @@ config BRIQ_PANEL | |||
481 | 481 | ||
482 | It's safe to say N here. | 482 | It's safe to say N here. |
483 | 483 | ||
484 | config BFIN_OTP | ||
485 | tristate "Blackfin On-Chip OTP Memory Support" | ||
486 | depends on BLACKFIN && (BF52x || BF54x) | ||
487 | default y | ||
488 | help | ||
489 | If you say Y here, you will get support for a character device | ||
490 | interface into the One Time Programmable memory pages that are | ||
491 | stored on the Blackfin processor. This will not get you access | ||
492 | to the secure memory pages however. You will need to write your | ||
493 | own secure code and reader for that. | ||
494 | |||
495 | To compile this driver as a module, choose M here: the module | ||
496 | will be called bfin-otp. | ||
497 | |||
498 | If unsure, it is safe to say Y. | ||
499 | |||
500 | config BFIN_OTP_WRITE_ENABLE | ||
501 | bool "Enable writing support of OTP pages" | ||
502 | depends on BFIN_OTP | ||
503 | default n | ||
504 | help | ||
505 | If you say Y here, you will enable support for writing of the | ||
506 | OTP pages. This is dangerous by nature as you can only program | ||
507 | the pages once, so only enable this option when you actually | ||
508 | need it so as to not inadvertently clobber data. | ||
509 | |||
510 | If unsure, say N. | ||
511 | |||
484 | config PRINTER | 512 | config PRINTER |
485 | tristate "Parallel printer support" | 513 | tristate "Parallel printer support" |
486 | depends on PARPORT | 514 | depends on PARPORT |
diff --git a/drivers/char/Makefile b/drivers/char/Makefile index 5407b7615614..4c1c584e9eb6 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile | |||
@@ -59,6 +59,7 @@ obj-$(CONFIG_VIOTAPE) += viotape.o | |||
59 | obj-$(CONFIG_HVCS) += hvcs.o | 59 | obj-$(CONFIG_HVCS) += hvcs.o |
60 | obj-$(CONFIG_SGI_MBCS) += mbcs.o | 60 | obj-$(CONFIG_SGI_MBCS) += mbcs.o |
61 | obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o | 61 | obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o |
62 | obj-$(CONFIG_BFIN_OTP) += bfin-otp.o | ||
62 | 63 | ||
63 | obj-$(CONFIG_PRINTER) += lp.o | 64 | obj-$(CONFIG_PRINTER) += lp.o |
64 | obj-$(CONFIG_TIPAR) += tipar.o | 65 | obj-$(CONFIG_TIPAR) += tipar.o |
diff --git a/drivers/char/bfin-otp.c b/drivers/char/bfin-otp.c new file mode 100644 index 000000000000..0a01329451e4 --- /dev/null +++ b/drivers/char/bfin-otp.c | |||
@@ -0,0 +1,189 @@ | |||
1 | /* | ||
2 | * Blackfin On-Chip OTP Memory Interface | ||
3 | * Supports BF52x/BF54x | ||
4 | * | ||
5 | * Copyright 2007-2008 Analog Devices Inc. | ||
6 | * | ||
7 | * Enter bugs at http://blackfin.uclinux.org/ | ||
8 | * | ||
9 | * Licensed under the GPL-2 or later. | ||
10 | */ | ||
11 | |||
12 | #include <linux/device.h> | ||
13 | #include <linux/errno.h> | ||
14 | #include <linux/fs.h> | ||
15 | #include <linux/init.h> | ||
16 | #include <linux/miscdevice.h> | ||
17 | #include <linux/module.h> | ||
18 | #include <linux/mutex.h> | ||
19 | #include <linux/types.h> | ||
20 | |||
21 | #include <asm/blackfin.h> | ||
22 | #include <asm/uaccess.h> | ||
23 | |||
24 | #define stamp(fmt, args...) pr_debug("%s:%i: " fmt "\n", __func__, __LINE__, ## args) | ||
25 | #define stampit() stamp("here i am") | ||
26 | #define pr_init(fmt, args...) ({ static const __initconst char __fmt[] = fmt; printk(__fmt, ## args); }) | ||
27 | |||
28 | #define DRIVER_NAME "bfin-otp" | ||
29 | #define PFX DRIVER_NAME ": " | ||
30 | |||
31 | static DEFINE_MUTEX(bfin_otp_lock); | ||
32 | |||
33 | /* OTP Boot ROM functions */ | ||
34 | #define _BOOTROM_OTP_COMMAND 0xEF000018 | ||
35 | #define _BOOTROM_OTP_READ 0xEF00001A | ||
36 | #define _BOOTROM_OTP_WRITE 0xEF00001C | ||
37 | |||
38 | static u32 (* const otp_command)(u32 command, u32 value) = (void *)_BOOTROM_OTP_COMMAND; | ||
39 | static u32 (* const otp_read)(u32 page, u32 flags, u64 *page_content) = (void *)_BOOTROM_OTP_READ; | ||
40 | static u32 (* const otp_write)(u32 page, u32 flags, u64 *page_content) = (void *)_BOOTROM_OTP_WRITE; | ||
41 | |||
42 | /* otp_command(): defines for "command" */ | ||
43 | #define OTP_INIT 0x00000001 | ||
44 | #define OTP_CLOSE 0x00000002 | ||
45 | |||
46 | /* otp_{read,write}(): defines for "flags" */ | ||
47 | #define OTP_LOWER_HALF 0x00000000 /* select upper/lower 64-bit half (bit 0) */ | ||
48 | #define OTP_UPPER_HALF 0x00000001 | ||
49 | #define OTP_NO_ECC 0x00000010 /* do not use ECC */ | ||
50 | #define OTP_LOCK 0x00000020 /* sets page protection bit for page */ | ||
51 | #define OTP_ACCESS_READ 0x00001000 | ||
52 | #define OTP_ACCESS_READWRITE 0x00002000 | ||
53 | |||
54 | /* Return values for all functions */ | ||
55 | #define OTP_SUCCESS 0x00000000 | ||
56 | #define OTP_MASTER_ERROR 0x001 | ||
57 | #define OTP_WRITE_ERROR 0x003 | ||
58 | #define OTP_READ_ERROR 0x005 | ||
59 | #define OTP_ACC_VIO_ERROR 0x009 | ||
60 | #define OTP_DATA_MULT_ERROR 0x011 | ||
61 | #define OTP_ECC_MULT_ERROR 0x021 | ||
62 | #define OTP_PREV_WR_ERROR 0x041 | ||
63 | #define OTP_DATA_SB_WARN 0x100 | ||
64 | #define OTP_ECC_SB_WARN 0x200 | ||
65 | |||
66 | /** | ||
67 | * bfin_otp_read - Read OTP pages | ||
68 | * | ||
69 | * All reads must be in half page chunks (half page == 64 bits). | ||
70 | */ | ||
71 | static ssize_t bfin_otp_read(struct file *file, char __user *buff, size_t count, loff_t *pos) | ||
72 | { | ||
73 | ssize_t bytes_done; | ||
74 | u32 page, flags, ret; | ||
75 | u64 content; | ||
76 | |||
77 | stampit(); | ||
78 | |||
79 | if (count % sizeof(u64)) | ||
80 | return -EMSGSIZE; | ||
81 | |||
82 | if (mutex_lock_interruptible(&bfin_otp_lock)) | ||
83 | return -ERESTARTSYS; | ||
84 | |||
85 | bytes_done = 0; | ||
86 | page = *pos / (sizeof(u64) * 2); | ||
87 | while (bytes_done < count) { | ||
88 | flags = (*pos % (sizeof(u64) * 2) ? OTP_UPPER_HALF : OTP_LOWER_HALF); | ||
89 | stamp("processing page %i (%s)", page, (flags == OTP_UPPER_HALF ? "upper" : "lower")); | ||
90 | ret = otp_read(page, flags, &content); | ||
91 | if (ret & OTP_MASTER_ERROR) { | ||
92 | bytes_done = -EIO; | ||
93 | break; | ||
94 | } | ||
95 | if (copy_to_user(buff + bytes_done, &content, sizeof(content))) { | ||
96 | bytes_done = -EFAULT; | ||
97 | break; | ||
98 | } | ||
99 | if (flags == OTP_UPPER_HALF) | ||
100 | ++page; | ||
101 | bytes_done += sizeof(content); | ||
102 | *pos += sizeof(content); | ||
103 | } | ||
104 | |||
105 | mutex_unlock(&bfin_otp_lock); | ||
106 | |||
107 | return bytes_done; | ||
108 | } | ||
109 | |||
110 | #ifdef CONFIG_BFIN_OTP_WRITE_ENABLE | ||
111 | /** | ||
112 | * bfin_otp_write - Write OTP pages | ||
113 | * | ||
114 | * All writes must be in half page chunks (half page == 64 bits). | ||
115 | */ | ||
116 | static ssize_t bfin_otp_write(struct file *filp, const char __user *buff, size_t count, loff_t *pos) | ||
117 | { | ||
118 | stampit(); | ||
119 | |||
120 | if (count % sizeof(u64)) | ||
121 | return -EMSGSIZE; | ||
122 | |||
123 | if (mutex_lock_interruptible(&bfin_otp_lock)) | ||
124 | return -ERESTARTSYS; | ||
125 | |||
126 | /* need otp_init() documentation before this can be implemented */ | ||
127 | |||
128 | mutex_unlock(&bfin_otp_lock); | ||
129 | |||
130 | return -EINVAL; | ||
131 | } | ||
132 | #else | ||
133 | # define bfin_otp_write NULL | ||
134 | #endif | ||
135 | |||
136 | static struct file_operations bfin_otp_fops = { | ||
137 | .owner = THIS_MODULE, | ||
138 | .read = bfin_otp_read, | ||
139 | .write = bfin_otp_write, | ||
140 | }; | ||
141 | |||
142 | static struct miscdevice bfin_otp_misc_device = { | ||
143 | .minor = MISC_DYNAMIC_MINOR, | ||
144 | .name = DRIVER_NAME, | ||
145 | .fops = &bfin_otp_fops, | ||
146 | }; | ||
147 | |||
148 | /** | ||
149 | * bfin_otp_init - Initialize module | ||
150 | * | ||
151 | * Registers the device and notifier handler. Actual device | ||
152 | * initialization is handled by bfin_otp_open(). | ||
153 | */ | ||
154 | static int __init bfin_otp_init(void) | ||
155 | { | ||
156 | int ret; | ||
157 | |||
158 | stampit(); | ||
159 | |||
160 | ret = misc_register(&bfin_otp_misc_device); | ||
161 | if (ret) { | ||
162 | pr_init(KERN_ERR PFX "unable to register a misc device\n"); | ||
163 | return ret; | ||
164 | } | ||
165 | |||
166 | pr_init(KERN_INFO PFX "initialized\n"); | ||
167 | |||
168 | return 0; | ||
169 | } | ||
170 | |||
171 | /** | ||
172 | * bfin_otp_exit - Deinitialize module | ||
173 | * | ||
174 | * Unregisters the device and notifier handler. Actual device | ||
175 | * deinitialization is handled by bfin_otp_close(). | ||
176 | */ | ||
177 | static void __exit bfin_otp_exit(void) | ||
178 | { | ||
179 | stampit(); | ||
180 | |||
181 | misc_deregister(&bfin_otp_misc_device); | ||
182 | } | ||
183 | |||
184 | module_init(bfin_otp_init); | ||
185 | module_exit(bfin_otp_exit); | ||
186 | |||
187 | MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>"); | ||
188 | MODULE_DESCRIPTION("Blackfin OTP Memory Interface"); | ||
189 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 2399a3796f6e..015e16325973 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -827,7 +827,7 @@ config ULTRA32 | |||
827 | 827 | ||
828 | config BFIN_MAC | 828 | config BFIN_MAC |
829 | tristate "Blackfin 527/536/537 on-chip mac support" | 829 | tristate "Blackfin 527/536/537 on-chip mac support" |
830 | depends on NET_ETHERNET && (BF527 || BF537 || BF536) && (!BF537_PORT_H) | 830 | depends on NET_ETHERNET && (BF527 || BF537 || BF536) |
831 | select CRC32 | 831 | select CRC32 |
832 | select MII | 832 | select MII |
833 | select PHYLIB | 833 | select PHYLIB |
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 46bb47f37b9a..5f55534a290b 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c | |||
@@ -151,7 +151,8 @@ void kgdb_put_debug_char(int chr) | |||
151 | { | 151 | { |
152 | struct bfin_serial_port *uart; | 152 | struct bfin_serial_port *uart; |
153 | 153 | ||
154 | if (CONFIG_KGDB_UART_PORT<0 || CONFIG_KGDB_UART_PORT>=NR_PORTS) | 154 | if (CONFIG_KGDB_UART_PORT < 0 |
155 | || CONFIG_KGDB_UART_PORT >= BFIN_UART_NR_PORTS) | ||
155 | uart = &bfin_serial_ports[0]; | 156 | uart = &bfin_serial_ports[0]; |
156 | else | 157 | else |
157 | uart = &bfin_serial_ports[CONFIG_KGDB_UART_PORT]; | 158 | uart = &bfin_serial_ports[CONFIG_KGDB_UART_PORT]; |
@@ -173,7 +174,8 @@ int kgdb_get_debug_char(void) | |||
173 | struct bfin_serial_port *uart; | 174 | struct bfin_serial_port *uart; |
174 | unsigned char chr; | 175 | unsigned char chr; |
175 | 176 | ||
176 | if (CONFIG_KGDB_UART_PORT<0 || CONFIG_KGDB_UART_PORT>=NR_PORTS) | 177 | if (CONFIG_KGDB_UART_PORT < 0 |
178 | || CONFIG_KGDB_UART_PORT >= BFIN_UART_NR_PORTS) | ||
177 | uart = &bfin_serial_ports[0]; | 179 | uart = &bfin_serial_ports[0]; |
178 | else | 180 | else |
179 | uart = &bfin_serial_ports[CONFIG_KGDB_UART_PORT]; | 181 | uart = &bfin_serial_ports[CONFIG_KGDB_UART_PORT]; |
@@ -192,7 +194,7 @@ int kgdb_get_debug_char(void) | |||
192 | } | 194 | } |
193 | #endif | 195 | #endif |
194 | 196 | ||
195 | #if ANOMALY_05000230 && defined(CONFIG_SERIAL_BFIN_PIO) | 197 | #if ANOMALY_05000363 && defined(CONFIG_SERIAL_BFIN_PIO) |
196 | # define UART_GET_ANOMALY_THRESHOLD(uart) ((uart)->anomaly_threshold) | 198 | # define UART_GET_ANOMALY_THRESHOLD(uart) ((uart)->anomaly_threshold) |
197 | # define UART_SET_ANOMALY_THRESHOLD(uart, v) ((uart)->anomaly_threshold = (v)) | 199 | # define UART_SET_ANOMALY_THRESHOLD(uart, v) ((uart)->anomaly_threshold = (v)) |
198 | #else | 200 | #else |
@@ -237,7 +239,7 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart) | |||
237 | } | 239 | } |
238 | #endif | 240 | #endif |
239 | 241 | ||
240 | if (ANOMALY_05000230) { | 242 | if (ANOMALY_05000363) { |
241 | /* The BF533 (and BF561) family of processors have a nice anomaly | 243 | /* The BF533 (and BF561) family of processors have a nice anomaly |
242 | * where they continuously generate characters for a "single" break. | 244 | * where they continuously generate characters for a "single" break. |
243 | * We have to basically ignore this flood until the "next" valid | 245 | * We have to basically ignore this flood until the "next" valid |
@@ -249,9 +251,6 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart) | |||
249 | * timeout was picked as it must absolutely be larger than 1 | 251 | * timeout was picked as it must absolutely be larger than 1 |
250 | * character time +/- some percent. So 1.5 sounds good. All other | 252 | * character time +/- some percent. So 1.5 sounds good. All other |
251 | * Blackfin families operate properly. Woo. | 253 | * Blackfin families operate properly. Woo. |
252 | * Note: While Anomaly 05000230 does not directly address this, | ||
253 | * the changes that went in for it also fixed this issue. | ||
254 | * That anomaly was fixed in 0.5+ silicon. I like bunnies. | ||
255 | */ | 254 | */ |
256 | if (anomaly_start.tv_sec) { | 255 | if (anomaly_start.tv_sec) { |
257 | struct timeval curr; | 256 | struct timeval curr; |
@@ -285,7 +284,7 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart) | |||
285 | } | 284 | } |
286 | 285 | ||
287 | if (status & BI) { | 286 | if (status & BI) { |
288 | if (ANOMALY_05000230) | 287 | if (ANOMALY_05000363) |
289 | if (bfin_revid() < 5) | 288 | if (bfin_revid() < 5) |
290 | do_gettimeofday(&anomaly_start); | 289 | do_gettimeofday(&anomaly_start); |
291 | uart->port.icount.brk++; | 290 | uart->port.icount.brk++; |
@@ -507,8 +506,7 @@ void bfin_serial_rx_dma_timeout(struct bfin_serial_port *uart) | |||
507 | uart->rx_dma_buf.tail = uart->rx_dma_buf.head; | 506 | uart->rx_dma_buf.tail = uart->rx_dma_buf.head; |
508 | } | 507 | } |
509 | 508 | ||
510 | uart->rx_dma_timer.expires = jiffies + DMA_RX_FLUSH_JIFFIES; | 509 | mod_timer(&(uart->rx_dma_timer), jiffies + DMA_RX_FLUSH_JIFFIES); |
511 | add_timer(&(uart->rx_dma_timer)); | ||
512 | } | 510 | } |
513 | 511 | ||
514 | static irqreturn_t bfin_serial_dma_tx_int(int irq, void *dev_id) | 512 | static irqreturn_t bfin_serial_dma_tx_int(int irq, void *dev_id) |
@@ -551,9 +549,7 @@ static irqreturn_t bfin_serial_dma_rx_int(int irq, void *dev_id) | |||
551 | clear_dma_irqstat(uart->rx_dma_channel); | 549 | clear_dma_irqstat(uart->rx_dma_channel); |
552 | spin_unlock(&uart->port.lock); | 550 | spin_unlock(&uart->port.lock); |
553 | 551 | ||
554 | del_timer(&(uart->rx_dma_timer)); | 552 | mod_timer(&(uart->rx_dma_timer), jiffies); |
555 | uart->rx_dma_timer.expires = jiffies; | ||
556 | add_timer(&(uart->rx_dma_timer)); | ||
557 | 553 | ||
558 | return IRQ_HANDLED; | 554 | return IRQ_HANDLED; |
559 | } | 555 | } |
@@ -749,7 +745,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
749 | struct bfin_serial_port *uart = (struct bfin_serial_port *)port; | 745 | struct bfin_serial_port *uart = (struct bfin_serial_port *)port; |
750 | unsigned long flags; | 746 | unsigned long flags; |
751 | unsigned int baud, quot; | 747 | unsigned int baud, quot; |
752 | unsigned short val, ier, lsr, lcr = 0; | 748 | unsigned short val, ier, lcr = 0; |
753 | 749 | ||
754 | switch (termios->c_cflag & CSIZE) { | 750 | switch (termios->c_cflag & CSIZE) { |
755 | case CS8: | 751 | case CS8: |
@@ -806,10 +802,6 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
806 | 802 | ||
807 | UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15); | 803 | UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15); |
808 | 804 | ||
809 | do { | ||
810 | lsr = UART_GET_LSR(uart); | ||
811 | } while (!(lsr & TEMT)); | ||
812 | |||
813 | /* Disable UART */ | 805 | /* Disable UART */ |
814 | ier = UART_GET_IER(uart); | 806 | ier = UART_GET_IER(uart); |
815 | #ifdef CONFIG_BF54x | 807 | #ifdef CONFIG_BF54x |
@@ -900,6 +892,31 @@ bfin_serial_verify_port(struct uart_port *port, struct serial_struct *ser) | |||
900 | return 0; | 892 | return 0; |
901 | } | 893 | } |
902 | 894 | ||
895 | /* | ||
896 | * Enable the IrDA function if tty->ldisc.num is N_IRDA. | ||
897 | * In other cases, disable IrDA function. | ||
898 | */ | ||
899 | static void bfin_set_ldisc(struct tty_struct *tty) | ||
900 | { | ||
901 | int line = tty->index; | ||
902 | unsigned short val; | ||
903 | |||
904 | if (line >= tty->driver->num) | ||
905 | return; | ||
906 | |||
907 | switch (tty->ldisc.num) { | ||
908 | case N_IRDA: | ||
909 | val = UART_GET_GCTL(&bfin_serial_ports[line]); | ||
910 | val |= (IREN | RPOLC); | ||
911 | UART_PUT_GCTL(&bfin_serial_ports[line], val); | ||
912 | break; | ||
913 | default: | ||
914 | val = UART_GET_GCTL(&bfin_serial_ports[line]); | ||
915 | val &= ~(IREN | RPOLC); | ||
916 | UART_PUT_GCTL(&bfin_serial_ports[line], val); | ||
917 | } | ||
918 | } | ||
919 | |||
903 | static struct uart_ops bfin_serial_pops = { | 920 | static struct uart_ops bfin_serial_pops = { |
904 | .tx_empty = bfin_serial_tx_empty, | 921 | .tx_empty = bfin_serial_tx_empty, |
905 | .set_mctrl = bfin_serial_set_mctrl, | 922 | .set_mctrl = bfin_serial_set_mctrl, |
@@ -1172,7 +1189,7 @@ static struct uart_driver bfin_serial_reg = { | |||
1172 | .dev_name = BFIN_SERIAL_NAME, | 1189 | .dev_name = BFIN_SERIAL_NAME, |
1173 | .major = BFIN_SERIAL_MAJOR, | 1190 | .major = BFIN_SERIAL_MAJOR, |
1174 | .minor = BFIN_SERIAL_MINOR, | 1191 | .minor = BFIN_SERIAL_MINOR, |
1175 | .nr = NR_PORTS, | 1192 | .nr = BFIN_UART_NR_PORTS, |
1176 | .cons = BFIN_SERIAL_CONSOLE, | 1193 | .cons = BFIN_SERIAL_CONSOLE, |
1177 | }; | 1194 | }; |
1178 | 1195 | ||
@@ -1261,6 +1278,7 @@ static int __init bfin_serial_init(void) | |||
1261 | 1278 | ||
1262 | ret = uart_register_driver(&bfin_serial_reg); | 1279 | ret = uart_register_driver(&bfin_serial_reg); |
1263 | if (ret == 0) { | 1280 | if (ret == 0) { |
1281 | bfin_serial_reg.tty_driver->set_ldisc = bfin_set_ldisc; | ||
1264 | ret = platform_driver_register(&bfin_serial_driver); | 1282 | ret = platform_driver_register(&bfin_serial_driver); |
1265 | if (ret) { | 1283 | if (ret) { |
1266 | pr_debug("uart register failed\n"); | 1284 | pr_debug("uart register failed\n"); |
diff --git a/include/asm-blackfin/.gitignore b/include/asm-blackfin/.gitignore new file mode 100644 index 000000000000..7858564a4466 --- /dev/null +++ b/include/asm-blackfin/.gitignore | |||
@@ -0,0 +1 @@ | |||
+mach | |||
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h index 5dba3a735596..716df7c85923 100644 --- a/include/asm-blackfin/bfin-global.h +++ b/include/asm-blackfin/bfin-global.h | |||
@@ -112,20 +112,10 @@ extern void init_leds(void); | |||
112 | 112 | ||
113 | extern const char bfin_board_name[]; | 113 | extern const char bfin_board_name[]; |
114 | extern unsigned long wall_jiffies; | 114 | extern unsigned long wall_jiffies; |
115 | extern unsigned long ipdt_table[]; | ||
116 | extern unsigned long dpdt_table[]; | ||
117 | extern unsigned long icplb_table[]; | ||
118 | extern unsigned long dcplb_table[]; | ||
119 | |||
120 | extern unsigned long ipdt_swapcount_table[]; | ||
121 | extern unsigned long dpdt_swapcount_table[]; | ||
122 | |||
123 | extern unsigned long table_start, table_end; | ||
124 | 115 | ||
125 | extern unsigned long bfin_sic_iwr[]; | 116 | extern unsigned long bfin_sic_iwr[]; |
126 | extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ | 117 | extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ |
127 | extern struct file_operations dpmc_fops; | 118 | extern struct file_operations dpmc_fops; |
128 | extern char _start; | ||
129 | extern unsigned long _ramstart, _ramend, _rambase; | 119 | extern unsigned long _ramstart, _ramend, _rambase; |
130 | extern unsigned long memory_start, memory_end, physical_mem_end; | 120 | extern unsigned long memory_start, memory_end, physical_mem_end; |
131 | extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], | 121 | extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], |
diff --git a/include/asm-blackfin/bug.h b/include/asm-blackfin/bug.h index 41e53b29f167..6d3e11b1fc57 100644 --- a/include/asm-blackfin/bug.h +++ b/include/asm-blackfin/bug.h | |||
@@ -1,4 +1,17 @@ | |||
1 | #ifndef _BLACKFIN_BUG_H | 1 | #ifndef _BLACKFIN_BUG_H |
2 | #define _BLACKFIN_BUG_H | 2 | #define _BLACKFIN_BUG_H |
3 | |||
4 | #ifdef CONFIG_BUG | ||
5 | #define HAVE_ARCH_BUG | ||
6 | |||
7 | #define BUG() do { \ | ||
8 | dump_bfin_trace_buffer(); \ | ||
9 | printk(KERN_EMERG "BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \ | ||
10 | panic("BUG!"); \ | ||
11 | } while (0) | ||
12 | |||
13 | #endif | ||
14 | |||
3 | #include <asm-generic/bug.h> | 15 | #include <asm-generic/bug.h> |
16 | |||
4 | #endif | 17 | #endif |
diff --git a/include/asm-blackfin/cplb.h b/include/asm-blackfin/cplb.h index 654375c2b746..5b0da9a69b67 100644 --- a/include/asm-blackfin/cplb.h +++ b/include/asm-blackfin/cplb.h | |||
@@ -74,32 +74,6 @@ | |||
74 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ | 74 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ |
75 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) | 75 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) |
76 | 76 | ||
77 | /* | ||
78 | * Number of required data CPLB switchtable entries | ||
79 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
80 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
81 | * 1 for L1 Data Memory | ||
82 | * possibly 1 for L2 Data Memory | ||
83 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
84 | * 1 for ASYNC Memory | ||
85 | */ | ||
86 | |||
87 | |||
88 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1 \ | ||
89 | + ASYNC_MEMORY_CPLB_COVERAGE) * 2) | ||
90 | |||
91 | /* | ||
92 | * Number of required instruction CPLB switchtable entries | ||
93 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
94 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
95 | * 1 for L1 Instruction Memory | ||
96 | * possibly 1 for L2 Instruction Memory | ||
97 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
98 | */ | ||
99 | |||
100 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1 + 1) * 2) | ||
101 | |||
102 | |||
103 | #define CPLB_ENABLE_ICACHE_P 0 | 77 | #define CPLB_ENABLE_ICACHE_P 0 |
104 | #define CPLB_ENABLE_DCACHE_P 1 | 78 | #define CPLB_ENABLE_DCACHE_P 1 |
105 | #define CPLB_ENABLE_DCACHE2_P 2 | 79 | #define CPLB_ENABLE_DCACHE2_P 2 |
diff --git a/include/asm-blackfin/dma-mapping.h b/include/asm-blackfin/dma-mapping.h index 282fabccf6a6..1a13c2fc3667 100644 --- a/include/asm-blackfin/dma-mapping.h +++ b/include/asm-blackfin/dma-mapping.h | |||
@@ -27,6 +27,14 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr, | |||
27 | extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | 27 | extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, |
28 | enum dma_data_direction direction); | 28 | enum dma_data_direction direction); |
29 | 29 | ||
30 | static inline dma_addr_t | ||
31 | dma_map_page(struct device *dev, struct page *page, | ||
32 | unsigned long offset, size_t size, | ||
33 | enum dma_data_direction dir) | ||
34 | { | ||
35 | return dma_map_single(dev, page_address(page) + offset, size, dir); | ||
36 | } | ||
37 | |||
30 | /* | 38 | /* |
31 | * Unmap a single streaming mode DMA translation. The dma_addr and size | 39 | * Unmap a single streaming mode DMA translation. The dma_addr and size |
32 | * must match what was provided for in a previous pci_map_single call. All | 40 | * must match what was provided for in a previous pci_map_single call. All |
@@ -38,6 +46,13 @@ extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | |||
38 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | 46 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, |
39 | enum dma_data_direction direction); | 47 | enum dma_data_direction direction); |
40 | 48 | ||
49 | static inline void | ||
50 | dma_unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size, | ||
51 | enum dma_data_direction dir) | ||
52 | { | ||
53 | dma_unmap_single(dev, dma_addr, size, dir); | ||
54 | } | ||
55 | |||
41 | /* | 56 | /* |
42 | * Map a set of buffers described by scatterlist in streaming | 57 | * Map a set of buffers described by scatterlist in streaming |
43 | * mode for DMA. This is the scather-gather version of the | 58 | * mode for DMA. This is the scather-gather version of the |
diff --git a/include/asm-blackfin/dma.h b/include/asm-blackfin/dma.h index 16d493574ba8..c0d5259e315b 100644 --- a/include/asm-blackfin/dma.h +++ b/include/asm-blackfin/dma.h | |||
@@ -191,4 +191,7 @@ void clear_dma_irqstat(unsigned int channel); | |||
191 | void *dma_memcpy(void *dest, const void *src, size_t count); | 191 | void *dma_memcpy(void *dest, const void *src, size_t count); |
192 | void *safe_dma_memcpy(void *dest, const void *src, size_t count); | 192 | void *safe_dma_memcpy(void *dest, const void *src, size_t count); |
193 | 193 | ||
194 | extern int channel2irq(unsigned int channel); | ||
195 | extern struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL]; | ||
196 | |||
194 | #endif | 197 | #endif |
diff --git a/include/asm-blackfin/gptimers.h b/include/asm-blackfin/gptimers.h index 4f318f1fd2d9..0520d2aac8f3 100644 --- a/include/asm-blackfin/gptimers.h +++ b/include/asm-blackfin/gptimers.h | |||
@@ -22,6 +22,18 @@ | |||
22 | # define TIMER0_GROUP_REG TIMER_ENABLE | 22 | # define TIMER0_GROUP_REG TIMER_ENABLE |
23 | #endif | 23 | #endif |
24 | /* | 24 | /* |
25 | * BF54x: 11 timers (BF542: 8 timers): | ||
26 | */ | ||
27 | #if defined(BF548_FAMILY) | ||
28 | # ifdef CONFIG_BF542 | ||
29 | # define MAX_BLACKFIN_GPTIMERS 8 | ||
30 | # else | ||
31 | # define MAX_BLACKFIN_GPTIMERS 11 | ||
32 | # define TIMER8_GROUP_REG TIMER_ENABLE1 | ||
33 | # endif | ||
34 | # define TIMER0_GROUP_REG TIMER_ENABLE0 | ||
35 | #endif | ||
36 | /* | ||
25 | * BF561: 12 timers: | 37 | * BF561: 12 timers: |
26 | */ | 38 | */ |
27 | #if defined(CONFIG_BF561) | 39 | #if defined(CONFIG_BF561) |
@@ -44,40 +56,28 @@ | |||
44 | #define TIMER0bit 0x0001 /* 0001b */ | 56 | #define TIMER0bit 0x0001 /* 0001b */ |
45 | #define TIMER1bit 0x0002 /* 0010b */ | 57 | #define TIMER1bit 0x0002 /* 0010b */ |
46 | #define TIMER2bit 0x0004 /* 0100b */ | 58 | #define TIMER2bit 0x0004 /* 0100b */ |
47 | 59 | #define TIMER3bit 0x0008 | |
48 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 60 | #define TIMER4bit 0x0010 |
49 | # define TIMER3bit 0x0008 | 61 | #define TIMER5bit 0x0020 |
50 | # define TIMER4bit 0x0010 | 62 | #define TIMER6bit 0x0040 |
51 | # define TIMER5bit 0x0020 | 63 | #define TIMER7bit 0x0080 |
52 | # define TIMER6bit 0x0040 | 64 | #define TIMER8bit 0x0100 |
53 | # define TIMER7bit 0x0080 | 65 | #define TIMER9bit 0x0200 |
54 | #endif | 66 | #define TIMER10bit 0x0400 |
55 | 67 | #define TIMER11bit 0x0800 | |
56 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
57 | # define TIMER8bit 0x0100 | ||
58 | # define TIMER9bit 0x0200 | ||
59 | # define TIMER10bit 0x0400 | ||
60 | # define TIMER11bit 0x0800 | ||
61 | #endif | ||
62 | 68 | ||
63 | #define TIMER0_id 0 | 69 | #define TIMER0_id 0 |
64 | #define TIMER1_id 1 | 70 | #define TIMER1_id 1 |
65 | #define TIMER2_id 2 | 71 | #define TIMER2_id 2 |
66 | 72 | #define TIMER3_id 3 | |
67 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 73 | #define TIMER4_id 4 |
68 | # define TIMER3_id 3 | 74 | #define TIMER5_id 5 |
69 | # define TIMER4_id 4 | 75 | #define TIMER6_id 6 |
70 | # define TIMER5_id 5 | 76 | #define TIMER7_id 7 |
71 | # define TIMER6_id 6 | 77 | #define TIMER8_id 8 |
72 | # define TIMER7_id 7 | 78 | #define TIMER9_id 9 |
73 | #endif | 79 | #define TIMER10_id 10 |
74 | 80 | #define TIMER11_id 11 | |
75 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
76 | # define TIMER8_id 8 | ||
77 | # define TIMER9_id 9 | ||
78 | # define TIMER10_id 10 | ||
79 | # define TIMER11_id 11 | ||
80 | #endif | ||
81 | 81 | ||
82 | /* associated timers for ppi framesync: */ | 82 | /* associated timers for ppi framesync: */ |
83 | 83 | ||
@@ -124,45 +124,31 @@ | |||
124 | /* | 124 | /* |
125 | * Timer Status Register Bits | 125 | * Timer Status Register Bits |
126 | */ | 126 | */ |
127 | #define TIMER_STATUS_TIMIL0 0x0001 | 127 | #define TIMER_STATUS_TIMIL0 0x0001 |
128 | #define TIMER_STATUS_TIMIL1 0x0002 | 128 | #define TIMER_STATUS_TIMIL1 0x0002 |
129 | #define TIMER_STATUS_TIMIL2 0x0004 | 129 | #define TIMER_STATUS_TIMIL2 0x0004 |
130 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 130 | #define TIMER_STATUS_TIMIL3 0x00000008 |
131 | # define TIMER_STATUS_TIMIL3 0x00000008 | 131 | #define TIMER_STATUS_TIMIL4 0x00010000 |
132 | # define TIMER_STATUS_TIMIL4 0x00010000 | 132 | #define TIMER_STATUS_TIMIL5 0x00020000 |
133 | # define TIMER_STATUS_TIMIL5 0x00020000 | 133 | #define TIMER_STATUS_TIMIL6 0x00040000 |
134 | # define TIMER_STATUS_TIMIL6 0x00040000 | 134 | #define TIMER_STATUS_TIMIL7 0x00080000 |
135 | # define TIMER_STATUS_TIMIL7 0x00080000 | 135 | #define TIMER_STATUS_TIMIL8 0x0001 |
136 | # if (MAX_BLACKFIN_GPTIMERS > 8) | 136 | #define TIMER_STATUS_TIMIL9 0x0002 |
137 | # define TIMER_STATUS_TIMIL8 0x0001 | 137 | #define TIMER_STATUS_TIMIL10 0x0004 |
138 | # define TIMER_STATUS_TIMIL9 0x0002 | 138 | #define TIMER_STATUS_TIMIL11 0x0008 |
139 | # define TIMER_STATUS_TIMIL10 0x0004 | 139 | |
140 | # define TIMER_STATUS_TIMIL11 0x0008 | 140 | #define TIMER_STATUS_TOVF0 0x0010 /* timer 0 overflow error */ |
141 | # endif | 141 | #define TIMER_STATUS_TOVF1 0x0020 |
142 | # define TIMER_STATUS_INTR 0x000F000F | 142 | #define TIMER_STATUS_TOVF2 0x0040 |
143 | #else | 143 | #define TIMER_STATUS_TOVF3 0x00000080 |
144 | # define TIMER_STATUS_INTR 0x0007 /* any timer interrupt */ | 144 | #define TIMER_STATUS_TOVF4 0x00100000 |
145 | #endif | 145 | #define TIMER_STATUS_TOVF5 0x00200000 |
146 | 146 | #define TIMER_STATUS_TOVF6 0x00400000 | |
147 | #define TIMER_STATUS_TOVF0 0x0010 /* timer 0 overflow error */ | 147 | #define TIMER_STATUS_TOVF7 0x00800000 |
148 | #define TIMER_STATUS_TOVF1 0x0020 | 148 | #define TIMER_STATUS_TOVF8 0x0010 |
149 | #define TIMER_STATUS_TOVF2 0x0040 | 149 | #define TIMER_STATUS_TOVF9 0x0020 |
150 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 150 | #define TIMER_STATUS_TOVF10 0x0040 |
151 | # define TIMER_STATUS_TOVF3 0x00000080 | 151 | #define TIMER_STATUS_TOVF11 0x0080 |
152 | # define TIMER_STATUS_TOVF4 0x00100000 | ||
153 | # define TIMER_STATUS_TOVF5 0x00200000 | ||
154 | # define TIMER_STATUS_TOVF6 0x00400000 | ||
155 | # define TIMER_STATUS_TOVF7 0x00800000 | ||
156 | # if (MAX_BLACKFIN_GPTIMERS > 8) | ||
157 | # define TIMER_STATUS_TOVF8 0x0010 | ||
158 | # define TIMER_STATUS_TOVF9 0x0020 | ||
159 | # define TIMER_STATUS_TOVF10 0x0040 | ||
160 | # define TIMER_STATUS_TOVF11 0x0080 | ||
161 | # endif | ||
162 | # define TIMER_STATUS_OFLOW 0x00F000F0 | ||
163 | #else | ||
164 | # define TIMER_STATUS_OFLOW 0x0070 /* any timer overflow */ | ||
165 | #endif | ||
166 | 152 | ||
167 | /* | 153 | /* |
168 | * Timer Slave Enable Status : write 1 to clear | 154 | * Timer Slave Enable Status : write 1 to clear |
@@ -170,22 +156,16 @@ | |||
170 | #define TIMER_STATUS_TRUN0 0x1000 | 156 | #define TIMER_STATUS_TRUN0 0x1000 |
171 | #define TIMER_STATUS_TRUN1 0x2000 | 157 | #define TIMER_STATUS_TRUN1 0x2000 |
172 | #define TIMER_STATUS_TRUN2 0x4000 | 158 | #define TIMER_STATUS_TRUN2 0x4000 |
173 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 159 | #define TIMER_STATUS_TRUN3 0x00008000 |
174 | # define TIMER_STATUS_TRUN3 0x00008000 | 160 | #define TIMER_STATUS_TRUN4 0x10000000 |
175 | # define TIMER_STATUS_TRUN4 0x10000000 | 161 | #define TIMER_STATUS_TRUN5 0x20000000 |
176 | # define TIMER_STATUS_TRUN5 0x20000000 | 162 | #define TIMER_STATUS_TRUN6 0x40000000 |
177 | # define TIMER_STATUS_TRUN6 0x40000000 | 163 | #define TIMER_STATUS_TRUN7 0x80000000 |
178 | # define TIMER_STATUS_TRUN7 0x80000000 | 164 | #define TIMER_STATUS_TRUN 0xF000F000 |
179 | # define TIMER_STATUS_TRUN 0xF000F000 | 165 | #define TIMER_STATUS_TRUN8 0x1000 |
180 | # if (MAX_BLACKFIN_GPTIMERS > 8) | 166 | #define TIMER_STATUS_TRUN9 0x2000 |
181 | # define TIMER_STATUS_TRUN8 0x1000 | 167 | #define TIMER_STATUS_TRUN10 0x4000 |
182 | # define TIMER_STATUS_TRUN9 0x2000 | 168 | #define TIMER_STATUS_TRUN11 0x8000 |
183 | # define TIMER_STATUS_TRUN10 0x4000 | ||
184 | # define TIMER_STATUS_TRUN11 0x8000 | ||
185 | # endif | ||
186 | #else | ||
187 | # define TIMER_STATUS_TRUN 0x7000 | ||
188 | #endif | ||
189 | 169 | ||
190 | /* The actual gptimer API */ | 170 | /* The actual gptimer API */ |
191 | 171 | ||
diff --git a/include/asm-blackfin/mach-bf527/anomaly.h b/include/asm-blackfin/mach-bf527/anomaly.h index a89120445be6..735fa02fafb2 100644 --- a/include/asm-blackfin/mach-bf527/anomaly.h +++ b/include/asm-blackfin/mach-bf527/anomaly.h | |||
@@ -2,12 +2,12 @@ | |||
2 | * File: include/asm-blackfin/mach-bf527/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf527/anomaly.h |
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
4 | * | 4 | * |
5 | * Copyright (C) 2004-2007 Analog Devices Inc. | 5 | * Copyright (C) 2004-2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
10 | * - Revision A, May 30, 2007; ADSP-BF527 Blackfin Processor Anomaly List | 10 | * - Revision C, 01/25/2008; ADSP-BF527 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
@@ -15,35 +15,85 @@ | |||
15 | 15 | ||
16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ |
17 | #define ANOMALY_05000074 (1) | 17 | #define ANOMALY_05000074 (1) |
18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | ||
19 | #define ANOMALY_05000119 (1) | ||
20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 18 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
21 | #define ANOMALY_05000122 (1) | 19 | #define ANOMALY_05000122 (1) |
22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 20 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ |
23 | #define ANOMALY_05000245 (1) | 21 | #define ANOMALY_05000245 (1) |
24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | 22 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ |
25 | #define ANOMALY_05000265 (1) | 23 | #define ANOMALY_05000265 (1) |
26 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | ||
27 | #define ANOMALY_05000301 (1) | ||
28 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
29 | #define ANOMALY_05000312 (1) | ||
30 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ | 24 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ |
31 | #define ANOMALY_05000328 (1) | 25 | #define ANOMALY_05000328 (1) |
32 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ | 26 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ |
33 | #define ANOMALY_05000337 (1) | 27 | #define ANOMALY_05000337 (1) |
34 | /* TWI Does Not Operate Correctly Under Certain Signal Termination Conditions */ | 28 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ |
29 | #define ANOMALY_05000341 (1) | ||
30 | /* TWI May Not Operate Correctly Under Certain Signal Termination Conditions */ | ||
35 | #define ANOMALY_05000342 (1) | 31 | #define ANOMALY_05000342 (1) |
36 | /* Boot ROM Kernel Incorrectly Alters Reset Value of USB Register */ | 32 | /* USB Calibration Value Is Not Initialized */ |
33 | #define ANOMALY_05000346 (1) | ||
34 | /* Preboot Routine Incorrectly Alters Reset Value of USB Register */ | ||
37 | #define ANOMALY_05000347 (1) | 35 | #define ANOMALY_05000347 (1) |
36 | /* Security Features Are Not Functional */ | ||
37 | #define ANOMALY_05000348 (__SILICON_REVISION__ < 1) | ||
38 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ | ||
39 | #define ANOMALY_05000355 (1) | ||
40 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | ||
41 | #define ANOMALY_05000357 (1) | ||
42 | /* Incorrect Revision Number in DSPID Register */ | ||
43 | #define ANOMALY_05000364 (__SILICON_REVISION__ > 0) | ||
44 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | ||
45 | #define ANOMALY_05000366 (1) | ||
46 | /* New Feature: Higher Default CCLK Rate */ | ||
47 | #define ANOMALY_05000368 (1) | ||
48 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | ||
49 | #define ANOMALY_05000371 (1) | ||
50 | /* Authentication Fails To Initiate */ | ||
51 | #define ANOMALY_05000376 (__SILICON_REVISION__ > 0) | ||
52 | /* Data Read From L3 Memory by USB DMA May be Corrupted */ | ||
53 | #define ANOMALY_05000380 (1) | ||
54 | /* USB Full-speed Mode not Fully Tested */ | ||
55 | #define ANOMALY_05000381 (1) | ||
56 | /* New Feature: Boot from OTP Memory */ | ||
57 | #define ANOMALY_05000385 (1) | ||
58 | /* New Feature: bfrom_SysControl() Routine */ | ||
59 | #define ANOMALY_05000386 (1) | ||
60 | /* New Feature: Programmable Preboot Settings */ | ||
61 | #define ANOMALY_05000387 (1) | ||
62 | /* Reset Vector Must Not Be in SDRAM Memory Space */ | ||
63 | #define ANOMALY_05000389 (1) | ||
64 | /* New Feature: pTempCurrent Added to ADI_BOOT_DATA Structure */ | ||
65 | #define ANOMALY_05000392 (1) | ||
66 | /* New Feature: dTempByteCount Value Increased in ADI_BOOT_DATA Structure */ | ||
67 | #define ANOMALY_05000393 (1) | ||
68 | /* New Feature: Log Buffer Functionality */ | ||
69 | #define ANOMALY_05000394 (1) | ||
70 | /* New Feature: Hook Routine Functionality */ | ||
71 | #define ANOMALY_05000395 (1) | ||
72 | /* New Feature: Header Indirect Bit */ | ||
73 | #define ANOMALY_05000396 (1) | ||
74 | /* New Feature: BK_ONES, BK_ZEROS, and BK_DATECODE Constants */ | ||
75 | #define ANOMALY_05000397 (1) | ||
76 | /* New Feature: SWRESET, DFRESET and WDRESET Bits Added to SYSCR Register */ | ||
77 | #define ANOMALY_05000398 (1) | ||
78 | /* New Feature: BCODE_NOBOOT Added to BCODE Field of SYSCR Register */ | ||
79 | #define ANOMALY_05000399 (1) | ||
80 | /* PPI Data Signals D0 and D8 do not Tristate After Disabling PPI */ | ||
81 | #define ANOMALY_05000401 (1) | ||
38 | 82 | ||
39 | /* Anomalies that don't exist on this proc */ | 83 | /* Anomalies that don't exist on this proc */ |
40 | #define ANOMALY_05000323 (0) | ||
41 | #define ANOMALY_05000244 (0) | ||
42 | #define ANOMALY_05000198 (0) | ||
43 | #define ANOMALY_05000125 (0) | 84 | #define ANOMALY_05000125 (0) |
44 | #define ANOMALY_05000158 (0) | 85 | #define ANOMALY_05000158 (0) |
45 | #define ANOMALY_05000273 (0) | 86 | #define ANOMALY_05000183 (0) |
87 | #define ANOMALY_05000198 (0) | ||
88 | #define ANOMALY_05000230 (0) | ||
89 | #define ANOMALY_05000244 (0) | ||
90 | #define ANOMALY_05000261 (0) | ||
46 | #define ANOMALY_05000263 (0) | 91 | #define ANOMALY_05000263 (0) |
92 | #define ANOMALY_05000266 (0) | ||
93 | #define ANOMALY_05000273 (0) | ||
47 | #define ANOMALY_05000311 (0) | 94 | #define ANOMALY_05000311 (0) |
48 | #define ANOMALY_05000230 (0) | 95 | #define ANOMALY_05000312 (0) |
96 | #define ANOMALY_05000323 (0) | ||
97 | #define ANOMALY_05000363 (0) | ||
98 | |||
49 | #endif | 99 | #endif |
diff --git a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h index c0694ecd2ecd..f0ab2736a680 100644 --- a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | |||
@@ -1,22 +1,38 @@ | |||
1 | /* | ||
2 | * file: include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | ||
3 | * based on: | ||
4 | * author: | ||
5 | * | ||
6 | * created: | ||
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | ||
31 | |||
1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
4 | 35 | ||
5 | #define NR_PORTS 2 | ||
6 | |||
7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
19 | |||
20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
@@ -92,7 +108,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
92 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 108 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
93 | } | 109 | } |
94 | 110 | ||
95 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 111 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
96 | struct bfin_serial_res { | 112 | struct bfin_serial_res { |
97 | unsigned long uart_base_addr; | 113 | unsigned long uart_base_addr; |
98 | int uart_irq; | 114 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf527/bfin_sir.h b/include/asm-blackfin/mach-bf527/bfin_sir.h new file mode 100644 index 000000000000..0612d0c9501c --- /dev/null +++ b/include/asm-blackfin/mach-bf527/bfin_sir.h | |||
@@ -0,0 +1,133 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
30 | |||
31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
32 | struct dma_rx_buf { | ||
33 | char *buf; | ||
34 | int head; | ||
35 | int tail; | ||
36 | }; | ||
37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
38 | |||
39 | struct bfin_sir_port { | ||
40 | unsigned char __iomem *membase; | ||
41 | unsigned int irq; | ||
42 | unsigned int lsr; | ||
43 | unsigned long clk; | ||
44 | struct net_device *dev; | ||
45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
46 | int tx_done; | ||
47 | struct dma_rx_buf rx_dma_buf; | ||
48 | struct timer_list rx_dma_timer; | ||
49 | int rx_dma_nrows; | ||
50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
51 | unsigned int tx_dma_channel; | ||
52 | unsigned int rx_dma_channel; | ||
53 | }; | ||
54 | |||
55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
56 | |||
57 | struct bfin_sir_port_res { | ||
58 | unsigned long base_addr; | ||
59 | int irq; | ||
60 | unsigned int rx_dma_channel; | ||
61 | unsigned int tx_dma_channel; | ||
62 | }; | ||
63 | |||
64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
65 | #ifdef CONFIG_BFIN_SIR0 | ||
66 | { | ||
67 | 0xFFC00400, | ||
68 | IRQ_UART0_RX, | ||
69 | CH_UART0_RX, | ||
70 | CH_UART0_TX, | ||
71 | }, | ||
72 | #endif | ||
73 | #ifdef CONFIG_BFIN_SIR1 | ||
74 | { | ||
75 | 0xFFC02000, | ||
76 | IRQ_UART1_RX, | ||
77 | CH_UART1_RX, | ||
78 | CH_UART1_TX, | ||
79 | }, | ||
80 | #endif | ||
81 | }; | ||
82 | |||
83 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
84 | |||
85 | struct bfin_sir_self { | ||
86 | struct bfin_sir_port *sir_port; | ||
87 | spinlock_t lock; | ||
88 | unsigned int open; | ||
89 | int speed; | ||
90 | int newspeed; | ||
91 | |||
92 | struct sk_buff *txskb; | ||
93 | struct sk_buff *rxskb; | ||
94 | struct net_device_stats stats; | ||
95 | struct device *dev; | ||
96 | struct irlap_cb *irlap; | ||
97 | struct qos_info qos; | ||
98 | |||
99 | iobuff_t tx_buff; | ||
100 | iobuff_t rx_buff; | ||
101 | |||
102 | struct work_struct work; | ||
103 | int mtt; | ||
104 | }; | ||
105 | |||
106 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
107 | { | ||
108 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
109 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
110 | return lsr | port->lsr; | ||
111 | } | ||
112 | |||
113 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
114 | { | ||
115 | port->lsr = 0; | ||
116 | bfin_read16(port->membase + OFFSET_LSR); | ||
117 | } | ||
118 | |||
119 | #define DRIVER_NAME "bfin_sir" | ||
120 | |||
121 | static void bfin_sir_hw_init(void) | ||
122 | { | ||
123 | #ifdef CONFIG_BFIN_SIR0 | ||
124 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
125 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
126 | #endif | ||
127 | |||
128 | #ifdef CONFIG_BFIN_SIR1 | ||
129 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
130 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
131 | #endif | ||
132 | SSYNC(); | ||
133 | } | ||
diff --git a/include/asm-blackfin/mach-bf527/blackfin.h b/include/asm-blackfin/mach-bf527/blackfin.h index 1bd07e30781c..2891727b6176 100644 --- a/include/asm-blackfin/mach-bf527/blackfin.h +++ b/include/asm-blackfin/mach-bf527/blackfin.h | |||
@@ -64,6 +64,21 @@ | |||
64 | #define STATUS_P1 0x02 | 64 | #define STATUS_P1 0x02 |
65 | #define STATUS_P0 0x01 | 65 | #define STATUS_P0 0x01 |
66 | 66 | ||
67 | #define BFIN_UART_NR_PORTS 2 | ||
68 | |||
69 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
70 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
71 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
72 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
73 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
74 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
75 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
76 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
77 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
78 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
79 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
80 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
81 | |||
67 | /* DPMC*/ | 82 | /* DPMC*/ |
68 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() | 83 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() |
69 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) | 84 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) |
diff --git a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h b/include/asm-blackfin/mach-bf527/cdefBF52x_base.h index 3f4de5d9d4cb..9dbdbec8ea1b 100644 --- a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h +++ b/include/asm-blackfin/mach-bf527/cdefBF52x_base.h | |||
@@ -29,18 +29,71 @@ | |||
29 | */ | 29 | */ |
30 | 30 | ||
31 | #ifndef _CDEF_BF52X_H | 31 | #ifndef _CDEF_BF52X_H |
32 | #define _CDEF_BF52X_H | ||
33 | |||
34 | #include <asm/system.h> | ||
35 | #include <asm/blackfin.h> | ||
32 | 36 | ||
33 | #include "defBF52x_base.h" | 37 | #include "defBF52x_base.h" |
34 | 38 | ||
39 | /* Include core specific register pointer definitions */ | ||
40 | #include <asm/mach-common/cdef_LPBlackfin.h> | ||
41 | |||
35 | /* ==== begin from cdefBF534.h ==== */ | 42 | /* ==== begin from cdefBF534.h ==== */ |
36 | 43 | ||
37 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 44 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
38 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
39 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL, val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
48 | { | ||
49 | unsigned long flags, iwr0, iwr1; | ||
50 | |||
51 | if (val == bfin_read_PLL_CTL()) | ||
52 | return; | ||
53 | |||
54 | local_irq_save(flags); | ||
55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
56 | iwr0 = bfin_read32(SIC_IWR0); | ||
57 | iwr1 = bfin_read32(SIC_IWR1); | ||
58 | /* Only allow PPL Wakeup) */ | ||
59 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
60 | bfin_write32(SIC_IWR1, 0); | ||
61 | |||
62 | bfin_write16(PLL_CTL, val); | ||
63 | SSYNC(); | ||
64 | asm("IDLE;"); | ||
65 | |||
66 | bfin_write32(SIC_IWR0, iwr0); | ||
67 | bfin_write32(SIC_IWR1, iwr1); | ||
68 | local_irq_restore(flags); | ||
69 | } | ||
40 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 70 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
41 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) | 71 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) |
42 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 72 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
43 | #define bfin_write_VR_CTL(val) bfin_write16(VR_CTL, val) | 73 | /* Writing to VR_CTL initiates a PLL relock sequence. */ |
74 | static __inline__ void bfin_write_VR_CTL(unsigned int val) | ||
75 | { | ||
76 | unsigned long flags, iwr0, iwr1; | ||
77 | |||
78 | if (val == bfin_read_VR_CTL()) | ||
79 | return; | ||
80 | |||
81 | local_irq_save(flags); | ||
82 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
83 | iwr0 = bfin_read32(SIC_IWR0); | ||
84 | iwr1 = bfin_read32(SIC_IWR1); | ||
85 | /* Only allow PPL Wakeup) */ | ||
86 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
87 | bfin_write32(SIC_IWR1, 0); | ||
88 | |||
89 | bfin_write16(VR_CTL, val); | ||
90 | SSYNC(); | ||
91 | asm("IDLE;"); | ||
92 | |||
93 | bfin_write32(SIC_IWR0, iwr0); | ||
94 | bfin_write32(SIC_IWR1, iwr1); | ||
95 | local_irq_restore(flags); | ||
96 | } | ||
44 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 97 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
45 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) | 98 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) |
46 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) | 99 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) |
@@ -873,39 +926,6 @@ | |||
873 | 926 | ||
874 | 927 | ||
875 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 928 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
876 | #define bfin_read_TWI_CLKDIV() bfin_read16(TWI_CLKDIV) | ||
877 | #define bfin_write_TWI_CLKDIV(val) bfin_write16(TWI_CLKDIV, val) | ||
878 | #define bfin_read_TWI_CONTROL() bfin_read16(TWI_CONTROL) | ||
879 | #define bfin_write_TWI_CONTROL(val) bfin_write16(TWI_CONTROL, val) | ||
880 | #define bfin_read_TWI_SLAVE_CTL() bfin_read16(TWI_SLAVE_CTL) | ||
881 | #define bfin_write_TWI_SLAVE_CTL(val) bfin_write16(TWI_SLAVE_CTL, val) | ||
882 | #define bfin_read_TWI_SLAVE_STAT() bfin_read16(TWI_SLAVE_STAT) | ||
883 | #define bfin_write_TWI_SLAVE_STAT(val) bfin_write16(TWI_SLAVE_STAT, val) | ||
884 | #define bfin_read_TWI_SLAVE_ADDR() bfin_read16(TWI_SLAVE_ADDR) | ||
885 | #define bfin_write_TWI_SLAVE_ADDR(val) bfin_write16(TWI_SLAVE_ADDR, val) | ||
886 | #define bfin_read_TWI_MASTER_CTL() bfin_read16(TWI_MASTER_CTL) | ||
887 | #define bfin_write_TWI_MASTER_CTL(val) bfin_write16(TWI_MASTER_CTL, val) | ||
888 | #define bfin_read_TWI_MASTER_STAT() bfin_read16(TWI_MASTER_STAT) | ||
889 | #define bfin_write_TWI_MASTER_STAT(val) bfin_write16(TWI_MASTER_STAT, val) | ||
890 | #define bfin_read_TWI_MASTER_ADDR() bfin_read16(TWI_MASTER_ADDR) | ||
891 | #define bfin_write_TWI_MASTER_ADDR(val) bfin_write16(TWI_MASTER_ADDR, val) | ||
892 | #define bfin_read_TWI_INT_STAT() bfin_read16(TWI_INT_STAT) | ||
893 | #define bfin_write_TWI_INT_STAT(val) bfin_write16(TWI_INT_STAT, val) | ||
894 | #define bfin_read_TWI_INT_MASK() bfin_read16(TWI_INT_MASK) | ||
895 | #define bfin_write_TWI_INT_MASK(val) bfin_write16(TWI_INT_MASK, val) | ||
896 | #define bfin_read_TWI_FIFO_CTL() bfin_read16(TWI_FIFO_CTL) | ||
897 | #define bfin_write_TWI_FIFO_CTL(val) bfin_write16(TWI_FIFO_CTL, val) | ||
898 | #define bfin_read_TWI_FIFO_STAT() bfin_read16(TWI_FIFO_STAT) | ||
899 | #define bfin_write_TWI_FIFO_STAT(val) bfin_write16(TWI_FIFO_STAT, val) | ||
900 | #define bfin_read_TWI_XMT_DATA8() bfin_read16(TWI_XMT_DATA8) | ||
901 | #define bfin_write_TWI_XMT_DATA8(val) bfin_write16(TWI_XMT_DATA8, val) | ||
902 | #define bfin_read_TWI_XMT_DATA16() bfin_read16(TWI_XMT_DATA16) | ||
903 | #define bfin_write_TWI_XMT_DATA16(val) bfin_write16(TWI_XMT_DATA16, val) | ||
904 | #define bfin_read_TWI_RCV_DATA8() bfin_read16(TWI_RCV_DATA8) | ||
905 | #define bfin_write_TWI_RCV_DATA8(val) bfin_write16(TWI_RCV_DATA8, val) | ||
906 | #define bfin_read_TWI_RCV_DATA16() bfin_read16(TWI_RCV_DATA16) | ||
907 | #define bfin_write_TWI_RCV_DATA16(val) bfin_write16(TWI_RCV_DATA16, val) | ||
908 | |||
909 | 929 | ||
910 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ | 930 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ |
911 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) | 931 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) |
diff --git a/include/asm-blackfin/mach-bf527/dma.h b/include/asm-blackfin/mach-bf527/dma.h index 2dfee12864f6..49dd693223e8 100644 --- a/include/asm-blackfin/mach-bf527/dma.h +++ b/include/asm-blackfin/mach-bf527/dma.h | |||
@@ -59,7 +59,4 @@ | |||
59 | #define CH_NFC CH_EMAC_TX /* PPI receive/transmit or NFC */ | 59 | #define CH_NFC CH_EMAC_TX /* PPI receive/transmit or NFC */ |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | extern int channel2irq(unsigned int channel); | ||
63 | extern struct dma_register *base_addr[]; | ||
64 | |||
65 | #endif | 62 | #endif |
diff --git a/include/asm-blackfin/mach-bf533/anomaly.h b/include/asm-blackfin/mach-bf533/anomaly.h index 98209d40abba..5a6dcc5fa36c 100644 --- a/include/asm-blackfin/mach-bf533/anomaly.h +++ b/include/asm-blackfin/mach-bf533/anomaly.h | |||
@@ -7,7 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
10 | * - Revision B, 12/10/2007; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List | 10 | * - Revision C, 02/08/2008; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
@@ -251,10 +251,18 @@ | |||
251 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) | 251 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) |
252 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | 252 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ |
253 | #define ANOMALY_05000357 (1) | 253 | #define ANOMALY_05000357 (1) |
254 | /* UART Break Signal Issues */ | ||
255 | #define ANOMALY_05000363 (__SILICON_REVISION__ < 5) | ||
254 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | 256 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ |
255 | #define ANOMALY_05000366 (1) | 257 | #define ANOMALY_05000366 (1) |
256 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | 258 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ |
257 | #define ANOMALY_05000371 (1) | 259 | #define ANOMALY_05000371 (1) |
260 | /* PPI Does Not Start Properly In Specific Mode */ | ||
261 | #define ANOMALY_05000400 (__SILICON_REVISION__ == 5) | ||
262 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
263 | #define ANOMALY_05000402 (__SILICON_REVISION__ == 5) | ||
264 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
265 | #define ANOMALY_05000403 (1) | ||
258 | 266 | ||
259 | /* Anomalies that don't exist on this proc */ | 267 | /* Anomalies that don't exist on this proc */ |
260 | #define ANOMALY_05000266 (0) | 268 | #define ANOMALY_05000266 (0) |
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h index b6f513bee56e..fbe88dee3e2d 100644 --- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | |||
@@ -1,22 +1,38 @@ | |||
1 | /* | ||
2 | * file: include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | ||
3 | * based on: | ||
4 | * author: | ||
5 | * | ||
6 | * created: | ||
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | ||
31 | |||
1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
4 | 35 | ||
5 | #define NR_PORTS 1 | ||
6 | |||
7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
19 | |||
20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
@@ -84,7 +100,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
84 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 100 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
85 | } | 101 | } |
86 | 102 | ||
87 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 103 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
88 | struct bfin_serial_res { | 104 | struct bfin_serial_res { |
89 | unsigned long uart_base_addr; | 105 | unsigned long uart_base_addr; |
90 | int uart_irq; | 106 | int uart_irq; |
@@ -115,7 +131,7 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
115 | 131 | ||
116 | #define DRIVER_NAME "bfin-uart" | 132 | #define DRIVER_NAME "bfin-uart" |
117 | 133 | ||
118 | int nr_ports = NR_PORTS; | 134 | int nr_ports = BFIN_UART_NR_PORTS; |
119 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 135 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
120 | { | 136 | { |
121 | 137 | ||
diff --git a/include/asm-blackfin/mach-bf533/bfin_sir.h b/include/asm-blackfin/mach-bf533/bfin_sir.h new file mode 100644 index 000000000000..cefcf8bb505b --- /dev/null +++ b/include/asm-blackfin/mach-bf533/bfin_sir.h | |||
@@ -0,0 +1,120 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
30 | |||
31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
32 | struct dma_rx_buf { | ||
33 | char *buf; | ||
34 | int head; | ||
35 | int tail; | ||
36 | }; | ||
37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
38 | |||
39 | struct bfin_sir_port { | ||
40 | unsigned char __iomem *membase; | ||
41 | unsigned int irq; | ||
42 | unsigned int lsr; | ||
43 | unsigned long clk; | ||
44 | struct net_device *dev; | ||
45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
46 | int tx_done; | ||
47 | struct dma_rx_buf rx_dma_buf; | ||
48 | struct timer_list rx_dma_timer; | ||
49 | int rx_dma_nrows; | ||
50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
51 | unsigned int tx_dma_channel; | ||
52 | unsigned int rx_dma_channel; | ||
53 | }; | ||
54 | |||
55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
56 | |||
57 | struct bfin_sir_port_res { | ||
58 | unsigned long base_addr; | ||
59 | int irq; | ||
60 | unsigned int rx_dma_channel; | ||
61 | unsigned int tx_dma_channel; | ||
62 | }; | ||
63 | |||
64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
65 | #ifdef CONFIG_BFIN_SIR0 | ||
66 | { | ||
67 | 0xFFC00400, | ||
68 | IRQ_UART_RX, | ||
69 | CH_UART_RX, | ||
70 | CH_UART_TX, | ||
71 | }, | ||
72 | #endif | ||
73 | }; | ||
74 | |||
75 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
76 | |||
77 | struct bfin_sir_self { | ||
78 | struct bfin_sir_port *sir_port; | ||
79 | spinlock_t lock; | ||
80 | unsigned int open; | ||
81 | int speed; | ||
82 | int newspeed; | ||
83 | |||
84 | struct sk_buff *txskb; | ||
85 | struct sk_buff *rxskb; | ||
86 | struct net_device_stats stats; | ||
87 | struct device *dev; | ||
88 | struct irlap_cb *irlap; | ||
89 | struct qos_info qos; | ||
90 | |||
91 | iobuff_t tx_buff; | ||
92 | iobuff_t rx_buff; | ||
93 | |||
94 | struct work_struct work; | ||
95 | int mtt; | ||
96 | }; | ||
97 | |||
98 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
99 | { | ||
100 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
101 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
102 | return lsr | port->lsr; | ||
103 | } | ||
104 | |||
105 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
106 | { | ||
107 | port->lsr = 0; | ||
108 | bfin_read16(port->membase + OFFSET_LSR); | ||
109 | } | ||
110 | |||
111 | #define DRIVER_NAME "bfin_sir" | ||
112 | |||
113 | static void bfin_sir_hw_init(void) | ||
114 | { | ||
115 | #ifdef CONFIG_BFIN_SIR0 | ||
116 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
117 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
118 | #endif | ||
119 | SSYNC(); | ||
120 | } | ||
diff --git a/include/asm-blackfin/mach-bf533/blackfin.h b/include/asm-blackfin/mach-bf533/blackfin.h index f3b240abf170..d80971b4e3aa 100644 --- a/include/asm-blackfin/mach-bf533/blackfin.h +++ b/include/asm-blackfin/mach-bf533/blackfin.h | |||
@@ -42,4 +42,19 @@ | |||
42 | #include "cdefBF532.h" | 42 | #include "cdefBF532.h" |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | #define BFIN_UART_NR_PORTS 1 | ||
46 | |||
47 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
48 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
49 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
50 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
51 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
52 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
53 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
54 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
55 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
56 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
57 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
58 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
59 | |||
45 | #endif /* _MACH_BLACKFIN_H_ */ | 60 | #endif /* _MACH_BLACKFIN_H_ */ |
diff --git a/include/asm-blackfin/mach-bf533/cdefBF532.h b/include/asm-blackfin/mach-bf533/cdefBF532.h index c803e14b529c..154655452d4c 100644 --- a/include/asm-blackfin/mach-bf533/cdefBF532.h +++ b/include/asm-blackfin/mach-bf533/cdefBF532.h | |||
@@ -43,7 +43,27 @@ | |||
43 | 43 | ||
44 | /* Clock and System Control (0xFFC0 0400-0xFFC0 07FF) */ | 44 | /* Clock and System Control (0xFFC0 0400-0xFFC0 07FF) */ |
45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
46 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
48 | { | ||
49 | unsigned long flags, iwr; | ||
50 | |||
51 | if (val == bfin_read_PLL_CTL()) | ||
52 | return; | ||
53 | |||
54 | local_irq_save(flags); | ||
55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
56 | iwr = bfin_read32(SIC_IWR); | ||
57 | /* Only allow PPL Wakeup) */ | ||
58 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | ||
59 | |||
60 | bfin_write16(PLL_CTL, val); | ||
61 | SSYNC(); | ||
62 | asm("IDLE;"); | ||
63 | |||
64 | bfin_write32(SIC_IWR, iwr); | ||
65 | local_irq_restore(flags); | ||
66 | } | ||
47 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 67 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
48 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 68 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
49 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) | 69 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) |
@@ -57,6 +77,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
57 | { | 77 | { |
58 | unsigned long flags, iwr; | 78 | unsigned long flags, iwr; |
59 | 79 | ||
80 | if (val == bfin_read_VR_CTL()) | ||
81 | return; | ||
82 | |||
83 | local_irq_save(flags); | ||
60 | /* Enable the PLL Wakeup bit in SIC IWR */ | 84 | /* Enable the PLL Wakeup bit in SIC IWR */ |
61 | iwr = bfin_read32(SIC_IWR); | 85 | iwr = bfin_read32(SIC_IWR); |
62 | /* Only allow PPL Wakeup) */ | 86 | /* Only allow PPL Wakeup) */ |
@@ -64,11 +88,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
64 | 88 | ||
65 | bfin_write16(VR_CTL, val); | 89 | bfin_write16(VR_CTL, val); |
66 | SSYNC(); | 90 | SSYNC(); |
67 | |||
68 | local_irq_save(flags); | ||
69 | asm("IDLE;"); | 91 | asm("IDLE;"); |
70 | local_irq_restore(flags); | 92 | |
71 | bfin_write32(SIC_IWR, iwr); | 93 | bfin_write32(SIC_IWR, iwr); |
94 | local_irq_restore(flags); | ||
72 | } | 95 | } |
73 | 96 | ||
74 | /* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */ | 97 | /* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */ |
diff --git a/include/asm-blackfin/mach-bf533/defBF532.h b/include/asm-blackfin/mach-bf533/defBF532.h index 37134aaf9954..17e1548cec08 100644 --- a/include/asm-blackfin/mach-bf533/defBF532.h +++ b/include/asm-blackfin/mach-bf533/defBF532.h | |||
@@ -88,20 +88,25 @@ | |||
88 | #define RTC_PREN 0xFFC00314 /* RTC Prescaler Enable Register (alternate macro) */ | 88 | #define RTC_PREN 0xFFC00314 /* RTC Prescaler Enable Register (alternate macro) */ |
89 | 89 | ||
90 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ | 90 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ |
91 | #define UART_THR 0xFFC00400 /* Transmit Holding register */ | 91 | |
92 | #define UART_RBR 0xFFC00400 /* Receive Buffer register */ | 92 | /* |
93 | #define UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ | 93 | * Because include/linux/serial_reg.h have defined UART_*, |
94 | #define UART_IER 0xFFC00404 /* Interrupt Enable Register */ | 94 | * So we define blackfin uart regs to BFIN_UART_*. |
95 | #define UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | 95 | */ |
96 | #define UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | 96 | #define BFIN_UART_THR 0xFFC00400 /* Transmit Holding register */ |
97 | #define UART_LCR 0xFFC0040C /* Line Control Register */ | 97 | #define BFIN_UART_RBR 0xFFC00400 /* Receive Buffer register */ |
98 | #define UART_MCR 0xFFC00410 /* Modem Control Register */ | 98 | #define BFIN_UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ |
99 | #define UART_LSR 0xFFC00414 /* Line Status Register */ | 99 | #define BFIN_UART_IER 0xFFC00404 /* Interrupt Enable Register */ |
100 | #define BFIN_UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | ||
101 | #define BFIN_UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | ||
102 | #define BFIN_UART_LCR 0xFFC0040C /* Line Control Register */ | ||
103 | #define BFIN_UART_MCR 0xFFC00410 /* Modem Control Register */ | ||
104 | #define BFIN_UART_LSR 0xFFC00414 /* Line Status Register */ | ||
100 | #if 0 | 105 | #if 0 |
101 | #define UART_MSR 0xFFC00418 /* Modem Status Register (UNUSED in ADSP-BF532) */ | 106 | #define BFIN_UART_MSR 0xFFC00418 /* Modem Status Register (UNUSED in ADSP-BF532) */ |
102 | #endif | 107 | #endif |
103 | #define UART_SCR 0xFFC0041C /* SCR Scratch Register */ | 108 | #define BFIN_UART_SCR 0xFFC0041C /* SCR Scratch Register */ |
104 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 109 | #define BFIN_UART_GCTL 0xFFC00424 /* Global Control Register */ |
105 | 110 | ||
106 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 111 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
107 | #define SPI0_REGBASE 0xFFC00500 | 112 | #define SPI0_REGBASE 0xFFC00500 |
diff --git a/include/asm-blackfin/mach-bf533/dma.h b/include/asm-blackfin/mach-bf533/dma.h index 16c672c01d80..bd9d5e94307d 100644 --- a/include/asm-blackfin/mach-bf533/dma.h +++ b/include/asm-blackfin/mach-bf533/dma.h | |||
@@ -51,7 +51,4 @@ | |||
51 | #define CH_MEM_STREAM1_DEST 10 /* TX */ | 51 | #define CH_MEM_STREAM1_DEST 10 /* TX */ |
52 | #define CH_MEM_STREAM1_SRC 11 /* RX */ | 52 | #define CH_MEM_STREAM1_SRC 11 /* RX */ |
53 | 53 | ||
54 | extern int channel2irq(unsigned int channel); | ||
55 | extern struct dma_register *base_addr[]; | ||
56 | |||
57 | #endif | 54 | #endif |
diff --git a/include/asm-blackfin/mach-bf533/mem_init.h b/include/asm-blackfin/mach-bf533/mem_init.h index 1620dae5254d..f8f31901fca9 100644 --- a/include/asm-blackfin/mach-bf533/mem_init.h +++ b/include/asm-blackfin/mach-bf533/mem_init.h | |||
@@ -29,7 +29,8 @@ | |||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
30 | */ | 30 | */ |
31 | 31 | ||
32 | #if (CONFIG_MEM_MT48LC16M16A2TG_75 || CONFIG_MEM_MT48LC64M4A2FB_7E || CONFIG_MEM_GENERIC_BOARD) | 32 | #if (CONFIG_MEM_MT48LC16M16A2TG_75 || CONFIG_MEM_MT48LC64M4A2FB_7E || \ |
33 | CONFIG_MEM_MT48LC32M16A2TG_75 || CONFIG_MEM_GENERIC_BOARD) | ||
33 | #if (CONFIG_SCLK_HZ > 119402985) | 34 | #if (CONFIG_SCLK_HZ > 119402985) |
34 | #define SDRAM_tRP TRP_2 | 35 | #define SDRAM_tRP TRP_2 |
35 | #define SDRAM_tRP_num 2 | 36 | #define SDRAM_tRP_num 2 |
@@ -118,6 +119,13 @@ | |||
118 | #define SDRAM_CL CL_3 | 119 | #define SDRAM_CL CL_3 |
119 | #endif | 120 | #endif |
120 | 121 | ||
122 | #if (CONFIG_MEM_MT48LC32M16A2TG_75) | ||
123 | /*SDRAM INFORMATION: */ | ||
124 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
125 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
126 | #define SDRAM_CL CL_3 | ||
127 | #endif | ||
128 | |||
121 | #if (CONFIG_MEM_GENERIC_BOARD) | 129 | #if (CONFIG_MEM_GENERIC_BOARD) |
122 | /*SDRAM INFORMATION: Modify this for your board */ | 130 | /*SDRAM INFORMATION: Modify this for your board */ |
123 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | 131 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ |
diff --git a/include/asm-blackfin/mach-bf537/anomaly.h b/include/asm-blackfin/mach-bf537/anomaly.h index 746a794b3119..a6b08facb242 100644 --- a/include/asm-blackfin/mach-bf537/anomaly.h +++ b/include/asm-blackfin/mach-bf537/anomaly.h | |||
@@ -7,7 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
10 | * - Revision A, 09/04/2007; ADSP-BF534/ADSP-BF536/ADSP-BF537 Blackfin Processor Anomaly List | 10 | * - Revision C, 02/08/2008; ADSP-BF534/ADSP-BF536/ADSP-BF537 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
@@ -132,10 +132,24 @@ | |||
132 | #define ANOMALY_05000322 (1) | 132 | #define ANOMALY_05000322 (1) |
133 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ | 133 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ |
134 | #define ANOMALY_05000341 (__SILICON_REVISION__ >= 3) | 134 | #define ANOMALY_05000341 (__SILICON_REVISION__ >= 3) |
135 | /* New Feature: UART Remains Enabled after UART Boot (Not Available on Older Silicon) */ | ||
136 | #define ANOMALY_05000350 (__SILICON_REVISION__ < 3) | ||
137 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ | ||
138 | #define ANOMALY_05000355 (1) | ||
135 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | 139 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ |
136 | #define ANOMALY_05000357 (1) | 140 | #define ANOMALY_05000357 (1) |
137 | /* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */ | 141 | /* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */ |
138 | #define ANOMALY_05000359 (1) | 142 | #define ANOMALY_05000359 (1) |
143 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | ||
144 | #define ANOMALY_05000366 (1) | ||
145 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | ||
146 | #define ANOMALY_05000371 (1) | ||
147 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
148 | #define ANOMALY_05000402 (__SILICON_REVISION__ >= 3) | ||
149 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
150 | #define ANOMALY_05000403 (1) | ||
151 | |||
152 | |||
139 | 153 | ||
140 | /* Anomalies that don't exist on this proc */ | 154 | /* Anomalies that don't exist on this proc */ |
141 | #define ANOMALY_05000125 (0) | 155 | #define ANOMALY_05000125 (0) |
@@ -146,5 +160,6 @@ | |||
146 | #define ANOMALY_05000266 (0) | 160 | #define ANOMALY_05000266 (0) |
147 | #define ANOMALY_05000311 (0) | 161 | #define ANOMALY_05000311 (0) |
148 | #define ANOMALY_05000323 (0) | 162 | #define ANOMALY_05000323 (0) |
163 | #define ANOMALY_05000363 (0) | ||
149 | 164 | ||
150 | #endif | 165 | #endif |
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h index 8fc672d31057..fd100a415b98 100644 --- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | |||
@@ -1,22 +1,38 @@ | |||
1 | /* | ||
2 | * file: include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | ||
3 | * based on: | ||
4 | * author: | ||
5 | * | ||
6 | * created: | ||
7 | * description: | ||
8 | * blackfin serial driver header files | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | ||
31 | |||
1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
4 | 35 | ||
5 | #define NR_PORTS 2 | ||
6 | |||
7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
19 | |||
20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
@@ -92,7 +108,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
92 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 108 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
93 | } | 109 | } |
94 | 110 | ||
95 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 111 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
96 | struct bfin_serial_res { | 112 | struct bfin_serial_res { |
97 | unsigned long uart_base_addr; | 113 | unsigned long uart_base_addr; |
98 | int uart_irq; | 114 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf537/bfin_sir.h b/include/asm-blackfin/mach-bf537/bfin_sir.h new file mode 100644 index 000000000000..0612d0c9501c --- /dev/null +++ b/include/asm-blackfin/mach-bf537/bfin_sir.h | |||
@@ -0,0 +1,133 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
30 | |||
31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
32 | struct dma_rx_buf { | ||
33 | char *buf; | ||
34 | int head; | ||
35 | int tail; | ||
36 | }; | ||
37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
38 | |||
39 | struct bfin_sir_port { | ||
40 | unsigned char __iomem *membase; | ||
41 | unsigned int irq; | ||
42 | unsigned int lsr; | ||
43 | unsigned long clk; | ||
44 | struct net_device *dev; | ||
45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
46 | int tx_done; | ||
47 | struct dma_rx_buf rx_dma_buf; | ||
48 | struct timer_list rx_dma_timer; | ||
49 | int rx_dma_nrows; | ||
50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
51 | unsigned int tx_dma_channel; | ||
52 | unsigned int rx_dma_channel; | ||
53 | }; | ||
54 | |||
55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
56 | |||
57 | struct bfin_sir_port_res { | ||
58 | unsigned long base_addr; | ||
59 | int irq; | ||
60 | unsigned int rx_dma_channel; | ||
61 | unsigned int tx_dma_channel; | ||
62 | }; | ||
63 | |||
64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
65 | #ifdef CONFIG_BFIN_SIR0 | ||
66 | { | ||
67 | 0xFFC00400, | ||
68 | IRQ_UART0_RX, | ||
69 | CH_UART0_RX, | ||
70 | CH_UART0_TX, | ||
71 | }, | ||
72 | #endif | ||
73 | #ifdef CONFIG_BFIN_SIR1 | ||
74 | { | ||
75 | 0xFFC02000, | ||
76 | IRQ_UART1_RX, | ||
77 | CH_UART1_RX, | ||
78 | CH_UART1_TX, | ||
79 | }, | ||
80 | #endif | ||
81 | }; | ||
82 | |||
83 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
84 | |||
85 | struct bfin_sir_self { | ||
86 | struct bfin_sir_port *sir_port; | ||
87 | spinlock_t lock; | ||
88 | unsigned int open; | ||
89 | int speed; | ||
90 | int newspeed; | ||
91 | |||
92 | struct sk_buff *txskb; | ||
93 | struct sk_buff *rxskb; | ||
94 | struct net_device_stats stats; | ||
95 | struct device *dev; | ||
96 | struct irlap_cb *irlap; | ||
97 | struct qos_info qos; | ||
98 | |||
99 | iobuff_t tx_buff; | ||
100 | iobuff_t rx_buff; | ||
101 | |||
102 | struct work_struct work; | ||
103 | int mtt; | ||
104 | }; | ||
105 | |||
106 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
107 | { | ||
108 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
109 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
110 | return lsr | port->lsr; | ||
111 | } | ||
112 | |||
113 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
114 | { | ||
115 | port->lsr = 0; | ||
116 | bfin_read16(port->membase + OFFSET_LSR); | ||
117 | } | ||
118 | |||
119 | #define DRIVER_NAME "bfin_sir" | ||
120 | |||
121 | static void bfin_sir_hw_init(void) | ||
122 | { | ||
123 | #ifdef CONFIG_BFIN_SIR0 | ||
124 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
125 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
126 | #endif | ||
127 | |||
128 | #ifdef CONFIG_BFIN_SIR1 | ||
129 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
130 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
131 | #endif | ||
132 | SSYNC(); | ||
133 | } | ||
diff --git a/include/asm-blackfin/mach-bf537/blackfin.h b/include/asm-blackfin/mach-bf537/blackfin.h index 53fcfa3408d0..cffc786b2a2b 100644 --- a/include/asm-blackfin/mach-bf537/blackfin.h +++ b/include/asm-blackfin/mach-bf537/blackfin.h | |||
@@ -82,8 +82,6 @@ | |||
82 | #define STATUS_P1 0x02 | 82 | #define STATUS_P1 0x02 |
83 | #define STATUS_P0 0x01 | 83 | #define STATUS_P0 0x01 |
84 | 84 | ||
85 | /* UART 0*/ | ||
86 | |||
87 | /* DMA Channnel */ | 85 | /* DMA Channnel */ |
88 | #define bfin_read_CH_UART_RX() bfin_read_CH_UART0_RX() | 86 | #define bfin_read_CH_UART_RX() bfin_read_CH_UART0_RX() |
89 | #define bfin_write_CH_UART_RX(val) bfin_write_CH_UART0_RX(val) | 87 | #define bfin_write_CH_UART_RX(val) bfin_write_CH_UART0_RX(val) |
@@ -106,37 +104,52 @@ | |||
106 | /* MMR Registers*/ | 104 | /* MMR Registers*/ |
107 | #define bfin_read_UART_THR() bfin_read_UART0_THR() | 105 | #define bfin_read_UART_THR() bfin_read_UART0_THR() |
108 | #define bfin_write_UART_THR(val) bfin_write_UART0_THR(val) | 106 | #define bfin_write_UART_THR(val) bfin_write_UART0_THR(val) |
109 | #define UART_THR UART0_THR | 107 | #define BFIN_UART_THR UART0_THR |
110 | #define bfin_read_UART_RBR() bfin_read_UART0_RBR() | 108 | #define bfin_read_UART_RBR() bfin_read_UART0_RBR() |
111 | #define bfin_write_UART_RBR(val) bfin_write_UART0_RBR(val) | 109 | #define bfin_write_UART_RBR(val) bfin_write_UART0_RBR(val) |
112 | #define UART_RBR UART0_RBR | 110 | #define BFIN_UART_RBR UART0_RBR |
113 | #define bfin_read_UART_DLL() bfin_read_UART0_DLL() | 111 | #define bfin_read_UART_DLL() bfin_read_UART0_DLL() |
114 | #define bfin_write_UART_DLL(val) bfin_write_UART0_DLL(val) | 112 | #define bfin_write_UART_DLL(val) bfin_write_UART0_DLL(val) |
115 | #define UART_DLL UART0_DLL | 113 | #define BFIN_UART_DLL UART0_DLL |
116 | #define bfin_read_UART_IER() bfin_read_UART0_IER() | 114 | #define bfin_read_UART_IER() bfin_read_UART0_IER() |
117 | #define bfin_write_UART_IER(val) bfin_write_UART0_IER(val) | 115 | #define bfin_write_UART_IER(val) bfin_write_UART0_IER(val) |
118 | #define UART_IER UART0_IER | 116 | #define BFIN_UART_IER UART0_IER |
119 | #define bfin_read_UART_DLH() bfin_read_UART0_DLH() | 117 | #define bfin_read_UART_DLH() bfin_read_UART0_DLH() |
120 | #define bfin_write_UART_DLH(val) bfin_write_UART0_DLH(val) | 118 | #define bfin_write_UART_DLH(val) bfin_write_UART0_DLH(val) |
121 | #define UART_DLH UART0_DLH | 119 | #define BFIN_UART_DLH UART0_DLH |
122 | #define bfin_read_UART_IIR() bfin_read_UART0_IIR() | 120 | #define bfin_read_UART_IIR() bfin_read_UART0_IIR() |
123 | #define bfin_write_UART_IIR(val) bfin_write_UART0_IIR(val) | 121 | #define bfin_write_UART_IIR(val) bfin_write_UART0_IIR(val) |
124 | #define UART_IIR UART0_IIR | 122 | #define BFIN_UART_IIR UART0_IIR |
125 | #define bfin_read_UART_LCR() bfin_read_UART0_LCR() | 123 | #define bfin_read_UART_LCR() bfin_read_UART0_LCR() |
126 | #define bfin_write_UART_LCR(val) bfin_write_UART0_LCR(val) | 124 | #define bfin_write_UART_LCR(val) bfin_write_UART0_LCR(val) |
127 | #define UART_LCR UART0_LCR | 125 | #define BFIN_UART_LCR UART0_LCR |
128 | #define bfin_read_UART_MCR() bfin_read_UART0_MCR() | 126 | #define bfin_read_UART_MCR() bfin_read_UART0_MCR() |
129 | #define bfin_write_UART_MCR(val) bfin_write_UART0_MCR(val) | 127 | #define bfin_write_UART_MCR(val) bfin_write_UART0_MCR(val) |
130 | #define UART_MCR UART0_MCR | 128 | #define BFIN_UART_MCR UART0_MCR |
131 | #define bfin_read_UART_LSR() bfin_read_UART0_LSR() | 129 | #define bfin_read_UART_LSR() bfin_read_UART0_LSR() |
132 | #define bfin_write_UART_LSR(val) bfin_write_UART0_LSR(val) | 130 | #define bfin_write_UART_LSR(val) bfin_write_UART0_LSR(val) |
133 | #define UART_LSR UART0_LSR | 131 | #define BFIN_UART_LSR UART0_LSR |
134 | #define bfin_read_UART_SCR() bfin_read_UART0_SCR() | 132 | #define bfin_read_UART_SCR() bfin_read_UART0_SCR() |
135 | #define bfin_write_UART_SCR(val) bfin_write_UART0_SCR(val) | 133 | #define bfin_write_UART_SCR(val) bfin_write_UART0_SCR(val) |
136 | #define UART_SCR UART0_SCR | 134 | #define BFIN_UART_SCR UART0_SCR |
137 | #define bfin_read_UART_GCTL() bfin_read_UART0_GCTL() | 135 | #define bfin_read_UART_GCTL() bfin_read_UART0_GCTL() |
138 | #define bfin_write_UART_GCTL(val) bfin_write_UART0_GCTL(val) | 136 | #define bfin_write_UART_GCTL(val) bfin_write_UART0_GCTL(val) |
139 | #define UART_GCTL UART0_GCTL | 137 | #define BFIN_UART_GCTL UART0_GCTL |
138 | |||
139 | #define BFIN_UART_NR_PORTS 2 | ||
140 | |||
141 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
142 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
143 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
144 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
145 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
146 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
147 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
148 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
149 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
150 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
151 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
152 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
140 | 153 | ||
141 | /* DPMC*/ | 154 | /* DPMC*/ |
142 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() | 155 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() |
diff --git a/include/asm-blackfin/mach-bf537/cdefBF534.h b/include/asm-blackfin/mach-bf537/cdefBF534.h index 78227bc855df..82de526f8097 100644 --- a/include/asm-blackfin/mach-bf537/cdefBF534.h +++ b/include/asm-blackfin/mach-bf537/cdefBF534.h | |||
@@ -44,7 +44,27 @@ | |||
44 | 44 | ||
45 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 45 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
46 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 46 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
47 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 47 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
48 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
49 | { | ||
50 | unsigned long flags, iwr; | ||
51 | |||
52 | if (val == bfin_read_PLL_CTL()) | ||
53 | return; | ||
54 | |||
55 | local_irq_save(flags); | ||
56 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
57 | iwr = bfin_read32(SIC_IWR); | ||
58 | /* Only allow PPL Wakeup) */ | ||
59 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | ||
60 | |||
61 | bfin_write16(PLL_CTL, val); | ||
62 | SSYNC(); | ||
63 | asm("IDLE;"); | ||
64 | |||
65 | bfin_write32(SIC_IWR, iwr); | ||
66 | local_irq_restore(flags); | ||
67 | } | ||
48 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 68 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
49 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) | 69 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) |
50 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 70 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
@@ -53,6 +73,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
53 | { | 73 | { |
54 | unsigned long flags, iwr; | 74 | unsigned long flags, iwr; |
55 | 75 | ||
76 | if (val == bfin_read_VR_CTL()) | ||
77 | return; | ||
78 | |||
79 | local_irq_save(flags); | ||
56 | /* Enable the PLL Wakeup bit in SIC IWR */ | 80 | /* Enable the PLL Wakeup bit in SIC IWR */ |
57 | iwr = bfin_read32(SIC_IWR); | 81 | iwr = bfin_read32(SIC_IWR); |
58 | /* Only allow PPL Wakeup) */ | 82 | /* Only allow PPL Wakeup) */ |
@@ -60,11 +84,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
60 | 84 | ||
61 | bfin_write16(VR_CTL, val); | 85 | bfin_write16(VR_CTL, val); |
62 | SSYNC(); | 86 | SSYNC(); |
63 | |||
64 | local_irq_save(flags); | ||
65 | asm("IDLE;"); | 87 | asm("IDLE;"); |
66 | local_irq_restore(flags); | 88 | |
67 | bfin_write32(SIC_IWR, iwr); | 89 | bfin_write32(SIC_IWR, iwr); |
90 | local_irq_restore(flags); | ||
68 | } | 91 | } |
69 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 92 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
70 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 93 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
@@ -858,39 +881,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
858 | #define bfin_read_PPI_FRAME() bfin_read16(PPI_FRAME) | 881 | #define bfin_read_PPI_FRAME() bfin_read16(PPI_FRAME) |
859 | #define bfin_write_PPI_FRAME(val) bfin_write16(PPI_FRAME,val) | 882 | #define bfin_write_PPI_FRAME(val) bfin_write16(PPI_FRAME,val) |
860 | 883 | ||
861 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 884 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
862 | #define bfin_read_TWI_CLKDIV() bfin_read16(TWI_CLKDIV) | ||
863 | #define bfin_write_TWI_CLKDIV(val) bfin_write16(TWI_CLKDIV,val) | ||
864 | #define bfin_read_TWI_CONTROL() bfin_read16(TWI_CONTROL) | ||
865 | #define bfin_write_TWI_CONTROL(val) bfin_write16(TWI_CONTROL,val) | ||
866 | #define bfin_read_TWI_SLAVE_CTL() bfin_read16(TWI_SLAVE_CTL) | ||
867 | #define bfin_write_TWI_SLAVE_CTL(val) bfin_write16(TWI_SLAVE_CTL,val) | ||
868 | #define bfin_read_TWI_SLAVE_STAT() bfin_read16(TWI_SLAVE_STAT) | ||
869 | #define bfin_write_TWI_SLAVE_STAT(val) bfin_write16(TWI_SLAVE_STAT,val) | ||
870 | #define bfin_read_TWI_SLAVE_ADDR() bfin_read16(TWI_SLAVE_ADDR) | ||
871 | #define bfin_write_TWI_SLAVE_ADDR(val) bfin_write16(TWI_SLAVE_ADDR,val) | ||
872 | #define bfin_read_TWI_MASTER_CTL() bfin_read16(TWI_MASTER_CTL) | ||
873 | #define bfin_write_TWI_MASTER_CTL(val) bfin_write16(TWI_MASTER_CTL,val) | ||
874 | #define bfin_read_TWI_MASTER_STAT() bfin_read16(TWI_MASTER_STAT) | ||
875 | #define bfin_write_TWI_MASTER_STAT(val) bfin_write16(TWI_MASTER_STAT,val) | ||
876 | #define bfin_read_TWI_MASTER_ADDR() bfin_read16(TWI_MASTER_ADDR) | ||
877 | #define bfin_write_TWI_MASTER_ADDR(val) bfin_write16(TWI_MASTER_ADDR,val) | ||
878 | #define bfin_read_TWI_INT_STAT() bfin_read16(TWI_INT_STAT) | ||
879 | #define bfin_write_TWI_INT_STAT(val) bfin_write16(TWI_INT_STAT,val) | ||
880 | #define bfin_read_TWI_INT_MASK() bfin_read16(TWI_INT_MASK) | ||
881 | #define bfin_write_TWI_INT_MASK(val) bfin_write16(TWI_INT_MASK,val) | ||
882 | #define bfin_read_TWI_FIFO_CTL() bfin_read16(TWI_FIFO_CTL) | ||
883 | #define bfin_write_TWI_FIFO_CTL(val) bfin_write16(TWI_FIFO_CTL,val) | ||
884 | #define bfin_read_TWI_FIFO_STAT() bfin_read16(TWI_FIFO_STAT) | ||
885 | #define bfin_write_TWI_FIFO_STAT(val) bfin_write16(TWI_FIFO_STAT,val) | ||
886 | #define bfin_read_TWI_XMT_DATA8() bfin_read16(TWI_XMT_DATA8) | ||
887 | #define bfin_write_TWI_XMT_DATA8(val) bfin_write16(TWI_XMT_DATA8,val) | ||
888 | #define bfin_read_TWI_XMT_DATA16() bfin_read16(TWI_XMT_DATA16) | ||
889 | #define bfin_write_TWI_XMT_DATA16(val) bfin_write16(TWI_XMT_DATA16,val) | ||
890 | #define bfin_read_TWI_RCV_DATA8() bfin_read16(TWI_RCV_DATA8) | ||
891 | #define bfin_write_TWI_RCV_DATA8(val) bfin_write16(TWI_RCV_DATA8,val) | ||
892 | #define bfin_read_TWI_RCV_DATA16() bfin_read16(TWI_RCV_DATA16) | ||
893 | #define bfin_write_TWI_RCV_DATA16(val) bfin_write16(TWI_RCV_DATA16,val) | ||
894 | 885 | ||
895 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ | 886 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ |
896 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) | 887 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) |
diff --git a/include/asm-blackfin/mach-bf537/dma.h b/include/asm-blackfin/mach-bf537/dma.h index 021991984e6e..7a964040870a 100644 --- a/include/asm-blackfin/mach-bf537/dma.h +++ b/include/asm-blackfin/mach-bf537/dma.h | |||
@@ -52,7 +52,4 @@ | |||
52 | #define CH_MEM_STREAM1_DEST 14 /* TX */ | 52 | #define CH_MEM_STREAM1_DEST 14 /* TX */ |
53 | #define CH_MEM_STREAM1_SRC 15 /* RX */ | 53 | #define CH_MEM_STREAM1_SRC 15 /* RX */ |
54 | 54 | ||
55 | extern int channel2irq(unsigned int channel); | ||
56 | extern struct dma_register *base_addr[]; | ||
57 | |||
58 | #endif | 55 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/anomaly.h b/include/asm-blackfin/mach-bf548/anomaly.h index 850dc12eb7f2..49d3cebc5293 100644 --- a/include/asm-blackfin/mach-bf548/anomaly.h +++ b/include/asm-blackfin/mach-bf548/anomaly.h | |||
@@ -93,5 +93,6 @@ | |||
93 | #define ANOMALY_05000273 (0) | 93 | #define ANOMALY_05000273 (0) |
94 | #define ANOMALY_05000311 (0) | 94 | #define ANOMALY_05000311 (0) |
95 | #define ANOMALY_05000323 (0) | 95 | #define ANOMALY_05000323 (0) |
96 | #define ANOMALY_05000363 (0) | ||
96 | 97 | ||
97 | #endif | 98 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h index 7e6339f62a50..6547027cd3e6 100644 --- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | |||
@@ -1,22 +1,38 @@ | |||
1 | /* | ||
2 | * file: include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | ||
3 | * based on: | ||
4 | * author: | ||
5 | * | ||
6 | * created: | ||
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | ||
31 | |||
1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
4 | 35 | ||
5 | #define NR_PORTS 4 | ||
6 | |||
7 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
8 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
9 | #define OFFSET_GCTL 0x08 /* Global Control Register */ | ||
10 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
11 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
12 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
13 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
14 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
15 | #define OFFSET_IER_SET 0x20 /* Set Interrupt Enable Register */ | ||
16 | #define OFFSET_IER_CLEAR 0x24 /* Clear Interrupt Enable Register */ | ||
17 | #define OFFSET_THR 0x28 /* Transmit Holding register */ | ||
18 | #define OFFSET_RBR 0x2C /* Receive Buffer register */ | ||
19 | |||
20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
22 | #define UART_GET_DLH(uart) bfin_read16(((uart)->port.membase + OFFSET_DLH)) | 38 | #define UART_GET_DLH(uart) bfin_read16(((uart)->port.membase + OFFSET_DLH)) |
@@ -80,7 +96,7 @@ struct bfin_serial_port { | |||
80 | #endif | 96 | #endif |
81 | }; | 97 | }; |
82 | 98 | ||
83 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 99 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
84 | struct bfin_serial_res { | 100 | struct bfin_serial_res { |
85 | unsigned long uart_base_addr; | 101 | unsigned long uart_base_addr; |
86 | int uart_irq; | 102 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf548/bfin_sir.h b/include/asm-blackfin/mach-bf548/bfin_sir.h new file mode 100644 index 000000000000..5e94271c7e3b --- /dev/null +++ b/include/asm-blackfin/mach-bf548/bfin_sir.h | |||
@@ -0,0 +1,149 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER_SET) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
21 | #define SIR_UART_GET_LSR(port) bfin_read16((port)->membase + OFFSET_LSR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_SET_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER_SET), v) | ||
27 | #define SIR_UART_CLEAR_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER_CLEAR), v) | ||
28 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
29 | #define SIR_UART_PUT_LSR(port, v) bfin_write16(((port)->membase + OFFSET_LSR), v) | ||
30 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
31 | #define SIR_UART_CLEAR_LSR(port) bfin_write16(((port)->membase + OFFSET_LSR), -1) | ||
32 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
33 | |||
34 | #ifdef CONFIG_SIR_BFIN_DMA | ||
35 | struct dma_rx_buf { | ||
36 | char *buf; | ||
37 | int head; | ||
38 | int tail; | ||
39 | }; | ||
40 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
41 | |||
42 | struct bfin_sir_port { | ||
43 | unsigned char __iomem *membase; | ||
44 | unsigned int irq; | ||
45 | unsigned int lsr; | ||
46 | unsigned long clk; | ||
47 | struct net_device *dev; | ||
48 | #ifdef CONFIG_SIR_BFIN_DMA | ||
49 | int tx_done; | ||
50 | struct dma_rx_buf rx_dma_buf; | ||
51 | struct timer_list rx_dma_timer; | ||
52 | int rx_dma_nrows; | ||
53 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
54 | unsigned int tx_dma_channel; | ||
55 | unsigned int rx_dma_channel; | ||
56 | }; | ||
57 | |||
58 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
59 | |||
60 | struct bfin_sir_port_res { | ||
61 | unsigned long base_addr; | ||
62 | int irq; | ||
63 | unsigned int rx_dma_channel; | ||
64 | unsigned int tx_dma_channel; | ||
65 | }; | ||
66 | |||
67 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
68 | #ifdef CONFIG_BFIN_SIR0 | ||
69 | { | ||
70 | 0xFFC00400, | ||
71 | IRQ_UART0_RX, | ||
72 | CH_UART0_RX, | ||
73 | CH_UART0_TX, | ||
74 | }, | ||
75 | #endif | ||
76 | #ifdef CONFIG_BFIN_SIR1 | ||
77 | { | ||
78 | 0xFFC02000, | ||
79 | IRQ_UART1_RX, | ||
80 | CH_UART1_RX, | ||
81 | CH_UART1_TX, | ||
82 | }, | ||
83 | #endif | ||
84 | #ifdef CONFIG_BFIN_SIR2 | ||
85 | { | ||
86 | 0xFFC02100, | ||
87 | IRQ_UART2_RX, | ||
88 | CH_UART2_RX, | ||
89 | CH_UART2_TX, | ||
90 | }, | ||
91 | #endif | ||
92 | #ifdef CONFIG_BFIN_SIR3 | ||
93 | { | ||
94 | 0xFFC03100, | ||
95 | IRQ_UART3_RX, | ||
96 | CH_UART3_RX, | ||
97 | CH_UART3_TX, | ||
98 | }, | ||
99 | #endif | ||
100 | }; | ||
101 | |||
102 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
103 | |||
104 | struct bfin_sir_self { | ||
105 | struct bfin_sir_port *sir_port; | ||
106 | spinlock_t lock; | ||
107 | unsigned int open; | ||
108 | int speed; | ||
109 | int newspeed; | ||
110 | |||
111 | struct sk_buff *txskb; | ||
112 | struct sk_buff *rxskb; | ||
113 | struct net_device_stats stats; | ||
114 | struct device *dev; | ||
115 | struct irlap_cb *irlap; | ||
116 | struct qos_info qos; | ||
117 | |||
118 | iobuff_t tx_buff; | ||
119 | iobuff_t rx_buff; | ||
120 | |||
121 | struct work_struct work; | ||
122 | int mtt; | ||
123 | }; | ||
124 | |||
125 | #define DRIVER_NAME "bfin_sir" | ||
126 | |||
127 | static void bfin_sir_hw_init(void) | ||
128 | { | ||
129 | #ifdef CONFIG_BFIN_SIR0 | ||
130 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
131 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
132 | #endif | ||
133 | |||
134 | #ifdef CONFIG_BFIN_SIR1 | ||
135 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
136 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
137 | #endif | ||
138 | |||
139 | #ifdef CONFIG_BFIN_SIR2 | ||
140 | peripheral_request(P_UART2_TX, DRIVER_NAME); | ||
141 | peripheral_request(P_UART2_RX, DRIVER_NAME); | ||
142 | #endif | ||
143 | |||
144 | #ifdef CONFIG_BFIN_SIR3 | ||
145 | peripheral_request(P_UART3_TX, DRIVER_NAME); | ||
146 | peripheral_request(P_UART3_RX, DRIVER_NAME); | ||
147 | #endif | ||
148 | SSYNC(); | ||
149 | } | ||
diff --git a/include/asm-blackfin/mach-bf548/blackfin.h b/include/asm-blackfin/mach-bf548/blackfin.h index 3bd67da86053..d6ee74ac0460 100644 --- a/include/asm-blackfin/mach-bf548/blackfin.h +++ b/include/asm-blackfin/mach-bf548/blackfin.h | |||
@@ -153,17 +153,33 @@ | |||
153 | #define bfin_write_UART_SCR(val) bfin_write_UART1_SCR(val) | 153 | #define bfin_write_UART_SCR(val) bfin_write_UART1_SCR(val) |
154 | #define bfin_read_UART_GCTL() bfin_read_UART1_GCTL() | 154 | #define bfin_read_UART_GCTL() bfin_read_UART1_GCTL() |
155 | #define bfin_write_UART_GCTL(val) bfin_write_UART1_GCTL(val) | 155 | #define bfin_write_UART_GCTL(val) bfin_write_UART1_GCTL(val) |
156 | #define UART_THR UART1_THR | 156 | |
157 | #define UART_RBR UART1_RBR | 157 | #define BFIN_UART_THR UART1_THR |
158 | #define UART_DLL UART1_DLL | 158 | #define BFIN_UART_RBR UART1_RBR |
159 | #define UART_IER UART1_IER | 159 | #define BFIN_UART_DLL UART1_DLL |
160 | #define UART_DLH UART1_DLH | 160 | #define BFIN_UART_IER UART1_IER |
161 | #define UART_IIR UART1_IIR | 161 | #define BFIN_UART_DLH UART1_DLH |
162 | #define UART_LCR UART1_LCR | 162 | #define BFIN_UART_IIR UART1_IIR |
163 | #define UART_MCR UART1_MCR | 163 | #define BFIN_UART_LCR UART1_LCR |
164 | #define UART_LSR UART1_LSR | 164 | #define BFIN_UART_MCR UART1_MCR |
165 | #define UART_SCR UART1_SCR | 165 | #define BFIN_UART_LSR UART1_LSR |
166 | #define UART_GCTL UART1_GCTL | 166 | #define BFIN_UART_SCR UART1_SCR |
167 | #define BFIN_UART_GCTL UART1_GCTL | ||
168 | |||
169 | #define BFIN_UART_NR_PORTS 4 | ||
170 | |||
171 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
172 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
173 | #define OFFSET_GCTL 0x08 /* Global Control Register */ | ||
174 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
175 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
176 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
177 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
178 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
179 | #define OFFSET_IER_SET 0x20 /* Set Interrupt Enable Register */ | ||
180 | #define OFFSET_IER_CLEAR 0x24 /* Clear Interrupt Enable Register */ | ||
181 | #define OFFSET_THR 0x28 /* Transmit Holding register */ | ||
182 | #define OFFSET_RBR 0x2C /* Receive Buffer register */ | ||
167 | 183 | ||
168 | /* PLL_DIV Masks */ | 184 | /* PLL_DIV Masks */ |
169 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ | 185 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF542.h b/include/asm-blackfin/mach-bf548/cdefBF542.h index 308b33ab5311..60b9f77576f1 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF542.h +++ b/include/asm-blackfin/mach-bf548/cdefBF542.h | |||
@@ -123,12 +123,12 @@ | |||
123 | #define bfin_write_SDH_DATA_LGTH(val) bfin_write16(SDH_DATA_LGTH, val) | 123 | #define bfin_write_SDH_DATA_LGTH(val) bfin_write16(SDH_DATA_LGTH, val) |
124 | #define bfin_read_SDH_DATA_CTL() bfin_read16(SDH_DATA_CTL) | 124 | #define bfin_read_SDH_DATA_CTL() bfin_read16(SDH_DATA_CTL) |
125 | #define bfin_write_SDH_DATA_CTL(val) bfin_write16(SDH_DATA_CTL, val) | 125 | #define bfin_write_SDH_DATA_CTL(val) bfin_write16(SDH_DATA_CTL, val) |
126 | #define bfin_read_SDH_DATA_CNT() fin_read16(SDH_DATA_CNT) | 126 | #define bfin_read_SDH_DATA_CNT() bfin_read16(SDH_DATA_CNT) |
127 | #define bfin_write_SDH_DATA_CNT(val) bfin_write16(SDH_DATA_CNT, val) | 127 | #define bfin_write_SDH_DATA_CNT(val) bfin_write16(SDH_DATA_CNT, val) |
128 | #define bfin_read_SDH_STATUS() bfin_read32(SDH_STATUS) | 128 | #define bfin_read_SDH_STATUS() bfin_read32(SDH_STATUS) |
129 | #define bfin_write_SDH_STATUS(val) bfin_write32(SDH_STATUS, val) | 129 | #define bfin_write_SDH_STATUS(val) bfin_write32(SDH_STATUS, val) |
130 | #define bfin_read_SDH_STATUS_CLR() fin_read16(SDH_STATUS_CLR) | 130 | #define bfin_read_SDH_STATUS_CLR() bfin_read16(SDH_STATUS_CLR) |
131 | #define bfin_write_SDH_STATUS_CLR(val) fin_write16(SDH_STATUS_CLR, val) | 131 | #define bfin_write_SDH_STATUS_CLR(val) bfin_write16(SDH_STATUS_CLR, val) |
132 | #define bfin_read_SDH_MASK0() bfin_read32(SDH_MASK0) | 132 | #define bfin_read_SDH_MASK0() bfin_read32(SDH_MASK0) |
133 | #define bfin_write_SDH_MASK0(val) bfin_write32(SDH_MASK0, val) | 133 | #define bfin_write_SDH_MASK0(val) bfin_write32(SDH_MASK0, val) |
134 | #define bfin_read_SDH_MASK1() bfin_read32(SDH_MASK1) | 134 | #define bfin_read_SDH_MASK1() bfin_read32(SDH_MASK1) |
@@ -184,8 +184,8 @@ | |||
184 | #define bfin_write_USB_FRAME(val) bfin_write16(USB_FRAME, val) | 184 | #define bfin_write_USB_FRAME(val) bfin_write16(USB_FRAME, val) |
185 | #define bfin_read_USB_INDEX() bfin_read16(USB_INDEX) | 185 | #define bfin_read_USB_INDEX() bfin_read16(USB_INDEX) |
186 | #define bfin_write_USB_INDEX(val) bfin_write16(USB_INDEX, val) | 186 | #define bfin_write_USB_INDEX(val) bfin_write16(USB_INDEX, val) |
187 | #define bfin_read_USB_TESTMODE() fin_read16(USB_TESTMODE) | 187 | #define bfin_read_USB_TESTMODE() bfin_read16(USB_TESTMODE) |
188 | #define bfin_write_USB_TESTMODE(val) fin_write16(USB_TESTMODE, val) | 188 | #define bfin_write_USB_TESTMODE(val) bfin_write16(USB_TESTMODE, val) |
189 | #define bfin_read_USB_GLOBINTR() bfin_read16(USB_GLOBINTR) | 189 | #define bfin_read_USB_GLOBINTR() bfin_read16(USB_GLOBINTR) |
190 | #define bfin_write_USB_GLOBINTR(val) bfin_write16(USB_GLOBINTR, val) | 190 | #define bfin_write_USB_GLOBINTR(val) bfin_write16(USB_GLOBINTR, val) |
191 | #define bfin_read_USB_GLOBAL_CTL() bfin_read16(USB_GLOBAL_CTL) | 191 | #define bfin_read_USB_GLOBAL_CTL() bfin_read16(USB_GLOBAL_CTL) |
@@ -244,7 +244,7 @@ | |||
244 | #define bfin_read_USB_OTG_DEV_CTL() bfin_read16(USB_OTG_DEV_CTL) | 244 | #define bfin_read_USB_OTG_DEV_CTL() bfin_read16(USB_OTG_DEV_CTL) |
245 | #define bfin_write_USB_OTG_DEV_CTL(val) bfin_write16(USB_OTG_DEV_CTL, val) | 245 | #define bfin_write_USB_OTG_DEV_CTL(val) bfin_write16(USB_OTG_DEV_CTL, val) |
246 | #define bfin_read_USB_OTG_VBUS_IRQ() bfin_read16(USB_OTG_VBUS_IRQ) | 246 | #define bfin_read_USB_OTG_VBUS_IRQ() bfin_read16(USB_OTG_VBUS_IRQ) |
247 | #define bfin_write_USB_OTG_VBUS_IRQ(val) fin_write16(USB_OTG_VBUS_IRQ, val) | 247 | #define bfin_write_USB_OTG_VBUS_IRQ(val) bfin_write16(USB_OTG_VBUS_IRQ, val) |
248 | #define bfin_read_USB_OTG_VBUS_MASK() bfin_read16(USB_OTG_VBUS_MASK) | 248 | #define bfin_read_USB_OTG_VBUS_MASK() bfin_read16(USB_OTG_VBUS_MASK) |
249 | #define bfin_write_USB_OTG_VBUS_MASK(val) bfin_write16(USB_OTG_VBUS_MASK, val) | 249 | #define bfin_write_USB_OTG_VBUS_MASK(val) bfin_write16(USB_OTG_VBUS_MASK, val) |
250 | 250 | ||
diff --git a/include/asm-blackfin/mach-bf548/cdefBF544.h b/include/asm-blackfin/mach-bf548/cdefBF544.h index 7a2d177c8dc2..ea9b4ab496f3 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF544.h +++ b/include/asm-blackfin/mach-bf548/cdefBF544.h | |||
@@ -113,39 +113,6 @@ | |||
113 | 113 | ||
114 | /* Two Wire Interface Registers (TWI1) */ | 114 | /* Two Wire Interface Registers (TWI1) */ |
115 | 115 | ||
116 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
117 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
118 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
119 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
120 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
121 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
122 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
123 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
124 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
125 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
126 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
127 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
128 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
129 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
130 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
131 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
132 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
133 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
134 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
135 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
136 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
137 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
138 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
139 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
140 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
141 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
142 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
143 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
144 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
145 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
146 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
147 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
148 | |||
149 | /* CAN Controller 1 Config 1 Registers */ | 116 | /* CAN Controller 1 Config 1 Registers */ |
150 | 117 | ||
151 | #define bfin_read_CAN1_MC1() bfin_read16(CAN1_MC1) | 118 | #define bfin_read_CAN1_MC1() bfin_read16(CAN1_MC1) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF547.h b/include/asm-blackfin/mach-bf548/cdefBF547.h index d0a200b08abd..ba716277c00d 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF547.h +++ b/include/asm-blackfin/mach-bf548/cdefBF547.h | |||
@@ -185,39 +185,6 @@ | |||
185 | 185 | ||
186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
187 | 187 | ||
188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
220 | |||
221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
222 | 189 | ||
223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF548.h b/include/asm-blackfin/mach-bf548/cdefBF548.h index 674be0216bff..ae971ebff6a0 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF548.h +++ b/include/asm-blackfin/mach-bf548/cdefBF548.h | |||
@@ -185,39 +185,6 @@ | |||
185 | 185 | ||
186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
187 | 187 | ||
188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
220 | |||
221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
222 | 189 | ||
223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF549.h b/include/asm-blackfin/mach-bf548/cdefBF549.h index 2ab5b7c00820..92d07d961999 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF549.h +++ b/include/asm-blackfin/mach-bf548/cdefBF549.h | |||
@@ -185,39 +185,6 @@ | |||
185 | 185 | ||
186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
187 | 187 | ||
188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
220 | |||
221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
222 | 189 | ||
223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
@@ -1773,7 +1740,7 @@ | |||
1773 | #define bfin_read_USB_DMA5ADDRHIGH() bfin_read16(USB_DMA5ADDRHIGH) | 1740 | #define bfin_read_USB_DMA5ADDRHIGH() bfin_read16(USB_DMA5ADDRHIGH) |
1774 | #define bfin_write_USB_DMA5ADDRHIGH(val) bfin_write16(USB_DMA5ADDRHIGH, val) | 1741 | #define bfin_write_USB_DMA5ADDRHIGH(val) bfin_write16(USB_DMA5ADDRHIGH, val) |
1775 | #define bfin_read_USB_DMA5COUNTLOW() bfin_read16(USB_DMA5COUNTLOW) | 1742 | #define bfin_read_USB_DMA5COUNTLOW() bfin_read16(USB_DMA5COUNTLOW) |
1776 | #define bfin_write_USB_DMA5COUNTLOW(val) fin_write16(USB_DMA5COUNTLOW, val) | 1743 | #define bfin_write_USB_DMA5COUNTLOW(val) bfin_write16(USB_DMA5COUNTLOW, val) |
1777 | #define bfin_read_USB_DMA5COUNTHIGH() bfin_read16(USB_DMA5COUNTHIGH) | 1744 | #define bfin_read_USB_DMA5COUNTHIGH() bfin_read16(USB_DMA5COUNTHIGH) |
1778 | #define bfin_write_USB_DMA5COUNTHIGH(val) bfin_write16(USB_DMA5COUNTHIGH, val) | 1745 | #define bfin_write_USB_DMA5COUNTHIGH(val) bfin_write16(USB_DMA5COUNTHIGH, val) |
1779 | 1746 | ||
diff --git a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h index 19ddcd83c71f..57ac8cb9b1f6 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h +++ b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h | |||
@@ -43,7 +43,33 @@ | |||
43 | /* PLL Registers */ | 43 | /* PLL Registers */ |
44 | 44 | ||
45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
46 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL, val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
48 | { | ||
49 | unsigned long flags, iwr0, iwr1, iwr2; | ||
50 | |||
51 | if (val == bfin_read_PLL_CTL()) | ||
52 | return; | ||
53 | |||
54 | local_irq_save(flags); | ||
55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
56 | iwr0 = bfin_read32(SIC_IWR0); | ||
57 | iwr1 = bfin_read32(SIC_IWR1); | ||
58 | iwr2 = bfin_read32(SIC_IWR2); | ||
59 | /* Only allow PPL Wakeup) */ | ||
60 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
61 | bfin_write32(SIC_IWR1, 0); | ||
62 | bfin_write32(SIC_IWR2, 0); | ||
63 | |||
64 | bfin_write16(PLL_CTL, val); | ||
65 | SSYNC(); | ||
66 | asm("IDLE;"); | ||
67 | |||
68 | bfin_write32(SIC_IWR0, iwr0); | ||
69 | bfin_write32(SIC_IWR1, iwr1); | ||
70 | bfin_write32(SIC_IWR2, iwr2); | ||
71 | local_irq_restore(flags); | ||
72 | } | ||
47 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 73 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
48 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) | 74 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) |
49 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 75 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
@@ -52,6 +78,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
52 | { | 78 | { |
53 | unsigned long flags, iwr0, iwr1, iwr2; | 79 | unsigned long flags, iwr0, iwr1, iwr2; |
54 | 80 | ||
81 | if (val == bfin_read_VR_CTL()) | ||
82 | return; | ||
83 | |||
84 | local_irq_save(flags); | ||
55 | /* Enable the PLL Wakeup bit in SIC IWR */ | 85 | /* Enable the PLL Wakeup bit in SIC IWR */ |
56 | iwr0 = bfin_read32(SIC_IWR0); | 86 | iwr0 = bfin_read32(SIC_IWR0); |
57 | iwr1 = bfin_read32(SIC_IWR1); | 87 | iwr1 = bfin_read32(SIC_IWR1); |
@@ -63,13 +93,12 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
63 | 93 | ||
64 | bfin_write16(VR_CTL, val); | 94 | bfin_write16(VR_CTL, val); |
65 | SSYNC(); | 95 | SSYNC(); |
66 | |||
67 | local_irq_save(flags); | ||
68 | asm("IDLE;"); | 96 | asm("IDLE;"); |
69 | local_irq_restore(flags); | 97 | |
70 | bfin_write32(SIC_IWR0, iwr0); | 98 | bfin_write32(SIC_IWR0, iwr0); |
71 | bfin_write32(SIC_IWR1, iwr1); | 99 | bfin_write32(SIC_IWR1, iwr1); |
72 | bfin_write32(SIC_IWR2, iwr2); | 100 | bfin_write32(SIC_IWR2, iwr2); |
101 | local_irq_restore(flags); | ||
73 | } | 102 | } |
74 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 103 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
75 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) | 104 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) |
@@ -211,39 +240,6 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
211 | 240 | ||
212 | /* Two Wire Interface Registers (TWI0) */ | 241 | /* Two Wire Interface Registers (TWI0) */ |
213 | 242 | ||
214 | #define bfin_read_TWI0_CLKDIV() bfin_read16(TWI0_CLKDIV) | ||
215 | #define bfin_write_TWI0_CLKDIV(val) bfin_write16(TWI0_CLKDIV, val) | ||
216 | #define bfin_read_TWI0_CONTROL() bfin_read16(TWI0_CONTROL) | ||
217 | #define bfin_write_TWI0_CONTROL(val) bfin_write16(TWI0_CONTROL, val) | ||
218 | #define bfin_read_TWI0_SLAVE_CTRL() bfin_read16(TWI0_SLAVE_CTRL) | ||
219 | #define bfin_write_TWI0_SLAVE_CTRL(val) bfin_write16(TWI0_SLAVE_CTRL, val) | ||
220 | #define bfin_read_TWI0_SLAVE_STAT() bfin_read16(TWI0_SLAVE_STAT) | ||
221 | #define bfin_write_TWI0_SLAVE_STAT(val) bfin_write16(TWI0_SLAVE_STAT, val) | ||
222 | #define bfin_read_TWI0_SLAVE_ADDR() bfin_read16(TWI0_SLAVE_ADDR) | ||
223 | #define bfin_write_TWI0_SLAVE_ADDR(val) bfin_write16(TWI0_SLAVE_ADDR, val) | ||
224 | #define bfin_read_TWI0_MASTER_CTRL() bfin_read16(TWI0_MASTER_CTRL) | ||
225 | #define bfin_write_TWI0_MASTER_CTRL(val) bfin_write16(TWI0_MASTER_CTRL, val) | ||
226 | #define bfin_read_TWI0_MASTER_STAT() bfin_read16(TWI0_MASTER_STAT) | ||
227 | #define bfin_write_TWI0_MASTER_STAT(val) bfin_write16(TWI0_MASTER_STAT, val) | ||
228 | #define bfin_read_TWI0_MASTER_ADDR() bfin_read16(TWI0_MASTER_ADDR) | ||
229 | #define bfin_write_TWI0_MASTER_ADDR(val) bfin_write16(TWI0_MASTER_ADDR, val) | ||
230 | #define bfin_read_TWI0_INT_STAT() bfin_read16(TWI0_INT_STAT) | ||
231 | #define bfin_write_TWI0_INT_STAT(val) bfin_write16(TWI0_INT_STAT, val) | ||
232 | #define bfin_read_TWI0_INT_MASK() bfin_read16(TWI0_INT_MASK) | ||
233 | #define bfin_write_TWI0_INT_MASK(val) bfin_write16(TWI0_INT_MASK, val) | ||
234 | #define bfin_read_TWI0_FIFO_CTRL() bfin_read16(TWI0_FIFO_CTRL) | ||
235 | #define bfin_write_TWI0_FIFO_CTRL(val) bfin_write16(TWI0_FIFO_CTRL, val) | ||
236 | #define bfin_read_TWI0_FIFO_STAT() bfin_read16(TWI0_FIFO_STAT) | ||
237 | #define bfin_write_TWI0_FIFO_STAT(val) bfin_write16(TWI0_FIFO_STAT, val) | ||
238 | #define bfin_read_TWI0_XMT_DATA8() bfin_read16(TWI0_XMT_DATA8) | ||
239 | #define bfin_write_TWI0_XMT_DATA8(val) bfin_write16(TWI0_XMT_DATA8, val) | ||
240 | #define bfin_read_TWI0_XMT_DATA16() bfin_read16(TWI0_XMT_DATA16) | ||
241 | #define bfin_write_TWI0_XMT_DATA16(val) bfin_write16(TWI0_XMT_DATA16, val) | ||
242 | #define bfin_read_TWI0_RCV_DATA8() bfin_read16(TWI0_RCV_DATA8) | ||
243 | #define bfin_write_TWI0_RCV_DATA8(val) bfin_write16(TWI0_RCV_DATA8, val) | ||
244 | #define bfin_read_TWI0_RCV_DATA16() bfin_read16(TWI0_RCV_DATA16) | ||
245 | #define bfin_write_TWI0_RCV_DATA16(val) bfin_write16(TWI0_RCV_DATA16, val) | ||
246 | |||
247 | /* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */ | 243 | /* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */ |
248 | 244 | ||
249 | /* SPORT1 Registers */ | 245 | /* SPORT1 Registers */ |
@@ -323,7 +319,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
323 | #define bfin_read_EBIU_DDRQUE() bfin_read32(EBIU_DDRQUE) | 319 | #define bfin_read_EBIU_DDRQUE() bfin_read32(EBIU_DDRQUE) |
324 | #define bfin_write_EBIU_DDRQUE(val) bfin_write32(EBIU_DDRQUE, val) | 320 | #define bfin_write_EBIU_DDRQUE(val) bfin_write32(EBIU_DDRQUE, val) |
325 | #define bfin_read_EBIU_ERRADD() bfin_read32(EBIU_ERRADD) | 321 | #define bfin_read_EBIU_ERRADD() bfin_read32(EBIU_ERRADD) |
326 | #define bfin_write_EBIU_ERRADD(val) bfin_write32(EBIU_ERRADD) | 322 | #define bfin_write_EBIU_ERRADD(val) bfin_write32(EBIU_ERRADD, val) |
327 | #define bfin_read_EBIU_ERRMST() bfin_read16(EBIU_ERRMST) | 323 | #define bfin_read_EBIU_ERRMST() bfin_read16(EBIU_ERRMST) |
328 | #define bfin_write_EBIU_ERRMST(val) bfin_write16(EBIU_ERRMST, val) | 324 | #define bfin_write_EBIU_ERRMST(val) bfin_write16(EBIU_ERRMST, val) |
329 | #define bfin_read_EBIU_RSTCTL() bfin_read16(EBIU_RSTCTL) | 325 | #define bfin_read_EBIU_RSTCTL() bfin_read16(EBIU_RSTCTL) |
@@ -392,23 +388,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
392 | /* DMA Channel 0 Registers */ | 388 | /* DMA Channel 0 Registers */ |
393 | 389 | ||
394 | #define bfin_read_DMA0_NEXT_DESC_PTR() bfin_read32(DMA0_NEXT_DESC_PTR) | 390 | #define bfin_read_DMA0_NEXT_DESC_PTR() bfin_read32(DMA0_NEXT_DESC_PTR) |
395 | #define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_write32(DMA0_NEXT_DESC_PTR) | 391 | #define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_write32(DMA0_NEXT_DESC_PTR, val) |
396 | #define bfin_read_DMA0_START_ADDR() bfin_read32(DMA0_START_ADDR) | 392 | #define bfin_read_DMA0_START_ADDR() bfin_read32(DMA0_START_ADDR) |
397 | #define bfin_write_DMA0_START_ADDR(val) bfin_write32(DMA0_START_ADDR) | 393 | #define bfin_write_DMA0_START_ADDR(val) bfin_write32(DMA0_START_ADDR, val) |
398 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) | 394 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) |
399 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG, val) | 395 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG, val) |
400 | #define bfin_read_DMA0_X_COUNT() bfin_read16(DMA0_X_COUNT) | 396 | #define bfin_read_DMA0_X_COUNT() bfin_read16(DMA0_X_COUNT) |
401 | #define bfin_write_DMA0_X_COUNT(val) bfin_write16(DMA0_X_COUNT, val) | 397 | #define bfin_write_DMA0_X_COUNT(val) bfin_write16(DMA0_X_COUNT, val) |
402 | #define bfin_read_DMA0_X_MODIFY() bfin_read16(DMA0_X_MODIFY) | 398 | #define bfin_read_DMA0_X_MODIFY() bfin_read16(DMA0_X_MODIFY) |
403 | #define bfin_write_DMA0_X_MODIFY(val) bfin_write16(DMA0_X_MODIFY) | 399 | #define bfin_write_DMA0_X_MODIFY(val) bfin_write16(DMA0_X_MODIFY, val) |
404 | #define bfin_read_DMA0_Y_COUNT() bfin_read16(DMA0_Y_COUNT) | 400 | #define bfin_read_DMA0_Y_COUNT() bfin_read16(DMA0_Y_COUNT) |
405 | #define bfin_write_DMA0_Y_COUNT(val) bfin_write16(DMA0_Y_COUNT, val) | 401 | #define bfin_write_DMA0_Y_COUNT(val) bfin_write16(DMA0_Y_COUNT, val) |
406 | #define bfin_read_DMA0_Y_MODIFY() bfin_read16(DMA0_Y_MODIFY) | 402 | #define bfin_read_DMA0_Y_MODIFY() bfin_read16(DMA0_Y_MODIFY) |
407 | #define bfin_write_DMA0_Y_MODIFY(val) bfin_write16(DMA0_Y_MODIFY) | 403 | #define bfin_write_DMA0_Y_MODIFY(val) bfin_write16(DMA0_Y_MODIFY, val) |
408 | #define bfin_read_DMA0_CURR_DESC_PTR() bfin_read32(DMA0_CURR_DESC_PTR) | 404 | #define bfin_read_DMA0_CURR_DESC_PTR() bfin_read32(DMA0_CURR_DESC_PTR) |
409 | #define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_write32(DMA0_CURR_DESC_PTR) | 405 | #define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_write32(DMA0_CURR_DESC_PTR, val) |
410 | #define bfin_read_DMA0_CURR_ADDR() bfin_read32(DMA0_CURR_ADDR) | 406 | #define bfin_read_DMA0_CURR_ADDR() bfin_read32(DMA0_CURR_ADDR) |
411 | #define bfin_write_DMA0_CURR_ADDR(val) bfin_write32(DMA0_CURR_ADDR) | 407 | #define bfin_write_DMA0_CURR_ADDR(val) bfin_write32(DMA0_CURR_ADDR, val) |
412 | #define bfin_read_DMA0_IRQ_STATUS() bfin_read16(DMA0_IRQ_STATUS) | 408 | #define bfin_read_DMA0_IRQ_STATUS() bfin_read16(DMA0_IRQ_STATUS) |
413 | #define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS, val) | 409 | #define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS, val) |
414 | #define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP) | 410 | #define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP) |
@@ -421,23 +417,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
421 | /* DMA Channel 1 Registers */ | 417 | /* DMA Channel 1 Registers */ |
422 | 418 | ||
423 | #define bfin_read_DMA1_NEXT_DESC_PTR() bfin_read32(DMA1_NEXT_DESC_PTR) | 419 | #define bfin_read_DMA1_NEXT_DESC_PTR() bfin_read32(DMA1_NEXT_DESC_PTR) |
424 | #define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_write32(DMA1_NEXT_DESC_PTR) | 420 | #define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_write32(DMA1_NEXT_DESC_PTR, val) |
425 | #define bfin_read_DMA1_START_ADDR() bfin_read32(DMA1_START_ADDR) | 421 | #define bfin_read_DMA1_START_ADDR() bfin_read32(DMA1_START_ADDR) |
426 | #define bfin_write_DMA1_START_ADDR(val) bfin_write32(DMA1_START_ADDR) | 422 | #define bfin_write_DMA1_START_ADDR(val) bfin_write32(DMA1_START_ADDR, val) |
427 | #define bfin_read_DMA1_CONFIG() bfin_read16(DMA1_CONFIG) | 423 | #define bfin_read_DMA1_CONFIG() bfin_read16(DMA1_CONFIG) |
428 | #define bfin_write_DMA1_CONFIG(val) bfin_write16(DMA1_CONFIG, val) | 424 | #define bfin_write_DMA1_CONFIG(val) bfin_write16(DMA1_CONFIG, val) |
429 | #define bfin_read_DMA1_X_COUNT() bfin_read16(DMA1_X_COUNT) | 425 | #define bfin_read_DMA1_X_COUNT() bfin_read16(DMA1_X_COUNT) |
430 | #define bfin_write_DMA1_X_COUNT(val) bfin_write16(DMA1_X_COUNT, val) | 426 | #define bfin_write_DMA1_X_COUNT(val) bfin_write16(DMA1_X_COUNT, val) |
431 | #define bfin_read_DMA1_X_MODIFY() bfin_read16(DMA1_X_MODIFY) | 427 | #define bfin_read_DMA1_X_MODIFY() bfin_read16(DMA1_X_MODIFY) |
432 | #define bfin_write_DMA1_X_MODIFY(val) bfin_write16(DMA1_X_MODIFY) | 428 | #define bfin_write_DMA1_X_MODIFY(val) bfin_write16(DMA1_X_MODIFY, val) |
433 | #define bfin_read_DMA1_Y_COUNT() bfin_read16(DMA1_Y_COUNT) | 429 | #define bfin_read_DMA1_Y_COUNT() bfin_read16(DMA1_Y_COUNT) |
434 | #define bfin_write_DMA1_Y_COUNT(val) bfin_write16(DMA1_Y_COUNT, val) | 430 | #define bfin_write_DMA1_Y_COUNT(val) bfin_write16(DMA1_Y_COUNT, val) |
435 | #define bfin_read_DMA1_Y_MODIFY() bfin_read16(DMA1_Y_MODIFY) | 431 | #define bfin_read_DMA1_Y_MODIFY() bfin_read16(DMA1_Y_MODIFY) |
436 | #define bfin_write_DMA1_Y_MODIFY(val) bfin_write16(DMA1_Y_MODIFY) | 432 | #define bfin_write_DMA1_Y_MODIFY(val) bfin_write16(DMA1_Y_MODIFY, val) |
437 | #define bfin_read_DMA1_CURR_DESC_PTR() bfin_read32(DMA1_CURR_DESC_PTR) | 433 | #define bfin_read_DMA1_CURR_DESC_PTR() bfin_read32(DMA1_CURR_DESC_PTR) |
438 | #define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_write32(DMA1_CURR_DESC_PTR) | 434 | #define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_write32(DMA1_CURR_DESC_PTR, val) |
439 | #define bfin_read_DMA1_CURR_ADDR() bfin_read32(DMA1_CURR_ADDR) | 435 | #define bfin_read_DMA1_CURR_ADDR() bfin_read32(DMA1_CURR_ADDR) |
440 | #define bfin_write_DMA1_CURR_ADDR(val) bfin_write32(DMA1_CURR_ADDR) | 436 | #define bfin_write_DMA1_CURR_ADDR(val) bfin_write32(DMA1_CURR_ADDR, val) |
441 | #define bfin_read_DMA1_IRQ_STATUS() bfin_read16(DMA1_IRQ_STATUS) | 437 | #define bfin_read_DMA1_IRQ_STATUS() bfin_read16(DMA1_IRQ_STATUS) |
442 | #define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS, val) | 438 | #define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS, val) |
443 | #define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP) | 439 | #define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP) |
@@ -450,23 +446,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
450 | /* DMA Channel 2 Registers */ | 446 | /* DMA Channel 2 Registers */ |
451 | 447 | ||
452 | #define bfin_read_DMA2_NEXT_DESC_PTR() bfin_read32(DMA2_NEXT_DESC_PTR) | 448 | #define bfin_read_DMA2_NEXT_DESC_PTR() bfin_read32(DMA2_NEXT_DESC_PTR) |
453 | #define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_write32(DMA2_NEXT_DESC_PTR) | 449 | #define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_write32(DMA2_NEXT_DESC_PTR, val) |
454 | #define bfin_read_DMA2_START_ADDR() bfin_read32(DMA2_START_ADDR) | 450 | #define bfin_read_DMA2_START_ADDR() bfin_read32(DMA2_START_ADDR) |
455 | #define bfin_write_DMA2_START_ADDR(val) bfin_write32(DMA2_START_ADDR) | 451 | #define bfin_write_DMA2_START_ADDR(val) bfin_write32(DMA2_START_ADDR, val) |
456 | #define bfin_read_DMA2_CONFIG() bfin_read16(DMA2_CONFIG) | 452 | #define bfin_read_DMA2_CONFIG() bfin_read16(DMA2_CONFIG) |
457 | #define bfin_write_DMA2_CONFIG(val) bfin_write16(DMA2_CONFIG, val) | 453 | #define bfin_write_DMA2_CONFIG(val) bfin_write16(DMA2_CONFIG, val) |
458 | #define bfin_read_DMA2_X_COUNT() bfin_read16(DMA2_X_COUNT) | 454 | #define bfin_read_DMA2_X_COUNT() bfin_read16(DMA2_X_COUNT) |
459 | #define bfin_write_DMA2_X_COUNT(val) bfin_write16(DMA2_X_COUNT, val) | 455 | #define bfin_write_DMA2_X_COUNT(val) bfin_write16(DMA2_X_COUNT, val) |
460 | #define bfin_read_DMA2_X_MODIFY() bfin_read16(DMA2_X_MODIFY) | 456 | #define bfin_read_DMA2_X_MODIFY() bfin_read16(DMA2_X_MODIFY) |
461 | #define bfin_write_DMA2_X_MODIFY(val) bfin_write16(DMA2_X_MODIFY) | 457 | #define bfin_write_DMA2_X_MODIFY(val) bfin_write16(DMA2_X_MODIFY, val) |
462 | #define bfin_read_DMA2_Y_COUNT() bfin_read16(DMA2_Y_COUNT) | 458 | #define bfin_read_DMA2_Y_COUNT() bfin_read16(DMA2_Y_COUNT) |
463 | #define bfin_write_DMA2_Y_COUNT(val) bfin_write16(DMA2_Y_COUNT, val) | 459 | #define bfin_write_DMA2_Y_COUNT(val) bfin_write16(DMA2_Y_COUNT, val) |
464 | #define bfin_read_DMA2_Y_MODIFY() bfin_read16(DMA2_Y_MODIFY) | 460 | #define bfin_read_DMA2_Y_MODIFY() bfin_read16(DMA2_Y_MODIFY) |
465 | #define bfin_write_DMA2_Y_MODIFY(val) bfin_write16(DMA2_Y_MODIFY) | 461 | #define bfin_write_DMA2_Y_MODIFY(val) bfin_write16(DMA2_Y_MODIFY, val) |
466 | #define bfin_read_DMA2_CURR_DESC_PTR() bfin_read32(DMA2_CURR_DESC_PTR) | 462 | #define bfin_read_DMA2_CURR_DESC_PTR() bfin_read32(DMA2_CURR_DESC_PTR) |
467 | #define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_write32(DMA2_CURR_DESC_PTR) | 463 | #define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_write32(DMA2_CURR_DESC_PTR, val) |
468 | #define bfin_read_DMA2_CURR_ADDR() bfin_read32(DMA2_CURR_ADDR) | 464 | #define bfin_read_DMA2_CURR_ADDR() bfin_read32(DMA2_CURR_ADDR) |
469 | #define bfin_write_DMA2_CURR_ADDR(val) bfin_write32(DMA2_CURR_ADDR) | 465 | #define bfin_write_DMA2_CURR_ADDR(val) bfin_write32(DMA2_CURR_ADDR, val) |
470 | #define bfin_read_DMA2_IRQ_STATUS() bfin_read16(DMA2_IRQ_STATUS) | 466 | #define bfin_read_DMA2_IRQ_STATUS() bfin_read16(DMA2_IRQ_STATUS) |
471 | #define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS, val) | 467 | #define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS, val) |
472 | #define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP) | 468 | #define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP) |
@@ -479,23 +475,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
479 | /* DMA Channel 3 Registers */ | 475 | /* DMA Channel 3 Registers */ |
480 | 476 | ||
481 | #define bfin_read_DMA3_NEXT_DESC_PTR() bfin_read32(DMA3_NEXT_DESC_PTR) | 477 | #define bfin_read_DMA3_NEXT_DESC_PTR() bfin_read32(DMA3_NEXT_DESC_PTR) |
482 | #define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_write32(DMA3_NEXT_DESC_PTR) | 478 | #define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_write32(DMA3_NEXT_DESC_PTR, val) |
483 | #define bfin_read_DMA3_START_ADDR() bfin_read32(DMA3_START_ADDR) | 479 | #define bfin_read_DMA3_START_ADDR() bfin_read32(DMA3_START_ADDR) |
484 | #define bfin_write_DMA3_START_ADDR(val) bfin_write32(DMA3_START_ADDR) | 480 | #define bfin_write_DMA3_START_ADDR(val) bfin_write32(DMA3_START_ADDR, val) |
485 | #define bfin_read_DMA3_CONFIG() bfin_read16(DMA3_CONFIG) | 481 | #define bfin_read_DMA3_CONFIG() bfin_read16(DMA3_CONFIG) |
486 | #define bfin_write_DMA3_CONFIG(val) bfin_write16(DMA3_CONFIG, val) | 482 | #define bfin_write_DMA3_CONFIG(val) bfin_write16(DMA3_CONFIG, val) |
487 | #define bfin_read_DMA3_X_COUNT() bfin_read16(DMA3_X_COUNT) | 483 | #define bfin_read_DMA3_X_COUNT() bfin_read16(DMA3_X_COUNT) |
488 | #define bfin_write_DMA3_X_COUNT(val) bfin_write16(DMA3_X_COUNT, val) | 484 | #define bfin_write_DMA3_X_COUNT(val) bfin_write16(DMA3_X_COUNT, val) |
489 | #define bfin_read_DMA3_X_MODIFY() bfin_read16(DMA3_X_MODIFY) | 485 | #define bfin_read_DMA3_X_MODIFY() bfin_read16(DMA3_X_MODIFY) |
490 | #define bfin_write_DMA3_X_MODIFY(val) bfin_write16(DMA3_X_MODIFY) | 486 | #define bfin_write_DMA3_X_MODIFY(val) bfin_write16(DMA3_X_MODIFY, val) |
491 | #define bfin_read_DMA3_Y_COUNT() bfin_read16(DMA3_Y_COUNT) | 487 | #define bfin_read_DMA3_Y_COUNT() bfin_read16(DMA3_Y_COUNT) |
492 | #define bfin_write_DMA3_Y_COUNT(val) bfin_write16(DMA3_Y_COUNT, val) | 488 | #define bfin_write_DMA3_Y_COUNT(val) bfin_write16(DMA3_Y_COUNT, val) |
493 | #define bfin_read_DMA3_Y_MODIFY() bfin_read16(DMA3_Y_MODIFY) | 489 | #define bfin_read_DMA3_Y_MODIFY() bfin_read16(DMA3_Y_MODIFY) |
494 | #define bfin_write_DMA3_Y_MODIFY(val) bfin_write16(DMA3_Y_MODIFY) | 490 | #define bfin_write_DMA3_Y_MODIFY(val) bfin_write16(DMA3_Y_MODIFY, val) |
495 | #define bfin_read_DMA3_CURR_DESC_PTR() bfin_read32(DMA3_CURR_DESC_PTR) | 491 | #define bfin_read_DMA3_CURR_DESC_PTR() bfin_read32(DMA3_CURR_DESC_PTR) |
496 | #define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_write32(DMA3_CURR_DESC_PTR) | 492 | #define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_write32(DMA3_CURR_DESC_PTR, val) |
497 | #define bfin_read_DMA3_CURR_ADDR() bfin_read32(DMA3_CURR_ADDR) | 493 | #define bfin_read_DMA3_CURR_ADDR() bfin_read32(DMA3_CURR_ADDR) |
498 | #define bfin_write_DMA3_CURR_ADDR(val) bfin_write32(DMA3_CURR_ADDR) | 494 | #define bfin_write_DMA3_CURR_ADDR(val) bfin_write32(DMA3_CURR_ADDR, val) |
499 | #define bfin_read_DMA3_IRQ_STATUS() bfin_read16(DMA3_IRQ_STATUS) | 495 | #define bfin_read_DMA3_IRQ_STATUS() bfin_read16(DMA3_IRQ_STATUS) |
500 | #define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS, val) | 496 | #define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS, val) |
501 | #define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP) | 497 | #define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP) |
@@ -508,23 +504,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
508 | /* DMA Channel 4 Registers */ | 504 | /* DMA Channel 4 Registers */ |
509 | 505 | ||
510 | #define bfin_read_DMA4_NEXT_DESC_PTR() bfin_read32(DMA4_NEXT_DESC_PTR) | 506 | #define bfin_read_DMA4_NEXT_DESC_PTR() bfin_read32(DMA4_NEXT_DESC_PTR) |
511 | #define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_write32(DMA4_NEXT_DESC_PTR) | 507 | #define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_write32(DMA4_NEXT_DESC_PTR, val) |
512 | #define bfin_read_DMA4_START_ADDR() bfin_read32(DMA4_START_ADDR) | 508 | #define bfin_read_DMA4_START_ADDR() bfin_read32(DMA4_START_ADDR) |
513 | #define bfin_write_DMA4_START_ADDR(val) bfin_write32(DMA4_START_ADDR) | 509 | #define bfin_write_DMA4_START_ADDR(val) bfin_write32(DMA4_START_ADDR, val) |
514 | #define bfin_read_DMA4_CONFIG() bfin_read16(DMA4_CONFIG) | 510 | #define bfin_read_DMA4_CONFIG() bfin_read16(DMA4_CONFIG) |
515 | #define bfin_write_DMA4_CONFIG(val) bfin_write16(DMA4_CONFIG, val) | 511 | #define bfin_write_DMA4_CONFIG(val) bfin_write16(DMA4_CONFIG, val) |
516 | #define bfin_read_DMA4_X_COUNT() bfin_read16(DMA4_X_COUNT) | 512 | #define bfin_read_DMA4_X_COUNT() bfin_read16(DMA4_X_COUNT) |
517 | #define bfin_write_DMA4_X_COUNT(val) bfin_write16(DMA4_X_COUNT, val) | 513 | #define bfin_write_DMA4_X_COUNT(val) bfin_write16(DMA4_X_COUNT, val) |
518 | #define bfin_read_DMA4_X_MODIFY() bfin_read16(DMA4_X_MODIFY) | 514 | #define bfin_read_DMA4_X_MODIFY() bfin_read16(DMA4_X_MODIFY) |
519 | #define bfin_write_DMA4_X_MODIFY(val) bfin_write16(DMA4_X_MODIFY) | 515 | #define bfin_write_DMA4_X_MODIFY(val) bfin_write16(DMA4_X_MODIFY, val) |
520 | #define bfin_read_DMA4_Y_COUNT() bfin_read16(DMA4_Y_COUNT) | 516 | #define bfin_read_DMA4_Y_COUNT() bfin_read16(DMA4_Y_COUNT) |
521 | #define bfin_write_DMA4_Y_COUNT(val) bfin_write16(DMA4_Y_COUNT, val) | 517 | #define bfin_write_DMA4_Y_COUNT(val) bfin_write16(DMA4_Y_COUNT, val) |
522 | #define bfin_read_DMA4_Y_MODIFY() bfin_read16(DMA4_Y_MODIFY) | 518 | #define bfin_read_DMA4_Y_MODIFY() bfin_read16(DMA4_Y_MODIFY) |
523 | #define bfin_write_DMA4_Y_MODIFY(val) bfin_write16(DMA4_Y_MODIFY) | 519 | #define bfin_write_DMA4_Y_MODIFY(val) bfin_write16(DMA4_Y_MODIFY, val) |
524 | #define bfin_read_DMA4_CURR_DESC_PTR() bfin_read32(DMA4_CURR_DESC_PTR) | 520 | #define bfin_read_DMA4_CURR_DESC_PTR() bfin_read32(DMA4_CURR_DESC_PTR) |
525 | #define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_write32(DMA4_CURR_DESC_PTR) | 521 | #define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_write32(DMA4_CURR_DESC_PTR, val) |
526 | #define bfin_read_DMA4_CURR_ADDR() bfin_read32(DMA4_CURR_ADDR) | 522 | #define bfin_read_DMA4_CURR_ADDR() bfin_read32(DMA4_CURR_ADDR) |
527 | #define bfin_write_DMA4_CURR_ADDR(val) bfin_write32(DMA4_CURR_ADDR) | 523 | #define bfin_write_DMA4_CURR_ADDR(val) bfin_write32(DMA4_CURR_ADDR, val) |
528 | #define bfin_read_DMA4_IRQ_STATUS() bfin_read16(DMA4_IRQ_STATUS) | 524 | #define bfin_read_DMA4_IRQ_STATUS() bfin_read16(DMA4_IRQ_STATUS) |
529 | #define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS, val) | 525 | #define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS, val) |
530 | #define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP) | 526 | #define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP) |
@@ -537,23 +533,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
537 | /* DMA Channel 5 Registers */ | 533 | /* DMA Channel 5 Registers */ |
538 | 534 | ||
539 | #define bfin_read_DMA5_NEXT_DESC_PTR() bfin_read32(DMA5_NEXT_DESC_PTR) | 535 | #define bfin_read_DMA5_NEXT_DESC_PTR() bfin_read32(DMA5_NEXT_DESC_PTR) |
540 | #define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_write32(DMA5_NEXT_DESC_PTR) | 536 | #define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_write32(DMA5_NEXT_DESC_PTR, val) |
541 | #define bfin_read_DMA5_START_ADDR() bfin_read32(DMA5_START_ADDR) | 537 | #define bfin_read_DMA5_START_ADDR() bfin_read32(DMA5_START_ADDR) |
542 | #define bfin_write_DMA5_START_ADDR(val) bfin_write32(DMA5_START_ADDR) | 538 | #define bfin_write_DMA5_START_ADDR(val) bfin_write32(DMA5_START_ADDR, val) |
543 | #define bfin_read_DMA5_CONFIG() bfin_read16(DMA5_CONFIG) | 539 | #define bfin_read_DMA5_CONFIG() bfin_read16(DMA5_CONFIG) |
544 | #define bfin_write_DMA5_CONFIG(val) bfin_write16(DMA5_CONFIG, val) | 540 | #define bfin_write_DMA5_CONFIG(val) bfin_write16(DMA5_CONFIG, val) |
545 | #define bfin_read_DMA5_X_COUNT() bfin_read16(DMA5_X_COUNT) | 541 | #define bfin_read_DMA5_X_COUNT() bfin_read16(DMA5_X_COUNT) |
546 | #define bfin_write_DMA5_X_COUNT(val) bfin_write16(DMA5_X_COUNT, val) | 542 | #define bfin_write_DMA5_X_COUNT(val) bfin_write16(DMA5_X_COUNT, val) |
547 | #define bfin_read_DMA5_X_MODIFY() bfin_read16(DMA5_X_MODIFY) | 543 | #define bfin_read_DMA5_X_MODIFY() bfin_read16(DMA5_X_MODIFY) |
548 | #define bfin_write_DMA5_X_MODIFY(val) bfin_write16(DMA5_X_MODIFY) | 544 | #define bfin_write_DMA5_X_MODIFY(val) bfin_write16(DMA5_X_MODIFY, val) |
549 | #define bfin_read_DMA5_Y_COUNT() bfin_read16(DMA5_Y_COUNT) | 545 | #define bfin_read_DMA5_Y_COUNT() bfin_read16(DMA5_Y_COUNT) |
550 | #define bfin_write_DMA5_Y_COUNT(val) bfin_write16(DMA5_Y_COUNT, val) | 546 | #define bfin_write_DMA5_Y_COUNT(val) bfin_write16(DMA5_Y_COUNT, val) |
551 | #define bfin_read_DMA5_Y_MODIFY() bfin_read16(DMA5_Y_MODIFY) | 547 | #define bfin_read_DMA5_Y_MODIFY() bfin_read16(DMA5_Y_MODIFY) |
552 | #define bfin_write_DMA5_Y_MODIFY(val) bfin_write16(DMA5_Y_MODIFY) | 548 | #define bfin_write_DMA5_Y_MODIFY(val) bfin_write16(DMA5_Y_MODIFY, val) |
553 | #define bfin_read_DMA5_CURR_DESC_PTR() bfin_read32(DMA5_CURR_DESC_PTR) | 549 | #define bfin_read_DMA5_CURR_DESC_PTR() bfin_read32(DMA5_CURR_DESC_PTR) |
554 | #define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_write32(DMA5_CURR_DESC_PTR) | 550 | #define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_write32(DMA5_CURR_DESC_PTR, val) |
555 | #define bfin_read_DMA5_CURR_ADDR() bfin_read32(DMA5_CURR_ADDR) | 551 | #define bfin_read_DMA5_CURR_ADDR() bfin_read32(DMA5_CURR_ADDR) |
556 | #define bfin_write_DMA5_CURR_ADDR(val) bfin_write32(DMA5_CURR_ADDR) | 552 | #define bfin_write_DMA5_CURR_ADDR(val) bfin_write32(DMA5_CURR_ADDR, val) |
557 | #define bfin_read_DMA5_IRQ_STATUS() bfin_read16(DMA5_IRQ_STATUS) | 553 | #define bfin_read_DMA5_IRQ_STATUS() bfin_read16(DMA5_IRQ_STATUS) |
558 | #define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS, val) | 554 | #define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS, val) |
559 | #define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP) | 555 | #define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP) |
@@ -566,23 +562,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
566 | /* DMA Channel 6 Registers */ | 562 | /* DMA Channel 6 Registers */ |
567 | 563 | ||
568 | #define bfin_read_DMA6_NEXT_DESC_PTR() bfin_read32(DMA6_NEXT_DESC_PTR) | 564 | #define bfin_read_DMA6_NEXT_DESC_PTR() bfin_read32(DMA6_NEXT_DESC_PTR) |
569 | #define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_write32(DMA6_NEXT_DESC_PTR) | 565 | #define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_write32(DMA6_NEXT_DESC_PTR, val) |
570 | #define bfin_read_DMA6_START_ADDR() bfin_read32(DMA6_START_ADDR) | 566 | #define bfin_read_DMA6_START_ADDR() bfin_read32(DMA6_START_ADDR) |
571 | #define bfin_write_DMA6_START_ADDR(val) bfin_write32(DMA6_START_ADDR) | 567 | #define bfin_write_DMA6_START_ADDR(val) bfin_write32(DMA6_START_ADDR, val) |
572 | #define bfin_read_DMA6_CONFIG() bfin_read16(DMA6_CONFIG) | 568 | #define bfin_read_DMA6_CONFIG() bfin_read16(DMA6_CONFIG) |
573 | #define bfin_write_DMA6_CONFIG(val) bfin_write16(DMA6_CONFIG, val) | 569 | #define bfin_write_DMA6_CONFIG(val) bfin_write16(DMA6_CONFIG, val) |
574 | #define bfin_read_DMA6_X_COUNT() bfin_read16(DMA6_X_COUNT) | 570 | #define bfin_read_DMA6_X_COUNT() bfin_read16(DMA6_X_COUNT) |
575 | #define bfin_write_DMA6_X_COUNT(val) bfin_write16(DMA6_X_COUNT, val) | 571 | #define bfin_write_DMA6_X_COUNT(val) bfin_write16(DMA6_X_COUNT, val) |
576 | #define bfin_read_DMA6_X_MODIFY() bfin_read16(DMA6_X_MODIFY) | 572 | #define bfin_read_DMA6_X_MODIFY() bfin_read16(DMA6_X_MODIFY) |
577 | #define bfin_write_DMA6_X_MODIFY(val) bfin_write16(DMA6_X_MODIFY) | 573 | #define bfin_write_DMA6_X_MODIFY(val) bfin_write16(DMA6_X_MODIFY, val) |
578 | #define bfin_read_DMA6_Y_COUNT() bfin_read16(DMA6_Y_COUNT) | 574 | #define bfin_read_DMA6_Y_COUNT() bfin_read16(DMA6_Y_COUNT) |
579 | #define bfin_write_DMA6_Y_COUNT(val) bfin_write16(DMA6_Y_COUNT, val) | 575 | #define bfin_write_DMA6_Y_COUNT(val) bfin_write16(DMA6_Y_COUNT, val) |
580 | #define bfin_read_DMA6_Y_MODIFY() bfin_read16(DMA6_Y_MODIFY) | 576 | #define bfin_read_DMA6_Y_MODIFY() bfin_read16(DMA6_Y_MODIFY) |
581 | #define bfin_write_DMA6_Y_MODIFY(val) bfin_write16(DMA6_Y_MODIFY) | 577 | #define bfin_write_DMA6_Y_MODIFY(val) bfin_write16(DMA6_Y_MODIFY, val) |
582 | #define bfin_read_DMA6_CURR_DESC_PTR() bfin_read32(DMA6_CURR_DESC_PTR) | 578 | #define bfin_read_DMA6_CURR_DESC_PTR() bfin_read32(DMA6_CURR_DESC_PTR) |
583 | #define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_write32(DMA6_CURR_DESC_PTR) | 579 | #define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_write32(DMA6_CURR_DESC_PTR, val) |
584 | #define bfin_read_DMA6_CURR_ADDR() bfin_read32(DMA6_CURR_ADDR) | 580 | #define bfin_read_DMA6_CURR_ADDR() bfin_read32(DMA6_CURR_ADDR) |
585 | #define bfin_write_DMA6_CURR_ADDR(val) bfin_write32(DMA6_CURR_ADDR) | 581 | #define bfin_write_DMA6_CURR_ADDR(val) bfin_write32(DMA6_CURR_ADDR, val) |
586 | #define bfin_read_DMA6_IRQ_STATUS() bfin_read16(DMA6_IRQ_STATUS) | 582 | #define bfin_read_DMA6_IRQ_STATUS() bfin_read16(DMA6_IRQ_STATUS) |
587 | #define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS, val) | 583 | #define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS, val) |
588 | #define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP) | 584 | #define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP) |
@@ -595,23 +591,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
595 | /* DMA Channel 7 Registers */ | 591 | /* DMA Channel 7 Registers */ |
596 | 592 | ||
597 | #define bfin_read_DMA7_NEXT_DESC_PTR() bfin_read32(DMA7_NEXT_DESC_PTR) | 593 | #define bfin_read_DMA7_NEXT_DESC_PTR() bfin_read32(DMA7_NEXT_DESC_PTR) |
598 | #define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_write32(DMA7_NEXT_DESC_PTR) | 594 | #define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_write32(DMA7_NEXT_DESC_PTR, val) |
599 | #define bfin_read_DMA7_START_ADDR() bfin_read32(DMA7_START_ADDR) | 595 | #define bfin_read_DMA7_START_ADDR() bfin_read32(DMA7_START_ADDR) |
600 | #define bfin_write_DMA7_START_ADDR(val) bfin_write32(DMA7_START_ADDR) | 596 | #define bfin_write_DMA7_START_ADDR(val) bfin_write32(DMA7_START_ADDR, val) |
601 | #define bfin_read_DMA7_CONFIG() bfin_read16(DMA7_CONFIG) | 597 | #define bfin_read_DMA7_CONFIG() bfin_read16(DMA7_CONFIG) |
602 | #define bfin_write_DMA7_CONFIG(val) bfin_write16(DMA7_CONFIG, val) | 598 | #define bfin_write_DMA7_CONFIG(val) bfin_write16(DMA7_CONFIG, val) |
603 | #define bfin_read_DMA7_X_COUNT() bfin_read16(DMA7_X_COUNT) | 599 | #define bfin_read_DMA7_X_COUNT() bfin_read16(DMA7_X_COUNT) |
604 | #define bfin_write_DMA7_X_COUNT(val) bfin_write16(DMA7_X_COUNT, val) | 600 | #define bfin_write_DMA7_X_COUNT(val) bfin_write16(DMA7_X_COUNT, val) |
605 | #define bfin_read_DMA7_X_MODIFY() bfin_read16(DMA7_X_MODIFY) | 601 | #define bfin_read_DMA7_X_MODIFY() bfin_read16(DMA7_X_MODIFY) |
606 | #define bfin_write_DMA7_X_MODIFY(val) bfin_write16(DMA7_X_MODIFY) | 602 | #define bfin_write_DMA7_X_MODIFY(val) bfin_write16(DMA7_X_MODIFY, val) |
607 | #define bfin_read_DMA7_Y_COUNT() bfin_read16(DMA7_Y_COUNT) | 603 | #define bfin_read_DMA7_Y_COUNT() bfin_read16(DMA7_Y_COUNT) |
608 | #define bfin_write_DMA7_Y_COUNT(val) bfin_write16(DMA7_Y_COUNT, val) | 604 | #define bfin_write_DMA7_Y_COUNT(val) bfin_write16(DMA7_Y_COUNT, val) |
609 | #define bfin_read_DMA7_Y_MODIFY() bfin_read16(DMA7_Y_MODIFY) | 605 | #define bfin_read_DMA7_Y_MODIFY() bfin_read16(DMA7_Y_MODIFY) |
610 | #define bfin_write_DMA7_Y_MODIFY(val) bfin_write16(DMA7_Y_MODIFY) | 606 | #define bfin_write_DMA7_Y_MODIFY(val) bfin_write16(DMA7_Y_MODIFY, val) |
611 | #define bfin_read_DMA7_CURR_DESC_PTR() bfin_read32(DMA7_CURR_DESC_PTR) | 607 | #define bfin_read_DMA7_CURR_DESC_PTR() bfin_read32(DMA7_CURR_DESC_PTR) |
612 | #define bfin_write_DMA7_CURR_DESC_PTR(val) bfin_write32(DMA7_CURR_DESC_PTR) | 608 | #define bfin_write_DMA7_CURR_DESC_PTR(val) bfin_write32(DMA7_CURR_DESC_PTR, val) |
613 | #define bfin_read_DMA7_CURR_ADDR() bfin_read32(DMA7_CURR_ADDR) | 609 | #define bfin_read_DMA7_CURR_ADDR() bfin_read32(DMA7_CURR_ADDR) |
614 | #define bfin_write_DMA7_CURR_ADDR(val) bfin_write32(DMA7_CURR_ADDR) | 610 | #define bfin_write_DMA7_CURR_ADDR(val) bfin_write32(DMA7_CURR_ADDR, val) |
615 | #define bfin_read_DMA7_IRQ_STATUS() bfin_read16(DMA7_IRQ_STATUS) | 611 | #define bfin_read_DMA7_IRQ_STATUS() bfin_read16(DMA7_IRQ_STATUS) |
616 | #define bfin_write_DMA7_IRQ_STATUS(val) bfin_write16(DMA7_IRQ_STATUS, val) | 612 | #define bfin_write_DMA7_IRQ_STATUS(val) bfin_write16(DMA7_IRQ_STATUS, val) |
617 | #define bfin_read_DMA7_PERIPHERAL_MAP() bfin_read16(DMA7_PERIPHERAL_MAP) | 613 | #define bfin_read_DMA7_PERIPHERAL_MAP() bfin_read16(DMA7_PERIPHERAL_MAP) |
@@ -624,23 +620,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
624 | /* DMA Channel 8 Registers */ | 620 | /* DMA Channel 8 Registers */ |
625 | 621 | ||
626 | #define bfin_read_DMA8_NEXT_DESC_PTR() bfin_read32(DMA8_NEXT_DESC_PTR) | 622 | #define bfin_read_DMA8_NEXT_DESC_PTR() bfin_read32(DMA8_NEXT_DESC_PTR) |
627 | #define bfin_write_DMA8_NEXT_DESC_PTR(val) bfin_write32(DMA8_NEXT_DESC_PTR) | 623 | #define bfin_write_DMA8_NEXT_DESC_PTR(val) bfin_write32(DMA8_NEXT_DESC_PTR, val) |
628 | #define bfin_read_DMA8_START_ADDR() bfin_read32(DMA8_START_ADDR) | 624 | #define bfin_read_DMA8_START_ADDR() bfin_read32(DMA8_START_ADDR) |
629 | #define bfin_write_DMA8_START_ADDR(val) bfin_write32(DMA8_START_ADDR) | 625 | #define bfin_write_DMA8_START_ADDR(val) bfin_write32(DMA8_START_ADDR, val) |
630 | #define bfin_read_DMA8_CONFIG() bfin_read16(DMA8_CONFIG) | 626 | #define bfin_read_DMA8_CONFIG() bfin_read16(DMA8_CONFIG) |
631 | #define bfin_write_DMA8_CONFIG(val) bfin_write16(DMA8_CONFIG, val) | 627 | #define bfin_write_DMA8_CONFIG(val) bfin_write16(DMA8_CONFIG, val) |
632 | #define bfin_read_DMA8_X_COUNT() bfin_read16(DMA8_X_COUNT) | 628 | #define bfin_read_DMA8_X_COUNT() bfin_read16(DMA8_X_COUNT) |
633 | #define bfin_write_DMA8_X_COUNT(val) bfin_write16(DMA8_X_COUNT, val) | 629 | #define bfin_write_DMA8_X_COUNT(val) bfin_write16(DMA8_X_COUNT, val) |
634 | #define bfin_read_DMA8_X_MODIFY() bfin_read16(DMA8_X_MODIFY) | 630 | #define bfin_read_DMA8_X_MODIFY() bfin_read16(DMA8_X_MODIFY) |
635 | #define bfin_write_DMA8_X_MODIFY(val) bfin_write16(DMA8_X_MODIFY) | 631 | #define bfin_write_DMA8_X_MODIFY(val) bfin_write16(DMA8_X_MODIFY, val) |
636 | #define bfin_read_DMA8_Y_COUNT() bfin_read16(DMA8_Y_COUNT) | 632 | #define bfin_read_DMA8_Y_COUNT() bfin_read16(DMA8_Y_COUNT) |
637 | #define bfin_write_DMA8_Y_COUNT(val) bfin_write16(DMA8_Y_COUNT, val) | 633 | #define bfin_write_DMA8_Y_COUNT(val) bfin_write16(DMA8_Y_COUNT, val) |
638 | #define bfin_read_DMA8_Y_MODIFY() bfin_read16(DMA8_Y_MODIFY) | 634 | #define bfin_read_DMA8_Y_MODIFY() bfin_read16(DMA8_Y_MODIFY) |
639 | #define bfin_write_DMA8_Y_MODIFY(val) bfin_write16(DMA8_Y_MODIFY) | 635 | #define bfin_write_DMA8_Y_MODIFY(val) bfin_write16(DMA8_Y_MODIFY, val) |
640 | #define bfin_read_DMA8_CURR_DESC_PTR() bfin_read32(DMA8_CURR_DESC_PTR) | 636 | #define bfin_read_DMA8_CURR_DESC_PTR() bfin_read32(DMA8_CURR_DESC_PTR) |
641 | #define bfin_write_DMA8_CURR_DESC_PTR(val) bfin_write32(DMA8_CURR_DESC_PTR) | 637 | #define bfin_write_DMA8_CURR_DESC_PTR(val) bfin_write32(DMA8_CURR_DESC_PTR, val) |
642 | #define bfin_read_DMA8_CURR_ADDR() bfin_read32(DMA8_CURR_ADDR) | 638 | #define bfin_read_DMA8_CURR_ADDR() bfin_read32(DMA8_CURR_ADDR) |
643 | #define bfin_write_DMA8_CURR_ADDR(val) bfin_write32(DMA8_CURR_ADDR) | 639 | #define bfin_write_DMA8_CURR_ADDR(val) bfin_write32(DMA8_CURR_ADDR, val) |
644 | #define bfin_read_DMA8_IRQ_STATUS() bfin_read16(DMA8_IRQ_STATUS) | 640 | #define bfin_read_DMA8_IRQ_STATUS() bfin_read16(DMA8_IRQ_STATUS) |
645 | #define bfin_write_DMA8_IRQ_STATUS(val) bfin_write16(DMA8_IRQ_STATUS, val) | 641 | #define bfin_write_DMA8_IRQ_STATUS(val) bfin_write16(DMA8_IRQ_STATUS, val) |
646 | #define bfin_read_DMA8_PERIPHERAL_MAP() bfin_read16(DMA8_PERIPHERAL_MAP) | 642 | #define bfin_read_DMA8_PERIPHERAL_MAP() bfin_read16(DMA8_PERIPHERAL_MAP) |
@@ -653,23 +649,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
653 | /* DMA Channel 9 Registers */ | 649 | /* DMA Channel 9 Registers */ |
654 | 650 | ||
655 | #define bfin_read_DMA9_NEXT_DESC_PTR() bfin_read32(DMA9_NEXT_DESC_PTR) | 651 | #define bfin_read_DMA9_NEXT_DESC_PTR() bfin_read32(DMA9_NEXT_DESC_PTR) |
656 | #define bfin_write_DMA9_NEXT_DESC_PTR(val) bfin_write32(DMA9_NEXT_DESC_PTR) | 652 | #define bfin_write_DMA9_NEXT_DESC_PTR(val) bfin_write32(DMA9_NEXT_DESC_PTR, val) |
657 | #define bfin_read_DMA9_START_ADDR() bfin_read32(DMA9_START_ADDR) | 653 | #define bfin_read_DMA9_START_ADDR() bfin_read32(DMA9_START_ADDR) |
658 | #define bfin_write_DMA9_START_ADDR(val) bfin_write32(DMA9_START_ADDR) | 654 | #define bfin_write_DMA9_START_ADDR(val) bfin_write32(DMA9_START_ADDR, val) |
659 | #define bfin_read_DMA9_CONFIG() bfin_read16(DMA9_CONFIG) | 655 | #define bfin_read_DMA9_CONFIG() bfin_read16(DMA9_CONFIG) |
660 | #define bfin_write_DMA9_CONFIG(val) bfin_write16(DMA9_CONFIG, val) | 656 | #define bfin_write_DMA9_CONFIG(val) bfin_write16(DMA9_CONFIG, val) |
661 | #define bfin_read_DMA9_X_COUNT() bfin_read16(DMA9_X_COUNT) | 657 | #define bfin_read_DMA9_X_COUNT() bfin_read16(DMA9_X_COUNT) |
662 | #define bfin_write_DMA9_X_COUNT(val) bfin_write16(DMA9_X_COUNT, val) | 658 | #define bfin_write_DMA9_X_COUNT(val) bfin_write16(DMA9_X_COUNT, val) |
663 | #define bfin_read_DMA9_X_MODIFY() bfin_read16(DMA9_X_MODIFY) | 659 | #define bfin_read_DMA9_X_MODIFY() bfin_read16(DMA9_X_MODIFY) |
664 | #define bfin_write_DMA9_X_MODIFY(val) bfin_write16(DMA9_X_MODIFY) | 660 | #define bfin_write_DMA9_X_MODIFY(val) bfin_write16(DMA9_X_MODIFY, val) |
665 | #define bfin_read_DMA9_Y_COUNT() bfin_read16(DMA9_Y_COUNT) | 661 | #define bfin_read_DMA9_Y_COUNT() bfin_read16(DMA9_Y_COUNT) |
666 | #define bfin_write_DMA9_Y_COUNT(val) bfin_write16(DMA9_Y_COUNT, val) | 662 | #define bfin_write_DMA9_Y_COUNT(val) bfin_write16(DMA9_Y_COUNT, val) |
667 | #define bfin_read_DMA9_Y_MODIFY() bfin_read16(DMA9_Y_MODIFY) | 663 | #define bfin_read_DMA9_Y_MODIFY() bfin_read16(DMA9_Y_MODIFY) |
668 | #define bfin_write_DMA9_Y_MODIFY(val) bfin_write16(DMA9_Y_MODIFY) | 664 | #define bfin_write_DMA9_Y_MODIFY(val) bfin_write16(DMA9_Y_MODIFY, val) |
669 | #define bfin_read_DMA9_CURR_DESC_PTR() bfin_read32(DMA9_CURR_DESC_PTR) | 665 | #define bfin_read_DMA9_CURR_DESC_PTR() bfin_read32(DMA9_CURR_DESC_PTR) |
670 | #define bfin_write_DMA9_CURR_DESC_PTR(val) bfin_write32(DMA9_CURR_DESC_PTR) | 666 | #define bfin_write_DMA9_CURR_DESC_PTR(val) bfin_write32(DMA9_CURR_DESC_PTR, val) |
671 | #define bfin_read_DMA9_CURR_ADDR() bfin_read32(DMA9_CURR_ADDR) | 667 | #define bfin_read_DMA9_CURR_ADDR() bfin_read32(DMA9_CURR_ADDR) |
672 | #define bfin_write_DMA9_CURR_ADDR(val) bfin_write32(DMA9_CURR_ADDR) | 668 | #define bfin_write_DMA9_CURR_ADDR(val) bfin_write32(DMA9_CURR_ADDR, val) |
673 | #define bfin_read_DMA9_IRQ_STATUS() bfin_read16(DMA9_IRQ_STATUS) | 669 | #define bfin_read_DMA9_IRQ_STATUS() bfin_read16(DMA9_IRQ_STATUS) |
674 | #define bfin_write_DMA9_IRQ_STATUS(val) bfin_write16(DMA9_IRQ_STATUS, val) | 670 | #define bfin_write_DMA9_IRQ_STATUS(val) bfin_write16(DMA9_IRQ_STATUS, val) |
675 | #define bfin_read_DMA9_PERIPHERAL_MAP() bfin_read16(DMA9_PERIPHERAL_MAP) | 671 | #define bfin_read_DMA9_PERIPHERAL_MAP() bfin_read16(DMA9_PERIPHERAL_MAP) |
@@ -682,23 +678,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
682 | /* DMA Channel 10 Registers */ | 678 | /* DMA Channel 10 Registers */ |
683 | 679 | ||
684 | #define bfin_read_DMA10_NEXT_DESC_PTR() bfin_read32(DMA10_NEXT_DESC_PTR) | 680 | #define bfin_read_DMA10_NEXT_DESC_PTR() bfin_read32(DMA10_NEXT_DESC_PTR) |
685 | #define bfin_write_DMA10_NEXT_DESC_PTR(val) bfin_write32(DMA10_NEXT_DESC_PTR) | 681 | #define bfin_write_DMA10_NEXT_DESC_PTR(val) bfin_write32(DMA10_NEXT_DESC_PTR, val) |
686 | #define bfin_read_DMA10_START_ADDR() bfin_read32(DMA10_START_ADDR) | 682 | #define bfin_read_DMA10_START_ADDR() bfin_read32(DMA10_START_ADDR) |
687 | #define bfin_write_DMA10_START_ADDR(val) bfin_write32(DMA10_START_ADDR) | 683 | #define bfin_write_DMA10_START_ADDR(val) bfin_write32(DMA10_START_ADDR, val) |
688 | #define bfin_read_DMA10_CONFIG() bfin_read16(DMA10_CONFIG) | 684 | #define bfin_read_DMA10_CONFIG() bfin_read16(DMA10_CONFIG) |
689 | #define bfin_write_DMA10_CONFIG(val) bfin_write16(DMA10_CONFIG, val) | 685 | #define bfin_write_DMA10_CONFIG(val) bfin_write16(DMA10_CONFIG, val) |
690 | #define bfin_read_DMA10_X_COUNT() bfin_read16(DMA10_X_COUNT) | 686 | #define bfin_read_DMA10_X_COUNT() bfin_read16(DMA10_X_COUNT) |
691 | #define bfin_write_DMA10_X_COUNT(val) bfin_write16(DMA10_X_COUNT, val) | 687 | #define bfin_write_DMA10_X_COUNT(val) bfin_write16(DMA10_X_COUNT, val) |
692 | #define bfin_read_DMA10_X_MODIFY() bfin_read16(DMA10_X_MODIFY) | 688 | #define bfin_read_DMA10_X_MODIFY() bfin_read16(DMA10_X_MODIFY) |
693 | #define bfin_write_DMA10_X_MODIFY(val) bfin_write16(DMA10_X_MODIFY) | 689 | #define bfin_write_DMA10_X_MODIFY(val) bfin_write16(DMA10_X_MODIFY, val) |
694 | #define bfin_read_DMA10_Y_COUNT() bfin_read16(DMA10_Y_COUNT) | 690 | #define bfin_read_DMA10_Y_COUNT() bfin_read16(DMA10_Y_COUNT) |
695 | #define bfin_write_DMA10_Y_COUNT(val) bfin_write16(DMA10_Y_COUNT, val) | 691 | #define bfin_write_DMA10_Y_COUNT(val) bfin_write16(DMA10_Y_COUNT, val) |
696 | #define bfin_read_DMA10_Y_MODIFY() bfin_read16(DMA10_Y_MODIFY) | 692 | #define bfin_read_DMA10_Y_MODIFY() bfin_read16(DMA10_Y_MODIFY) |
697 | #define bfin_write_DMA10_Y_MODIFY(val) bfin_write16(DMA10_Y_MODIFY) | 693 | #define bfin_write_DMA10_Y_MODIFY(val) bfin_write16(DMA10_Y_MODIFY, val) |
698 | #define bfin_read_DMA10_CURR_DESC_PTR() bfin_read32(DMA10_CURR_DESC_PTR) | 694 | #define bfin_read_DMA10_CURR_DESC_PTR() bfin_read32(DMA10_CURR_DESC_PTR) |
699 | #define bfin_write_DMA10_CURR_DESC_PTR(val) bfin_write32(DMA10_CURR_DESC_PTR) | 695 | #define bfin_write_DMA10_CURR_DESC_PTR(val) bfin_write32(DMA10_CURR_DESC_PTR, val) |
700 | #define bfin_read_DMA10_CURR_ADDR() bfin_read32(DMA10_CURR_ADDR) | 696 | #define bfin_read_DMA10_CURR_ADDR() bfin_read32(DMA10_CURR_ADDR) |
701 | #define bfin_write_DMA10_CURR_ADDR(val) bfin_write32(DMA10_CURR_ADDR) | 697 | #define bfin_write_DMA10_CURR_ADDR(val) bfin_write32(DMA10_CURR_ADDR, val) |
702 | #define bfin_read_DMA10_IRQ_STATUS() bfin_read16(DMA10_IRQ_STATUS) | 698 | #define bfin_read_DMA10_IRQ_STATUS() bfin_read16(DMA10_IRQ_STATUS) |
703 | #define bfin_write_DMA10_IRQ_STATUS(val) bfin_write16(DMA10_IRQ_STATUS, val) | 699 | #define bfin_write_DMA10_IRQ_STATUS(val) bfin_write16(DMA10_IRQ_STATUS, val) |
704 | #define bfin_read_DMA10_PERIPHERAL_MAP() bfin_read16(DMA10_PERIPHERAL_MAP) | 700 | #define bfin_read_DMA10_PERIPHERAL_MAP() bfin_read16(DMA10_PERIPHERAL_MAP) |
@@ -711,23 +707,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
711 | /* DMA Channel 11 Registers */ | 707 | /* DMA Channel 11 Registers */ |
712 | 708 | ||
713 | #define bfin_read_DMA11_NEXT_DESC_PTR() bfin_read32(DMA11_NEXT_DESC_PTR) | 709 | #define bfin_read_DMA11_NEXT_DESC_PTR() bfin_read32(DMA11_NEXT_DESC_PTR) |
714 | #define bfin_write_DMA11_NEXT_DESC_PTR(val) bfin_write32(DMA11_NEXT_DESC_PTR) | 710 | #define bfin_write_DMA11_NEXT_DESC_PTR(val) bfin_write32(DMA11_NEXT_DESC_PTR, val) |
715 | #define bfin_read_DMA11_START_ADDR() bfin_read32(DMA11_START_ADDR) | 711 | #define bfin_read_DMA11_START_ADDR() bfin_read32(DMA11_START_ADDR) |
716 | #define bfin_write_DMA11_START_ADDR(val) bfin_write32(DMA11_START_ADDR) | 712 | #define bfin_write_DMA11_START_ADDR(val) bfin_write32(DMA11_START_ADDR, val) |
717 | #define bfin_read_DMA11_CONFIG() bfin_read16(DMA11_CONFIG) | 713 | #define bfin_read_DMA11_CONFIG() bfin_read16(DMA11_CONFIG) |
718 | #define bfin_write_DMA11_CONFIG(val) bfin_write16(DMA11_CONFIG, val) | 714 | #define bfin_write_DMA11_CONFIG(val) bfin_write16(DMA11_CONFIG, val) |
719 | #define bfin_read_DMA11_X_COUNT() bfin_read16(DMA11_X_COUNT) | 715 | #define bfin_read_DMA11_X_COUNT() bfin_read16(DMA11_X_COUNT) |
720 | #define bfin_write_DMA11_X_COUNT(val) bfin_write16(DMA11_X_COUNT, val) | 716 | #define bfin_write_DMA11_X_COUNT(val) bfin_write16(DMA11_X_COUNT, val) |
721 | #define bfin_read_DMA11_X_MODIFY() bfin_read16(DMA11_X_MODIFY) | 717 | #define bfin_read_DMA11_X_MODIFY() bfin_read16(DMA11_X_MODIFY) |
722 | #define bfin_write_DMA11_X_MODIFY(val) bfin_write16(DMA11_X_MODIFY) | 718 | #define bfin_write_DMA11_X_MODIFY(val) bfin_write16(DMA11_X_MODIFY, val) |
723 | #define bfin_read_DMA11_Y_COUNT() bfin_read16(DMA11_Y_COUNT) | 719 | #define bfin_read_DMA11_Y_COUNT() bfin_read16(DMA11_Y_COUNT) |
724 | #define bfin_write_DMA11_Y_COUNT(val) bfin_write16(DMA11_Y_COUNT, val) | 720 | #define bfin_write_DMA11_Y_COUNT(val) bfin_write16(DMA11_Y_COUNT, val) |
725 | #define bfin_read_DMA11_Y_MODIFY() bfin_read16(DMA11_Y_MODIFY) | 721 | #define bfin_read_DMA11_Y_MODIFY() bfin_read16(DMA11_Y_MODIFY) |
726 | #define bfin_write_DMA11_Y_MODIFY(val) bfin_write16(DMA11_Y_MODIFY) | 722 | #define bfin_write_DMA11_Y_MODIFY(val) bfin_write16(DMA11_Y_MODIFY, val) |
727 | #define bfin_read_DMA11_CURR_DESC_PTR() bfin_read32(DMA11_CURR_DESC_PTR) | 723 | #define bfin_read_DMA11_CURR_DESC_PTR() bfin_read32(DMA11_CURR_DESC_PTR) |
728 | #define bfin_write_DMA11_CURR_DESC_PTR(val) bfin_write32(DMA11_CURR_DESC_PTR) | 724 | #define bfin_write_DMA11_CURR_DESC_PTR(val) bfin_write32(DMA11_CURR_DESC_PTR, val) |
729 | #define bfin_read_DMA11_CURR_ADDR() bfin_read32(DMA11_CURR_ADDR) | 725 | #define bfin_read_DMA11_CURR_ADDR() bfin_read32(DMA11_CURR_ADDR) |
730 | #define bfin_write_DMA11_CURR_ADDR(val) bfin_write32(DMA11_CURR_ADDR) | 726 | #define bfin_write_DMA11_CURR_ADDR(val) bfin_write32(DMA11_CURR_ADDR, val) |
731 | #define bfin_read_DMA11_IRQ_STATUS() bfin_read16(DMA11_IRQ_STATUS) | 727 | #define bfin_read_DMA11_IRQ_STATUS() bfin_read16(DMA11_IRQ_STATUS) |
732 | #define bfin_write_DMA11_IRQ_STATUS(val) bfin_write16(DMA11_IRQ_STATUS, val) | 728 | #define bfin_write_DMA11_IRQ_STATUS(val) bfin_write16(DMA11_IRQ_STATUS, val) |
733 | #define bfin_read_DMA11_PERIPHERAL_MAP() bfin_read16(DMA11_PERIPHERAL_MAP) | 729 | #define bfin_read_DMA11_PERIPHERAL_MAP() bfin_read16(DMA11_PERIPHERAL_MAP) |
@@ -740,7 +736,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
740 | /* MDMA Stream 0 Registers */ | 736 | /* MDMA Stream 0 Registers */ |
741 | 737 | ||
742 | #define bfin_read_MDMA_D0_NEXT_DESC_PTR() bfin_read32(MDMA_D0_NEXT_DESC_PTR) | 738 | #define bfin_read_MDMA_D0_NEXT_DESC_PTR() bfin_read32(MDMA_D0_NEXT_DESC_PTR) |
743 | #define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) bfin_write32(MDMA_D0_NEXT_DESC_PTR) | 739 | #define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) bfin_write32(MDMA_D0_NEXT_DESC_PTR, val) |
744 | #define bfin_read_MDMA_D0_START_ADDR() bfin_read32(MDMA_D0_START_ADDR) | 740 | #define bfin_read_MDMA_D0_START_ADDR() bfin_read32(MDMA_D0_START_ADDR) |
745 | #define bfin_write_MDMA_D0_START_ADDR(val) bfin_write32(MDMA_D0_START_ADDR, val) | 741 | #define bfin_write_MDMA_D0_START_ADDR(val) bfin_write32(MDMA_D0_START_ADDR, val) |
746 | #define bfin_read_MDMA_D0_CONFIG() bfin_read16(MDMA_D0_CONFIG) | 742 | #define bfin_read_MDMA_D0_CONFIG() bfin_read16(MDMA_D0_CONFIG) |
@@ -803,11 +799,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
803 | #define bfin_read_MDMA_D1_X_COUNT() bfin_read16(MDMA_D1_X_COUNT) | 799 | #define bfin_read_MDMA_D1_X_COUNT() bfin_read16(MDMA_D1_X_COUNT) |
804 | #define bfin_write_MDMA_D1_X_COUNT(val) bfin_write16(MDMA_D1_X_COUNT, val) | 800 | #define bfin_write_MDMA_D1_X_COUNT(val) bfin_write16(MDMA_D1_X_COUNT, val) |
805 | #define bfin_read_MDMA_D1_X_MODIFY() bfin_read16(MDMA_D1_X_MODIFY) | 801 | #define bfin_read_MDMA_D1_X_MODIFY() bfin_read16(MDMA_D1_X_MODIFY) |
806 | #define bfin_write_MDMA_D1_X_MODIFY(val) bfin_write16(MDMA_D1_X_MODIFY) | 802 | #define bfin_write_MDMA_D1_X_MODIFY(val) bfin_write16(MDMA_D1_X_MODIFY, val) |
807 | #define bfin_read_MDMA_D1_Y_COUNT() bfin_read16(MDMA_D1_Y_COUNT) | 803 | #define bfin_read_MDMA_D1_Y_COUNT() bfin_read16(MDMA_D1_Y_COUNT) |
808 | #define bfin_write_MDMA_D1_Y_COUNT(val) bfin_write16(MDMA_D1_Y_COUNT, val) | 804 | #define bfin_write_MDMA_D1_Y_COUNT(val) bfin_write16(MDMA_D1_Y_COUNT, val) |
809 | #define bfin_read_MDMA_D1_Y_MODIFY() bfin_read16(MDMA_D1_Y_MODIFY) | 805 | #define bfin_read_MDMA_D1_Y_MODIFY() bfin_read16(MDMA_D1_Y_MODIFY) |
810 | #define bfin_write_MDMA_D1_Y_MODIFY(val) bfin_write16(MDMA_D1_Y_MODIFY) | 806 | #define bfin_write_MDMA_D1_Y_MODIFY(val) bfin_write16(MDMA_D1_Y_MODIFY, val) |
811 | #define bfin_read_MDMA_D1_CURR_DESC_PTR() bfin_read32(MDMA_D1_CURR_DESC_PTR) | 807 | #define bfin_read_MDMA_D1_CURR_DESC_PTR() bfin_read32(MDMA_D1_CURR_DESC_PTR) |
812 | #define bfin_write_MDMA_D1_CURR_DESC_PTR(val) bfin_write32(MDMA_D1_CURR_DESC_PTR, val) | 808 | #define bfin_write_MDMA_D1_CURR_DESC_PTR(val) bfin_write32(MDMA_D1_CURR_DESC_PTR, val) |
813 | #define bfin_read_MDMA_D1_CURR_ADDR() bfin_read32(MDMA_D1_CURR_ADDR) | 809 | #define bfin_read_MDMA_D1_CURR_ADDR() bfin_read32(MDMA_D1_CURR_ADDR) |
@@ -829,11 +825,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
829 | #define bfin_read_MDMA_S1_X_COUNT() bfin_read16(MDMA_S1_X_COUNT) | 825 | #define bfin_read_MDMA_S1_X_COUNT() bfin_read16(MDMA_S1_X_COUNT) |
830 | #define bfin_write_MDMA_S1_X_COUNT(val) bfin_write16(MDMA_S1_X_COUNT, val) | 826 | #define bfin_write_MDMA_S1_X_COUNT(val) bfin_write16(MDMA_S1_X_COUNT, val) |
831 | #define bfin_read_MDMA_S1_X_MODIFY() bfin_read16(MDMA_S1_X_MODIFY) | 827 | #define bfin_read_MDMA_S1_X_MODIFY() bfin_read16(MDMA_S1_X_MODIFY) |
832 | #define bfin_write_MDMA_S1_X_MODIFY(val) bfin_write16(MDMA_S1_X_MODIFY) | 828 | #define bfin_write_MDMA_S1_X_MODIFY(val) bfin_write16(MDMA_S1_X_MODIFY, val) |
833 | #define bfin_read_MDMA_S1_Y_COUNT() bfin_read16(MDMA_S1_Y_COUNT) | 829 | #define bfin_read_MDMA_S1_Y_COUNT() bfin_read16(MDMA_S1_Y_COUNT) |
834 | #define bfin_write_MDMA_S1_Y_COUNT(val) bfin_write16(MDMA_S1_Y_COUNT, val) | 830 | #define bfin_write_MDMA_S1_Y_COUNT(val) bfin_write16(MDMA_S1_Y_COUNT, val) |
835 | #define bfin_read_MDMA_S1_Y_MODIFY() bfin_read16(MDMA_S1_Y_MODIFY) | 831 | #define bfin_read_MDMA_S1_Y_MODIFY() bfin_read16(MDMA_S1_Y_MODIFY) |
836 | #define bfin_write_MDMA_S1_Y_MODIFY(val) bfin_write16(MDMA_S1_Y_MODIFY) | 832 | #define bfin_write_MDMA_S1_Y_MODIFY(val) bfin_write16(MDMA_S1_Y_MODIFY, val) |
837 | #define bfin_read_MDMA_S1_CURR_DESC_PTR() bfin_read32(MDMA_S1_CURR_DESC_PTR) | 833 | #define bfin_read_MDMA_S1_CURR_DESC_PTR() bfin_read32(MDMA_S1_CURR_DESC_PTR) |
838 | #define bfin_write_MDMA_S1_CURR_DESC_PTR(val) bfin_write32(MDMA_S1_CURR_DESC_PTR, val) | 834 | #define bfin_write_MDMA_S1_CURR_DESC_PTR(val) bfin_write32(MDMA_S1_CURR_DESC_PTR, val) |
839 | #define bfin_read_MDMA_S1_CURR_ADDR() bfin_read32(MDMA_S1_CURR_ADDR) | 835 | #define bfin_read_MDMA_S1_CURR_ADDR() bfin_read32(MDMA_S1_CURR_ADDR) |
@@ -1246,23 +1242,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1246 | /* DMA Channel 12 Registers */ | 1242 | /* DMA Channel 12 Registers */ |
1247 | 1243 | ||
1248 | #define bfin_read_DMA12_NEXT_DESC_PTR() bfin_read32(DMA12_NEXT_DESC_PTR) | 1244 | #define bfin_read_DMA12_NEXT_DESC_PTR() bfin_read32(DMA12_NEXT_DESC_PTR) |
1249 | #define bfin_write_DMA12_NEXT_DESC_PTR(val) bfin_write32(DMA12_NEXT_DESC_PTR) | 1245 | #define bfin_write_DMA12_NEXT_DESC_PTR(val) bfin_write32(DMA12_NEXT_DESC_PTR, val) |
1250 | #define bfin_read_DMA12_START_ADDR() bfin_read32(DMA12_START_ADDR) | 1246 | #define bfin_read_DMA12_START_ADDR() bfin_read32(DMA12_START_ADDR) |
1251 | #define bfin_write_DMA12_START_ADDR(val) bfin_write32(DMA12_START_ADDR) | 1247 | #define bfin_write_DMA12_START_ADDR(val) bfin_write32(DMA12_START_ADDR, val) |
1252 | #define bfin_read_DMA12_CONFIG() bfin_read16(DMA12_CONFIG) | 1248 | #define bfin_read_DMA12_CONFIG() bfin_read16(DMA12_CONFIG) |
1253 | #define bfin_write_DMA12_CONFIG(val) bfin_write16(DMA12_CONFIG, val) | 1249 | #define bfin_write_DMA12_CONFIG(val) bfin_write16(DMA12_CONFIG, val) |
1254 | #define bfin_read_DMA12_X_COUNT() bfin_read16(DMA12_X_COUNT) | 1250 | #define bfin_read_DMA12_X_COUNT() bfin_read16(DMA12_X_COUNT) |
1255 | #define bfin_write_DMA12_X_COUNT(val) bfin_write16(DMA12_X_COUNT, val) | 1251 | #define bfin_write_DMA12_X_COUNT(val) bfin_write16(DMA12_X_COUNT, val) |
1256 | #define bfin_read_DMA12_X_MODIFY() bfin_read16(DMA12_X_MODIFY) | 1252 | #define bfin_read_DMA12_X_MODIFY() bfin_read16(DMA12_X_MODIFY) |
1257 | #define bfin_write_DMA12_X_MODIFY(val) bfin_write16(DMA12_X_MODIFY) | 1253 | #define bfin_write_DMA12_X_MODIFY(val) bfin_write16(DMA12_X_MODIFY, val) |
1258 | #define bfin_read_DMA12_Y_COUNT() bfin_read16(DMA12_Y_COUNT) | 1254 | #define bfin_read_DMA12_Y_COUNT() bfin_read16(DMA12_Y_COUNT) |
1259 | #define bfin_write_DMA12_Y_COUNT(val) bfin_write16(DMA12_Y_COUNT, val) | 1255 | #define bfin_write_DMA12_Y_COUNT(val) bfin_write16(DMA12_Y_COUNT, val) |
1260 | #define bfin_read_DMA12_Y_MODIFY() bfin_read16(DMA12_Y_MODIFY) | 1256 | #define bfin_read_DMA12_Y_MODIFY() bfin_read16(DMA12_Y_MODIFY) |
1261 | #define bfin_write_DMA12_Y_MODIFY(val) bfin_write16(DMA12_Y_MODIFY) | 1257 | #define bfin_write_DMA12_Y_MODIFY(val) bfin_write16(DMA12_Y_MODIFY, val) |
1262 | #define bfin_read_DMA12_CURR_DESC_PTR() bfin_read32(DMA12_CURR_DESC_PTR) | 1258 | #define bfin_read_DMA12_CURR_DESC_PTR() bfin_read32(DMA12_CURR_DESC_PTR) |
1263 | #define bfin_write_DMA12_CURR_DESC_PTR(val) bfin_write32(DMA12_CURR_DESC_PTR) | 1259 | #define bfin_write_DMA12_CURR_DESC_PTR(val) bfin_write32(DMA12_CURR_DESC_PTR, val) |
1264 | #define bfin_read_DMA12_CURR_ADDR() bfin_read32(DMA12_CURR_ADDR) | 1260 | #define bfin_read_DMA12_CURR_ADDR() bfin_read32(DMA12_CURR_ADDR) |
1265 | #define bfin_write_DMA12_CURR_ADDR(val) bfin_write32(DMA12_CURR_ADDR) | 1261 | #define bfin_write_DMA12_CURR_ADDR(val) bfin_write32(DMA12_CURR_ADDR, val) |
1266 | #define bfin_read_DMA12_IRQ_STATUS() bfin_read16(DMA12_IRQ_STATUS) | 1262 | #define bfin_read_DMA12_IRQ_STATUS() bfin_read16(DMA12_IRQ_STATUS) |
1267 | #define bfin_write_DMA12_IRQ_STATUS(val) bfin_write16(DMA12_IRQ_STATUS, val) | 1263 | #define bfin_write_DMA12_IRQ_STATUS(val) bfin_write16(DMA12_IRQ_STATUS, val) |
1268 | #define bfin_read_DMA12_PERIPHERAL_MAP() bfin_read16(DMA12_PERIPHERAL_MAP) | 1264 | #define bfin_read_DMA12_PERIPHERAL_MAP() bfin_read16(DMA12_PERIPHERAL_MAP) |
@@ -1275,23 +1271,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1275 | /* DMA Channel 13 Registers */ | 1271 | /* DMA Channel 13 Registers */ |
1276 | 1272 | ||
1277 | #define bfin_read_DMA13_NEXT_DESC_PTR() bfin_read32(DMA13_NEXT_DESC_PTR) | 1273 | #define bfin_read_DMA13_NEXT_DESC_PTR() bfin_read32(DMA13_NEXT_DESC_PTR) |
1278 | #define bfin_write_DMA13_NEXT_DESC_PTR(val) bfin_write32(DMA13_NEXT_DESC_PTR) | 1274 | #define bfin_write_DMA13_NEXT_DESC_PTR(val) bfin_write32(DMA13_NEXT_DESC_PTR, val) |
1279 | #define bfin_read_DMA13_START_ADDR() bfin_read32(DMA13_START_ADDR) | 1275 | #define bfin_read_DMA13_START_ADDR() bfin_read32(DMA13_START_ADDR) |
1280 | #define bfin_write_DMA13_START_ADDR(val) bfin_write32(DMA13_START_ADDR) | 1276 | #define bfin_write_DMA13_START_ADDR(val) bfin_write32(DMA13_START_ADDR, val) |
1281 | #define bfin_read_DMA13_CONFIG() bfin_read16(DMA13_CONFIG) | 1277 | #define bfin_read_DMA13_CONFIG() bfin_read16(DMA13_CONFIG) |
1282 | #define bfin_write_DMA13_CONFIG(val) bfin_write16(DMA13_CONFIG, val) | 1278 | #define bfin_write_DMA13_CONFIG(val) bfin_write16(DMA13_CONFIG, val) |
1283 | #define bfin_read_DMA13_X_COUNT() bfin_read16(DMA13_X_COUNT) | 1279 | #define bfin_read_DMA13_X_COUNT() bfin_read16(DMA13_X_COUNT) |
1284 | #define bfin_write_DMA13_X_COUNT(val) bfin_write16(DMA13_X_COUNT, val) | 1280 | #define bfin_write_DMA13_X_COUNT(val) bfin_write16(DMA13_X_COUNT, val) |
1285 | #define bfin_read_DMA13_X_MODIFY() bfin_read16(DMA13_X_MODIFY) | 1281 | #define bfin_read_DMA13_X_MODIFY() bfin_read16(DMA13_X_MODIFY) |
1286 | #define bfin_write_DMA13_X_MODIFY(val) bfin_write16(DMA13_X_MODIFY) | 1282 | #define bfin_write_DMA13_X_MODIFY(val) bfin_write16(DMA13_X_MODIFY, val) |
1287 | #define bfin_read_DMA13_Y_COUNT() bfin_read16(DMA13_Y_COUNT) | 1283 | #define bfin_read_DMA13_Y_COUNT() bfin_read16(DMA13_Y_COUNT) |
1288 | #define bfin_write_DMA13_Y_COUNT(val) bfin_write16(DMA13_Y_COUNT, val) | 1284 | #define bfin_write_DMA13_Y_COUNT(val) bfin_write16(DMA13_Y_COUNT, val) |
1289 | #define bfin_read_DMA13_Y_MODIFY() bfin_read16(DMA13_Y_MODIFY) | 1285 | #define bfin_read_DMA13_Y_MODIFY() bfin_read16(DMA13_Y_MODIFY) |
1290 | #define bfin_write_DMA13_Y_MODIFY(val) bfin_write16(DMA13_Y_MODIFY) | 1286 | #define bfin_write_DMA13_Y_MODIFY(val) bfin_write16(DMA13_Y_MODIFY, val) |
1291 | #define bfin_read_DMA13_CURR_DESC_PTR() bfin_read32(DMA13_CURR_DESC_PTR) | 1287 | #define bfin_read_DMA13_CURR_DESC_PTR() bfin_read32(DMA13_CURR_DESC_PTR) |
1292 | #define bfin_write_DMA13_CURR_DESC_PTR(val) bfin_write32(DMA13_CURR_DESC_PTR) | 1288 | #define bfin_write_DMA13_CURR_DESC_PTR(val) bfin_write32(DMA13_CURR_DESC_PTR, val) |
1293 | #define bfin_read_DMA13_CURR_ADDR() bfin_read32(DMA13_CURR_ADDR) | 1289 | #define bfin_read_DMA13_CURR_ADDR() bfin_read32(DMA13_CURR_ADDR) |
1294 | #define bfin_write_DMA13_CURR_ADDR(val) bfin_write32(DMA13_CURR_ADDR) | 1290 | #define bfin_write_DMA13_CURR_ADDR(val) bfin_write32(DMA13_CURR_ADDR, val) |
1295 | #define bfin_read_DMA13_IRQ_STATUS() bfin_read16(DMA13_IRQ_STATUS) | 1291 | #define bfin_read_DMA13_IRQ_STATUS() bfin_read16(DMA13_IRQ_STATUS) |
1296 | #define bfin_write_DMA13_IRQ_STATUS(val) bfin_write16(DMA13_IRQ_STATUS, val) | 1292 | #define bfin_write_DMA13_IRQ_STATUS(val) bfin_write16(DMA13_IRQ_STATUS, val) |
1297 | #define bfin_read_DMA13_PERIPHERAL_MAP() bfin_read16(DMA13_PERIPHERAL_MAP) | 1293 | #define bfin_read_DMA13_PERIPHERAL_MAP() bfin_read16(DMA13_PERIPHERAL_MAP) |
@@ -1304,23 +1300,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1304 | /* DMA Channel 14 Registers */ | 1300 | /* DMA Channel 14 Registers */ |
1305 | 1301 | ||
1306 | #define bfin_read_DMA14_NEXT_DESC_PTR() bfin_read32(DMA14_NEXT_DESC_PTR) | 1302 | #define bfin_read_DMA14_NEXT_DESC_PTR() bfin_read32(DMA14_NEXT_DESC_PTR) |
1307 | #define bfin_write_DMA14_NEXT_DESC_PTR(val) bfin_write32(DMA14_NEXT_DESC_PTR) | 1303 | #define bfin_write_DMA14_NEXT_DESC_PTR(val) bfin_write32(DMA14_NEXT_DESC_PTR, val) |
1308 | #define bfin_read_DMA14_START_ADDR() bfin_read32(DMA14_START_ADDR) | 1304 | #define bfin_read_DMA14_START_ADDR() bfin_read32(DMA14_START_ADDR) |
1309 | #define bfin_write_DMA14_START_ADDR(val) bfin_write32(DMA14_START_ADDR) | 1305 | #define bfin_write_DMA14_START_ADDR(val) bfin_write32(DMA14_START_ADDR, val) |
1310 | #define bfin_read_DMA14_CONFIG() bfin_read16(DMA14_CONFIG) | 1306 | #define bfin_read_DMA14_CONFIG() bfin_read16(DMA14_CONFIG) |
1311 | #define bfin_write_DMA14_CONFIG(val) bfin_write16(DMA14_CONFIG, val) | 1307 | #define bfin_write_DMA14_CONFIG(val) bfin_write16(DMA14_CONFIG, val) |
1312 | #define bfin_read_DMA14_X_COUNT() bfin_read16(DMA14_X_COUNT) | 1308 | #define bfin_read_DMA14_X_COUNT() bfin_read16(DMA14_X_COUNT) |
1313 | #define bfin_write_DMA14_X_COUNT(val) bfin_write16(DMA14_X_COUNT, val) | 1309 | #define bfin_write_DMA14_X_COUNT(val) bfin_write16(DMA14_X_COUNT, val) |
1314 | #define bfin_read_DMA14_X_MODIFY() bfin_read16(DMA14_X_MODIFY) | 1310 | #define bfin_read_DMA14_X_MODIFY() bfin_read16(DMA14_X_MODIFY) |
1315 | #define bfin_write_DMA14_X_MODIFY(val) bfin_write16(DMA14_X_MODIFY) | 1311 | #define bfin_write_DMA14_X_MODIFY(val) bfin_write16(DMA14_X_MODIFY, val) |
1316 | #define bfin_read_DMA14_Y_COUNT() bfin_read16(DMA14_Y_COUNT) | 1312 | #define bfin_read_DMA14_Y_COUNT() bfin_read16(DMA14_Y_COUNT) |
1317 | #define bfin_write_DMA14_Y_COUNT(val) bfin_write16(DMA14_Y_COUNT, val) | 1313 | #define bfin_write_DMA14_Y_COUNT(val) bfin_write16(DMA14_Y_COUNT, val) |
1318 | #define bfin_read_DMA14_Y_MODIFY() bfin_read16(DMA14_Y_MODIFY) | 1314 | #define bfin_read_DMA14_Y_MODIFY() bfin_read16(DMA14_Y_MODIFY) |
1319 | #define bfin_write_DMA14_Y_MODIFY(val) bfin_write16(DMA14_Y_MODIFY) | 1315 | #define bfin_write_DMA14_Y_MODIFY(val) bfin_write16(DMA14_Y_MODIFY, val) |
1320 | #define bfin_read_DMA14_CURR_DESC_PTR() bfin_read32(DMA14_CURR_DESC_PTR) | 1316 | #define bfin_read_DMA14_CURR_DESC_PTR() bfin_read32(DMA14_CURR_DESC_PTR) |
1321 | #define bfin_write_DMA14_CURR_DESC_PTR(val) bfin_write32(DMA14_CURR_DESC_PTR) | 1317 | #define bfin_write_DMA14_CURR_DESC_PTR(val) bfin_write32(DMA14_CURR_DESC_PTR, val) |
1322 | #define bfin_read_DMA14_CURR_ADDR() bfin_read32(DMA14_CURR_ADDR) | 1318 | #define bfin_read_DMA14_CURR_ADDR() bfin_read32(DMA14_CURR_ADDR) |
1323 | #define bfin_write_DMA14_CURR_ADDR(val) bfin_write32(DMA14_CURR_ADDR) | 1319 | #define bfin_write_DMA14_CURR_ADDR(val) bfin_write32(DMA14_CURR_ADDR, val) |
1324 | #define bfin_read_DMA14_IRQ_STATUS() bfin_read16(DMA14_IRQ_STATUS) | 1320 | #define bfin_read_DMA14_IRQ_STATUS() bfin_read16(DMA14_IRQ_STATUS) |
1325 | #define bfin_write_DMA14_IRQ_STATUS(val) bfin_write16(DMA14_IRQ_STATUS, val) | 1321 | #define bfin_write_DMA14_IRQ_STATUS(val) bfin_write16(DMA14_IRQ_STATUS, val) |
1326 | #define bfin_read_DMA14_PERIPHERAL_MAP() bfin_read16(DMA14_PERIPHERAL_MAP) | 1322 | #define bfin_read_DMA14_PERIPHERAL_MAP() bfin_read16(DMA14_PERIPHERAL_MAP) |
@@ -1333,23 +1329,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1333 | /* DMA Channel 15 Registers */ | 1329 | /* DMA Channel 15 Registers */ |
1334 | 1330 | ||
1335 | #define bfin_read_DMA15_NEXT_DESC_PTR() bfin_read32(DMA15_NEXT_DESC_PTR) | 1331 | #define bfin_read_DMA15_NEXT_DESC_PTR() bfin_read32(DMA15_NEXT_DESC_PTR) |
1336 | #define bfin_write_DMA15_NEXT_DESC_PTR(val) bfin_write32(DMA15_NEXT_DESC_PTR) | 1332 | #define bfin_write_DMA15_NEXT_DESC_PTR(val) bfin_write32(DMA15_NEXT_DESC_PTR, val) |
1337 | #define bfin_read_DMA15_START_ADDR() bfin_read32(DMA15_START_ADDR) | 1333 | #define bfin_read_DMA15_START_ADDR() bfin_read32(DMA15_START_ADDR) |
1338 | #define bfin_write_DMA15_START_ADDR(val) bfin_write32(DMA15_START_ADDR) | 1334 | #define bfin_write_DMA15_START_ADDR(val) bfin_write32(DMA15_START_ADDR, val) |
1339 | #define bfin_read_DMA15_CONFIG() bfin_read16(DMA15_CONFIG) | 1335 | #define bfin_read_DMA15_CONFIG() bfin_read16(DMA15_CONFIG) |
1340 | #define bfin_write_DMA15_CONFIG(val) bfin_write16(DMA15_CONFIG, val) | 1336 | #define bfin_write_DMA15_CONFIG(val) bfin_write16(DMA15_CONFIG, val) |
1341 | #define bfin_read_DMA15_X_COUNT() bfin_read16(DMA15_X_COUNT) | 1337 | #define bfin_read_DMA15_X_COUNT() bfin_read16(DMA15_X_COUNT) |
1342 | #define bfin_write_DMA15_X_COUNT(val) bfin_write16(DMA15_X_COUNT, val) | 1338 | #define bfin_write_DMA15_X_COUNT(val) bfin_write16(DMA15_X_COUNT, val) |
1343 | #define bfin_read_DMA15_X_MODIFY() bfin_read16(DMA15_X_MODIFY) | 1339 | #define bfin_read_DMA15_X_MODIFY() bfin_read16(DMA15_X_MODIFY) |
1344 | #define bfin_write_DMA15_X_MODIFY(val) bfin_write16(DMA15_X_MODIFY) | 1340 | #define bfin_write_DMA15_X_MODIFY(val) bfin_write16(DMA15_X_MODIFY, val) |
1345 | #define bfin_read_DMA15_Y_COUNT() bfin_read16(DMA15_Y_COUNT) | 1341 | #define bfin_read_DMA15_Y_COUNT() bfin_read16(DMA15_Y_COUNT) |
1346 | #define bfin_write_DMA15_Y_COUNT(val) bfin_write16(DMA15_Y_COUNT, val) | 1342 | #define bfin_write_DMA15_Y_COUNT(val) bfin_write16(DMA15_Y_COUNT, val) |
1347 | #define bfin_read_DMA15_Y_MODIFY() bfin_read16(DMA15_Y_MODIFY) | 1343 | #define bfin_read_DMA15_Y_MODIFY() bfin_read16(DMA15_Y_MODIFY) |
1348 | #define bfin_write_DMA15_Y_MODIFY(val) bfin_write16(DMA15_Y_MODIFY) | 1344 | #define bfin_write_DMA15_Y_MODIFY(val) bfin_write16(DMA15_Y_MODIFY, val) |
1349 | #define bfin_read_DMA15_CURR_DESC_PTR() bfin_read32(DMA15_CURR_DESC_PTR) | 1345 | #define bfin_read_DMA15_CURR_DESC_PTR() bfin_read32(DMA15_CURR_DESC_PTR) |
1350 | #define bfin_write_DMA15_CURR_DESC_PTR(val) bfin_write32(DMA15_CURR_DESC_PTR) | 1346 | #define bfin_write_DMA15_CURR_DESC_PTR(val) bfin_write32(DMA15_CURR_DESC_PTR, val) |
1351 | #define bfin_read_DMA15_CURR_ADDR() bfin_read32(DMA15_CURR_ADDR) | 1347 | #define bfin_read_DMA15_CURR_ADDR() bfin_read32(DMA15_CURR_ADDR) |
1352 | #define bfin_write_DMA15_CURR_ADDR(val) bfin_write32(DMA15_CURR_ADDR) | 1348 | #define bfin_write_DMA15_CURR_ADDR(val) bfin_write32(DMA15_CURR_ADDR, val) |
1353 | #define bfin_read_DMA15_IRQ_STATUS() bfin_read16(DMA15_IRQ_STATUS) | 1349 | #define bfin_read_DMA15_IRQ_STATUS() bfin_read16(DMA15_IRQ_STATUS) |
1354 | #define bfin_write_DMA15_IRQ_STATUS(val) bfin_write16(DMA15_IRQ_STATUS, val) | 1350 | #define bfin_write_DMA15_IRQ_STATUS(val) bfin_write16(DMA15_IRQ_STATUS, val) |
1355 | #define bfin_read_DMA15_PERIPHERAL_MAP() bfin_read16(DMA15_PERIPHERAL_MAP) | 1351 | #define bfin_read_DMA15_PERIPHERAL_MAP() bfin_read16(DMA15_PERIPHERAL_MAP) |
@@ -1362,23 +1358,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1362 | /* DMA Channel 16 Registers */ | 1358 | /* DMA Channel 16 Registers */ |
1363 | 1359 | ||
1364 | #define bfin_read_DMA16_NEXT_DESC_PTR() bfin_read32(DMA16_NEXT_DESC_PTR) | 1360 | #define bfin_read_DMA16_NEXT_DESC_PTR() bfin_read32(DMA16_NEXT_DESC_PTR) |
1365 | #define bfin_write_DMA16_NEXT_DESC_PTR(val) bfin_write32(DMA16_NEXT_DESC_PTR) | 1361 | #define bfin_write_DMA16_NEXT_DESC_PTR(val) bfin_write32(DMA16_NEXT_DESC_PTR, val) |
1366 | #define bfin_read_DMA16_START_ADDR() bfin_read32(DMA16_START_ADDR) | 1362 | #define bfin_read_DMA16_START_ADDR() bfin_read32(DMA16_START_ADDR) |
1367 | #define bfin_write_DMA16_START_ADDR(val) bfin_write32(DMA16_START_ADDR) | 1363 | #define bfin_write_DMA16_START_ADDR(val) bfin_write32(DMA16_START_ADDR, val) |
1368 | #define bfin_read_DMA16_CONFIG() bfin_read16(DMA16_CONFIG) | 1364 | #define bfin_read_DMA16_CONFIG() bfin_read16(DMA16_CONFIG) |
1369 | #define bfin_write_DMA16_CONFIG(val) bfin_write16(DMA16_CONFIG, val) | 1365 | #define bfin_write_DMA16_CONFIG(val) bfin_write16(DMA16_CONFIG, val) |
1370 | #define bfin_read_DMA16_X_COUNT() bfin_read16(DMA16_X_COUNT) | 1366 | #define bfin_read_DMA16_X_COUNT() bfin_read16(DMA16_X_COUNT) |
1371 | #define bfin_write_DMA16_X_COUNT(val) bfin_write16(DMA16_X_COUNT, val) | 1367 | #define bfin_write_DMA16_X_COUNT(val) bfin_write16(DMA16_X_COUNT, val) |
1372 | #define bfin_read_DMA16_X_MODIFY() bfin_read16(DMA16_X_MODIFY) | 1368 | #define bfin_read_DMA16_X_MODIFY() bfin_read16(DMA16_X_MODIFY) |
1373 | #define bfin_write_DMA16_X_MODIFY(val) bfin_write16(DMA16_X_MODIFY) | 1369 | #define bfin_write_DMA16_X_MODIFY(val) bfin_write16(DMA16_X_MODIFY, val) |
1374 | #define bfin_read_DMA16_Y_COUNT() bfin_read16(DMA16_Y_COUNT) | 1370 | #define bfin_read_DMA16_Y_COUNT() bfin_read16(DMA16_Y_COUNT) |
1375 | #define bfin_write_DMA16_Y_COUNT(val) bfin_write16(DMA16_Y_COUNT, val) | 1371 | #define bfin_write_DMA16_Y_COUNT(val) bfin_write16(DMA16_Y_COUNT, val) |
1376 | #define bfin_read_DMA16_Y_MODIFY() bfin_read16(DMA16_Y_MODIFY) | 1372 | #define bfin_read_DMA16_Y_MODIFY() bfin_read16(DMA16_Y_MODIFY) |
1377 | #define bfin_write_DMA16_Y_MODIFY(val) bfin_write16(DMA16_Y_MODIFY) | 1373 | #define bfin_write_DMA16_Y_MODIFY(val) bfin_write16(DMA16_Y_MODIFY, val) |
1378 | #define bfin_read_DMA16_CURR_DESC_PTR() bfin_read32(DMA16_CURR_DESC_PTR) | 1374 | #define bfin_read_DMA16_CURR_DESC_PTR() bfin_read32(DMA16_CURR_DESC_PTR) |
1379 | #define bfin_write_DMA16_CURR_DESC_PTR(val) bfin_write32(DMA16_CURR_DESC_PTR) | 1375 | #define bfin_write_DMA16_CURR_DESC_PTR(val) bfin_write32(DMA16_CURR_DESC_PTR, val) |
1380 | #define bfin_read_DMA16_CURR_ADDR() bfin_read32(DMA16_CURR_ADDR) | 1376 | #define bfin_read_DMA16_CURR_ADDR() bfin_read32(DMA16_CURR_ADDR) |
1381 | #define bfin_write_DMA16_CURR_ADDR(val) bfin_write32(DMA16_CURR_ADDR) | 1377 | #define bfin_write_DMA16_CURR_ADDR(val) bfin_write32(DMA16_CURR_ADDR, val) |
1382 | #define bfin_read_DMA16_IRQ_STATUS() bfin_read16(DMA16_IRQ_STATUS) | 1378 | #define bfin_read_DMA16_IRQ_STATUS() bfin_read16(DMA16_IRQ_STATUS) |
1383 | #define bfin_write_DMA16_IRQ_STATUS(val) bfin_write16(DMA16_IRQ_STATUS, val) | 1379 | #define bfin_write_DMA16_IRQ_STATUS(val) bfin_write16(DMA16_IRQ_STATUS, val) |
1384 | #define bfin_read_DMA16_PERIPHERAL_MAP() bfin_read16(DMA16_PERIPHERAL_MAP) | 1380 | #define bfin_read_DMA16_PERIPHERAL_MAP() bfin_read16(DMA16_PERIPHERAL_MAP) |
@@ -1391,23 +1387,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1391 | /* DMA Channel 17 Registers */ | 1387 | /* DMA Channel 17 Registers */ |
1392 | 1388 | ||
1393 | #define bfin_read_DMA17_NEXT_DESC_PTR() bfin_read32(DMA17_NEXT_DESC_PTR) | 1389 | #define bfin_read_DMA17_NEXT_DESC_PTR() bfin_read32(DMA17_NEXT_DESC_PTR) |
1394 | #define bfin_write_DMA17_NEXT_DESC_PTR(val) bfin_write32(DMA17_NEXT_DESC_PTR) | 1390 | #define bfin_write_DMA17_NEXT_DESC_PTR(val) bfin_write32(DMA17_NEXT_DESC_PTR, val) |
1395 | #define bfin_read_DMA17_START_ADDR() bfin_read32(DMA17_START_ADDR) | 1391 | #define bfin_read_DMA17_START_ADDR() bfin_read32(DMA17_START_ADDR) |
1396 | #define bfin_write_DMA17_START_ADDR(val) bfin_write32(DMA17_START_ADDR) | 1392 | #define bfin_write_DMA17_START_ADDR(val) bfin_write32(DMA17_START_ADDR, val) |
1397 | #define bfin_read_DMA17_CONFIG() bfin_read16(DMA17_CONFIG) | 1393 | #define bfin_read_DMA17_CONFIG() bfin_read16(DMA17_CONFIG) |
1398 | #define bfin_write_DMA17_CONFIG(val) bfin_write16(DMA17_CONFIG, val) | 1394 | #define bfin_write_DMA17_CONFIG(val) bfin_write16(DMA17_CONFIG, val) |
1399 | #define bfin_read_DMA17_X_COUNT() bfin_read16(DMA17_X_COUNT) | 1395 | #define bfin_read_DMA17_X_COUNT() bfin_read16(DMA17_X_COUNT) |
1400 | #define bfin_write_DMA17_X_COUNT(val) bfin_write16(DMA17_X_COUNT, val) | 1396 | #define bfin_write_DMA17_X_COUNT(val) bfin_write16(DMA17_X_COUNT, val) |
1401 | #define bfin_read_DMA17_X_MODIFY() bfin_read16(DMA17_X_MODIFY) | 1397 | #define bfin_read_DMA17_X_MODIFY() bfin_read16(DMA17_X_MODIFY) |
1402 | #define bfin_write_DMA17_X_MODIFY(val) bfin_write16(DMA17_X_MODIFY) | 1398 | #define bfin_write_DMA17_X_MODIFY(val) bfin_write16(DMA17_X_MODIFY, val) |
1403 | #define bfin_read_DMA17_Y_COUNT() bfin_read16(DMA17_Y_COUNT) | 1399 | #define bfin_read_DMA17_Y_COUNT() bfin_read16(DMA17_Y_COUNT) |
1404 | #define bfin_write_DMA17_Y_COUNT(val) bfin_write16(DMA17_Y_COUNT, val) | 1400 | #define bfin_write_DMA17_Y_COUNT(val) bfin_write16(DMA17_Y_COUNT, val) |
1405 | #define bfin_read_DMA17_Y_MODIFY() bfin_read16(DMA17_Y_MODIFY) | 1401 | #define bfin_read_DMA17_Y_MODIFY() bfin_read16(DMA17_Y_MODIFY) |
1406 | #define bfin_write_DMA17_Y_MODIFY(val) bfin_write16(DMA17_Y_MODIFY) | 1402 | #define bfin_write_DMA17_Y_MODIFY(val) bfin_write16(DMA17_Y_MODIFY, val) |
1407 | #define bfin_read_DMA17_CURR_DESC_PTR() bfin_read32(DMA17_CURR_DESC_PTR) | 1403 | #define bfin_read_DMA17_CURR_DESC_PTR() bfin_read32(DMA17_CURR_DESC_PTR) |
1408 | #define bfin_write_DMA17_CURR_DESC_PTR(val) bfin_write32(DMA17_CURR_DESC_PTR) | 1404 | #define bfin_write_DMA17_CURR_DESC_PTR(val) bfin_write32(DMA17_CURR_DESC_PTR, val) |
1409 | #define bfin_read_DMA17_CURR_ADDR() bfin_read32(DMA17_CURR_ADDR) | 1405 | #define bfin_read_DMA17_CURR_ADDR() bfin_read32(DMA17_CURR_ADDR) |
1410 | #define bfin_write_DMA17_CURR_ADDR(val) bfin_write32(DMA17_CURR_ADDR) | 1406 | #define bfin_write_DMA17_CURR_ADDR(val) bfin_write32(DMA17_CURR_ADDR, val) |
1411 | #define bfin_read_DMA17_IRQ_STATUS() bfin_read16(DMA17_IRQ_STATUS) | 1407 | #define bfin_read_DMA17_IRQ_STATUS() bfin_read16(DMA17_IRQ_STATUS) |
1412 | #define bfin_write_DMA17_IRQ_STATUS(val) bfin_write16(DMA17_IRQ_STATUS, val) | 1408 | #define bfin_write_DMA17_IRQ_STATUS(val) bfin_write16(DMA17_IRQ_STATUS, val) |
1413 | #define bfin_read_DMA17_PERIPHERAL_MAP() bfin_read16(DMA17_PERIPHERAL_MAP) | 1409 | #define bfin_read_DMA17_PERIPHERAL_MAP() bfin_read16(DMA17_PERIPHERAL_MAP) |
@@ -1420,23 +1416,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1420 | /* DMA Channel 18 Registers */ | 1416 | /* DMA Channel 18 Registers */ |
1421 | 1417 | ||
1422 | #define bfin_read_DMA18_NEXT_DESC_PTR() bfin_read32(DMA18_NEXT_DESC_PTR) | 1418 | #define bfin_read_DMA18_NEXT_DESC_PTR() bfin_read32(DMA18_NEXT_DESC_PTR) |
1423 | #define bfin_write_DMA18_NEXT_DESC_PTR(val) bfin_write32(DMA18_NEXT_DESC_PTR) | 1419 | #define bfin_write_DMA18_NEXT_DESC_PTR(val) bfin_write32(DMA18_NEXT_DESC_PTR, val) |
1424 | #define bfin_read_DMA18_START_ADDR() bfin_read32(DMA18_START_ADDR) | 1420 | #define bfin_read_DMA18_START_ADDR() bfin_read32(DMA18_START_ADDR) |
1425 | #define bfin_write_DMA18_START_ADDR(val) bfin_write32(DMA18_START_ADDR) | 1421 | #define bfin_write_DMA18_START_ADDR(val) bfin_write32(DMA18_START_ADDR, val) |
1426 | #define bfin_read_DMA18_CONFIG() bfin_read16(DMA18_CONFIG) | 1422 | #define bfin_read_DMA18_CONFIG() bfin_read16(DMA18_CONFIG) |
1427 | #define bfin_write_DMA18_CONFIG(val) bfin_write16(DMA18_CONFIG, val) | 1423 | #define bfin_write_DMA18_CONFIG(val) bfin_write16(DMA18_CONFIG, val) |
1428 | #define bfin_read_DMA18_X_COUNT() bfin_read16(DMA18_X_COUNT) | 1424 | #define bfin_read_DMA18_X_COUNT() bfin_read16(DMA18_X_COUNT) |
1429 | #define bfin_write_DMA18_X_COUNT(val) bfin_write16(DMA18_X_COUNT, val) | 1425 | #define bfin_write_DMA18_X_COUNT(val) bfin_write16(DMA18_X_COUNT, val) |
1430 | #define bfin_read_DMA18_X_MODIFY() bfin_read16(DMA18_X_MODIFY) | 1426 | #define bfin_read_DMA18_X_MODIFY() bfin_read16(DMA18_X_MODIFY) |
1431 | #define bfin_write_DMA18_X_MODIFY(val) bfin_write16(DMA18_X_MODIFY) | 1427 | #define bfin_write_DMA18_X_MODIFY(val) bfin_write16(DMA18_X_MODIFY, val) |
1432 | #define bfin_read_DMA18_Y_COUNT() bfin_read16(DMA18_Y_COUNT) | 1428 | #define bfin_read_DMA18_Y_COUNT() bfin_read16(DMA18_Y_COUNT) |
1433 | #define bfin_write_DMA18_Y_COUNT(val) bfin_write16(DMA18_Y_COUNT, val) | 1429 | #define bfin_write_DMA18_Y_COUNT(val) bfin_write16(DMA18_Y_COUNT, val) |
1434 | #define bfin_read_DMA18_Y_MODIFY() bfin_read16(DMA18_Y_MODIFY) | 1430 | #define bfin_read_DMA18_Y_MODIFY() bfin_read16(DMA18_Y_MODIFY) |
1435 | #define bfin_write_DMA18_Y_MODIFY(val) bfin_write16(DMA18_Y_MODIFY) | 1431 | #define bfin_write_DMA18_Y_MODIFY(val) bfin_write16(DMA18_Y_MODIFY, val) |
1436 | #define bfin_read_DMA18_CURR_DESC_PTR() bfin_read32(DMA18_CURR_DESC_PTR) | 1432 | #define bfin_read_DMA18_CURR_DESC_PTR() bfin_read32(DMA18_CURR_DESC_PTR) |
1437 | #define bfin_write_DMA18_CURR_DESC_PTR(val) bfin_write32(DMA18_CURR_DESC_PTR) | 1433 | #define bfin_write_DMA18_CURR_DESC_PTR(val) bfin_write32(DMA18_CURR_DESC_PTR, val) |
1438 | #define bfin_read_DMA18_CURR_ADDR() bfin_read32(DMA18_CURR_ADDR) | 1434 | #define bfin_read_DMA18_CURR_ADDR() bfin_read32(DMA18_CURR_ADDR) |
1439 | #define bfin_write_DMA18_CURR_ADDR(val) bfin_write32(DMA18_CURR_ADDR) | 1435 | #define bfin_write_DMA18_CURR_ADDR(val) bfin_write32(DMA18_CURR_ADDR, val) |
1440 | #define bfin_read_DMA18_IRQ_STATUS() bfin_read16(DMA18_IRQ_STATUS) | 1436 | #define bfin_read_DMA18_IRQ_STATUS() bfin_read16(DMA18_IRQ_STATUS) |
1441 | #define bfin_write_DMA18_IRQ_STATUS(val) bfin_write16(DMA18_IRQ_STATUS, val) | 1437 | #define bfin_write_DMA18_IRQ_STATUS(val) bfin_write16(DMA18_IRQ_STATUS, val) |
1442 | #define bfin_read_DMA18_PERIPHERAL_MAP() bfin_read16(DMA18_PERIPHERAL_MAP) | 1438 | #define bfin_read_DMA18_PERIPHERAL_MAP() bfin_read16(DMA18_PERIPHERAL_MAP) |
@@ -1449,23 +1445,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1449 | /* DMA Channel 19 Registers */ | 1445 | /* DMA Channel 19 Registers */ |
1450 | 1446 | ||
1451 | #define bfin_read_DMA19_NEXT_DESC_PTR() bfin_read32(DMA19_NEXT_DESC_PTR) | 1447 | #define bfin_read_DMA19_NEXT_DESC_PTR() bfin_read32(DMA19_NEXT_DESC_PTR) |
1452 | #define bfin_write_DMA19_NEXT_DESC_PTR(val) bfin_write32(DMA19_NEXT_DESC_PTR) | 1448 | #define bfin_write_DMA19_NEXT_DESC_PTR(val) bfin_write32(DMA19_NEXT_DESC_PTR, val) |
1453 | #define bfin_read_DMA19_START_ADDR() bfin_read32(DMA19_START_ADDR) | 1449 | #define bfin_read_DMA19_START_ADDR() bfin_read32(DMA19_START_ADDR) |
1454 | #define bfin_write_DMA19_START_ADDR(val) bfin_write32(DMA19_START_ADDR) | 1450 | #define bfin_write_DMA19_START_ADDR(val) bfin_write32(DMA19_START_ADDR, val) |
1455 | #define bfin_read_DMA19_CONFIG() bfin_read16(DMA19_CONFIG) | 1451 | #define bfin_read_DMA19_CONFIG() bfin_read16(DMA19_CONFIG) |
1456 | #define bfin_write_DMA19_CONFIG(val) bfin_write16(DMA19_CONFIG, val) | 1452 | #define bfin_write_DMA19_CONFIG(val) bfin_write16(DMA19_CONFIG, val) |
1457 | #define bfin_read_DMA19_X_COUNT() bfin_read16(DMA19_X_COUNT) | 1453 | #define bfin_read_DMA19_X_COUNT() bfin_read16(DMA19_X_COUNT) |
1458 | #define bfin_write_DMA19_X_COUNT(val) bfin_write16(DMA19_X_COUNT, val) | 1454 | #define bfin_write_DMA19_X_COUNT(val) bfin_write16(DMA19_X_COUNT, val) |
1459 | #define bfin_read_DMA19_X_MODIFY() bfin_read16(DMA19_X_MODIFY) | 1455 | #define bfin_read_DMA19_X_MODIFY() bfin_read16(DMA19_X_MODIFY) |
1460 | #define bfin_write_DMA19_X_MODIFY(val) bfin_write16(DMA19_X_MODIFY) | 1456 | #define bfin_write_DMA19_X_MODIFY(val) bfin_write16(DMA19_X_MODIFY, val) |
1461 | #define bfin_read_DMA19_Y_COUNT() bfin_read16(DMA19_Y_COUNT) | 1457 | #define bfin_read_DMA19_Y_COUNT() bfin_read16(DMA19_Y_COUNT) |
1462 | #define bfin_write_DMA19_Y_COUNT(val) bfin_write16(DMA19_Y_COUNT, val) | 1458 | #define bfin_write_DMA19_Y_COUNT(val) bfin_write16(DMA19_Y_COUNT, val) |
1463 | #define bfin_read_DMA19_Y_MODIFY() bfin_read16(DMA19_Y_MODIFY) | 1459 | #define bfin_read_DMA19_Y_MODIFY() bfin_read16(DMA19_Y_MODIFY) |
1464 | #define bfin_write_DMA19_Y_MODIFY(val) bfin_write16(DMA19_Y_MODIFY) | 1460 | #define bfin_write_DMA19_Y_MODIFY(val) bfin_write16(DMA19_Y_MODIFY, val) |
1465 | #define bfin_read_DMA19_CURR_DESC_PTR() bfin_read32(DMA19_CURR_DESC_PTR) | 1461 | #define bfin_read_DMA19_CURR_DESC_PTR() bfin_read32(DMA19_CURR_DESC_PTR) |
1466 | #define bfin_write_DMA19_CURR_DESC_PTR(val) bfin_write32(DMA19_CURR_DESC_PTR) | 1462 | #define bfin_write_DMA19_CURR_DESC_PTR(val) bfin_write32(DMA19_CURR_DESC_PTR, val) |
1467 | #define bfin_read_DMA19_CURR_ADDR() bfin_read32(DMA19_CURR_ADDR) | 1463 | #define bfin_read_DMA19_CURR_ADDR() bfin_read32(DMA19_CURR_ADDR) |
1468 | #define bfin_write_DMA19_CURR_ADDR(val) bfin_write32(DMA19_CURR_ADDR) | 1464 | #define bfin_write_DMA19_CURR_ADDR(val) bfin_write32(DMA19_CURR_ADDR, val) |
1469 | #define bfin_read_DMA19_IRQ_STATUS() bfin_read16(DMA19_IRQ_STATUS) | 1465 | #define bfin_read_DMA19_IRQ_STATUS() bfin_read16(DMA19_IRQ_STATUS) |
1470 | #define bfin_write_DMA19_IRQ_STATUS(val) bfin_write16(DMA19_IRQ_STATUS, val) | 1466 | #define bfin_write_DMA19_IRQ_STATUS(val) bfin_write16(DMA19_IRQ_STATUS, val) |
1471 | #define bfin_read_DMA19_PERIPHERAL_MAP() bfin_read16(DMA19_PERIPHERAL_MAP) | 1467 | #define bfin_read_DMA19_PERIPHERAL_MAP() bfin_read16(DMA19_PERIPHERAL_MAP) |
@@ -1478,23 +1474,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1478 | /* DMA Channel 20 Registers */ | 1474 | /* DMA Channel 20 Registers */ |
1479 | 1475 | ||
1480 | #define bfin_read_DMA20_NEXT_DESC_PTR() bfin_read32(DMA20_NEXT_DESC_PTR) | 1476 | #define bfin_read_DMA20_NEXT_DESC_PTR() bfin_read32(DMA20_NEXT_DESC_PTR) |
1481 | #define bfin_write_DMA20_NEXT_DESC_PTR(val) bfin_write32(DMA20_NEXT_DESC_PTR) | 1477 | #define bfin_write_DMA20_NEXT_DESC_PTR(val) bfin_write32(DMA20_NEXT_DESC_PTR, val) |
1482 | #define bfin_read_DMA20_START_ADDR() bfin_read32(DMA20_START_ADDR) | 1478 | #define bfin_read_DMA20_START_ADDR() bfin_read32(DMA20_START_ADDR) |
1483 | #define bfin_write_DMA20_START_ADDR(val) bfin_write32(DMA20_START_ADDR) | 1479 | #define bfin_write_DMA20_START_ADDR(val) bfin_write32(DMA20_START_ADDR, val) |
1484 | #define bfin_read_DMA20_CONFIG() bfin_read16(DMA20_CONFIG) | 1480 | #define bfin_read_DMA20_CONFIG() bfin_read16(DMA20_CONFIG) |
1485 | #define bfin_write_DMA20_CONFIG(val) bfin_write16(DMA20_CONFIG, val) | 1481 | #define bfin_write_DMA20_CONFIG(val) bfin_write16(DMA20_CONFIG, val) |
1486 | #define bfin_read_DMA20_X_COUNT() bfin_read16(DMA20_X_COUNT) | 1482 | #define bfin_read_DMA20_X_COUNT() bfin_read16(DMA20_X_COUNT) |
1487 | #define bfin_write_DMA20_X_COUNT(val) bfin_write16(DMA20_X_COUNT, val) | 1483 | #define bfin_write_DMA20_X_COUNT(val) bfin_write16(DMA20_X_COUNT, val) |
1488 | #define bfin_read_DMA20_X_MODIFY() bfin_read16(DMA20_X_MODIFY) | 1484 | #define bfin_read_DMA20_X_MODIFY() bfin_read16(DMA20_X_MODIFY) |
1489 | #define bfin_write_DMA20_X_MODIFY(val) bfin_write16(DMA20_X_MODIFY) | 1485 | #define bfin_write_DMA20_X_MODIFY(val) bfin_write16(DMA20_X_MODIFY, val) |
1490 | #define bfin_read_DMA20_Y_COUNT() bfin_read16(DMA20_Y_COUNT) | 1486 | #define bfin_read_DMA20_Y_COUNT() bfin_read16(DMA20_Y_COUNT) |
1491 | #define bfin_write_DMA20_Y_COUNT(val) bfin_write16(DMA20_Y_COUNT, val) | 1487 | #define bfin_write_DMA20_Y_COUNT(val) bfin_write16(DMA20_Y_COUNT, val) |
1492 | #define bfin_read_DMA20_Y_MODIFY() bfin_read16(DMA20_Y_MODIFY) | 1488 | #define bfin_read_DMA20_Y_MODIFY() bfin_read16(DMA20_Y_MODIFY) |
1493 | #define bfin_write_DMA20_Y_MODIFY(val) bfin_write16(DMA20_Y_MODIFY) | 1489 | #define bfin_write_DMA20_Y_MODIFY(val) bfin_write16(DMA20_Y_MODIFY, val) |
1494 | #define bfin_read_DMA20_CURR_DESC_PTR() bfin_read32(DMA20_CURR_DESC_PTR) | 1490 | #define bfin_read_DMA20_CURR_DESC_PTR() bfin_read32(DMA20_CURR_DESC_PTR) |
1495 | #define bfin_write_DMA20_CURR_DESC_PTR(val) bfin_write32(DMA20_CURR_DESC_PTR) | 1491 | #define bfin_write_DMA20_CURR_DESC_PTR(val) bfin_write32(DMA20_CURR_DESC_PTR, val) |
1496 | #define bfin_read_DMA20_CURR_ADDR() bfin_read32(DMA20_CURR_ADDR) | 1492 | #define bfin_read_DMA20_CURR_ADDR() bfin_read32(DMA20_CURR_ADDR) |
1497 | #define bfin_write_DMA20_CURR_ADDR(val) bfin_write32(DMA20_CURR_ADDR) | 1493 | #define bfin_write_DMA20_CURR_ADDR(val) bfin_write32(DMA20_CURR_ADDR, val) |
1498 | #define bfin_read_DMA20_IRQ_STATUS() bfin_read16(DMA20_IRQ_STATUS) | 1494 | #define bfin_read_DMA20_IRQ_STATUS() bfin_read16(DMA20_IRQ_STATUS) |
1499 | #define bfin_write_DMA20_IRQ_STATUS(val) bfin_write16(DMA20_IRQ_STATUS, val) | 1495 | #define bfin_write_DMA20_IRQ_STATUS(val) bfin_write16(DMA20_IRQ_STATUS, val) |
1500 | #define bfin_read_DMA20_PERIPHERAL_MAP() bfin_read16(DMA20_PERIPHERAL_MAP) | 1496 | #define bfin_read_DMA20_PERIPHERAL_MAP() bfin_read16(DMA20_PERIPHERAL_MAP) |
@@ -1507,23 +1503,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1507 | /* DMA Channel 21 Registers */ | 1503 | /* DMA Channel 21 Registers */ |
1508 | 1504 | ||
1509 | #define bfin_read_DMA21_NEXT_DESC_PTR() bfin_read32(DMA21_NEXT_DESC_PTR) | 1505 | #define bfin_read_DMA21_NEXT_DESC_PTR() bfin_read32(DMA21_NEXT_DESC_PTR) |
1510 | #define bfin_write_DMA21_NEXT_DESC_PTR(val) bfin_write32(DMA21_NEXT_DESC_PTR) | 1506 | #define bfin_write_DMA21_NEXT_DESC_PTR(val) bfin_write32(DMA21_NEXT_DESC_PTR, val) |
1511 | #define bfin_read_DMA21_START_ADDR() bfin_read32(DMA21_START_ADDR) | 1507 | #define bfin_read_DMA21_START_ADDR() bfin_read32(DMA21_START_ADDR) |
1512 | #define bfin_write_DMA21_START_ADDR(val) bfin_write32(DMA21_START_ADDR) | 1508 | #define bfin_write_DMA21_START_ADDR(val) bfin_write32(DMA21_START_ADDR, val) |
1513 | #define bfin_read_DMA21_CONFIG() bfin_read16(DMA21_CONFIG) | 1509 | #define bfin_read_DMA21_CONFIG() bfin_read16(DMA21_CONFIG) |
1514 | #define bfin_write_DMA21_CONFIG(val) bfin_write16(DMA21_CONFIG, val) | 1510 | #define bfin_write_DMA21_CONFIG(val) bfin_write16(DMA21_CONFIG, val) |
1515 | #define bfin_read_DMA21_X_COUNT() bfin_read16(DMA21_X_COUNT) | 1511 | #define bfin_read_DMA21_X_COUNT() bfin_read16(DMA21_X_COUNT) |
1516 | #define bfin_write_DMA21_X_COUNT(val) bfin_write16(DMA21_X_COUNT, val) | 1512 | #define bfin_write_DMA21_X_COUNT(val) bfin_write16(DMA21_X_COUNT, val) |
1517 | #define bfin_read_DMA21_X_MODIFY() bfin_read16(DMA21_X_MODIFY) | 1513 | #define bfin_read_DMA21_X_MODIFY() bfin_read16(DMA21_X_MODIFY) |
1518 | #define bfin_write_DMA21_X_MODIFY(val) bfin_write16(DMA21_X_MODIFY) | 1514 | #define bfin_write_DMA21_X_MODIFY(val) bfin_write16(DMA21_X_MODIFY, val) |
1519 | #define bfin_read_DMA21_Y_COUNT() bfin_read16(DMA21_Y_COUNT) | 1515 | #define bfin_read_DMA21_Y_COUNT() bfin_read16(DMA21_Y_COUNT) |
1520 | #define bfin_write_DMA21_Y_COUNT(val) bfin_write16(DMA21_Y_COUNT, val) | 1516 | #define bfin_write_DMA21_Y_COUNT(val) bfin_write16(DMA21_Y_COUNT, val) |
1521 | #define bfin_read_DMA21_Y_MODIFY() bfin_read16(DMA21_Y_MODIFY) | 1517 | #define bfin_read_DMA21_Y_MODIFY() bfin_read16(DMA21_Y_MODIFY) |
1522 | #define bfin_write_DMA21_Y_MODIFY(val) bfin_write16(DMA21_Y_MODIFY) | 1518 | #define bfin_write_DMA21_Y_MODIFY(val) bfin_write16(DMA21_Y_MODIFY, val) |
1523 | #define bfin_read_DMA21_CURR_DESC_PTR() bfin_read32(DMA21_CURR_DESC_PTR) | 1519 | #define bfin_read_DMA21_CURR_DESC_PTR() bfin_read32(DMA21_CURR_DESC_PTR) |
1524 | #define bfin_write_DMA21_CURR_DESC_PTR(val) bfin_write32(DMA21_CURR_DESC_PTR) | 1520 | #define bfin_write_DMA21_CURR_DESC_PTR(val) bfin_write32(DMA21_CURR_DESC_PTR, val) |
1525 | #define bfin_read_DMA21_CURR_ADDR() bfin_read32(DMA21_CURR_ADDR) | 1521 | #define bfin_read_DMA21_CURR_ADDR() bfin_read32(DMA21_CURR_ADDR) |
1526 | #define bfin_write_DMA21_CURR_ADDR(val) bfin_write32(DMA21_CURR_ADDR) | 1522 | #define bfin_write_DMA21_CURR_ADDR(val) bfin_write32(DMA21_CURR_ADDR, val) |
1527 | #define bfin_read_DMA21_IRQ_STATUS() bfin_read16(DMA21_IRQ_STATUS) | 1523 | #define bfin_read_DMA21_IRQ_STATUS() bfin_read16(DMA21_IRQ_STATUS) |
1528 | #define bfin_write_DMA21_IRQ_STATUS(val) bfin_write16(DMA21_IRQ_STATUS, val) | 1524 | #define bfin_write_DMA21_IRQ_STATUS(val) bfin_write16(DMA21_IRQ_STATUS, val) |
1529 | #define bfin_read_DMA21_PERIPHERAL_MAP() bfin_read16(DMA21_PERIPHERAL_MAP) | 1525 | #define bfin_read_DMA21_PERIPHERAL_MAP() bfin_read16(DMA21_PERIPHERAL_MAP) |
@@ -1536,23 +1532,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1536 | /* DMA Channel 22 Registers */ | 1532 | /* DMA Channel 22 Registers */ |
1537 | 1533 | ||
1538 | #define bfin_read_DMA22_NEXT_DESC_PTR() bfin_read32(DMA22_NEXT_DESC_PTR) | 1534 | #define bfin_read_DMA22_NEXT_DESC_PTR() bfin_read32(DMA22_NEXT_DESC_PTR) |
1539 | #define bfin_write_DMA22_NEXT_DESC_PTR(val) bfin_write32(DMA22_NEXT_DESC_PTR) | 1535 | #define bfin_write_DMA22_NEXT_DESC_PTR(val) bfin_write32(DMA22_NEXT_DESC_PTR, val) |
1540 | #define bfin_read_DMA22_START_ADDR() bfin_read32(DMA22_START_ADDR) | 1536 | #define bfin_read_DMA22_START_ADDR() bfin_read32(DMA22_START_ADDR) |
1541 | #define bfin_write_DMA22_START_ADDR(val) bfin_write32(DMA22_START_ADDR) | 1537 | #define bfin_write_DMA22_START_ADDR(val) bfin_write32(DMA22_START_ADDR, val) |
1542 | #define bfin_read_DMA22_CONFIG() bfin_read16(DMA22_CONFIG) | 1538 | #define bfin_read_DMA22_CONFIG() bfin_read16(DMA22_CONFIG) |
1543 | #define bfin_write_DMA22_CONFIG(val) bfin_write16(DMA22_CONFIG, val) | 1539 | #define bfin_write_DMA22_CONFIG(val) bfin_write16(DMA22_CONFIG, val) |
1544 | #define bfin_read_DMA22_X_COUNT() bfin_read16(DMA22_X_COUNT) | 1540 | #define bfin_read_DMA22_X_COUNT() bfin_read16(DMA22_X_COUNT) |
1545 | #define bfin_write_DMA22_X_COUNT(val) bfin_write16(DMA22_X_COUNT, val) | 1541 | #define bfin_write_DMA22_X_COUNT(val) bfin_write16(DMA22_X_COUNT, val) |
1546 | #define bfin_read_DMA22_X_MODIFY() bfin_read16(DMA22_X_MODIFY) | 1542 | #define bfin_read_DMA22_X_MODIFY() bfin_read16(DMA22_X_MODIFY) |
1547 | #define bfin_write_DMA22_X_MODIFY(val) bfin_write16(DMA22_X_MODIFY) | 1543 | #define bfin_write_DMA22_X_MODIFY(val) bfin_write16(DMA22_X_MODIFY, val) |
1548 | #define bfin_read_DMA22_Y_COUNT() bfin_read16(DMA22_Y_COUNT) | 1544 | #define bfin_read_DMA22_Y_COUNT() bfin_read16(DMA22_Y_COUNT) |
1549 | #define bfin_write_DMA22_Y_COUNT(val) bfin_write16(DMA22_Y_COUNT, val) | 1545 | #define bfin_write_DMA22_Y_COUNT(val) bfin_write16(DMA22_Y_COUNT, val) |
1550 | #define bfin_read_DMA22_Y_MODIFY() bfin_read16(DMA22_Y_MODIFY) | 1546 | #define bfin_read_DMA22_Y_MODIFY() bfin_read16(DMA22_Y_MODIFY) |
1551 | #define bfin_write_DMA22_Y_MODIFY(val) bfin_write16(DMA22_Y_MODIFY) | 1547 | #define bfin_write_DMA22_Y_MODIFY(val) bfin_write16(DMA22_Y_MODIFY, val) |
1552 | #define bfin_read_DMA22_CURR_DESC_PTR() bfin_read32(DMA22_CURR_DESC_PTR) | 1548 | #define bfin_read_DMA22_CURR_DESC_PTR() bfin_read32(DMA22_CURR_DESC_PTR) |
1553 | #define bfin_write_DMA22_CURR_DESC_PTR(val) bfin_write32(DMA22_CURR_DESC_PTR) | 1549 | #define bfin_write_DMA22_CURR_DESC_PTR(val) bfin_write32(DMA22_CURR_DESC_PTR, val) |
1554 | #define bfin_read_DMA22_CURR_ADDR() bfin_read32(DMA22_CURR_ADDR) | 1550 | #define bfin_read_DMA22_CURR_ADDR() bfin_read32(DMA22_CURR_ADDR) |
1555 | #define bfin_write_DMA22_CURR_ADDR(val) bfin_write32(DMA22_CURR_ADDR) | 1551 | #define bfin_write_DMA22_CURR_ADDR(val) bfin_write32(DMA22_CURR_ADDR, val) |
1556 | #define bfin_read_DMA22_IRQ_STATUS() bfin_read16(DMA22_IRQ_STATUS) | 1552 | #define bfin_read_DMA22_IRQ_STATUS() bfin_read16(DMA22_IRQ_STATUS) |
1557 | #define bfin_write_DMA22_IRQ_STATUS(val) bfin_write16(DMA22_IRQ_STATUS, val) | 1553 | #define bfin_write_DMA22_IRQ_STATUS(val) bfin_write16(DMA22_IRQ_STATUS, val) |
1558 | #define bfin_read_DMA22_PERIPHERAL_MAP() bfin_read16(DMA22_PERIPHERAL_MAP) | 1554 | #define bfin_read_DMA22_PERIPHERAL_MAP() bfin_read16(DMA22_PERIPHERAL_MAP) |
@@ -1565,23 +1561,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1565 | /* DMA Channel 23 Registers */ | 1561 | /* DMA Channel 23 Registers */ |
1566 | 1562 | ||
1567 | #define bfin_read_DMA23_NEXT_DESC_PTR() bfin_read32(DMA23_NEXT_DESC_PTR) | 1563 | #define bfin_read_DMA23_NEXT_DESC_PTR() bfin_read32(DMA23_NEXT_DESC_PTR) |
1568 | #define bfin_write_DMA23_NEXT_DESC_PTR(val) bfin_write32(DMA23_NEXT_DESC_PTR) | 1564 | #define bfin_write_DMA23_NEXT_DESC_PTR(val) bfin_write32(DMA23_NEXT_DESC_PTR, val) |
1569 | #define bfin_read_DMA23_START_ADDR() bfin_read32(DMA23_START_ADDR) | 1565 | #define bfin_read_DMA23_START_ADDR() bfin_read32(DMA23_START_ADDR) |
1570 | #define bfin_write_DMA23_START_ADDR(val) bfin_write32(DMA23_START_ADDR) | 1566 | #define bfin_write_DMA23_START_ADDR(val) bfin_write32(DMA23_START_ADDR, val) |
1571 | #define bfin_read_DMA23_CONFIG() bfin_read16(DMA23_CONFIG) | 1567 | #define bfin_read_DMA23_CONFIG() bfin_read16(DMA23_CONFIG) |
1572 | #define bfin_write_DMA23_CONFIG(val) bfin_write16(DMA23_CONFIG, val) | 1568 | #define bfin_write_DMA23_CONFIG(val) bfin_write16(DMA23_CONFIG, val) |
1573 | #define bfin_read_DMA23_X_COUNT() bfin_read16(DMA23_X_COUNT) | 1569 | #define bfin_read_DMA23_X_COUNT() bfin_read16(DMA23_X_COUNT) |
1574 | #define bfin_write_DMA23_X_COUNT(val) bfin_write16(DMA23_X_COUNT, val) | 1570 | #define bfin_write_DMA23_X_COUNT(val) bfin_write16(DMA23_X_COUNT, val) |
1575 | #define bfin_read_DMA23_X_MODIFY() bfin_read16(DMA23_X_MODIFY) | 1571 | #define bfin_read_DMA23_X_MODIFY() bfin_read16(DMA23_X_MODIFY) |
1576 | #define bfin_write_DMA23_X_MODIFY(val) bfin_write16(DMA23_X_MODIFY) | 1572 | #define bfin_write_DMA23_X_MODIFY(val) bfin_write16(DMA23_X_MODIFY, val) |
1577 | #define bfin_read_DMA23_Y_COUNT() bfin_read16(DMA23_Y_COUNT) | 1573 | #define bfin_read_DMA23_Y_COUNT() bfin_read16(DMA23_Y_COUNT) |
1578 | #define bfin_write_DMA23_Y_COUNT(val) bfin_write16(DMA23_Y_COUNT, val) | 1574 | #define bfin_write_DMA23_Y_COUNT(val) bfin_write16(DMA23_Y_COUNT, val) |
1579 | #define bfin_read_DMA23_Y_MODIFY() bfin_read16(DMA23_Y_MODIFY) | 1575 | #define bfin_read_DMA23_Y_MODIFY() bfin_read16(DMA23_Y_MODIFY) |
1580 | #define bfin_write_DMA23_Y_MODIFY(val) bfin_write16(DMA23_Y_MODIFY) | 1576 | #define bfin_write_DMA23_Y_MODIFY(val) bfin_write16(DMA23_Y_MODIFY, val) |
1581 | #define bfin_read_DMA23_CURR_DESC_PTR() bfin_read32(DMA23_CURR_DESC_PTR) | 1577 | #define bfin_read_DMA23_CURR_DESC_PTR() bfin_read32(DMA23_CURR_DESC_PTR) |
1582 | #define bfin_write_DMA23_CURR_DESC_PTR(val) bfin_write32(DMA23_CURR_DESC_PTR) | 1578 | #define bfin_write_DMA23_CURR_DESC_PTR(val) bfin_write32(DMA23_CURR_DESC_PTR, val) |
1583 | #define bfin_read_DMA23_CURR_ADDR() bfin_read32(DMA23_CURR_ADDR) | 1579 | #define bfin_read_DMA23_CURR_ADDR() bfin_read32(DMA23_CURR_ADDR) |
1584 | #define bfin_write_DMA23_CURR_ADDR(val) bfin_write32(DMA23_CURR_ADDR) | 1580 | #define bfin_write_DMA23_CURR_ADDR(val) bfin_write32(DMA23_CURR_ADDR, val) |
1585 | #define bfin_read_DMA23_IRQ_STATUS() bfin_read16(DMA23_IRQ_STATUS) | 1581 | #define bfin_read_DMA23_IRQ_STATUS() bfin_read16(DMA23_IRQ_STATUS) |
1586 | #define bfin_write_DMA23_IRQ_STATUS(val) bfin_write16(DMA23_IRQ_STATUS, val) | 1582 | #define bfin_write_DMA23_IRQ_STATUS(val) bfin_write16(DMA23_IRQ_STATUS, val) |
1587 | #define bfin_read_DMA23_PERIPHERAL_MAP() bfin_read16(DMA23_PERIPHERAL_MAP) | 1583 | #define bfin_read_DMA23_PERIPHERAL_MAP() bfin_read16(DMA23_PERIPHERAL_MAP) |
@@ -1594,23 +1590,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1594 | /* MDMA Stream 2 Registers */ | 1590 | /* MDMA Stream 2 Registers */ |
1595 | 1591 | ||
1596 | #define bfin_read_MDMA_D2_NEXT_DESC_PTR() bfin_read32(MDMA_D2_NEXT_DESC_PTR) | 1592 | #define bfin_read_MDMA_D2_NEXT_DESC_PTR() bfin_read32(MDMA_D2_NEXT_DESC_PTR) |
1597 | #define bfin_write_MDMA_D2_NEXT_DESC_PTR(val) bfin_write32(MDMA_D2_NEXT_DESC_PTR) | 1593 | #define bfin_write_MDMA_D2_NEXT_DESC_PTR(val) bfin_write32(MDMA_D2_NEXT_DESC_PTR, val) |
1598 | #define bfin_read_MDMA_D2_START_ADDR() bfin_read32(MDMA_D2_START_ADDR) | 1594 | #define bfin_read_MDMA_D2_START_ADDR() bfin_read32(MDMA_D2_START_ADDR) |
1599 | #define bfin_write_MDMA_D2_START_ADDR(val) bfin_write32(MDMA_D2_START_ADDR) | 1595 | #define bfin_write_MDMA_D2_START_ADDR(val) bfin_write32(MDMA_D2_START_ADDR, val) |
1600 | #define bfin_read_MDMA_D2_CONFIG() bfin_read16(MDMA_D2_CONFIG) | 1596 | #define bfin_read_MDMA_D2_CONFIG() bfin_read16(MDMA_D2_CONFIG) |
1601 | #define bfin_write_MDMA_D2_CONFIG(val) bfin_write16(MDMA_D2_CONFIG, val) | 1597 | #define bfin_write_MDMA_D2_CONFIG(val) bfin_write16(MDMA_D2_CONFIG, val) |
1602 | #define bfin_read_MDMA_D2_X_COUNT() bfin_read16(MDMA_D2_X_COUNT) | 1598 | #define bfin_read_MDMA_D2_X_COUNT() bfin_read16(MDMA_D2_X_COUNT) |
1603 | #define bfin_write_MDMA_D2_X_COUNT(val) bfin_write16(MDMA_D2_X_COUNT, val) | 1599 | #define bfin_write_MDMA_D2_X_COUNT(val) bfin_write16(MDMA_D2_X_COUNT, val) |
1604 | #define bfin_read_MDMA_D2_X_MODIFY() bfin_read16(MDMA_D2_X_MODIFY) | 1600 | #define bfin_read_MDMA_D2_X_MODIFY() bfin_read16(MDMA_D2_X_MODIFY) |
1605 | #define bfin_write_MDMA_D2_X_MODIFY(val) bfin_write16(MDMA_D2_X_MODIFY) | 1601 | #define bfin_write_MDMA_D2_X_MODIFY(val) bfin_write16(MDMA_D2_X_MODIFY, val) |
1606 | #define bfin_read_MDMA_D2_Y_COUNT() bfin_read16(MDMA_D2_Y_COUNT) | 1602 | #define bfin_read_MDMA_D2_Y_COUNT() bfin_read16(MDMA_D2_Y_COUNT) |
1607 | #define bfin_write_MDMA_D2_Y_COUNT(val) bfin_write16(MDMA_D2_Y_COUNT, val) | 1603 | #define bfin_write_MDMA_D2_Y_COUNT(val) bfin_write16(MDMA_D2_Y_COUNT, val) |
1608 | #define bfin_read_MDMA_D2_Y_MODIFY() bfin_read16(MDMA_D2_Y_MODIFY) | 1604 | #define bfin_read_MDMA_D2_Y_MODIFY() bfin_read16(MDMA_D2_Y_MODIFY) |
1609 | #define bfin_write_MDMA_D2_Y_MODIFY(val) bfin_write16(MDMA_D2_Y_MODIFY) | 1605 | #define bfin_write_MDMA_D2_Y_MODIFY(val) bfin_write16(MDMA_D2_Y_MODIFY, val) |
1610 | #define bfin_read_MDMA_D2_CURR_DESC_PTR() bfin_read32(MDMA_D2_CURR_DESC_PTR) | 1606 | #define bfin_read_MDMA_D2_CURR_DESC_PTR() bfin_read32(MDMA_D2_CURR_DESC_PTR) |
1611 | #define bfin_write_MDMA_D2_CURR_DESC_PTR(val) bfin_write32(MDMA_D2_CURR_DESC_PTR) | 1607 | #define bfin_write_MDMA_D2_CURR_DESC_PTR(val) bfin_write32(MDMA_D2_CURR_DESC_PTR, val) |
1612 | #define bfin_read_MDMA_D2_CURR_ADDR() bfin_read32(MDMA_D2_CURR_ADDR) | 1608 | #define bfin_read_MDMA_D2_CURR_ADDR() bfin_read32(MDMA_D2_CURR_ADDR) |
1613 | #define bfin_write_MDMA_D2_CURR_ADDR(val) bfin_write32(MDMA_D2_CURR_ADDR) | 1609 | #define bfin_write_MDMA_D2_CURR_ADDR(val) bfin_write32(MDMA_D2_CURR_ADDR, val) |
1614 | #define bfin_read_MDMA_D2_IRQ_STATUS() bfin_read16(MDMA_D2_IRQ_STATUS) | 1610 | #define bfin_read_MDMA_D2_IRQ_STATUS() bfin_read16(MDMA_D2_IRQ_STATUS) |
1615 | #define bfin_write_MDMA_D2_IRQ_STATUS(val) bfin_write16(MDMA_D2_IRQ_STATUS, val) | 1611 | #define bfin_write_MDMA_D2_IRQ_STATUS(val) bfin_write16(MDMA_D2_IRQ_STATUS, val) |
1616 | #define bfin_read_MDMA_D2_PERIPHERAL_MAP() bfin_read16(MDMA_D2_PERIPHERAL_MAP) | 1612 | #define bfin_read_MDMA_D2_PERIPHERAL_MAP() bfin_read16(MDMA_D2_PERIPHERAL_MAP) |
@@ -1620,23 +1616,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1620 | #define bfin_read_MDMA_D2_CURR_Y_COUNT() bfin_read16(MDMA_D2_CURR_Y_COUNT) | 1616 | #define bfin_read_MDMA_D2_CURR_Y_COUNT() bfin_read16(MDMA_D2_CURR_Y_COUNT) |
1621 | #define bfin_write_MDMA_D2_CURR_Y_COUNT(val) bfin_write16(MDMA_D2_CURR_Y_COUNT, val) | 1617 | #define bfin_write_MDMA_D2_CURR_Y_COUNT(val) bfin_write16(MDMA_D2_CURR_Y_COUNT, val) |
1622 | #define bfin_read_MDMA_S2_NEXT_DESC_PTR() bfin_read32(MDMA_S2_NEXT_DESC_PTR) | 1618 | #define bfin_read_MDMA_S2_NEXT_DESC_PTR() bfin_read32(MDMA_S2_NEXT_DESC_PTR) |
1623 | #define bfin_write_MDMA_S2_NEXT_DESC_PTR(val) bfin_write32(MDMA_S2_NEXT_DESC_PTR) | 1619 | #define bfin_write_MDMA_S2_NEXT_DESC_PTR(val) bfin_write32(MDMA_S2_NEXT_DESC_PTR, val) |
1624 | #define bfin_read_MDMA_S2_START_ADDR() bfin_read32(MDMA_S2_START_ADDR) | 1620 | #define bfin_read_MDMA_S2_START_ADDR() bfin_read32(MDMA_S2_START_ADDR) |
1625 | #define bfin_write_MDMA_S2_START_ADDR(val) bfin_write32(MDMA_S2_START_ADDR) | 1621 | #define bfin_write_MDMA_S2_START_ADDR(val) bfin_write32(MDMA_S2_START_ADDR, val) |
1626 | #define bfin_read_MDMA_S2_CONFIG() bfin_read16(MDMA_S2_CONFIG) | 1622 | #define bfin_read_MDMA_S2_CONFIG() bfin_read16(MDMA_S2_CONFIG) |
1627 | #define bfin_write_MDMA_S2_CONFIG(val) bfin_write16(MDMA_S2_CONFIG, val) | 1623 | #define bfin_write_MDMA_S2_CONFIG(val) bfin_write16(MDMA_S2_CONFIG, val) |
1628 | #define bfin_read_MDMA_S2_X_COUNT() bfin_read16(MDMA_S2_X_COUNT) | 1624 | #define bfin_read_MDMA_S2_X_COUNT() bfin_read16(MDMA_S2_X_COUNT) |
1629 | #define bfin_write_MDMA_S2_X_COUNT(val) bfin_write16(MDMA_S2_X_COUNT, val) | 1625 | #define bfin_write_MDMA_S2_X_COUNT(val) bfin_write16(MDMA_S2_X_COUNT, val) |
1630 | #define bfin_read_MDMA_S2_X_MODIFY() bfin_read16(MDMA_S2_X_MODIFY) | 1626 | #define bfin_read_MDMA_S2_X_MODIFY() bfin_read16(MDMA_S2_X_MODIFY) |
1631 | #define bfin_write_MDMA_S2_X_MODIFY(val) bfin_write16(MDMA_S2_X_MODIFY) | 1627 | #define bfin_write_MDMA_S2_X_MODIFY(val) bfin_write16(MDMA_S2_X_MODIFY, val) |
1632 | #define bfin_read_MDMA_S2_Y_COUNT() bfin_read16(MDMA_S2_Y_COUNT) | 1628 | #define bfin_read_MDMA_S2_Y_COUNT() bfin_read16(MDMA_S2_Y_COUNT) |
1633 | #define bfin_write_MDMA_S2_Y_COUNT(val) bfin_write16(MDMA_S2_Y_COUNT, val) | 1629 | #define bfin_write_MDMA_S2_Y_COUNT(val) bfin_write16(MDMA_S2_Y_COUNT, val) |
1634 | #define bfin_read_MDMA_S2_Y_MODIFY() bfin_read16(MDMA_S2_Y_MODIFY) | 1630 | #define bfin_read_MDMA_S2_Y_MODIFY() bfin_read16(MDMA_S2_Y_MODIFY) |
1635 | #define bfin_write_MDMA_S2_Y_MODIFY(val) bfin_write16(MDMA_S2_Y_MODIFY) | 1631 | #define bfin_write_MDMA_S2_Y_MODIFY(val) bfin_write16(MDMA_S2_Y_MODIFY, val) |
1636 | #define bfin_read_MDMA_S2_CURR_DESC_PTR() bfin_read32(MDMA_S2_CURR_DESC_PTR) | 1632 | #define bfin_read_MDMA_S2_CURR_DESC_PTR() bfin_read32(MDMA_S2_CURR_DESC_PTR) |
1637 | #define bfin_write_MDMA_S2_CURR_DESC_PTR(val) bfin_write32(MDMA_S2_CURR_DESC_PTR) | 1633 | #define bfin_write_MDMA_S2_CURR_DESC_PTR(val) bfin_write32(MDMA_S2_CURR_DESC_PTR, val) |
1638 | #define bfin_read_MDMA_S2_CURR_ADDR() bfin_read32(MDMA_S2_CURR_ADDR) | 1634 | #define bfin_read_MDMA_S2_CURR_ADDR() bfin_read32(MDMA_S2_CURR_ADDR) |
1639 | #define bfin_write_MDMA_S2_CURR_ADDR(val) bfin_write32(MDMA_S2_CURR_ADDR) | 1635 | #define bfin_write_MDMA_S2_CURR_ADDR(val) bfin_write32(MDMA_S2_CURR_ADDR, val) |
1640 | #define bfin_read_MDMA_S2_IRQ_STATUS() bfin_read16(MDMA_S2_IRQ_STATUS) | 1636 | #define bfin_read_MDMA_S2_IRQ_STATUS() bfin_read16(MDMA_S2_IRQ_STATUS) |
1641 | #define bfin_write_MDMA_S2_IRQ_STATUS(val) bfin_write16(MDMA_S2_IRQ_STATUS, val) | 1637 | #define bfin_write_MDMA_S2_IRQ_STATUS(val) bfin_write16(MDMA_S2_IRQ_STATUS, val) |
1642 | #define bfin_read_MDMA_S2_PERIPHERAL_MAP() bfin_read16(MDMA_S2_PERIPHERAL_MAP) | 1638 | #define bfin_read_MDMA_S2_PERIPHERAL_MAP() bfin_read16(MDMA_S2_PERIPHERAL_MAP) |
@@ -1649,23 +1645,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1649 | /* MDMA Stream 3 Registers */ | 1645 | /* MDMA Stream 3 Registers */ |
1650 | 1646 | ||
1651 | #define bfin_read_MDMA_D3_NEXT_DESC_PTR() bfin_read32(MDMA_D3_NEXT_DESC_PTR) | 1647 | #define bfin_read_MDMA_D3_NEXT_DESC_PTR() bfin_read32(MDMA_D3_NEXT_DESC_PTR) |
1652 | #define bfin_write_MDMA_D3_NEXT_DESC_PTR(val) bfin_write32(MDMA_D3_NEXT_DESC_PTR) | 1648 | #define bfin_write_MDMA_D3_NEXT_DESC_PTR(val) bfin_write32(MDMA_D3_NEXT_DESC_PTR, val) |
1653 | #define bfin_read_MDMA_D3_START_ADDR() bfin_read32(MDMA_D3_START_ADDR) | 1649 | #define bfin_read_MDMA_D3_START_ADDR() bfin_read32(MDMA_D3_START_ADDR) |
1654 | #define bfin_write_MDMA_D3_START_ADDR(val) bfin_write32(MDMA_D3_START_ADDR) | 1650 | #define bfin_write_MDMA_D3_START_ADDR(val) bfin_write32(MDMA_D3_START_ADDR, val) |
1655 | #define bfin_read_MDMA_D3_CONFIG() bfin_read16(MDMA_D3_CONFIG) | 1651 | #define bfin_read_MDMA_D3_CONFIG() bfin_read16(MDMA_D3_CONFIG) |
1656 | #define bfin_write_MDMA_D3_CONFIG(val) bfin_write16(MDMA_D3_CONFIG, val) | 1652 | #define bfin_write_MDMA_D3_CONFIG(val) bfin_write16(MDMA_D3_CONFIG, val) |
1657 | #define bfin_read_MDMA_D3_X_COUNT() bfin_read16(MDMA_D3_X_COUNT) | 1653 | #define bfin_read_MDMA_D3_X_COUNT() bfin_read16(MDMA_D3_X_COUNT) |
1658 | #define bfin_write_MDMA_D3_X_COUNT(val) bfin_write16(MDMA_D3_X_COUNT, val) | 1654 | #define bfin_write_MDMA_D3_X_COUNT(val) bfin_write16(MDMA_D3_X_COUNT, val) |
1659 | #define bfin_read_MDMA_D3_X_MODIFY() bfin_read16(MDMA_D3_X_MODIFY) | 1655 | #define bfin_read_MDMA_D3_X_MODIFY() bfin_read16(MDMA_D3_X_MODIFY) |
1660 | #define bfin_write_MDMA_D3_X_MODIFY(val) bfin_write16(MDMA_D3_X_MODIFY) | 1656 | #define bfin_write_MDMA_D3_X_MODIFY(val) bfin_write16(MDMA_D3_X_MODIFY, val) |
1661 | #define bfin_read_MDMA_D3_Y_COUNT() bfin_read16(MDMA_D3_Y_COUNT) | 1657 | #define bfin_read_MDMA_D3_Y_COUNT() bfin_read16(MDMA_D3_Y_COUNT) |
1662 | #define bfin_write_MDMA_D3_Y_COUNT(val) bfin_write16(MDMA_D3_Y_COUNT, val) | 1658 | #define bfin_write_MDMA_D3_Y_COUNT(val) bfin_write16(MDMA_D3_Y_COUNT, val) |
1663 | #define bfin_read_MDMA_D3_Y_MODIFY() bfin_read16(MDMA_D3_Y_MODIFY) | 1659 | #define bfin_read_MDMA_D3_Y_MODIFY() bfin_read16(MDMA_D3_Y_MODIFY) |
1664 | #define bfin_write_MDMA_D3_Y_MODIFY(val) bfin_write16(MDMA_D3_Y_MODIFY) | 1660 | #define bfin_write_MDMA_D3_Y_MODIFY(val) bfin_write16(MDMA_D3_Y_MODIFY, val) |
1665 | #define bfin_read_MDMA_D3_CURR_DESC_PTR() bfin_read32(MDMA_D3_CURR_DESC_PTR) | 1661 | #define bfin_read_MDMA_D3_CURR_DESC_PTR() bfin_read32(MDMA_D3_CURR_DESC_PTR) |
1666 | #define bfin_write_MDMA_D3_CURR_DESC_PTR(val) bfin_write32(MDMA_D3_CURR_DESC_PTR) | 1662 | #define bfin_write_MDMA_D3_CURR_DESC_PTR(val) bfin_write32(MDMA_D3_CURR_DESC_PTR, val) |
1667 | #define bfin_read_MDMA_D3_CURR_ADDR() bfin_read32(MDMA_D3_CURR_ADDR) | 1663 | #define bfin_read_MDMA_D3_CURR_ADDR() bfin_read32(MDMA_D3_CURR_ADDR) |
1668 | #define bfin_write_MDMA_D3_CURR_ADDR(val) bfin_write32(MDMA_D3_CURR_ADDR) | 1664 | #define bfin_write_MDMA_D3_CURR_ADDR(val) bfin_write32(MDMA_D3_CURR_ADDR, val) |
1669 | #define bfin_read_MDMA_D3_IRQ_STATUS() bfin_read16(MDMA_D3_IRQ_STATUS) | 1665 | #define bfin_read_MDMA_D3_IRQ_STATUS() bfin_read16(MDMA_D3_IRQ_STATUS) |
1670 | #define bfin_write_MDMA_D3_IRQ_STATUS(val) bfin_write16(MDMA_D3_IRQ_STATUS, val) | 1666 | #define bfin_write_MDMA_D3_IRQ_STATUS(val) bfin_write16(MDMA_D3_IRQ_STATUS, val) |
1671 | #define bfin_read_MDMA_D3_PERIPHERAL_MAP() bfin_read16(MDMA_D3_PERIPHERAL_MAP) | 1667 | #define bfin_read_MDMA_D3_PERIPHERAL_MAP() bfin_read16(MDMA_D3_PERIPHERAL_MAP) |
@@ -1675,23 +1671,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1675 | #define bfin_read_MDMA_D3_CURR_Y_COUNT() bfin_read16(MDMA_D3_CURR_Y_COUNT) | 1671 | #define bfin_read_MDMA_D3_CURR_Y_COUNT() bfin_read16(MDMA_D3_CURR_Y_COUNT) |
1676 | #define bfin_write_MDMA_D3_CURR_Y_COUNT(val) bfin_write16(MDMA_D3_CURR_Y_COUNT, val) | 1672 | #define bfin_write_MDMA_D3_CURR_Y_COUNT(val) bfin_write16(MDMA_D3_CURR_Y_COUNT, val) |
1677 | #define bfin_read_MDMA_S3_NEXT_DESC_PTR() bfin_read32(MDMA_S3_NEXT_DESC_PTR) | 1673 | #define bfin_read_MDMA_S3_NEXT_DESC_PTR() bfin_read32(MDMA_S3_NEXT_DESC_PTR) |
1678 | #define bfin_write_MDMA_S3_NEXT_DESC_PTR(val) bfin_write32(MDMA_S3_NEXT_DESC_PTR) | 1674 | #define bfin_write_MDMA_S3_NEXT_DESC_PTR(val) bfin_write32(MDMA_S3_NEXT_DESC_PTR, val) |
1679 | #define bfin_read_MDMA_S3_START_ADDR() bfin_read32(MDMA_S3_START_ADDR) | 1675 | #define bfin_read_MDMA_S3_START_ADDR() bfin_read32(MDMA_S3_START_ADDR) |
1680 | #define bfin_write_MDMA_S3_START_ADDR(val) bfin_write32(MDMA_S3_START_ADDR) | 1676 | #define bfin_write_MDMA_S3_START_ADDR(val) bfin_write32(MDMA_S3_START_ADDR, val) |
1681 | #define bfin_read_MDMA_S3_CONFIG() bfin_read16(MDMA_S3_CONFIG) | 1677 | #define bfin_read_MDMA_S3_CONFIG() bfin_read16(MDMA_S3_CONFIG) |
1682 | #define bfin_write_MDMA_S3_CONFIG(val) bfin_write16(MDMA_S3_CONFIG, val) | 1678 | #define bfin_write_MDMA_S3_CONFIG(val) bfin_write16(MDMA_S3_CONFIG, val) |
1683 | #define bfin_read_MDMA_S3_X_COUNT() bfin_read16(MDMA_S3_X_COUNT) | 1679 | #define bfin_read_MDMA_S3_X_COUNT() bfin_read16(MDMA_S3_X_COUNT) |
1684 | #define bfin_write_MDMA_S3_X_COUNT(val) bfin_write16(MDMA_S3_X_COUNT, val) | 1680 | #define bfin_write_MDMA_S3_X_COUNT(val) bfin_write16(MDMA_S3_X_COUNT, val) |
1685 | #define bfin_read_MDMA_S3_X_MODIFY() bfin_read16(MDMA_S3_X_MODIFY) | 1681 | #define bfin_read_MDMA_S3_X_MODIFY() bfin_read16(MDMA_S3_X_MODIFY) |
1686 | #define bfin_write_MDMA_S3_X_MODIFY(val) bfin_write16(MDMA_S3_X_MODIFY) | 1682 | #define bfin_write_MDMA_S3_X_MODIFY(val) bfin_write16(MDMA_S3_X_MODIFY, val) |
1687 | #define bfin_read_MDMA_S3_Y_COUNT() bfin_read16(MDMA_S3_Y_COUNT) | 1683 | #define bfin_read_MDMA_S3_Y_COUNT() bfin_read16(MDMA_S3_Y_COUNT) |
1688 | #define bfin_write_MDMA_S3_Y_COUNT(val) bfin_write16(MDMA_S3_Y_COUNT, val) | 1684 | #define bfin_write_MDMA_S3_Y_COUNT(val) bfin_write16(MDMA_S3_Y_COUNT, val) |
1689 | #define bfin_read_MDMA_S3_Y_MODIFY() bfin_read16(MDMA_S3_Y_MODIFY) | 1685 | #define bfin_read_MDMA_S3_Y_MODIFY() bfin_read16(MDMA_S3_Y_MODIFY) |
1690 | #define bfin_write_MDMA_S3_Y_MODIFY(val) bfin_write16(MDMA_S3_Y_MODIFY) | 1686 | #define bfin_write_MDMA_S3_Y_MODIFY(val) bfin_write16(MDMA_S3_Y_MODIFY, val) |
1691 | #define bfin_read_MDMA_S3_CURR_DESC_PTR() bfin_read32(MDMA_S3_CURR_DESC_PTR) | 1687 | #define bfin_read_MDMA_S3_CURR_DESC_PTR() bfin_read32(MDMA_S3_CURR_DESC_PTR) |
1692 | #define bfin_write_MDMA_S3_CURR_DESC_PTR(val) bfin_write32(MDMA_S3_CURR_DESC_PTR) | 1688 | #define bfin_write_MDMA_S3_CURR_DESC_PTR(val) bfin_write32(MDMA_S3_CURR_DESC_PTR, val) |
1693 | #define bfin_read_MDMA_S3_CURR_ADDR() bfin_read32(MDMA_S3_CURR_ADDR) | 1689 | #define bfin_read_MDMA_S3_CURR_ADDR() bfin_read32(MDMA_S3_CURR_ADDR) |
1694 | #define bfin_write_MDMA_S3_CURR_ADDR(val) bfin_write32(MDMA_S3_CURR_ADDR) | 1690 | #define bfin_write_MDMA_S3_CURR_ADDR(val) bfin_write32(MDMA_S3_CURR_ADDR, val) |
1695 | #define bfin_read_MDMA_S3_IRQ_STATUS() bfin_read16(MDMA_S3_IRQ_STATUS) | 1691 | #define bfin_read_MDMA_S3_IRQ_STATUS() bfin_read16(MDMA_S3_IRQ_STATUS) |
1696 | #define bfin_write_MDMA_S3_IRQ_STATUS(val) bfin_write16(MDMA_S3_IRQ_STATUS, val) | 1692 | #define bfin_write_MDMA_S3_IRQ_STATUS(val) bfin_write16(MDMA_S3_IRQ_STATUS, val) |
1697 | #define bfin_read_MDMA_S3_PERIPHERAL_MAP() bfin_read16(MDMA_S3_PERIPHERAL_MAP) | 1693 | #define bfin_read_MDMA_S3_PERIPHERAL_MAP() bfin_read16(MDMA_S3_PERIPHERAL_MAP) |
diff --git a/include/asm-blackfin/mach-bf548/dma.h b/include/asm-blackfin/mach-bf548/dma.h index 46ff31f20ae5..36a2ef7e7849 100644 --- a/include/asm-blackfin/mach-bf548/dma.h +++ b/include/asm-blackfin/mach-bf548/dma.h | |||
@@ -73,6 +73,4 @@ | |||
73 | 73 | ||
74 | #define MAX_BLACKFIN_DMA_CHANNEL 32 | 74 | #define MAX_BLACKFIN_DMA_CHANNEL 32 |
75 | 75 | ||
76 | extern int channel2irq(unsigned int channel); | ||
77 | extern struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL]; | ||
78 | #endif | 76 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/mem_init.h b/include/asm-blackfin/mach-bf548/mem_init.h index befc2903d5a5..ab0b863eee66 100644 --- a/include/asm-blackfin/mach-bf548/mem_init.h +++ b/include/asm-blackfin/mach-bf548/mem_init.h | |||
@@ -29,16 +29,19 @@ | |||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
30 | */ | 30 | */ |
31 | #define MIN_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000 + 1) | 31 | #define MIN_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000 + 1) |
32 | #define MAX_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000) | ||
33 | #define DDR_CLK_HZ(x) (1000*1000*1000/x) | ||
32 | 34 | ||
33 | #if (CONFIG_MEM_MT46V32M16_6T) | 35 | #if (CONFIG_MEM_MT46V32M16_6T) |
34 | #define DDR_SIZE DEVSZ_512 | 36 | #define DDR_SIZE DEVSZ_512 |
35 | #define DDR_WIDTH DEVWD_16 | 37 | #define DDR_WIDTH DEVWD_16 |
38 | #define DDR_MAX_tCK 13 | ||
36 | 39 | ||
37 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(60)) | 40 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(60)) |
38 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(42)) | 41 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(42)) |
39 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) | 42 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) |
40 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(72)) | 43 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(72)) |
41 | #define DDR_tREFI DDR_TREFI(MIN_DDR_SCLK(7800)) | 44 | #define DDR_tREFI DDR_TREFI(MAX_DDR_SCLK(7800)) |
42 | 45 | ||
43 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) | 46 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) |
44 | #define DDR_tWTR DDR_TWTR(1) | 47 | #define DDR_tWTR DDR_TWTR(1) |
@@ -49,12 +52,13 @@ | |||
49 | #if (CONFIG_MEM_MT46V32M16_5B) | 52 | #if (CONFIG_MEM_MT46V32M16_5B) |
50 | #define DDR_SIZE DEVSZ_512 | 53 | #define DDR_SIZE DEVSZ_512 |
51 | #define DDR_WIDTH DEVWD_16 | 54 | #define DDR_WIDTH DEVWD_16 |
55 | #define DDR_MAX_tCK 13 | ||
52 | 56 | ||
53 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(55)) | 57 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(55)) |
54 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(40)) | 58 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(40)) |
55 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) | 59 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) |
56 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(70)) | 60 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(70)) |
57 | #define DDR_tREFI DDR_TREFI(MIN_DDR_SCLK(7800)) | 61 | #define DDR_tREFI DDR_TREFI(MAX_DDR_SCLK(7800)) |
58 | 62 | ||
59 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) | 63 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) |
60 | #define DDR_tWTR DDR_TWTR(2) | 64 | #define DDR_tWTR DDR_TWTR(2) |
@@ -65,6 +69,7 @@ | |||
65 | #if (CONFIG_MEM_GENERIC_BOARD) | 69 | #if (CONFIG_MEM_GENERIC_BOARD) |
66 | #define DDR_SIZE DEVSZ_512 | 70 | #define DDR_SIZE DEVSZ_512 |
67 | #define DDR_WIDTH DEVWD_16 | 71 | #define DDR_WIDTH DEVWD_16 |
72 | #define DDR_MAX_tCK 13 | ||
68 | 73 | ||
69 | #define DDR_tRCD DDR_TRCD(3) | 74 | #define DDR_tRCD DDR_TRCD(3) |
70 | #define DDR_tWTR DDR_TWTR(2) | 75 | #define DDR_tWTR DDR_TWTR(2) |
@@ -77,14 +82,15 @@ | |||
77 | #define DDR_tREFI DDR_TREFI(1288) | 82 | #define DDR_tREFI DDR_TREFI(1288) |
78 | #endif | 83 | #endif |
79 | 84 | ||
80 | #if (CONFIG_SCLK_HZ <= 133333333) | 85 | #if (CONFIG_SCLK_HZ < DDR_CLK_HZ(DDR_MAX_tCK)) |
81 | #define DDR_CL CL_2 | 86 | # error "CONFIG_SCLK_HZ is too small (<DDR_CLK_HZ(DDR_MAX_tCK) Hz)." |
82 | #elif (CONFIG_SCLK_HZ <= 166666666) | 87 | #elif(CONFIG_SCLK_HZ <= 133333333) |
83 | #define DDR_CL CL_2_5 | 88 | # define DDR_CL CL_2 |
84 | #else | 89 | #else |
85 | #define DDR_CL CL_3 | 90 | # error "CONFIG_SCLK_HZ is too large (>133333333 Hz)." |
86 | #endif | 91 | #endif |
87 | 92 | ||
93 | |||
88 | #define mem_DDRCTL0 (DDR_tRP | DDR_tRAS | DDR_tRC | DDR_tRFC | DDR_tREFI) | 94 | #define mem_DDRCTL0 (DDR_tRP | DDR_tRAS | DDR_tRC | DDR_tRFC | DDR_tREFI) |
89 | #define mem_DDRCTL1 (DDR_DATWIDTH | EXTBANK_1 | DDR_SIZE | DDR_WIDTH | DDR_tWTR \ | 95 | #define mem_DDRCTL1 (DDR_DATWIDTH | EXTBANK_1 | DDR_SIZE | DDR_WIDTH | DDR_tWTR \ |
90 | | DDR_tMRD | DDR_tWR | DDR_tRCD) | 96 | | DDR_tMRD | DDR_tWR | DDR_tRCD) |
diff --git a/include/asm-blackfin/mach-bf561/anomaly.h b/include/asm-blackfin/mach-bf561/anomaly.h index 0c1d46193939..82157caa96a2 100644 --- a/include/asm-blackfin/mach-bf561/anomaly.h +++ b/include/asm-blackfin/mach-bf561/anomaly.h | |||
@@ -7,7 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
10 | * - Revision O, 11/15/2007; ADSP-BF561 Blackfin Processor Anomaly List | 10 | * - Revision P, 02/08/2008; ADSP-BF561 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
@@ -256,10 +256,14 @@ | |||
256 | #define ANOMALY_05000357 (1) | 256 | #define ANOMALY_05000357 (1) |
257 | /* Conflicting Column Address Widths Causes SDRAM Errors */ | 257 | /* Conflicting Column Address Widths Causes SDRAM Errors */ |
258 | #define ANOMALY_05000362 (1) | 258 | #define ANOMALY_05000362 (1) |
259 | /* UART Break Signal Issues */ | ||
260 | #define ANOMALY_05000363 (__SILICON_REVISION__ < 5) | ||
259 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | 261 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ |
260 | #define ANOMALY_05000366 (1) | 262 | #define ANOMALY_05000366 (1) |
261 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | 263 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ |
262 | #define ANOMALY_05000371 (1) | 264 | #define ANOMALY_05000371 (1) |
265 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
266 | #define ANOMALY_05000403 (1) | ||
263 | 267 | ||
264 | /* Anomalies that don't exist on this proc */ | 268 | /* Anomalies that don't exist on this proc */ |
265 | #define ANOMALY_05000158 (0) | 269 | #define ANOMALY_05000158 (0) |
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h index b6f513bee56e..8a4e66d1db37 100644 --- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | |||
@@ -1,22 +1,38 @@ | |||
1 | /* | ||
2 | * file: include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | ||
3 | * based on: | ||
4 | * author: | ||
5 | * | ||
6 | * created: | ||
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | ||
31 | |||
1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
4 | 35 | ||
5 | #define NR_PORTS 1 | ||
6 | |||
7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
19 | |||
20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
@@ -84,7 +100,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
84 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 100 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
85 | } | 101 | } |
86 | 102 | ||
87 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 103 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
88 | struct bfin_serial_res { | 104 | struct bfin_serial_res { |
89 | unsigned long uart_base_addr; | 105 | unsigned long uart_base_addr; |
90 | int uart_irq; | 106 | int uart_irq; |
@@ -115,7 +131,7 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
115 | 131 | ||
116 | #define DRIVER_NAME "bfin-uart" | 132 | #define DRIVER_NAME "bfin-uart" |
117 | 133 | ||
118 | int nr_ports = NR_PORTS; | 134 | int nr_ports = BFIN_UART_NR_PORTS; |
119 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 135 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
120 | { | 136 | { |
121 | 137 | ||
diff --git a/include/asm-blackfin/mach-bf561/bfin_sir.h b/include/asm-blackfin/mach-bf561/bfin_sir.h new file mode 100644 index 000000000000..cefcf8bb505b --- /dev/null +++ b/include/asm-blackfin/mach-bf561/bfin_sir.h | |||
@@ -0,0 +1,120 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
30 | |||
31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
32 | struct dma_rx_buf { | ||
33 | char *buf; | ||
34 | int head; | ||
35 | int tail; | ||
36 | }; | ||
37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
38 | |||
39 | struct bfin_sir_port { | ||
40 | unsigned char __iomem *membase; | ||
41 | unsigned int irq; | ||
42 | unsigned int lsr; | ||
43 | unsigned long clk; | ||
44 | struct net_device *dev; | ||
45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
46 | int tx_done; | ||
47 | struct dma_rx_buf rx_dma_buf; | ||
48 | struct timer_list rx_dma_timer; | ||
49 | int rx_dma_nrows; | ||
50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
51 | unsigned int tx_dma_channel; | ||
52 | unsigned int rx_dma_channel; | ||
53 | }; | ||
54 | |||
55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
56 | |||
57 | struct bfin_sir_port_res { | ||
58 | unsigned long base_addr; | ||
59 | int irq; | ||
60 | unsigned int rx_dma_channel; | ||
61 | unsigned int tx_dma_channel; | ||
62 | }; | ||
63 | |||
64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
65 | #ifdef CONFIG_BFIN_SIR0 | ||
66 | { | ||
67 | 0xFFC00400, | ||
68 | IRQ_UART_RX, | ||
69 | CH_UART_RX, | ||
70 | CH_UART_TX, | ||
71 | }, | ||
72 | #endif | ||
73 | }; | ||
74 | |||
75 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
76 | |||
77 | struct bfin_sir_self { | ||
78 | struct bfin_sir_port *sir_port; | ||
79 | spinlock_t lock; | ||
80 | unsigned int open; | ||
81 | int speed; | ||
82 | int newspeed; | ||
83 | |||
84 | struct sk_buff *txskb; | ||
85 | struct sk_buff *rxskb; | ||
86 | struct net_device_stats stats; | ||
87 | struct device *dev; | ||
88 | struct irlap_cb *irlap; | ||
89 | struct qos_info qos; | ||
90 | |||
91 | iobuff_t tx_buff; | ||
92 | iobuff_t rx_buff; | ||
93 | |||
94 | struct work_struct work; | ||
95 | int mtt; | ||
96 | }; | ||
97 | |||
98 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
99 | { | ||
100 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
101 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
102 | return lsr | port->lsr; | ||
103 | } | ||
104 | |||
105 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
106 | { | ||
107 | port->lsr = 0; | ||
108 | bfin_read16(port->membase + OFFSET_LSR); | ||
109 | } | ||
110 | |||
111 | #define DRIVER_NAME "bfin_sir" | ||
112 | |||
113 | static void bfin_sir_hw_init(void) | ||
114 | { | ||
115 | #ifdef CONFIG_BFIN_SIR0 | ||
116 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
117 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
118 | #endif | ||
119 | SSYNC(); | ||
120 | } | ||
diff --git a/include/asm-blackfin/mach-bf561/blackfin.h b/include/asm-blackfin/mach-bf561/blackfin.h index 3a16df2c86d8..0ea8666e6764 100644 --- a/include/asm-blackfin/mach-bf561/blackfin.h +++ b/include/asm-blackfin/mach-bf561/blackfin.h | |||
@@ -69,5 +69,19 @@ | |||
69 | #define bfin_read_SIC_ISR(x) bfin_read32(SICA_ISR0 + (x << 2)) | 69 | #define bfin_read_SIC_ISR(x) bfin_read32(SICA_ISR0 + (x << 2)) |
70 | #define bfin_write_SIC_ISR(x, val) bfin_write32((SICA_ISR0 + (x << 2)), val) | 70 | #define bfin_write_SIC_ISR(x, val) bfin_write32((SICA_ISR0 + (x << 2)), val) |
71 | 71 | ||
72 | #define BFIN_UART_NR_PORTS 1 | ||
73 | |||
74 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
75 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
76 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
77 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
78 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
79 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
80 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
81 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
82 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
83 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
84 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
85 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
72 | 86 | ||
73 | #endif /* _MACH_BLACKFIN_H_ */ | 87 | #endif /* _MACH_BLACKFIN_H_ */ |
diff --git a/include/asm-blackfin/mach-bf561/cdefBF561.h b/include/asm-blackfin/mach-bf561/cdefBF561.h index 1bc8d2f89ccc..b07ffccd66dd 100644 --- a/include/asm-blackfin/mach-bf561/cdefBF561.h +++ b/include/asm-blackfin/mach-bf561/cdefBF561.h | |||
@@ -47,7 +47,30 @@ | |||
47 | 47 | ||
48 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 48 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
49 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 49 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
50 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 50 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
51 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
52 | { | ||
53 | unsigned long flags, iwr0, iwr1; | ||
54 | |||
55 | if (val == bfin_read_PLL_CTL()) | ||
56 | return; | ||
57 | |||
58 | local_irq_save(flags); | ||
59 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
60 | iwr0 = bfin_read32(SICA_IWR0); | ||
61 | iwr1 = bfin_read32(SICA_IWR1); | ||
62 | /* Only allow PPL Wakeup) */ | ||
63 | bfin_write32(SICA_IWR0, IWR_ENABLE(0)); | ||
64 | bfin_write32(SICA_IWR1, 0); | ||
65 | |||
66 | bfin_write16(PLL_CTL, val); | ||
67 | SSYNC(); | ||
68 | asm("IDLE;"); | ||
69 | |||
70 | bfin_write32(SICA_IWR0, iwr0); | ||
71 | bfin_write32(SICA_IWR1, iwr1); | ||
72 | local_irq_restore(flags); | ||
73 | } | ||
51 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 74 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
52 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) | 75 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) |
53 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 76 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
@@ -56,6 +79,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
56 | { | 79 | { |
57 | unsigned long flags, iwr0, iwr1; | 80 | unsigned long flags, iwr0, iwr1; |
58 | 81 | ||
82 | if (val == bfin_read_VR_CTL()) | ||
83 | return; | ||
84 | |||
85 | local_irq_save(flags); | ||
59 | /* Enable the PLL Wakeup bit in SIC IWR */ | 86 | /* Enable the PLL Wakeup bit in SIC IWR */ |
60 | iwr0 = bfin_read32(SICA_IWR0); | 87 | iwr0 = bfin_read32(SICA_IWR0); |
61 | iwr1 = bfin_read32(SICA_IWR1); | 88 | iwr1 = bfin_read32(SICA_IWR1); |
@@ -65,12 +92,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
65 | 92 | ||
66 | bfin_write16(VR_CTL, val); | 93 | bfin_write16(VR_CTL, val); |
67 | SSYNC(); | 94 | SSYNC(); |
68 | |||
69 | local_irq_save(flags); | ||
70 | asm("IDLE;"); | 95 | asm("IDLE;"); |
71 | local_irq_restore(flags); | 96 | |
72 | bfin_write32(SICA_IWR0, iwr0); | 97 | bfin_write32(SICA_IWR0, iwr0); |
73 | bfin_write32(SICA_IWR1, iwr1); | 98 | bfin_write32(SICA_IWR1, iwr1); |
99 | local_irq_restore(flags); | ||
74 | } | 100 | } |
75 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 101 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
76 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 102 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
diff --git a/include/asm-blackfin/mach-bf561/defBF561.h b/include/asm-blackfin/mach-bf561/defBF561.h index c3c0eb13c819..366c9b9a0cb7 100644 --- a/include/asm-blackfin/mach-bf561/defBF561.h +++ b/include/asm-blackfin/mach-bf561/defBF561.h | |||
@@ -110,18 +110,23 @@ | |||
110 | #define WDOGB_STAT 0xFFC01208 /* Watchdog Status register */ | 110 | #define WDOGB_STAT 0xFFC01208 /* Watchdog Status register */ |
111 | 111 | ||
112 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ | 112 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ |
113 | #define UART_THR 0xFFC00400 /* Transmit Holding register */ | 113 | |
114 | #define UART_RBR 0xFFC00400 /* Receive Buffer register */ | 114 | /* |
115 | #define UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ | 115 | * Because include/linux/serial_reg.h have defined UART_*, |
116 | #define UART_IER 0xFFC00404 /* Interrupt Enable Register */ | 116 | * So we define blackfin uart regs to BFIN_UART0_*. |
117 | #define UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | 117 | */ |
118 | #define UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | 118 | #define BFIN_UART_THR 0xFFC00400 /* Transmit Holding register */ |
119 | #define UART_LCR 0xFFC0040C /* Line Control Register */ | 119 | #define BFIN_UART_RBR 0xFFC00400 /* Receive Buffer register */ |
120 | #define UART_MCR 0xFFC00410 /* Modem Control Register */ | 120 | #define BFIN_UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ |
121 | #define UART_LSR 0xFFC00414 /* Line Status Register */ | 121 | #define BFIN_UART_IER 0xFFC00404 /* Interrupt Enable Register */ |
122 | #define UART_MSR 0xFFC00418 /* Modem Status Register */ | 122 | #define BFIN_UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ |
123 | #define UART_SCR 0xFFC0041C /* SCR Scratch Register */ | 123 | #define BFIN_UART_IIR 0xFFC00408 /* Interrupt Identification Register */ |
124 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 124 | #define BFIN_UART_LCR 0xFFC0040C /* Line Control Register */ |
125 | #define BFIN_UART_MCR 0xFFC00410 /* Modem Control Register */ | ||
126 | #define BFIN_UART_LSR 0xFFC00414 /* Line Status Register */ | ||
127 | #define BFIN_UART_MSR 0xFFC00418 /* Modem Status Register */ | ||
128 | #define BFIN_UART_SCR 0xFFC0041C /* SCR Scratch Register */ | ||
129 | #define BFIN_UART_GCTL 0xFFC00424 /* Global Control Register */ | ||
125 | 130 | ||
126 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 131 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
127 | #define SPI0_REGBASE 0xFFC00500 | 132 | #define SPI0_REGBASE 0xFFC00500 |
@@ -866,6 +871,8 @@ | |||
866 | /* PLL_DIV Masks */ | 871 | /* PLL_DIV Masks */ |
867 | #define SCLK_DIV(x) (x) /* SCLK = VCO / x */ | 872 | #define SCLK_DIV(x) (x) /* SCLK = VCO / x */ |
868 | 873 | ||
874 | #define CSEL 0x30 /* Core Select */ | ||
875 | #define SSEL 0xf /* System Select */ | ||
869 | #define CCLK_DIV1 0x00000000 /* CCLK = VCO / 1 */ | 876 | #define CCLK_DIV1 0x00000000 /* CCLK = VCO / 1 */ |
870 | #define CCLK_DIV2 0x00000010 /* CCLK = VCO / 2 */ | 877 | #define CCLK_DIV2 0x00000010 /* CCLK = VCO / 2 */ |
871 | #define CCLK_DIV4 0x00000020 /* CCLK = VCO / 4 */ | 878 | #define CCLK_DIV4 0x00000020 /* CCLK = VCO / 4 */ |
diff --git a/include/asm-blackfin/mach-bf561/dma.h b/include/asm-blackfin/mach-bf561/dma.h index 766334b7d8ab..21d982003e75 100644 --- a/include/asm-blackfin/mach-bf561/dma.h +++ b/include/asm-blackfin/mach-bf561/dma.h | |||
@@ -32,7 +32,4 @@ | |||
32 | #define CH_IMEM_STREAM1_SRC 34 | 32 | #define CH_IMEM_STREAM1_SRC 34 |
33 | #define CH_IMEM_STREAM1_DEST 35 | 33 | #define CH_IMEM_STREAM1_DEST 35 |
34 | 34 | ||
35 | extern int channel2irq(unsigned int channel); | ||
36 | extern struct dma_register *base_addr[]; | ||
37 | |||
38 | #endif | 35 | #endif |
diff --git a/include/asm-blackfin/portmux.h b/include/asm-blackfin/portmux.h index 0d3f650d2d99..0807b286cd9e 100644 --- a/include/asm-blackfin/portmux.h +++ b/include/asm-blackfin/portmux.h | |||
@@ -17,8 +17,8 @@ | |||
17 | 17 | ||
18 | int peripheral_request(unsigned short per, const char *label); | 18 | int peripheral_request(unsigned short per, const char *label); |
19 | void peripheral_free(unsigned short per); | 19 | void peripheral_free(unsigned short per); |
20 | int peripheral_request_list(unsigned short per[], const char *label); | 20 | int peripheral_request_list(const unsigned short per[], const char *label); |
21 | void peripheral_free_list(unsigned short per[]); | 21 | void peripheral_free_list(const unsigned short per[]); |
22 | 22 | ||
23 | #include <asm/gpio.h> | 23 | #include <asm/gpio.h> |
24 | #include <asm/mach/portmux.h> | 24 | #include <asm/mach/portmux.h> |
diff --git a/include/asm-blackfin/processor.h b/include/asm-blackfin/processor.h index 1033e5c76011..1c0040724612 100644 --- a/include/asm-blackfin/processor.h +++ b/include/asm-blackfin/processor.h | |||
@@ -26,9 +26,10 @@ static inline void wrusp(unsigned long usp) | |||
26 | 26 | ||
27 | /* | 27 | /* |
28 | * User space process size: 1st byte beyond user address space. | 28 | * User space process size: 1st byte beyond user address space. |
29 | * Fairly meaningless on nommu. Parts of user programs can be scattered | ||
30 | * in a lot of places, so just disable this by setting it to 0xFFFFFFFF. | ||
29 | */ | 31 | */ |
30 | extern unsigned long memory_end; | 32 | #define TASK_SIZE 0xFFFFFFFF |
31 | #define TASK_SIZE (memory_end) | ||
32 | 33 | ||
33 | #ifdef __KERNEL__ | 34 | #ifdef __KERNEL__ |
34 | #define STACK_TOP TASK_SIZE | 35 | #define STACK_TOP TASK_SIZE |
diff --git a/include/asm-blackfin/signal.h b/include/asm-blackfin/signal.h index 0250429b736a..87951d251458 100644 --- a/include/asm-blackfin/signal.h +++ b/include/asm-blackfin/signal.h | |||
@@ -143,7 +143,7 @@ struct sigaction { | |||
143 | #endif /* __KERNEL__ */ | 143 | #endif /* __KERNEL__ */ |
144 | 144 | ||
145 | typedef struct sigaltstack { | 145 | typedef struct sigaltstack { |
146 | void *ss_sp; | 146 | void __user *ss_sp; |
147 | int ss_flags; | 147 | int ss_flags; |
148 | size_t ss_size; | 148 | size_t ss_size; |
149 | } stack_t; | 149 | } stack_t; |
diff --git a/include/asm-blackfin/thread_info.h b/include/asm-blackfin/thread_info.h index 15b99cf4f50b..bc2fe5accf20 100644 --- a/include/asm-blackfin/thread_info.h +++ b/include/asm-blackfin/thread_info.h | |||
@@ -81,14 +81,11 @@ struct thread_info { | |||
81 | #define init_thread_info (init_thread_union.thread_info) | 81 | #define init_thread_info (init_thread_union.thread_info) |
82 | #define init_stack (init_thread_union.stack) | 82 | #define init_stack (init_thread_union.stack) |
83 | 83 | ||
84 | /* How to get the thread information struct from C */ | 84 | /* Given a task stack pointer, you can find its corresponding |
85 | 85 | * thread_info structure just by masking it to the THREAD_SIZE | |
86 | static inline struct thread_info *current_thread_info(void) | 86 | * boundary (currently 8K as you can see above). |
87 | __attribute__ ((__const__)); | ||
88 | |||
89 | /* Given a task stack pointer, you can find it's task structure | ||
90 | * just by masking it to the 8K boundary. | ||
91 | */ | 87 | */ |
88 | __attribute_const__ | ||
92 | static inline struct thread_info *current_thread_info(void) | 89 | static inline struct thread_info *current_thread_info(void) |
93 | { | 90 | { |
94 | struct thread_info *ti; | 91 | struct thread_info *ti; |
diff --git a/include/asm-blackfin/time.h b/include/asm-blackfin/time.h new file mode 100644 index 000000000000..6e5859b6ea32 --- /dev/null +++ b/include/asm-blackfin/time.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * asm-blackfin/time.h: | ||
3 | * | ||
4 | * Copyright 2004-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef _ASM_BLACKFIN_TIME_H | ||
10 | #define _ASM_BLACKFIN_TIME_H | ||
11 | |||
12 | /* | ||
13 | * The way that the Blackfin core timer works is: | ||
14 | * - CCLK is divided by a programmable 8-bit pre-scaler (TSCALE) | ||
15 | * - Every time TSCALE ticks, a 32bit is counted down (TCOUNT) | ||
16 | * | ||
17 | * If you take the fastest clock (1ns, or 1GHz to make the math work easier) | ||
18 | * 10ms is 10,000,000 clock ticks, which fits easy into a 32-bit counter | ||
19 | * (32 bit counter is 4,294,967,296ns or 4.2 seconds) so, we don't need | ||
20 | * to use TSCALE, and program it to zero (which is pass CCLK through). | ||
21 | * If you feel like using it, try to keep HZ * TIMESCALE to some | ||
22 | * value that divides easy (like power of 2). | ||
23 | */ | ||
24 | |||
25 | #ifndef CONFIG_CPU_FREQ | ||
26 | #define TIME_SCALE 1 | ||
27 | #else | ||
28 | /* | ||
29 | * Blackfin CPU frequency scaling supports max Core Clock 1, 1/2 and 1/4 . | ||
30 | * Whenever we change the Core Clock frequency changes we immediately | ||
31 | * adjust the Core Timer Presale Register. This way we don't lose time. | ||
32 | */ | ||
33 | #define TIME_SCALE 4 | ||
34 | #endif | ||
35 | |||
36 | #endif | ||
diff --git a/include/asm-blackfin/timex.h b/include/asm-blackfin/timex.h index 828590117f51..22b0806161bb 100644 --- a/include/asm-blackfin/timex.h +++ b/include/asm-blackfin/timex.h | |||
@@ -1,18 +1,23 @@ | |||
1 | /* blackfin architecture timex specifications: Lineo Inc. 2001 | 1 | /* |
2 | * asm-blackfin/timex.h: cpu cycles! | ||
2 | * | 3 | * |
3 | * Based on: include/asm-m68knommu/timex.h | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
4 | */ | 7 | */ |
5 | 8 | ||
6 | #ifndef _ASMBLACKFIN_TIMEX_H | 9 | #ifndef _ASM_BLACKFIN_TIMEX_H |
7 | #define _ASMBLACKFIN_TIMEX_H | 10 | #define _ASM_BLACKFIN_TIMEX_H |
8 | 11 | ||
9 | #define CLOCK_TICK_RATE 1000000 /* Underlying HZ */ | 12 | #define CLOCK_TICK_RATE 1000000 /* Underlying HZ */ |
10 | 13 | ||
11 | typedef unsigned long cycles_t; | 14 | typedef unsigned long long cycles_t; |
12 | 15 | ||
13 | static inline cycles_t get_cycles(void) | 16 | static inline cycles_t get_cycles(void) |
14 | { | 17 | { |
15 | return 0; | 18 | unsigned long tmp, tmp2; |
19 | __asm__("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2)); | ||
20 | return tmp | ((cycles_t)tmp2 << 32); | ||
16 | } | 21 | } |
17 | 22 | ||
18 | #endif | 23 | #endif |
diff --git a/include/asm-blackfin/trace.h b/include/asm-blackfin/trace.h index ef18afbc2101..312b596b9731 100644 --- a/include/asm-blackfin/trace.h +++ b/include/asm-blackfin/trace.h | |||
@@ -62,14 +62,14 @@ extern unsigned long software_trace_buff[]; | |||
62 | preg.L = LO(TBUFCTL); \ | 62 | preg.L = LO(TBUFCTL); \ |
63 | preg.H = HI(TBUFCTL); \ | 63 | preg.H = HI(TBUFCTL); \ |
64 | dreg = [preg]; \ | 64 | dreg = [preg]; \ |
65 | [sp++] = dreg; \ | 65 | [--sp] = dreg; \ |
66 | dreg = 0x1; \ | 66 | dreg = 0x1; \ |
67 | [preg] = dreg; | 67 | [preg] = dreg; |
68 | 68 | ||
69 | #define trace_buffer_restore(preg, dreg) \ | 69 | #define trace_buffer_restore(preg, dreg) \ |
70 | preg.L = LO(TBUFCTL); \ | 70 | preg.L = LO(TBUFCTL); \ |
71 | preg.H = HI(TBUFCTL); \ | 71 | preg.H = HI(TBUFCTL); \ |
72 | dreg = [sp--]; \ | 72 | dreg = [sp++]; \ |
73 | [preg] = dreg; | 73 | [preg] = dreg; |
74 | 74 | ||
75 | #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ | 75 | #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ |
diff --git a/include/asm-blackfin/uaccess.h b/include/asm-blackfin/uaccess.h index 22a410b8003b..d928b8099056 100644 --- a/include/asm-blackfin/uaccess.h +++ b/include/asm-blackfin/uaccess.h | |||
@@ -133,7 +133,7 @@ static inline int bad_user_access_length(void) | |||
133 | } | 133 | } |
134 | 134 | ||
135 | #define __put_user_bad() (printk(KERN_INFO "put_user_bad %s:%d %s\n",\ | 135 | #define __put_user_bad() (printk(KERN_INFO "put_user_bad %s:%d %s\n",\ |
136 | __FILE__, __LINE__, __FUNCTION__),\ | 136 | __FILE__, __LINE__, __func__),\ |
137 | bad_user_access_length(), (-EFAULT)) | 137 | bad_user_access_length(), (-EFAULT)) |
138 | 138 | ||
139 | /* | 139 | /* |
@@ -177,7 +177,7 @@ static inline int bad_user_access_length(void) | |||
177 | default: \ | 177 | default: \ |
178 | x = 0; \ | 178 | x = 0; \ |
179 | printk(KERN_INFO "get_user_bad: %s:%d %s\n", \ | 179 | printk(KERN_INFO "get_user_bad: %s:%d %s\n", \ |
180 | __FILE__, __LINE__, __FUNCTION__); \ | 180 | __FILE__, __LINE__, __func__); \ |
181 | _err = __get_user_bad(); \ | 181 | _err = __get_user_bad(); \ |
182 | break; \ | 182 | break; \ |
183 | } \ | 183 | } \ |
diff --git a/include/asm-blackfin/unistd.h b/include/asm-blackfin/unistd.h index c18a399f6e3e..42955d0c439b 100644 --- a/include/asm-blackfin/unistd.h +++ b/include/asm-blackfin/unistd.h | |||
@@ -265,14 +265,14 @@ | |||
265 | /* 258 __NR_remap_file_pages */ | 265 | /* 258 __NR_remap_file_pages */ |
266 | #define __NR_set_tid_address 259 | 266 | #define __NR_set_tid_address 259 |
267 | #define __NR_timer_create 260 | 267 | #define __NR_timer_create 260 |
268 | #define __NR_timer_settime (__NR_timer_create+1) | 268 | #define __NR_timer_settime 261 |
269 | #define __NR_timer_gettime (__NR_timer_create+2) | 269 | #define __NR_timer_gettime 262 |
270 | #define __NR_timer_getoverrun (__NR_timer_create+3) | 270 | #define __NR_timer_getoverrun 263 |
271 | #define __NR_timer_delete (__NR_timer_create+4) | 271 | #define __NR_timer_delete 264 |
272 | #define __NR_clock_settime (__NR_timer_create+5) | 272 | #define __NR_clock_settime 265 |
273 | #define __NR_clock_gettime (__NR_timer_create+6) | 273 | #define __NR_clock_gettime 266 |
274 | #define __NR_clock_getres (__NR_timer_create+7) | 274 | #define __NR_clock_getres 267 |
275 | #define __NR_clock_nanosleep (__NR_timer_create+8) | 275 | #define __NR_clock_nanosleep 268 |
276 | #define __NR_statfs64 269 | 276 | #define __NR_statfs64 269 |
277 | #define __NR_fstatfs64 270 | 277 | #define __NR_fstatfs64 270 |
278 | #define __NR_tgkill 271 | 278 | #define __NR_tgkill 271 |
@@ -283,11 +283,11 @@ | |||
283 | /* 276 __NR_get_mempolicy */ | 283 | /* 276 __NR_get_mempolicy */ |
284 | /* 277 __NR_set_mempolicy */ | 284 | /* 277 __NR_set_mempolicy */ |
285 | #define __NR_mq_open 278 | 285 | #define __NR_mq_open 278 |
286 | #define __NR_mq_unlink (__NR_mq_open+1) | 286 | #define __NR_mq_unlink 279 |
287 | #define __NR_mq_timedsend (__NR_mq_open+2) | 287 | #define __NR_mq_timedsend 280 |
288 | #define __NR_mq_timedreceive (__NR_mq_open+3) | 288 | #define __NR_mq_timedreceive 281 |
289 | #define __NR_mq_notify (__NR_mq_open+4) | 289 | #define __NR_mq_notify 282 |
290 | #define __NR_mq_getsetattr (__NR_mq_open+5) | 290 | #define __NR_mq_getsetattr 283 |
291 | #define __NR_kexec_load 284 | 291 | #define __NR_kexec_load 284 |
292 | #define __NR_waitid 285 | 292 | #define __NR_waitid 285 |
293 | #define __NR_add_key 286 | 293 | #define __NR_add_key 286 |