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: (30 commits)
Blackfin arch: If we double fault, rather than hang forever, reset
Blackfin arch: When icache is off, make sure people know it
Blackfin arch: Fix bug - skip single step in high priority interrupt handler instead of disabling all interrupts in single step debugging.
Blackfin arch: cache the values of vco/sclk/cclk as the overhead of doing so (~24 bytes) is worth avoiding the software mult/div routines
Blackfin arch: fix bug - IMDMA is not type struct dma_register
Blackfin arch: check the EXTBANKS field of the DDRCTL1 register to see if we are using both memory banks
Blackfin arch: Apply Bluetechnix CM-BF527 board support patch
Blackfin arch: Add unwinding for stack info, and a little more detail on trace buffer
Blackfin arch: Add ISP1760 board resources to BF548-EZKIT
Blackfin arch: fix bug - detect 0.1 silicon revision BF527-EZKIT as 0.0 version
Blackfin arch: add missing IORESOURCE_MEM flags to UART3
Blackfin arch: Add return value check in bfin_sir_probe(), remove SSYNC().
Blackfin arch: Extend sram malloc to handle L2 SRAM.
Blackfin arch: Remove useless config option.
Blackfin arch: change L1 malloc to base on slab cache and lists.
Blackfin arch: use local labels and ENDPROC() markings
Blackfin arch: Do not need this dualcore test module in kernel.
Blackfin arch: Allow ptrace to peek and poke application data in L1 data SRAM.
Blackfin arch: Add ANOMALY_05000368 workaround
Blackfin arch: Functional power management support
...

+5097 -1559
+64 -36
arch/blackfin/Kconfig
··· 234 234 bool 235 235 depends on (BFIN533_EZKIT || BFIN561_EZKIT \ 236 236 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \ 237 - || H8606_HVSISTEMAS) 237 + || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM) 238 238 default y 239 239 240 240 config MEM_MT48LC32M8A2_75 ··· 310 310 are also not changed, and the Bootloader does 100% of the hardware 311 311 configuration. 312 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 - 332 313 config PLL_BYPASS 333 314 bool "Bypass PLL" 334 315 depends on BFIN_KERNEL_CLOCK ··· 330 349 default "45" if BFIN533_STAMP 331 350 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM) 332 351 default "22" if BFIN533_BLUETECHNIX_CM 333 - default "20" if BFIN537_BLUETECHNIX_CM 334 - default "20" if BFIN561_BLUETECHNIX_CM 352 + default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) 335 353 default "20" if BFIN561_EZKIT 336 354 default "16" if H8606_HVSISTEMAS 337 355 help ··· 370 390 371 391 config MAX_MEM_SIZE 372 392 int "Max SDRAM Memory Size in MBytes" 373 - depends on !BFIN_KERNEL_CLOCK && !MPU 393 + depends on !MPU 374 394 default 512 375 395 help 376 396 This is the max memory size that the kernel will create CPLB ··· 728 748 729 749 endchoice 730 750 731 - config L1_MAX_PIECE 732 - int "Set the max L1 SRAM pieces" 733 - default 16 734 - help 735 - Set the max memory pieces for the L1 SRAM allocation algorithm. 736 - Min value is 16. Max value is 1024. 737 - 738 - 739 751 config MPU 740 752 bool "Enable the memory protection unit (EXPERIMENTAL)" 741 753 default n ··· 871 899 depends on !SMP 872 900 873 901 choice 874 - prompt "Default Power Saving Mode" 902 + prompt "Standby Power Saving Mode" 875 903 depends on PM 876 904 default PM_BFIN_SLEEP_DEEPER 877 905 config PM_BFIN_SLEEP_DEEPER ··· 890 918 normal during Sleep Deeper, due to the reduced SCLK frequency. 891 919 When in the sleep mode, system DMA access to L1 memory is not supported. 892 920 921 + If unsure, select "Sleep Deeper". 922 + 893 923 config PM_BFIN_SLEEP 894 924 bool "Sleep" 895 925 help ··· 899 925 dissipation by disabling the clock to the processor core (CCLK). 900 926 The PLL and system clock (SCLK), however, continue to operate in 901 927 this mode. Typically an external event or RTC activity will wake 902 - up the processor. When in the sleep mode, 903 - system DMA access to L1 memory is not supported. 928 + up the processor. When in the sleep mode, system DMA access to L1 929 + memory is not supported. 930 + 931 + If unsure, select "Sleep Deeper". 904 932 endchoice 905 933 906 934 config PM_WAKEUP_BY_GPIO 907 - bool "Cause Wakeup Event by GPIO" 935 + bool "Allow Wakeup from Standby by GPIO" 908 936 909 937 config PM_WAKEUP_GPIO_NUMBER 910 - int "Wakeup GPIO number" 938 + int "GPIO number" 911 939 range 0 47 912 940 depends on PM_WAKEUP_BY_GPIO 913 941 default 2 if BFIN537_STAMP ··· 929 953 config PM_WAKEUP_GPIO_POLAR_EDGE_B 930 954 bool "Both EDGE" 931 955 endchoice 956 + 957 + comment "Possible Suspend Mem / Hibernate Wake-Up Sources" 958 + depends on PM 959 + 960 + config PM_BFIN_WAKE_RTC 961 + bool "Allow Wake-Up from RESET and on-chip RTC" 962 + depends on PM 963 + default n 964 + help 965 + Enable RTC Wake-Up (Voltage Regulator Power-Up) 966 + 967 + config PM_BFIN_WAKE_PH6 968 + bool "Allow Wake-Up from on-chip PHY or PH6 GP" 969 + depends on PM && (BF52x || BF534 || BF536 || BF537) 970 + default n 971 + help 972 + Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up) 973 + 974 + config PM_BFIN_WAKE_CAN 975 + bool "Allow Wake-Up from on-chip CAN0/1" 976 + depends on PM && (BF54x || BF534 || BF536 || BF537) 977 + default n 978 + help 979 + Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up) 980 + 981 + config PM_BFIN_WAKE_GP 982 + bool "Allow Wake-Up from GPIOs" 983 + depends on PM && BF54x 984 + default n 985 + help 986 + Enable General-Purpose Wake-Up (Voltage Regulator Power-Up) 987 + 988 + config PM_BFIN_WAKE_USB 989 + bool "Allow Wake-Up from on-chip USB" 990 + depends on PM && (BF54x || BF52x) 991 + default n 992 + help 993 + Enable USB Wake-Up (Voltage Regulator Power-Up) 994 + 995 + config PM_BFIN_WAKE_KEYPAD 996 + bool "Allow Wake-Up from on-chip Keypad" 997 + depends on PM && BF54x 998 + default n 999 + help 1000 + Enable Keypad Wake-Up (Voltage Regulator Power-Up) 1001 + 1002 + config PM_BFIN_WAKE_ROTARY 1003 + bool "Allow Wake-Up from on-chip Rotary" 1004 + depends on PM && BF54x 1005 + default n 1006 + help 1007 + Enable Rotary Wake-Up (Voltage Regulator Power-Up) 932 1008 933 1009 endmenu 934 1010
-7
arch/blackfin/Kconfig.debug
··· 154 154 all of this lives in the init section and is thrown away after the 155 155 kernel boots completely. 156 156 157 - config DUAL_CORE_TEST_MODULE 158 - tristate "Dual Core Test Module" 159 - depends on (BF561) 160 - default n 161 - help 162 - Say Y here to build-in dual core test module for dual core test. 163 - 164 157 config CPLB_INFO 165 158 bool "Display the CPLB information" 166 159 help
+3 -2
arch/blackfin/Makefile
··· 6 6 # for more details. 7 7 # 8 8 9 - 10 - CROSS_COMPILE ?= bfin-uclinux- 9 + ifeq ($(CROSS_COMPILE),) 10 + CROSS_COMPILE := bfin-uclinux- 11 + endif 11 12 LDFLAGS_vmlinux := -X 12 13 OBJCOPYFLAGS := -O binary -R .note -R .comment -S 13 14 GZFLAGS := -9
+179 -8
arch/blackfin/configs/BF527-EZKIT_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 3 # Linux kernel version: 2.6.24.7 4 - # Fri May 16 10:02:29 2008 5 4 # 6 5 # CONFIG_MMU is not set 7 6 # CONFIG_FPU is not set ··· 289 290 # CONFIG_RESOURCES_64BIT is not set 290 291 CONFIG_ZONE_DMA_FLAG=1 291 292 CONFIG_VIRT_TO_BUS=y 292 - # CONFIG_BFIN_GPTIMERS is not set 293 + CONFIG_BFIN_GPTIMERS=y 293 294 CONFIG_BFIN_DMA_5XX=y 294 295 # CONFIG_DMA_UNCACHED_4M is not set 295 296 # CONFIG_DMA_UNCACHED_2M is not set ··· 429 430 # 430 431 # CONFIG_NET_PKTGEN is not set 431 432 # CONFIG_HAMRADIO is not set 432 - # CONFIG_IRDA is not set 433 + CONFIG_IRDA=m 434 + 435 + # 436 + # IrDA protocols 437 + # 438 + CONFIG_IRLAN=m 439 + CONFIG_IRCOMM=m 440 + # CONFIG_IRDA_ULTRA is not set 441 + 442 + # 443 + # IrDA options 444 + # 445 + # CONFIG_IRDA_CACHE_LAST_LSAP is not set 446 + # CONFIG_IRDA_FAST_RR is not set 447 + # CONFIG_IRDA_DEBUG is not set 448 + 449 + # 450 + # Infrared-port device drivers 451 + # 452 + 453 + # 454 + # SIR device drivers 455 + # 456 + CONFIG_IRTTY_SIR=m 457 + CONFIG_BFIN_SIR=m 458 + CONFIG_BFIN_SIR0=y 459 + CONFIG_SIR_BFIN_DMA=y 460 + # CONFIG_SIR_BFIN_PIO is not set 461 + 462 + # 463 + # Dongle support 464 + # 465 + # CONFIG_DONGLE is not set 466 + # CONFIG_KINGSUN_DONGLE is not set 467 + # CONFIG_KSDAZZLE_DONGLE is not set 468 + # CONFIG_KS959_DONGLE is not set 469 + 470 + # 471 + # Old SIR device drivers 472 + # 473 + # CONFIG_IRPORT_SIR is not set 474 + 475 + # 476 + # Old Serial dongle support 477 + # 478 + 479 + # 480 + # FIR device drivers 481 + # 482 + # CONFIG_USB_IRDA is not set 483 + # CONFIG_SIGMATEL_FIR is not set 484 + # CONFIG_MCS_FIR is not set 433 485 # CONFIG_BT is not set 434 486 # CONFIG_AF_RXRPC is not set 435 487 ··· 739 689 # CONFIG_BFIN_SPORT is not set 740 690 # CONFIG_BFIN_TIMER_LATENCY is not set 741 691 # CONFIG_TWI_LCD is not set 742 - # CONFIG_SIMPLE_GPIO is not set 743 - # CONFIG_VT is not set 692 + CONFIG_SIMPLE_GPIO=m 693 + CONFIG_VT=y 694 + CONFIG_VT_CONSOLE=y 695 + CONFIG_HW_CONSOLE=y 696 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 744 697 # CONFIG_SERIAL_NONSTANDARD is not set 745 698 746 699 # ··· 925 872 # 926 873 # CONFIG_VGASTATE is not set 927 874 # CONFIG_VIDEO_OUTPUT_CONTROL is not set 928 - # CONFIG_FB is not set 929 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 875 + CONFIG_FB=y 876 + # CONFIG_FIRMWARE_EDID is not set 877 + # CONFIG_FB_DDC is not set 878 + CONFIG_FB_CFB_FILLRECT=y 879 + CONFIG_FB_CFB_COPYAREA=y 880 + CONFIG_FB_CFB_IMAGEBLIT=y 881 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 882 + # CONFIG_FB_SYS_FILLRECT is not set 883 + # CONFIG_FB_SYS_COPYAREA is not set 884 + # CONFIG_FB_SYS_IMAGEBLIT is not set 885 + # CONFIG_FB_SYS_FOPS is not set 886 + CONFIG_FB_DEFERRED_IO=y 887 + # CONFIG_FB_SVGALIB is not set 888 + # CONFIG_FB_MACMODES is not set 889 + # CONFIG_FB_BACKLIGHT is not set 890 + # CONFIG_FB_MODE_HELPERS is not set 891 + # CONFIG_FB_TILEBLITTING is not set 892 + 893 + # 894 + # Frame buffer hardware drivers 895 + # 896 + CONFIG_FB_BFIN_T350MCQB=y 897 + # CONFIG_FB_BFIN_7393 is not set 898 + # CONFIG_FB_S1D13XXX is not set 899 + # CONFIG_FB_VIRTUAL is not set 900 + CONFIG_BACKLIGHT_LCD_SUPPORT=y 901 + CONFIG_LCD_CLASS_DEVICE=m 902 + CONFIG_LCD_LTV350QV=m 903 + CONFIG_BACKLIGHT_CLASS_DEVICE=m 904 + # CONFIG_BACKLIGHT_CORGI is not set 930 905 931 906 # 932 907 # Display device support ··· 962 881 # CONFIG_DISPLAY_SUPPORT is not set 963 882 964 883 # 884 + # Console display driver support 885 + # 886 + CONFIG_DUMMY_CONSOLE=y 887 + CONFIG_FRAMEBUFFER_CONSOLE=y 888 + # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 889 + # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 890 + # CONFIG_FONTS is not set 891 + CONFIG_FONT_8x8=y 892 + CONFIG_FONT_8x16=y 893 + CONFIG_LOGO=y 894 + # CONFIG_LOGO_LINUX_MONO is not set 895 + # CONFIG_LOGO_LINUX_VGA16 is not set 896 + # CONFIG_LOGO_LINUX_CLUT224 is not set 897 + # CONFIG_LOGO_BLACKFIN_VGA16 is not set 898 + CONFIG_LOGO_BLACKFIN_CLUT224=y 899 + 900 + # 965 901 # Sound 966 902 # 967 - # CONFIG_SOUND is not set 903 + CONFIG_SOUND=m 904 + 905 + # 906 + # Advanced Linux Sound Architecture 907 + # 908 + CONFIG_SND=m 909 + CONFIG_SND_TIMER=m 910 + CONFIG_SND_PCM=m 911 + # CONFIG_SND_SEQUENCER is not set 912 + # CONFIG_SND_MIXER_OSS is not set 913 + # CONFIG_SND_PCM_OSS is not set 914 + # CONFIG_SND_DYNAMIC_MINORS is not set 915 + CONFIG_SND_SUPPORT_OLD_API=y 916 + CONFIG_SND_VERBOSE_PROCFS=y 917 + # CONFIG_SND_VERBOSE_PRINTK is not set 918 + # CONFIG_SND_DEBUG is not set 919 + 920 + # 921 + # Generic devices 922 + # 923 + # CONFIG_SND_DUMMY is not set 924 + # CONFIG_SND_MTPAV is not set 925 + # CONFIG_SND_SERIAL_U16550 is not set 926 + # CONFIG_SND_MPU401 is not set 927 + 928 + # 929 + # SPI devices 930 + # 931 + 932 + # 933 + # ALSA Blackfin devices 934 + # 935 + # CONFIG_SND_BLACKFIN_AD1836 is not set 936 + # CONFIG_SND_BLACKFIN_AD1836_TDM is not set 937 + # CONFIG_SND_BLACKFIN_AD1836_I2S is not set 938 + # CONFIG_SND_BLACKFIN_AD1836_MULSUB is not set 939 + # CONFIG_SND_BLACKFIN_AD1836_5P1 is not set 940 + # CONFIG_SND_BFIN_AD73311 is not set 941 + # CONFIG_SND_BFIN_AD73322 is not set 942 + 943 + # 944 + # USB devices 945 + # 946 + # CONFIG_SND_USB_AUDIO is not set 947 + # CONFIG_SND_USB_CAIAQ is not set 948 + 949 + # 950 + # System on Chip audio support 951 + # 952 + CONFIG_SND_SOC_AC97_BUS=y 953 + CONFIG_SND_SOC=m 954 + CONFIG_SND_BF5XX_SOC=m 955 + CONFIG_SND_MMAP_SUPPORT=y 956 + CONFIG_SND_BF5XX_SOC_I2S=m 957 + CONFIG_SND_BF5XX_SOC_AC97=m 958 + # CONFIG_SND_BF5XX_SOC_WM8750 is not set 959 + # CONFIG_SND_BF5XX_SOC_WM8731 is not set 960 + CONFIG_SND_BF5XX_SOC_SSM2602=m 961 + CONFIG_SND_BF5XX_SOC_BF5xx=m 962 + CONFIG_SND_BF5XX_SPORT_NUM=0 963 + # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set 964 + 965 + # 966 + # SoC Audio support for SuperH 967 + # 968 + CONFIG_SND_SOC_SSM2602=m 969 + # CONFIG_SND_SOC_SSM2602_SPI is not set 970 + CONFIG_SND_SOC_AD1980=m 971 + 972 + # 973 + # Open Sound System 974 + # 975 + # CONFIG_SOUND_PRIME is not set 976 + CONFIG_AC97_BUS=m 968 977 CONFIG_HID_SUPPORT=y 969 978 CONFIG_HID=y 970 979 # CONFIG_HID_DEBUG is not set
+85 -194
arch/blackfin/configs/BF533-EZKIT_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.22.16 3 + # Linux kernel version: 2.6.24.7 4 4 # 5 5 # CONFIG_MMU is not set 6 6 # CONFIG_FPU is not set ··· 13 13 CONFIG_GENERIC_HWEIGHT=y 14 14 CONFIG_GENERIC_HARDIRQS=y 15 15 CONFIG_GENERIC_IRQ_PROBE=y 16 - CONFIG_GENERIC_TIME=y 17 16 CONFIG_GENERIC_GPIO=y 18 17 CONFIG_FORCE_MAX_ZONEORDER=14 19 18 CONFIG_GENERIC_CALIBRATE_DELAY=y 20 19 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 21 20 22 21 # 23 - # Code maturity level options 22 + # General setup 24 23 # 25 24 CONFIG_EXPERIMENTAL=y 26 25 CONFIG_BROKEN_ON_SMP=y 27 26 CONFIG_INIT_ENV_ARG_LIMIT=32 28 - 29 - # 30 - # General setup 31 - # 32 27 CONFIG_LOCALVERSION="" 33 28 CONFIG_LOCALVERSION_AUTO=y 34 29 CONFIG_SYSVIPC=y 35 - # CONFIG_IPC_NS is not set 36 30 CONFIG_SYSVIPC_SYSCTL=y 37 31 # CONFIG_POSIX_MQUEUE is not set 38 32 # CONFIG_BSD_PROCESS_ACCT is not set 39 33 # CONFIG_TASKSTATS is not set 40 - # CONFIG_UTS_NS is not set 34 + # CONFIG_USER_NS is not set 35 + # CONFIG_PID_NS is not set 41 36 # CONFIG_AUDIT is not set 42 37 CONFIG_IKCONFIG=y 43 38 CONFIG_IKCONFIG_PROC=y 44 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 45 44 CONFIG_SYSFS_DEPRECATED=y 46 45 # CONFIG_RELAY is not set 47 46 CONFIG_BLK_DEV_INITRD=y ··· 63 64 CONFIG_SIGNALFD=y 64 65 CONFIG_EVENTFD=y 65 66 CONFIG_VM_EVENT_COUNTERS=y 66 - CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 67 - # CONFIG_NP2 is not set 68 67 CONFIG_SLAB=y 69 68 # CONFIG_SLUB is not set 70 69 # CONFIG_SLOB is not set 70 + CONFIG_SLABINFO=y 71 71 CONFIG_RT_MUTEXES=y 72 72 CONFIG_TINY_SHMEM=y 73 73 CONFIG_BASE_SMALL=0 74 - 75 - # 76 - # Loadable module support 77 - # 78 74 CONFIG_MODULES=y 79 75 CONFIG_MODULE_UNLOAD=y 80 76 # CONFIG_MODULE_FORCE_UNLOAD is not set 81 77 # CONFIG_MODVERSIONS is not set 82 78 # CONFIG_MODULE_SRCVERSION_ALL is not set 83 79 CONFIG_KMOD=y 84 - 85 - # 86 - # Block layer 87 - # 88 80 CONFIG_BLOCK=y 89 81 # CONFIG_LBD is not set 90 82 # CONFIG_BLK_DEV_IO_TRACE is not set 91 83 # CONFIG_LSF is not set 84 + # CONFIG_BLK_DEV_BSG is not set 92 85 93 86 # 94 87 # IO Schedulers ··· 132 141 # CONFIG_BF_REV_ANY is not set 133 142 # CONFIG_BF_REV_NONE is not set 134 143 CONFIG_BF53x=y 135 - CONFIG_BFIN_SINGLE_CORE=y 136 144 CONFIG_MEM_MT48LC16M16A2TG_75=y 137 145 CONFIG_BFIN533_EZKIT=y 138 146 # CONFIG_BFIN533_STAMP is not set 139 147 # CONFIG_BFIN533_BLUETECHNIX_CM is not set 140 148 # CONFIG_H8606_HVSISTEMAS is not set 149 + # CONFIG_BFIN532_IP0X is not set 141 150 # CONFIG_GENERIC_BF533_BOARD is not set 142 151 143 152 # ··· 180 189 # Board customizations 181 190 # 182 191 # CONFIG_CMDLINE_BOOL is not set 192 + CONFIG_BOOT_LOAD=0x1000 183 193 184 194 # 185 195 # Clock/PLL Setup 186 196 # 187 197 CONFIG_CLKIN_HZ=27000000 188 198 # CONFIG_BFIN_KERNEL_CLOCK is not set 199 + CONFIG_MAX_MEM_SIZE=512 189 200 CONFIG_MAX_VCO_HZ=750000000 190 201 CONFIG_MIN_VCO_HZ=50000000 191 202 CONFIG_MAX_SCLK_HZ=133333333 ··· 201 208 # CONFIG_HZ_300 is not set 202 209 # CONFIG_HZ_1000 is not set 203 210 CONFIG_HZ=250 211 + CONFIG_GENERIC_TIME=y 212 + CONFIG_GENERIC_CLOCKEVENTS=y 213 + # CONFIG_CYCLES_CLOCKSOURCE is not set 214 + CONFIG_TICK_ONESHOT=y 215 + # CONFIG_NO_HZ is not set 216 + CONFIG_HIGH_RES_TIMERS=y 217 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 204 218 205 219 # 206 - # Memory Setup 220 + # Misc 207 221 # 208 - CONFIG_MAX_MEM_SIZE=512 209 - CONFIG_MEM_ADD_WIDTH=9 210 - CONFIG_BOOT_LOAD=0x1000 211 222 CONFIG_BFIN_SCRATCH_REG_RETN=y 212 223 # CONFIG_BFIN_SCRATCH_REG_RETE is not set 213 224 # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set ··· 247 250 CONFIG_FLATMEM=y 248 251 CONFIG_FLAT_NODE_MEM_MAP=y 249 252 # CONFIG_SPARSEMEM_STATIC is not set 253 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 250 254 CONFIG_SPLIT_PTLOCK_CPUS=4 251 255 # CONFIG_RESOURCES_64BIT is not set 252 256 CONFIG_ZONE_DMA_FLAG=1 253 - CONFIG_LARGE_ALLOCS=y 257 + CONFIG_VIRT_TO_BUS=y 254 258 # CONFIG_BFIN_GPTIMERS is not set 255 259 CONFIG_BFIN_DMA_5XX=y 260 + # CONFIG_DMA_UNCACHED_4M is not set 256 261 # CONFIG_DMA_UNCACHED_2M is not set 257 262 CONFIG_DMA_UNCACHED_1M=y 258 263 # CONFIG_DMA_UNCACHED_NONE is not set ··· 292 293 CONFIG_BANK_0=0x7BB0 293 294 CONFIG_BANK_1=0x7BB0 294 295 CONFIG_BANK_2=0x7BB0 295 - CONFIG_BANK_3=0xAAC3 296 + CONFIG_BANK_3=0xAAC2 296 297 297 298 # 298 299 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) 299 300 # 300 301 # CONFIG_PCI is not set 301 302 # CONFIG_ARCH_SUPPORTS_MSI is not set 302 - 303 - # 304 - # PCCARD (PCMCIA/CardBus) support 305 - # 306 303 # CONFIG_PCCARD is not set 307 304 308 305 # ··· 316 321 CONFIG_PM=y 317 322 # CONFIG_PM_LEGACY is not set 318 323 # CONFIG_PM_DEBUG is not set 319 - # CONFIG_PM_SYSFS_DEPRECATED is not set 324 + CONFIG_PM_SLEEP=y 325 + CONFIG_SUSPEND_UP_POSSIBLE=y 326 + CONFIG_SUSPEND=y 320 327 CONFIG_PM_BFIN_SLEEP_DEEPER=y 321 328 # CONFIG_PM_BFIN_SLEEP is not set 322 329 # CONFIG_PM_WAKEUP_BY_GPIO is not set ··· 364 367 CONFIG_INET_XFRM_MODE_TRANSPORT=y 365 368 CONFIG_INET_XFRM_MODE_TUNNEL=y 366 369 CONFIG_INET_XFRM_MODE_BEET=y 370 + # CONFIG_INET_LRO is not set 367 371 CONFIG_INET_DIAG=y 368 372 CONFIG_INET_TCP_DIAG=y 369 373 # CONFIG_TCP_CONG_ADVANCED is not set ··· 391 393 # CONFIG_LAPB is not set 392 394 # CONFIG_ECONET is not set 393 395 # CONFIG_WAN_ROUTER is not set 394 - 395 - # 396 - # QoS and/or fair queueing 397 - # 398 396 # CONFIG_NET_SCHED is not set 399 397 400 398 # ··· 422 428 # SIR device drivers 423 429 # 424 430 CONFIG_IRTTY_SIR=m 431 + # CONFIG_BFIN_SIR is not set 425 432 426 433 # 427 434 # Dongle support ··· 452 457 # CONFIG_MAC80211 is not set 453 458 # CONFIG_IEEE80211 is not set 454 459 # CONFIG_RFKILL is not set 460 + # CONFIG_NET_9P is not set 455 461 456 462 # 457 463 # Device Drivers ··· 461 465 # 462 466 # Generic Driver Options 463 467 # 468 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 464 469 CONFIG_STANDALONE=y 465 470 CONFIG_PREVENT_FIRMWARE_BUILD=y 466 471 # CONFIG_FW_LOADER is not set 467 472 # CONFIG_SYS_HYPERVISOR is not set 468 - 469 - # 470 - # Connector - unified userspace <-> kernelspace linker 471 - # 472 473 # CONFIG_CONNECTOR is not set 473 474 CONFIG_MTD=y 474 475 # CONFIG_MTD_DEBUG is not set ··· 485 492 # CONFIG_INFTL is not set 486 493 # CONFIG_RFD_FTL is not set 487 494 # CONFIG_SSFDC is not set 495 + # CONFIG_MTD_OOPS is not set 488 496 489 497 # 490 498 # RAM/ROM/Flash chip drivers ··· 542 548 # UBI - Unsorted block images 543 549 # 544 550 # CONFIG_MTD_UBI is not set 545 - 546 - # 547 - # Parallel port support 548 - # 549 551 # CONFIG_PARPORT is not set 550 - 551 - # 552 - # Plug and Play support 553 - # 554 - # CONFIG_PNPACPI is not set 555 - 556 - # 557 - # Block devices 558 - # 552 + CONFIG_BLK_DEV=y 559 553 # CONFIG_BLK_DEV_COW_COMMON is not set 560 554 # CONFIG_BLK_DEV_LOOP is not set 561 555 # CONFIG_BLK_DEV_NBD is not set ··· 553 571 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 554 572 # CONFIG_CDROM_PKTCDVD is not set 555 573 # CONFIG_ATA_OVER_ETH is not set 556 - 557 - # 558 - # Misc devices 559 - # 574 + CONFIG_MISC_DEVICES=y 575 + # CONFIG_EEPROM_93CX6 is not set 560 576 # CONFIG_IDE is not set 561 577 562 578 # ··· 562 582 # 563 583 # CONFIG_RAID_ATTRS is not set 564 584 # CONFIG_SCSI is not set 585 + # CONFIG_SCSI_DMA is not set 565 586 # CONFIG_SCSI_NETLINK is not set 566 587 # CONFIG_ATA is not set 567 - 568 - # 569 - # Multi-device support (RAID and LVM) 570 - # 571 588 # CONFIG_MD is not set 572 - 573 - # 574 - # Network device support 575 - # 576 589 CONFIG_NETDEVICES=y 590 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 577 591 # CONFIG_DUMMY is not set 578 592 # CONFIG_BONDING is not set 593 + # CONFIG_MACVLAN is not set 579 594 # CONFIG_EQUALIZER is not set 580 595 # CONFIG_TUN is not set 596 + # CONFIG_VETH is not set 581 597 # CONFIG_PHYLIB is not set 582 - 583 - # 584 - # Ethernet (10 or 100Mbit) 585 - # 586 598 CONFIG_NET_ETHERNET=y 587 599 CONFIG_MII=y 588 600 CONFIG_SMC91X=y 589 601 # CONFIG_SMSC911X is not set 590 602 # CONFIG_DM9000 is not set 603 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 604 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 605 + # CONFIG_IBM_NEW_EMAC_TAH is not set 606 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 607 + # CONFIG_B44 is not set 591 608 CONFIG_NETDEV_1000=y 592 609 # CONFIG_AX88180 is not set 593 610 CONFIG_NETDEV_10000=y ··· 601 624 # CONFIG_NETCONSOLE is not set 602 625 # CONFIG_NETPOLL is not set 603 626 # CONFIG_NET_POLL_CONTROLLER is not set 604 - 605 - # 606 - # ISDN subsystem 607 - # 608 627 # CONFIG_ISDN is not set 609 - 610 - # 611 - # Telephony Support 612 - # 613 628 # CONFIG_PHONE is not set 614 629 615 630 # ··· 616 647 # 617 648 # CONFIG_INPUT_MOUSEDEV is not set 618 649 # CONFIG_INPUT_JOYDEV is not set 619 - # CONFIG_INPUT_TSDEV is not set 620 650 CONFIG_INPUT_EVDEV=m 621 651 # CONFIG_INPUT_EVBUG is not set 622 652 ··· 640 672 # 641 673 # CONFIG_AD9960 is not set 642 674 # CONFIG_SPI_ADC_BF533 is not set 643 - # CONFIG_BF5xx_PFLAGS is not set 644 675 # CONFIG_BF5xx_PPIFCD is not set 645 676 # CONFIG_BFIN_SIMPLE_TIMER is not set 646 677 # CONFIG_BF5xx_PPI is not set 647 678 CONFIG_BFIN_SPORT=y 648 679 # CONFIG_BFIN_TIMER_LATENCY is not set 649 - # CONFIG_AD5304 is not set 680 + CONFIG_SIMPLE_GPIO=m 650 681 # CONFIG_VT is not set 651 682 # CONFIG_SERIAL_NONSTANDARD is not set 652 683 ··· 673 706 # CAN, the car bus and industrial fieldbus 674 707 # 675 708 # CONFIG_CAN4LINUX is not set 676 - 677 - # 678 - # IPMI 679 - # 680 709 # CONFIG_IPMI_HANDLER is not set 681 - CONFIG_WATCHDOG=y 682 - # CONFIG_WATCHDOG_NOWAYOUT is not set 683 - 684 - # 685 - # Watchdog Device Drivers 686 - # 687 - # CONFIG_SOFT_WATCHDOG is not set 688 - CONFIG_BFIN_WDT=y 689 710 CONFIG_HW_RANDOM=y 690 711 # CONFIG_GEN_RTC is not set 691 - CONFIG_BLACKFIN_DPMC=y 692 712 # CONFIG_R3964 is not set 693 713 # CONFIG_RAW_DRIVER is not set 694 - 695 - # 696 - # TPM devices 697 - # 698 714 # CONFIG_TCG_TPM is not set 699 715 # CONFIG_I2C is not set 700 716 ··· 698 748 # 699 749 # CONFIG_SPI_AT25 is not set 700 750 # CONFIG_SPI_SPIDEV is not set 701 - 702 - # 703 - # Dallas's 1-wire bus 704 - # 751 + # CONFIG_SPI_TLE62X0 is not set 705 752 # CONFIG_W1 is not set 753 + # CONFIG_POWER_SUPPLY is not set 706 754 CONFIG_HWMON=y 707 755 # CONFIG_HWMON_VID is not set 708 - # CONFIG_SENSORS_ABITUGURU is not set 709 756 # CONFIG_SENSORS_F71805F is not set 757 + # CONFIG_SENSORS_F71882FG is not set 758 + # CONFIG_SENSORS_IT87 is not set 710 759 # CONFIG_SENSORS_LM70 is not set 760 + # CONFIG_SENSORS_PC87360 is not set 711 761 # CONFIG_SENSORS_PC87427 is not set 712 762 # CONFIG_SENSORS_SMSC47M1 is not set 713 763 # CONFIG_SENSORS_SMSC47B397 is not set 714 764 # CONFIG_SENSORS_VT1211 is not set 715 765 # CONFIG_SENSORS_W83627HF is not set 766 + # CONFIG_SENSORS_W83627EHF is not set 716 767 # CONFIG_HWMON_DEBUG_CHIP 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=y 776 + 777 + # 778 + # Sonics Silicon Backplane 779 + # 780 + CONFIG_SSB_POSSIBLE=y 781 + # CONFIG_SSB is not set 717 782 718 783 # 719 784 # Multifunction device drivers ··· 745 780 # 746 781 # Graphics support 747 782 # 783 + # CONFIG_VGASTATE is not set 784 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 785 + # CONFIG_FB is not set 748 786 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 749 787 750 788 # 751 789 # Display device support 752 790 # 753 791 # CONFIG_DISPLAY_SUPPORT is not set 754 - # CONFIG_VGASTATE is not set 755 - # CONFIG_FB is not set 756 792 757 793 # 758 794 # Sound 759 795 # 760 796 # CONFIG_SOUND is not set 761 - 762 - # 763 - # HID Devices 764 - # 797 + CONFIG_HID_SUPPORT=y 765 798 CONFIG_HID=m 766 799 # CONFIG_HID_DEBUG is not set 767 - 768 - # 769 - # USB support 770 - # 771 - CONFIG_USB_ARCH_HAS_HCD=y 772 - # CONFIG_USB_ARCH_HAS_OHCI is not set 773 - # CONFIG_USB_ARCH_HAS_EHCI is not set 774 - # CONFIG_USB is not set 775 - 776 - # 777 - # Enable Host or Gadget support to see Inventra options 778 - # 779 - 780 - # 781 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 782 - # 783 - 784 - # 785 - # USB Gadget Support 786 - # 787 - # CONFIG_USB_GADGET is not set 800 + # CONFIG_HIDRAW is not set 801 + # CONFIG_USB_SUPPORT is not set 788 802 # CONFIG_MMC is not set 789 - 790 - # 791 - # LED devices 792 - # 793 803 # CONFIG_NEW_LEDS is not set 794 - 795 - # 796 - # LED drivers 797 - # 798 - 799 - # 800 - # LED Triggers 801 - # 802 - 803 - # 804 - # InfiniBand support 805 - # 806 - 807 - # 808 - # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 809 - # 810 - 811 - # 812 - # Real Time Clock 813 - # 814 804 CONFIG_RTC_LIB=y 815 805 CONFIG_RTC_CLASS=y 816 806 CONFIG_RTC_HCTOSYS=y ··· 782 862 # CONFIG_RTC_DRV_TEST is not set 783 863 784 864 # 785 - # I2C RTC drivers 786 - # 787 - 788 - # 789 865 # SPI RTC drivers 790 866 # 791 867 # CONFIG_RTC_DRV_RS5C348 is not set ··· 791 875 # Platform RTC drivers 792 876 # 793 877 # CONFIG_RTC_DRV_DS1553 is not set 878 + # CONFIG_RTC_DRV_STK17TA8 is not set 794 879 # CONFIG_RTC_DRV_DS1742 is not set 795 880 # CONFIG_RTC_DRV_M48T86 is not set 881 + # CONFIG_RTC_DRV_M48T59 is not set 796 882 # CONFIG_RTC_DRV_V3020 is not set 797 883 798 884 # ··· 803 885 CONFIG_RTC_DRV_BFIN=y 804 886 805 887 # 806 - # DMA Engine support 888 + # Userspace I/O 807 889 # 808 - # CONFIG_DMA_ENGINE is not set 809 - 810 - # 811 - # DMA Clients 812 - # 813 - 814 - # 815 - # DMA Devices 816 - # 817 - 818 - # 819 - # PBX support 820 - # 821 - # CONFIG_PBX is not set 890 + # CONFIG_UIO is not set 822 891 823 892 # 824 893 # File systems ··· 850 945 CONFIG_SYSFS=y 851 946 # CONFIG_TMPFS is not set 852 947 # CONFIG_HUGETLB_PAGE is not set 853 - CONFIG_RAMFS=y 854 948 # CONFIG_CONFIGFS_FS is not set 855 949 856 950 # ··· 875 971 CONFIG_JFFS2_FS=m 876 972 CONFIG_JFFS2_FS_DEBUG=0 877 973 CONFIG_JFFS2_FS_WRITEBUFFER=y 974 + # CONFIG_JFFS2_FS_WBUF_VERIFY is not set 878 975 # CONFIG_JFFS2_SUMMARY is not set 879 976 # CONFIG_JFFS2_FS_XATTR is not set 880 977 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 881 978 CONFIG_JFFS2_ZLIB=y 979 + # CONFIG_JFFS2_LZO is not set 882 980 CONFIG_JFFS2_RTIME=y 883 981 # CONFIG_JFFS2_RUBIN is not set 884 982 # CONFIG_CRAMFS is not set ··· 889 983 # CONFIG_QNX4FS_FS is not set 890 984 # CONFIG_SYSV_FS is not set 891 985 # CONFIG_UFS_FS is not set 892 - 893 - # 894 - # Network File Systems 895 - # 986 + CONFIG_NETWORK_FILESYSTEMS=y 896 987 CONFIG_NFS_FS=m 897 988 CONFIG_NFS_V3=y 898 989 # CONFIG_NFS_V3_ACL is not set ··· 909 1006 # CONFIG_NCP_FS is not set 910 1007 # CONFIG_CODA_FS is not set 911 1008 # CONFIG_AFS_FS is not set 912 - # CONFIG_9P_FS is not set 913 1009 914 1010 # 915 1011 # Partition Types 916 1012 # 917 1013 # CONFIG_PARTITION_ADVANCED is not set 918 1014 CONFIG_MSDOS_PARTITION=y 919 - 920 - # 921 - # Native Language Support 922 - # 923 1015 CONFIG_NLS=m 924 1016 CONFIG_NLS_DEFAULT="iso8859-1" 925 1017 # CONFIG_NLS_CODEPAGE_437 is not set ··· 955 1057 # CONFIG_NLS_KOI8_R is not set 956 1058 # CONFIG_NLS_KOI8_U is not set 957 1059 # CONFIG_NLS_UTF8 is not set 958 - 959 - # 960 - # Distributed Lock Manager 961 - # 962 1060 # CONFIG_DLM is not set 963 - 964 - # 965 - # Profiling support 966 - # 1061 + CONFIG_INSTRUMENTATION=y 967 1062 # CONFIG_PROFILING is not set 1063 + # CONFIG_MARKERS is not set 968 1064 969 1065 # 970 1066 # Kernel hacking 971 1067 # 972 1068 # CONFIG_PRINTK_TIME is not set 1069 + CONFIG_ENABLE_WARN_DEPRECATED=y 973 1070 CONFIG_ENABLE_MUST_CHECK=y 974 1071 # CONFIG_MAGIC_SYSRQ is not set 975 1072 # CONFIG_UNUSED_SYMBOLS is not set ··· 972 1079 # CONFIG_HEADERS_CHECK is not set 973 1080 # CONFIG_DEBUG_KERNEL is not set 974 1081 # CONFIG_DEBUG_BUGVERBOSE is not set 1082 + # CONFIG_SAMPLES is not set 975 1083 CONFIG_DEBUG_MMRS=y 976 1084 CONFIG_DEBUG_HUNT_FOR_ZERO=y 977 1085 CONFIG_DEBUG_BFIN_HWTRACE_ON=y ··· 992 1098 # CONFIG_KEYS is not set 993 1099 CONFIG_SECURITY=y 994 1100 # CONFIG_SECURITY_NETWORK is not set 995 - CONFIG_SECURITY_CAPABILITIES=m 996 - 997 - # 998 - # Cryptographic options 999 - # 1101 + # CONFIG_SECURITY_CAPABILITIES is not set 1000 1102 # CONFIG_CRYPTO is not set 1001 1103 1002 1104 # ··· 1003 1113 # CONFIG_CRC16 is not set 1004 1114 # CONFIG_CRC_ITU_T is not set 1005 1115 CONFIG_CRC32=y 1116 + # CONFIG_CRC7 is not set 1006 1117 # CONFIG_LIBCRC32C is not set 1007 1118 CONFIG_ZLIB_INFLATE=y 1008 1119 CONFIG_ZLIB_DEFLATE=m
+127 -215
arch/blackfin/configs/BF533-STAMP_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.22.16 3 + # Linux kernel version: 2.6.24.7 4 4 # 5 5 # CONFIG_MMU is not set 6 6 # CONFIG_FPU is not set ··· 13 13 CONFIG_GENERIC_HWEIGHT=y 14 14 CONFIG_GENERIC_HARDIRQS=y 15 15 CONFIG_GENERIC_IRQ_PROBE=y 16 - CONFIG_GENERIC_TIME=y 17 16 CONFIG_GENERIC_GPIO=y 18 17 CONFIG_FORCE_MAX_ZONEORDER=14 19 18 CONFIG_GENERIC_CALIBRATE_DELAY=y 20 19 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 21 20 22 21 # 23 - # Code maturity level options 22 + # General setup 24 23 # 25 24 CONFIG_EXPERIMENTAL=y 26 25 CONFIG_BROKEN_ON_SMP=y 27 26 CONFIG_INIT_ENV_ARG_LIMIT=32 28 - 29 - # 30 - # General setup 31 - # 32 27 CONFIG_LOCALVERSION="" 33 28 CONFIG_LOCALVERSION_AUTO=y 34 29 CONFIG_SYSVIPC=y 35 - # CONFIG_IPC_NS is not set 36 30 CONFIG_SYSVIPC_SYSCTL=y 37 31 # CONFIG_POSIX_MQUEUE is not set 38 32 # CONFIG_BSD_PROCESS_ACCT is not set 39 33 # CONFIG_TASKSTATS is not set 40 - # CONFIG_UTS_NS is not set 34 + # CONFIG_USER_NS is not set 35 + # CONFIG_PID_NS is not set 41 36 # CONFIG_AUDIT is not set 42 37 CONFIG_IKCONFIG=y 43 38 CONFIG_IKCONFIG_PROC=y 44 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 45 44 CONFIG_SYSFS_DEPRECATED=y 46 45 # CONFIG_RELAY is not set 47 46 CONFIG_BLK_DEV_INITRD=y ··· 63 64 CONFIG_SIGNALFD=y 64 65 CONFIG_EVENTFD=y 65 66 CONFIG_VM_EVENT_COUNTERS=y 66 - CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 67 - # CONFIG_NP2 is not set 68 67 CONFIG_SLAB=y 69 68 # CONFIG_SLUB is not set 70 69 # CONFIG_SLOB is not set 70 + CONFIG_SLABINFO=y 71 71 CONFIG_RT_MUTEXES=y 72 72 CONFIG_TINY_SHMEM=y 73 73 CONFIG_BASE_SMALL=0 74 - 75 - # 76 - # Loadable module support 77 - # 78 74 CONFIG_MODULES=y 79 75 CONFIG_MODULE_UNLOAD=y 80 76 # CONFIG_MODULE_FORCE_UNLOAD is not set 81 77 # CONFIG_MODVERSIONS is not set 82 78 # CONFIG_MODULE_SRCVERSION_ALL is not set 83 79 CONFIG_KMOD=y 84 - 85 - # 86 - # Block layer 87 - # 88 80 CONFIG_BLOCK=y 89 81 # CONFIG_LBD is not set 90 82 # CONFIG_BLK_DEV_IO_TRACE is not set 91 83 # CONFIG_LSF is not set 84 + # CONFIG_BLK_DEV_BSG is not set 92 85 93 86 # 94 87 # IO Schedulers ··· 132 141 # CONFIG_BF_REV_ANY is not set 133 142 # CONFIG_BF_REV_NONE is not set 134 143 CONFIG_BF53x=y 135 - CONFIG_BFIN_SINGLE_CORE=y 136 144 CONFIG_MEM_MT48LC64M4A2FB_7E=y 137 145 # CONFIG_BFIN533_EZKIT is not set 138 146 CONFIG_BFIN533_STAMP=y 139 147 # CONFIG_BFIN533_BLUETECHNIX_CM is not set 140 148 # CONFIG_H8606_HVSISTEMAS is not set 149 + # CONFIG_BFIN532_IP0X is not set 141 150 # CONFIG_GENERIC_BF533_BOARD is not set 142 151 143 152 # ··· 180 189 # Board customizations 181 190 # 182 191 # CONFIG_CMDLINE_BOOL is not set 192 + CONFIG_BOOT_LOAD=0x1000 183 193 184 194 # 185 195 # Clock/PLL Setup 186 196 # 187 197 CONFIG_CLKIN_HZ=11059200 188 198 # CONFIG_BFIN_KERNEL_CLOCK is not set 199 + CONFIG_MAX_MEM_SIZE=512 189 200 CONFIG_MAX_VCO_HZ=750000000 190 201 CONFIG_MIN_VCO_HZ=50000000 191 202 CONFIG_MAX_SCLK_HZ=133333333 ··· 201 208 # CONFIG_HZ_300 is not set 202 209 # CONFIG_HZ_1000 is not set 203 210 CONFIG_HZ=250 211 + CONFIG_GENERIC_TIME=y 212 + CONFIG_GENERIC_CLOCKEVENTS=y 213 + # CONFIG_CYCLES_CLOCKSOURCE is not set 214 + CONFIG_TICK_ONESHOT=y 215 + # CONFIG_NO_HZ is not set 216 + CONFIG_HIGH_RES_TIMERS=y 217 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 204 218 205 219 # 206 - # Memory Setup 220 + # Misc 207 221 # 208 - CONFIG_MAX_MEM_SIZE=512 209 - CONFIG_MEM_ADD_WIDTH=11 210 - CONFIG_ENET_FLASH_PIN=0 211 - CONFIG_BOOT_LOAD=0x1000 212 222 CONFIG_BFIN_SCRATCH_REG_RETN=y 213 223 # CONFIG_BFIN_SCRATCH_REG_RETE is not set 214 224 # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set ··· 247 251 CONFIG_FLATMEM=y 248 252 CONFIG_FLAT_NODE_MEM_MAP=y 249 253 # CONFIG_SPARSEMEM_STATIC is not set 254 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 250 255 CONFIG_SPLIT_PTLOCK_CPUS=4 251 256 # CONFIG_RESOURCES_64BIT is not set 252 257 CONFIG_ZONE_DMA_FLAG=1 253 - CONFIG_LARGE_ALLOCS=y 258 + CONFIG_VIRT_TO_BUS=y 254 259 # CONFIG_BFIN_GPTIMERS is not set 255 260 CONFIG_BFIN_DMA_5XX=y 261 + # CONFIG_DMA_UNCACHED_4M is not set 256 262 # CONFIG_DMA_UNCACHED_2M is not set 257 263 CONFIG_DMA_UNCACHED_1M=y 258 264 # CONFIG_DMA_UNCACHED_NONE is not set ··· 292 294 CONFIG_BANK_0=0x7BB0 293 295 CONFIG_BANK_1=0x7BB0 294 296 CONFIG_BANK_2=0x7BB0 295 - CONFIG_BANK_3=0xAAC3 297 + CONFIG_BANK_3=0xAAC2 296 298 297 299 # 298 300 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) 299 301 # 300 302 # CONFIG_PCI is not set 301 303 # CONFIG_ARCH_SUPPORTS_MSI is not set 302 - 303 - # 304 - # PCCARD (PCMCIA/CardBus) support 305 - # 306 304 # CONFIG_PCCARD is not set 307 305 308 306 # ··· 316 322 CONFIG_PM=y 317 323 # CONFIG_PM_LEGACY is not set 318 324 # CONFIG_PM_DEBUG is not set 319 - # CONFIG_PM_SYSFS_DEPRECATED is not set 325 + CONFIG_PM_SLEEP=y 326 + CONFIG_SUSPEND_UP_POSSIBLE=y 327 + CONFIG_SUSPEND=y 320 328 CONFIG_PM_BFIN_SLEEP_DEEPER=y 321 329 # CONFIG_PM_BFIN_SLEEP is not set 322 330 # CONFIG_PM_WAKEUP_BY_GPIO is not set ··· 364 368 CONFIG_INET_XFRM_MODE_TRANSPORT=y 365 369 CONFIG_INET_XFRM_MODE_TUNNEL=y 366 370 CONFIG_INET_XFRM_MODE_BEET=y 371 + # CONFIG_INET_LRO is not set 367 372 CONFIG_INET_DIAG=y 368 373 CONFIG_INET_TCP_DIAG=y 369 374 # CONFIG_TCP_CONG_ADVANCED is not set ··· 391 394 # CONFIG_LAPB is not set 392 395 # CONFIG_ECONET is not set 393 396 # CONFIG_WAN_ROUTER is not set 394 - 395 - # 396 - # QoS and/or fair queueing 397 - # 398 397 # CONFIG_NET_SCHED is not set 399 398 400 399 # ··· 422 429 # SIR device drivers 423 430 # 424 431 CONFIG_IRTTY_SIR=m 432 + CONFIG_BFIN_SIR=m 433 + CONFIG_SIR_BFIN_DMA=y 434 + # CONFIG_SIR_BFIN_PIO is not set 425 435 426 436 # 427 437 # Dongle support ··· 454 458 # CONFIG_MAC80211 is not set 455 459 # CONFIG_IEEE80211 is not set 456 460 # CONFIG_RFKILL is not set 461 + # CONFIG_NET_9P is not set 457 462 458 463 # 459 464 # Device Drivers ··· 463 466 # 464 467 # Generic Driver Options 465 468 # 469 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 466 470 CONFIG_STANDALONE=y 467 471 CONFIG_PREVENT_FIRMWARE_BUILD=y 468 472 # CONFIG_FW_LOADER is not set 469 473 # CONFIG_SYS_HYPERVISOR is not set 470 - 471 - # 472 - # Connector - unified userspace <-> kernelspace linker 473 - # 474 474 # CONFIG_CONNECTOR is not set 475 475 CONFIG_MTD=y 476 476 # CONFIG_MTD_DEBUG is not set ··· 487 493 # CONFIG_INFTL is not set 488 494 # CONFIG_RFD_FTL is not set 489 495 # CONFIG_SSFDC is not set 496 + # CONFIG_MTD_OOPS is not set 490 497 491 498 # 492 499 # RAM/ROM/Flash chip drivers ··· 519 524 # 520 525 CONFIG_MTD_COMPLEX_MAPPINGS=y 521 526 # CONFIG_MTD_PHYSMAP is not set 522 - CONFIG_MTD_BF5xx=m 523 - CONFIG_BFIN_FLASH_BANK_0=0x7BB0 524 - CONFIG_BFIN_FLASH_BANK_1=0x7BB0 525 - CONFIG_BFIN_FLASH_BANK_2=0x7BB0 526 - CONFIG_BFIN_FLASH_BANK_3=0x7BB0 527 + CONFIG_MTD_BFIN_ASYNC=m 527 528 # CONFIG_MTD_UCLINUX is not set 528 529 # CONFIG_MTD_PLATRAM is not set 529 530 ··· 546 555 # UBI - Unsorted block images 547 556 # 548 557 # CONFIG_MTD_UBI is not set 549 - 550 - # 551 - # Parallel port support 552 - # 553 558 # CONFIG_PARPORT is not set 554 - 555 - # 556 - # Plug and Play support 557 - # 558 - # CONFIG_PNPACPI is not set 559 - 560 - # 561 - # Block devices 562 - # 559 + CONFIG_BLK_DEV=y 563 560 # CONFIG_BLK_DEV_COW_COMMON is not set 564 561 # CONFIG_BLK_DEV_LOOP is not set 565 562 # CONFIG_BLK_DEV_NBD is not set ··· 557 578 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 558 579 # CONFIG_CDROM_PKTCDVD is not set 559 580 # CONFIG_ATA_OVER_ETH is not set 560 - 561 - # 562 - # Misc devices 563 - # 581 + CONFIG_MISC_DEVICES=y 582 + # CONFIG_EEPROM_93CX6 is not set 564 583 # CONFIG_IDE is not set 565 584 566 585 # ··· 566 589 # 567 590 # CONFIG_RAID_ATTRS is not set 568 591 # CONFIG_SCSI is not set 592 + # CONFIG_SCSI_DMA is not set 569 593 # CONFIG_SCSI_NETLINK is not set 570 594 # CONFIG_ATA is not set 571 - 572 - # 573 - # Multi-device support (RAID and LVM) 574 - # 575 595 # CONFIG_MD is not set 576 - 577 - # 578 - # Network device support 579 - # 580 596 CONFIG_NETDEVICES=y 597 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 581 598 # CONFIG_DUMMY is not set 582 599 # CONFIG_BONDING is not set 600 + # CONFIG_MACVLAN is not set 583 601 # CONFIG_EQUALIZER is not set 584 602 # CONFIG_TUN is not set 603 + # CONFIG_VETH is not set 585 604 # CONFIG_PHYLIB is not set 586 - 587 - # 588 - # Ethernet (10 or 100Mbit) 589 - # 590 605 CONFIG_NET_ETHERNET=y 591 606 CONFIG_MII=y 592 607 CONFIG_SMC91X=y 593 608 # CONFIG_SMSC911X is not set 594 609 # CONFIG_DM9000 is not set 610 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 611 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 612 + # CONFIG_IBM_NEW_EMAC_TAH is not set 613 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 614 + # CONFIG_B44 is not set 595 615 CONFIG_NETDEV_1000=y 596 616 # CONFIG_AX88180 is not set 597 617 CONFIG_NETDEV_10000=y ··· 605 631 # CONFIG_NETCONSOLE is not set 606 632 # CONFIG_NETPOLL is not set 607 633 # CONFIG_NET_POLL_CONTROLLER is not set 608 - 609 - # 610 - # ISDN subsystem 611 - # 612 634 # CONFIG_ISDN is not set 613 - 614 - # 615 - # Telephony Support 616 - # 617 635 # CONFIG_PHONE is not set 618 636 619 637 # ··· 620 654 # 621 655 # CONFIG_INPUT_MOUSEDEV is not set 622 656 # CONFIG_INPUT_JOYDEV is not set 623 - # CONFIG_INPUT_TSDEV is not set 624 657 CONFIG_INPUT_EVDEV=m 625 658 # CONFIG_INPUT_EVBUG is not set 626 659 ··· 632 667 # CONFIG_INPUT_TABLET is not set 633 668 # CONFIG_INPUT_TOUCHSCREEN is not set 634 669 CONFIG_INPUT_MISC=y 635 - # CONFIG_INPUT_ATI_REMOTE is not set 636 - # CONFIG_INPUT_ATI_REMOTE2 is not set 637 - # CONFIG_INPUT_KEYSPAN_REMOTE is not set 638 - # CONFIG_INPUT_POWERMATE is not set 639 - # CONFIG_INPUT_YEALINK is not set 640 670 # CONFIG_INPUT_UINPUT is not set 641 671 CONFIG_TWI_KEYPAD=m 642 - CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=39 643 672 644 673 # 645 674 # Hardware I/O ports ··· 646 687 # 647 688 # CONFIG_AD9960 is not set 648 689 # CONFIG_SPI_ADC_BF533 is not set 649 - # CONFIG_BF5xx_PFLAGS is not set 650 690 # CONFIG_BF5xx_PPIFCD is not set 651 691 # CONFIG_BFIN_SIMPLE_TIMER is not set 652 692 # CONFIG_BF5xx_PPI is not set 653 693 CONFIG_BFIN_SPORT=y 654 694 # CONFIG_BFIN_TIMER_LATENCY is not set 655 695 CONFIG_TWI_LCD=m 656 - CONFIG_TWI_LCD_SLAVE_ADDR=34 657 - # CONFIG_AD5304 is not set 696 + CONFIG_SIMPLE_GPIO=m 658 697 # CONFIG_VT is not set 659 698 # CONFIG_SERIAL_NONSTANDARD is not set 660 699 ··· 680 723 # CAN, the car bus and industrial fieldbus 681 724 # 682 725 # CONFIG_CAN4LINUX is not set 683 - 684 - # 685 - # IPMI 686 - # 687 726 # CONFIG_IPMI_HANDLER is not set 688 - CONFIG_WATCHDOG=y 689 - # CONFIG_WATCHDOG_NOWAYOUT is not set 690 - 691 - # 692 - # Watchdog Device Drivers 693 - # 694 - # CONFIG_SOFT_WATCHDOG is not set 695 - CONFIG_BFIN_WDT=y 696 727 CONFIG_HW_RANDOM=y 697 728 # CONFIG_GEN_RTC is not set 698 - CONFIG_BLACKFIN_DPMC=y 699 729 # CONFIG_R3964 is not set 700 730 # CONFIG_RAW_DRIVER is not set 701 - 702 - # 703 - # TPM devices 704 - # 705 731 # CONFIG_TCG_TPM is not set 706 732 CONFIG_I2C=m 707 733 CONFIG_I2C_BOARDINFO=y ··· 704 764 # CONFIG_I2C_OCORES is not set 705 765 # CONFIG_I2C_PARPORT_LIGHT is not set 706 766 # CONFIG_I2C_SIMTEC is not set 767 + # CONFIG_I2C_TAOS_EVM is not set 707 768 # CONFIG_I2C_STUB is not set 708 769 709 770 # ··· 712 771 # 713 772 # CONFIG_SENSORS_DS1337 is not set 714 773 # CONFIG_SENSORS_DS1374 is not set 774 + # CONFIG_DS1682 is not set 715 775 # CONFIG_SENSORS_AD5252 is not set 716 776 # CONFIG_SENSORS_EEPROM is not set 717 777 # CONFIG_SENSORS_PCF8574 is not set 718 778 # CONFIG_SENSORS_PCF8575 is not set 719 - # CONFIG_SENSORS_PCA9543 is not set 720 779 # CONFIG_SENSORS_PCA9539 is not set 721 780 # CONFIG_SENSORS_PCF8591 is not set 722 781 # CONFIG_SENSORS_MAX6875 is not set 782 + # CONFIG_SENSORS_TSL2550 is not set 723 783 # CONFIG_I2C_DEBUG_CORE is not set 724 784 # CONFIG_I2C_DEBUG_ALGO is not set 725 785 # CONFIG_I2C_DEBUG_BUS is not set ··· 743 801 # 744 802 # CONFIG_SPI_AT25 is not set 745 803 # CONFIG_SPI_SPIDEV is not set 746 - 747 - # 748 - # Dallas's 1-wire bus 749 - # 804 + # CONFIG_SPI_TLE62X0 is not set 750 805 # CONFIG_W1 is not set 806 + # CONFIG_POWER_SUPPLY is not set 751 807 CONFIG_HWMON=y 752 808 # CONFIG_HWMON_VID is not set 753 - # CONFIG_SENSORS_ABITUGURU is not set 754 809 # CONFIG_SENSORS_AD7418 is not set 755 810 # CONFIG_SENSORS_ADM1021 is not set 756 811 # CONFIG_SENSORS_ADM1025 is not set ··· 755 816 # CONFIG_SENSORS_ADM1029 is not set 756 817 # CONFIG_SENSORS_ADM1031 is not set 757 818 # CONFIG_SENSORS_ADM9240 is not set 758 - # CONFIG_SENSORS_ASB100 is not set 819 + # CONFIG_SENSORS_ADT7470 is not set 759 820 # CONFIG_SENSORS_ATXP1 is not set 760 821 # CONFIG_SENSORS_DS1621 is not set 761 822 # CONFIG_SENSORS_F71805F is not set 762 - # CONFIG_SENSORS_FSCHER is not set 763 - # CONFIG_SENSORS_FSCPOS is not set 823 + # CONFIG_SENSORS_F71882FG is not set 824 + # CONFIG_SENSORS_F75375S is not set 764 825 # CONFIG_SENSORS_GL518SM is not set 765 826 # CONFIG_SENSORS_GL520SM is not set 766 827 # CONFIG_SENSORS_IT87 is not set ··· 775 836 # CONFIG_SENSORS_LM87 is not set 776 837 # CONFIG_SENSORS_LM90 is not set 777 838 # CONFIG_SENSORS_LM92 is not set 839 + # CONFIG_SENSORS_LM93 is not set 778 840 # CONFIG_SENSORS_MAX1619 is not set 779 841 # CONFIG_SENSORS_MAX6650 is not set 780 842 # CONFIG_SENSORS_PC87360 is not set 781 843 # CONFIG_SENSORS_PC87427 is not set 844 + # CONFIG_SENSORS_DME1737 is not set 782 845 # CONFIG_SENSORS_SMSC47M1 is not set 783 846 # CONFIG_SENSORS_SMSC47M192 is not set 784 847 # CONFIG_SENSORS_SMSC47B397 is not set 848 + # CONFIG_SENSORS_THMC50 is not set 785 849 # CONFIG_SENSORS_VT1211 is not set 786 850 # CONFIG_SENSORS_W83781D is not set 787 851 # CONFIG_SENSORS_W83791D is not set ··· 794 852 # CONFIG_SENSORS_W83627HF is not set 795 853 # CONFIG_SENSORS_W83627EHF is not set 796 854 # CONFIG_HWMON_DEBUG_CHIP is not set 855 + CONFIG_WATCHDOG=y 856 + # CONFIG_WATCHDOG_NOWAYOUT is not set 857 + 858 + # 859 + # Watchdog Device Drivers 860 + # 861 + # CONFIG_SOFT_WATCHDOG is not set 862 + CONFIG_BFIN_WDT=y 863 + 864 + # 865 + # Sonics Silicon Backplane 866 + # 867 + CONFIG_SSB_POSSIBLE=y 868 + # CONFIG_SSB is not set 797 869 798 870 # 799 871 # Multifunction device drivers ··· 819 863 # 820 864 # CONFIG_VIDEO_DEV is not set 821 865 # CONFIG_DVB_CORE is not set 822 - CONFIG_DAB=y 866 + # CONFIG_DAB is not set 823 867 824 868 # 825 869 # Graphics support 826 870 # 827 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 828 - 829 - # 830 - # Display device support 831 - # 832 - # CONFIG_DISPLAY_SUPPORT is not set 833 871 # CONFIG_VGASTATE is not set 872 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 834 873 CONFIG_FB=m 835 874 CONFIG_FIRMWARE_EDID=y 836 875 # CONFIG_FB_DDC is not set 837 876 CONFIG_FB_CFB_FILLRECT=m 838 877 CONFIG_FB_CFB_COPYAREA=m 839 878 CONFIG_FB_CFB_IMAGEBLIT=m 879 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 840 880 # CONFIG_FB_SYS_FILLRECT is not set 841 881 # CONFIG_FB_SYS_COPYAREA is not set 842 882 # CONFIG_FB_SYS_IMAGEBLIT is not set ··· 847 895 # 848 896 # Frame buffer hardware drivers 849 897 # 850 - CONFIG_FB_BFIN_7171=m 898 + # CONFIG_FB_BFIN_T350MCQB is not set 851 899 CONFIG_FB_BFIN_7393=m 852 900 CONFIG_NTSC=y 853 901 # CONFIG_PAL is not set ··· 857 905 # CONFIG_PAL_YCBCR is not set 858 906 CONFIG_ADV7393_1XMEM=y 859 907 # CONFIG_ADV7393_2XMEM is not set 860 - # CONFIG_FB_BFIN_T350MCQB is not set 861 908 # CONFIG_FB_S1D13XXX is not set 862 909 # CONFIG_FB_VIRTUAL is not set 910 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 911 + 912 + # 913 + # Display device support 914 + # 915 + # CONFIG_DISPLAY_SUPPORT is not set 863 916 # CONFIG_LOGO is not set 864 917 865 918 # ··· 898 941 # CONFIG_SND_MPU401 is not set 899 942 900 943 # 944 + # SPI devices 945 + # 946 + 947 + # 901 948 # ALSA Blackfin devices 902 949 # 903 950 CONFIG_SND_BLACKFIN_AD1836=m ··· 914 953 CONFIG_SND_BFIN_AD73311=m 915 954 CONFIG_SND_BFIN_SPORT=0 916 955 CONFIG_SND_BFIN_AD73311_SE=4 956 + CONFIG_SND_BFIN_AD73322=m 957 + CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 958 + CONFIG_SND_BFIN_AD73322_SPORT1_SE=14 959 + CONFIG_SND_BFIN_AD73322_RESET=12 917 960 918 961 # 919 962 # System on Chip audio support 920 963 # 921 - # CONFIG_SND_SOC is not set 964 + CONFIG_SND_SOC_AC97_BUS=y 965 + CONFIG_SND_SOC=m 966 + CONFIG_SND_BF5XX_SOC=m 967 + CONFIG_SND_MMAP_SUPPORT=y 968 + CONFIG_SND_BF5XX_SOC_AC97=m 969 + # CONFIG_SND_BF5XX_SOC_WM8750 is not set 970 + # CONFIG_SND_BF5XX_SOC_WM8731 is not set 971 + # CONFIG_SND_BF5XX_SOC_SSM2602 is not set 972 + CONFIG_SND_BF5XX_SOC_BF5xx=m 973 + CONFIG_SND_BF5XX_SPORT_NUM=0 974 + # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set 975 + 976 + # 977 + # SoC Audio support for SuperH 978 + # 979 + CONFIG_SND_SOC_AD1980=m 922 980 923 981 # 924 982 # Open Sound System 925 983 # 926 984 # CONFIG_SOUND_PRIME is not set 927 - 928 - # 929 - # HID Devices 930 - # 985 + CONFIG_AC97_BUS=m 986 + CONFIG_HID_SUPPORT=y 931 987 CONFIG_HID=y 932 988 # CONFIG_HID_DEBUG is not set 933 - 934 - # 935 - # USB support 936 - # 937 - CONFIG_USB_ARCH_HAS_HCD=y 938 - # CONFIG_USB_ARCH_HAS_OHCI is not set 939 - # CONFIG_USB_ARCH_HAS_EHCI is not set 940 - # CONFIG_USB is not set 941 - 942 - # 943 - # Enable Host or Gadget support to see Inventra options 944 - # 945 - 946 - # 947 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 948 - # 949 - 950 - # 951 - # USB Gadget Support 952 - # 953 - # CONFIG_USB_GADGET is not set 989 + # CONFIG_HIDRAW is not set 990 + # CONFIG_USB_SUPPORT is not set 954 991 # CONFIG_MMC is not set 955 - 956 - # 957 - # LED devices 958 - # 959 992 # CONFIG_NEW_LEDS is not set 960 - 961 - # 962 - # LED drivers 963 - # 964 - 965 - # 966 - # LED Triggers 967 - # 968 - 969 - # 970 - # InfiniBand support 971 - # 972 - 973 - # 974 - # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 975 - # 976 - 977 - # 978 - # Real Time Clock 979 - # 980 993 CONFIG_RTC_LIB=y 981 994 CONFIG_RTC_CLASS=y 982 995 CONFIG_RTC_HCTOSYS=y ··· 970 1035 # I2C RTC drivers 971 1036 # 972 1037 # CONFIG_RTC_DRV_DS1307 is not set 1038 + # CONFIG_RTC_DRV_DS1374 is not set 973 1039 # CONFIG_RTC_DRV_DS1672 is not set 974 1040 # CONFIG_RTC_DRV_MAX6900 is not set 975 1041 # CONFIG_RTC_DRV_RS5C372 is not set ··· 978 1042 # CONFIG_RTC_DRV_X1205 is not set 979 1043 # CONFIG_RTC_DRV_PCF8563 is not set 980 1044 # CONFIG_RTC_DRV_PCF8583 is not set 1045 + # CONFIG_RTC_DRV_M41T80 is not set 981 1046 982 1047 # 983 1048 # SPI RTC drivers ··· 990 1053 # Platform RTC drivers 991 1054 # 992 1055 # CONFIG_RTC_DRV_DS1553 is not set 1056 + # CONFIG_RTC_DRV_STK17TA8 is not set 993 1057 # CONFIG_RTC_DRV_DS1742 is not set 994 1058 # CONFIG_RTC_DRV_M48T86 is not set 1059 + # CONFIG_RTC_DRV_M48T59 is not set 995 1060 # CONFIG_RTC_DRV_V3020 is not set 996 1061 997 1062 # ··· 1002 1063 CONFIG_RTC_DRV_BFIN=y 1003 1064 1004 1065 # 1005 - # DMA Engine support 1066 + # Userspace I/O 1006 1067 # 1007 - # CONFIG_DMA_ENGINE is not set 1008 - 1009 - # 1010 - # DMA Clients 1011 - # 1012 - 1013 - # 1014 - # DMA Devices 1015 - # 1016 - 1017 - # 1018 - # PBX support 1019 - # 1020 - # CONFIG_PBX is not set 1068 + # CONFIG_UIO is not set 1021 1069 1022 1070 # 1023 1071 # File systems ··· 1049 1123 CONFIG_SYSFS=y 1050 1124 # CONFIG_TMPFS is not set 1051 1125 # CONFIG_HUGETLB_PAGE is not set 1052 - CONFIG_RAMFS=y 1053 1126 # CONFIG_CONFIGFS_FS is not set 1054 1127 1055 1128 # ··· 1074 1149 CONFIG_JFFS2_FS=m 1075 1150 CONFIG_JFFS2_FS_DEBUG=0 1076 1151 CONFIG_JFFS2_FS_WRITEBUFFER=y 1152 + # CONFIG_JFFS2_FS_WBUF_VERIFY is not set 1077 1153 # CONFIG_JFFS2_SUMMARY is not set 1078 1154 # CONFIG_JFFS2_FS_XATTR is not set 1079 1155 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1080 1156 CONFIG_JFFS2_ZLIB=y 1157 + # CONFIG_JFFS2_LZO is not set 1081 1158 CONFIG_JFFS2_RTIME=y 1082 1159 # CONFIG_JFFS2_RUBIN is not set 1083 1160 # CONFIG_CRAMFS is not set ··· 1088 1161 # CONFIG_QNX4FS_FS is not set 1089 1162 # CONFIG_SYSV_FS is not set 1090 1163 # CONFIG_UFS_FS is not set 1091 - 1092 - # 1093 - # Network File Systems 1094 - # 1164 + CONFIG_NETWORK_FILESYSTEMS=y 1095 1165 CONFIG_NFS_FS=m 1096 1166 CONFIG_NFS_V3=y 1097 1167 # CONFIG_NFS_V3_ACL is not set ··· 1108 1184 # CONFIG_NCP_FS is not set 1109 1185 # CONFIG_CODA_FS is not set 1110 1186 # CONFIG_AFS_FS is not set 1111 - # CONFIG_9P_FS is not set 1112 1187 1113 1188 # 1114 1189 # Partition Types 1115 1190 # 1116 1191 # CONFIG_PARTITION_ADVANCED is not set 1117 1192 CONFIG_MSDOS_PARTITION=y 1118 - 1119 - # 1120 - # Native Language Support 1121 - # 1122 1193 CONFIG_NLS=m 1123 1194 CONFIG_NLS_DEFAULT="iso8859-1" 1124 1195 # CONFIG_NLS_CODEPAGE_437 is not set ··· 1154 1235 # CONFIG_NLS_KOI8_R is not set 1155 1236 # CONFIG_NLS_KOI8_U is not set 1156 1237 # CONFIG_NLS_UTF8 is not set 1157 - 1158 - # 1159 - # Distributed Lock Manager 1160 - # 1161 1238 # CONFIG_DLM is not set 1162 - 1163 - # 1164 - # Profiling support 1165 - # 1239 + CONFIG_INSTRUMENTATION=y 1166 1240 # CONFIG_PROFILING is not set 1241 + # CONFIG_MARKERS is not set 1167 1242 1168 1243 # 1169 1244 # Kernel hacking 1170 1245 # 1171 1246 # CONFIG_PRINTK_TIME is not set 1247 + CONFIG_ENABLE_WARN_DEPRECATED=y 1172 1248 CONFIG_ENABLE_MUST_CHECK=y 1173 1249 # CONFIG_MAGIC_SYSRQ is not set 1174 1250 # CONFIG_UNUSED_SYMBOLS is not set ··· 1171 1257 # CONFIG_HEADERS_CHECK is not set 1172 1258 # CONFIG_DEBUG_KERNEL is not set 1173 1259 # CONFIG_DEBUG_BUGVERBOSE is not set 1260 + # CONFIG_SAMPLES is not set 1174 1261 CONFIG_DEBUG_MMRS=y 1175 1262 CONFIG_DEBUG_HUNT_FOR_ZERO=y 1176 1263 CONFIG_DEBUG_BFIN_HWTRACE_ON=y ··· 1191 1276 # CONFIG_KEYS is not set 1192 1277 CONFIG_SECURITY=y 1193 1278 # CONFIG_SECURITY_NETWORK is not set 1194 - CONFIG_SECURITY_CAPABILITIES=m 1195 - 1196 - # 1197 - # Cryptographic options 1198 - # 1279 + # CONFIG_SECURITY_CAPABILITIES is not set 1199 1280 # CONFIG_CRYPTO is not set 1200 1281 1201 1282 # ··· 1202 1291 # CONFIG_CRC16 is not set 1203 1292 # CONFIG_CRC_ITU_T is not set 1204 1293 CONFIG_CRC32=y 1294 + # CONFIG_CRC7 is not set 1205 1295 # CONFIG_LIBCRC32C is not set 1206 1296 CONFIG_ZLIB_INFLATE=y 1207 1297 CONFIG_ZLIB_DEFLATE=m
+126 -211
arch/blackfin/configs/BF537-STAMP_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.22.16 3 + # Linux kernel version: 2.6.24.7 4 4 # 5 5 # CONFIG_MMU is not set 6 6 # CONFIG_FPU is not set ··· 13 13 CONFIG_GENERIC_HWEIGHT=y 14 14 CONFIG_GENERIC_HARDIRQS=y 15 15 CONFIG_GENERIC_IRQ_PROBE=y 16 - CONFIG_GENERIC_TIME=y 17 16 CONFIG_GENERIC_GPIO=y 18 17 CONFIG_FORCE_MAX_ZONEORDER=14 19 18 CONFIG_GENERIC_CALIBRATE_DELAY=y 20 19 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 21 20 22 21 # 23 - # Code maturity level options 22 + # General setup 24 23 # 25 24 CONFIG_EXPERIMENTAL=y 26 25 CONFIG_BROKEN_ON_SMP=y 27 26 CONFIG_INIT_ENV_ARG_LIMIT=32 28 - 29 - # 30 - # General setup 31 - # 32 27 CONFIG_LOCALVERSION="" 33 28 CONFIG_LOCALVERSION_AUTO=y 34 29 CONFIG_SYSVIPC=y 35 - # CONFIG_IPC_NS is not set 36 30 CONFIG_SYSVIPC_SYSCTL=y 37 31 # CONFIG_POSIX_MQUEUE is not set 38 32 # CONFIG_BSD_PROCESS_ACCT is not set 39 33 # CONFIG_TASKSTATS is not set 40 - # CONFIG_UTS_NS is not set 34 + # CONFIG_USER_NS is not set 35 + # CONFIG_PID_NS is not set 41 36 # CONFIG_AUDIT is not set 42 37 CONFIG_IKCONFIG=y 43 38 CONFIG_IKCONFIG_PROC=y 44 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 45 44 CONFIG_SYSFS_DEPRECATED=y 46 45 # CONFIG_RELAY is not set 47 46 CONFIG_BLK_DEV_INITRD=y ··· 63 64 CONFIG_SIGNALFD=y 64 65 CONFIG_EVENTFD=y 65 66 CONFIG_VM_EVENT_COUNTERS=y 66 - CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 67 - # CONFIG_NP2 is not set 68 67 CONFIG_SLAB=y 69 68 # CONFIG_SLUB is not set 70 69 # CONFIG_SLOB is not set 70 + CONFIG_SLABINFO=y 71 71 CONFIG_RT_MUTEXES=y 72 72 CONFIG_TINY_SHMEM=y 73 73 CONFIG_BASE_SMALL=0 74 - 75 - # 76 - # Loadable module support 77 - # 78 74 CONFIG_MODULES=y 79 75 CONFIG_MODULE_UNLOAD=y 80 76 # CONFIG_MODULE_FORCE_UNLOAD is not set 81 77 # CONFIG_MODVERSIONS is not set 82 78 # CONFIG_MODULE_SRCVERSION_ALL is not set 83 79 CONFIG_KMOD=y 84 - 85 - # 86 - # Block layer 87 - # 88 80 CONFIG_BLOCK=y 89 81 # CONFIG_LBD is not set 90 82 # CONFIG_BLK_DEV_IO_TRACE is not set 91 83 # CONFIG_LSF is not set 84 + # CONFIG_BLK_DEV_BSG is not set 92 85 93 86 # 94 87 # IO Schedulers ··· 132 141 # CONFIG_BF_REV_ANY is not set 133 142 # CONFIG_BF_REV_NONE is not set 134 143 CONFIG_BF53x=y 135 - CONFIG_BFIN_SINGLE_CORE=y 136 144 CONFIG_MEM_MT48LC32M8A2_75=y 137 145 CONFIG_IRQ_PLL_WAKEUP=7 138 146 CONFIG_IRQ_RTC=8 ··· 187 197 # Board customizations 188 198 # 189 199 # CONFIG_CMDLINE_BOOL is not set 200 + CONFIG_BOOT_LOAD=0x1000 190 201 191 202 # 192 203 # Clock/PLL Setup 193 204 # 194 205 CONFIG_CLKIN_HZ=25000000 195 206 # CONFIG_BFIN_KERNEL_CLOCK is not set 207 + CONFIG_MAX_MEM_SIZE=512 196 208 CONFIG_MAX_VCO_HZ=600000000 197 209 CONFIG_MIN_VCO_HZ=50000000 198 210 CONFIG_MAX_SCLK_HZ=133333333 ··· 208 216 # CONFIG_HZ_300 is not set 209 217 # CONFIG_HZ_1000 is not set 210 218 CONFIG_HZ=250 219 + CONFIG_GENERIC_TIME=y 220 + CONFIG_GENERIC_CLOCKEVENTS=y 221 + # CONFIG_CYCLES_CLOCKSOURCE is not set 222 + CONFIG_TICK_ONESHOT=y 223 + # CONFIG_NO_HZ is not set 224 + CONFIG_HIGH_RES_TIMERS=y 225 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 211 226 212 227 # 213 - # Memory Setup 228 + # Misc 214 229 # 215 - CONFIG_MAX_MEM_SIZE=512 216 - CONFIG_MEM_ADD_WIDTH=10 217 - CONFIG_BOOT_LOAD=0x1000 218 230 CONFIG_BFIN_SCRATCH_REG_RETN=y 219 231 # CONFIG_BFIN_SCRATCH_REG_RETE is not set 220 232 # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set ··· 254 258 CONFIG_FLATMEM=y 255 259 CONFIG_FLAT_NODE_MEM_MAP=y 256 260 # CONFIG_SPARSEMEM_STATIC is not set 261 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 257 262 CONFIG_SPLIT_PTLOCK_CPUS=4 258 263 # CONFIG_RESOURCES_64BIT is not set 259 264 CONFIG_ZONE_DMA_FLAG=1 260 - CONFIG_LARGE_ALLOCS=y 265 + CONFIG_VIRT_TO_BUS=y 261 266 # CONFIG_BFIN_GPTIMERS is not set 262 267 CONFIG_BFIN_DMA_5XX=y 268 + # CONFIG_DMA_UNCACHED_4M is not set 263 269 # CONFIG_DMA_UNCACHED_2M is not set 264 270 CONFIG_DMA_UNCACHED_1M=y 265 271 # CONFIG_DMA_UNCACHED_NONE is not set ··· 299 301 CONFIG_BANK_0=0x7BB0 300 302 CONFIG_BANK_1=0x7BB0 301 303 CONFIG_BANK_2=0x7BB0 302 - CONFIG_BANK_3=0x99B3 304 + CONFIG_BANK_3=0x99B2 303 305 304 306 # 305 307 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) 306 308 # 307 309 # CONFIG_PCI is not set 308 310 # CONFIG_ARCH_SUPPORTS_MSI is not set 309 - 310 - # 311 - # PCCARD (PCMCIA/CardBus) support 312 - # 313 311 # CONFIG_PCCARD is not set 314 312 315 313 # ··· 323 329 CONFIG_PM=y 324 330 # CONFIG_PM_LEGACY is not set 325 331 # CONFIG_PM_DEBUG is not set 326 - # CONFIG_PM_SYSFS_DEPRECATED is not set 332 + CONFIG_PM_SLEEP=y 333 + CONFIG_SUSPEND_UP_POSSIBLE=y 334 + CONFIG_SUSPEND=y 327 335 CONFIG_PM_BFIN_SLEEP_DEEPER=y 328 336 # CONFIG_PM_BFIN_SLEEP is not set 329 337 # CONFIG_PM_WAKEUP_BY_GPIO is not set ··· 371 375 CONFIG_INET_XFRM_MODE_TRANSPORT=y 372 376 CONFIG_INET_XFRM_MODE_TUNNEL=y 373 377 CONFIG_INET_XFRM_MODE_BEET=y 378 + # CONFIG_INET_LRO is not set 374 379 CONFIG_INET_DIAG=y 375 380 CONFIG_INET_TCP_DIAG=y 376 381 # CONFIG_TCP_CONG_ADVANCED is not set ··· 398 401 # CONFIG_LAPB is not set 399 402 # CONFIG_ECONET is not set 400 403 # CONFIG_WAN_ROUTER is not set 401 - 402 - # 403 - # QoS and/or fair queueing 404 - # 405 404 # CONFIG_NET_SCHED is not set 406 405 407 406 # ··· 429 436 # SIR device drivers 430 437 # 431 438 CONFIG_IRTTY_SIR=m 439 + CONFIG_BFIN_SIR=m 440 + CONFIG_BFIN_SIR1=y 441 + CONFIG_SIR_BFIN_DMA=y 442 + # CONFIG_SIR_BFIN_PIO is not set 432 443 433 444 # 434 445 # Dongle support ··· 462 465 # CONFIG_MAC80211 is not set 463 466 # CONFIG_IEEE80211 is not set 464 467 # CONFIG_RFKILL is not set 468 + # CONFIG_NET_9P is not set 465 469 466 470 # 467 471 # Device Drivers ··· 471 473 # 472 474 # Generic Driver Options 473 475 # 476 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 474 477 CONFIG_STANDALONE=y 475 478 CONFIG_PREVENT_FIRMWARE_BUILD=y 476 479 # CONFIG_FW_LOADER is not set 477 480 # CONFIG_SYS_HYPERVISOR is not set 478 - 479 - # 480 - # Connector - unified userspace <-> kernelspace linker 481 - # 482 481 # CONFIG_CONNECTOR is not set 483 482 CONFIG_MTD=y 484 483 # CONFIG_MTD_DEBUG is not set ··· 495 500 # CONFIG_INFTL is not set 496 501 # CONFIG_RFD_FTL is not set 497 502 # CONFIG_SSFDC is not set 503 + # CONFIG_MTD_OOPS is not set 498 504 499 505 # 500 506 # RAM/ROM/Flash chip drivers ··· 568 572 # UBI - Unsorted block images 569 573 # 570 574 # CONFIG_MTD_UBI is not set 571 - 572 - # 573 - # Parallel port support 574 - # 575 575 # CONFIG_PARPORT is not set 576 - 577 - # 578 - # Plug and Play support 579 - # 580 - # CONFIG_PNPACPI is not set 581 - 582 - # 583 - # Block devices 584 - # 576 + CONFIG_BLK_DEV=y 585 577 # CONFIG_BLK_DEV_COW_COMMON is not set 586 578 # CONFIG_BLK_DEV_LOOP is not set 587 579 # CONFIG_BLK_DEV_NBD is not set ··· 579 595 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 580 596 # CONFIG_CDROM_PKTCDVD is not set 581 597 # CONFIG_ATA_OVER_ETH is not set 582 - 583 - # 584 - # Misc devices 585 - # 598 + CONFIG_MISC_DEVICES=y 599 + # CONFIG_EEPROM_93CX6 is not set 586 600 # CONFIG_IDE is not set 587 601 588 602 # ··· 588 606 # 589 607 # CONFIG_RAID_ATTRS is not set 590 608 # CONFIG_SCSI is not set 609 + # CONFIG_SCSI_DMA is not set 591 610 # CONFIG_SCSI_NETLINK is not set 592 611 # CONFIG_ATA is not set 593 - 594 - # 595 - # Multi-device support (RAID and LVM) 596 - # 597 612 # CONFIG_MD is not set 598 - 599 - # 600 - # Network device support 601 - # 602 613 CONFIG_NETDEVICES=y 614 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 603 615 # CONFIG_DUMMY is not set 604 616 # CONFIG_BONDING is not set 617 + # CONFIG_MACVLAN is not set 605 618 # CONFIG_EQUALIZER is not set 606 619 # CONFIG_TUN is not set 620 + # CONFIG_VETH is not set 607 621 CONFIG_PHYLIB=y 608 622 609 623 # ··· 613 635 # CONFIG_VITESSE_PHY is not set 614 636 CONFIG_SMSC_PHY=y 615 637 # CONFIG_BROADCOM_PHY is not set 638 + # CONFIG_ICPLUS_PHY is not set 616 639 # CONFIG_FIXED_PHY is not set 617 - 618 - # 619 - # Ethernet (10 or 100Mbit) 620 - # 640 + # CONFIG_MDIO_BITBANG is not set 621 641 CONFIG_NET_ETHERNET=y 622 642 CONFIG_MII=y 623 - # CONFIG_SMC91X is not set 624 643 CONFIG_BFIN_MAC=y 625 644 CONFIG_BFIN_MAC_USE_L1=y 626 645 CONFIG_BFIN_TX_DESC_NUM=10 627 646 CONFIG_BFIN_RX_DESC_NUM=20 628 647 # CONFIG_BFIN_MAC_RMII is not set 648 + # CONFIG_SMC91X is not set 629 649 # CONFIG_SMSC911X is not set 630 650 # CONFIG_DM9000 is not set 651 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 652 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 653 + # CONFIG_IBM_NEW_EMAC_TAH is not set 654 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 655 + # CONFIG_B44 is not set 631 656 CONFIG_NETDEV_1000=y 632 657 # CONFIG_AX88180 is not set 633 658 CONFIG_NETDEV_10000=y ··· 647 666 # CONFIG_NETCONSOLE is not set 648 667 # CONFIG_NETPOLL is not set 649 668 # CONFIG_NET_POLL_CONTROLLER is not set 650 - 651 - # 652 - # ISDN subsystem 653 - # 654 669 # CONFIG_ISDN is not set 655 - 656 - # 657 - # Telephony Support 658 - # 659 670 # CONFIG_PHONE is not set 660 671 661 672 # ··· 662 689 # 663 690 # CONFIG_INPUT_MOUSEDEV is not set 664 691 # CONFIG_INPUT_JOYDEV is not set 665 - # CONFIG_INPUT_TSDEV is not set 666 692 CONFIG_INPUT_EVDEV=m 667 693 # CONFIG_INPUT_EVBUG is not set 668 694 ··· 674 702 # CONFIG_INPUT_TABLET is not set 675 703 # CONFIG_INPUT_TOUCHSCREEN is not set 676 704 CONFIG_INPUT_MISC=y 677 - # CONFIG_INPUT_ATI_REMOTE is not set 678 - # CONFIG_INPUT_ATI_REMOTE2 is not set 679 - # CONFIG_INPUT_KEYSPAN_REMOTE is not set 680 - # CONFIG_INPUT_POWERMATE is not set 681 - # CONFIG_INPUT_YEALINK is not set 682 705 # CONFIG_INPUT_UINPUT is not set 683 706 CONFIG_TWI_KEYPAD=m 684 - CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=72 685 707 686 708 # 687 709 # Hardware I/O ports ··· 688 722 # 689 723 # CONFIG_AD9960 is not set 690 724 # CONFIG_SPI_ADC_BF533 is not set 691 - # CONFIG_BF5xx_PFLAGS is not set 692 725 # CONFIG_BF5xx_PPIFCD is not set 693 726 # CONFIG_BFIN_SIMPLE_TIMER is not set 694 727 # CONFIG_BF5xx_PPI is not set 695 728 CONFIG_BFIN_SPORT=y 696 729 # CONFIG_BFIN_TIMER_LATENCY is not set 697 730 CONFIG_TWI_LCD=m 698 - CONFIG_TWI_LCD_SLAVE_ADDR=34 699 - # CONFIG_AD5304 is not set 731 + CONFIG_SIMPLE_GPIO=m 700 732 # CONFIG_VT is not set 701 733 # CONFIG_SERIAL_NONSTANDARD is not set 702 734 ··· 730 766 # CONFIG_CAN_MCF5282 is not set 731 767 # CONFIG_CAN_UNCTWINCAN is not set 732 768 CONFIG_CAN_BLACKFIN=m 733 - 734 - # 735 - # IPMI 736 - # 737 769 # CONFIG_IPMI_HANDLER is not set 738 - CONFIG_WATCHDOG=y 739 - # CONFIG_WATCHDOG_NOWAYOUT is not set 740 - 741 - # 742 - # Watchdog Device Drivers 743 - # 744 - # CONFIG_SOFT_WATCHDOG is not set 745 - CONFIG_BFIN_WDT=y 746 770 CONFIG_HW_RANDOM=y 747 771 # CONFIG_GEN_RTC is not set 748 - CONFIG_BLACKFIN_DPMC=y 749 772 # CONFIG_R3964 is not set 750 773 # CONFIG_RAW_DRIVER is not set 751 - 752 - # 753 - # TPM devices 754 - # 755 774 # CONFIG_TCG_TPM is not set 756 775 CONFIG_I2C=m 757 776 CONFIG_I2C_BOARDINFO=y ··· 756 809 # CONFIG_I2C_OCORES is not set 757 810 # CONFIG_I2C_PARPORT_LIGHT is not set 758 811 # CONFIG_I2C_SIMTEC is not set 812 + # CONFIG_I2C_TAOS_EVM is not set 759 813 # CONFIG_I2C_STUB is not set 760 814 761 815 # ··· 764 816 # 765 817 # CONFIG_SENSORS_DS1337 is not set 766 818 # CONFIG_SENSORS_DS1374 is not set 819 + # CONFIG_DS1682 is not set 767 820 CONFIG_SENSORS_AD5252=m 768 821 # CONFIG_SENSORS_EEPROM is not set 769 822 # CONFIG_SENSORS_PCF8574 is not set 770 823 # CONFIG_SENSORS_PCF8575 is not set 771 - # CONFIG_SENSORS_PCA9543 is not set 772 824 # CONFIG_SENSORS_PCA9539 is not set 773 825 # CONFIG_SENSORS_PCF8591 is not set 774 826 # CONFIG_SENSORS_MAX6875 is not set 827 + # CONFIG_SENSORS_TSL2550 is not set 775 828 # CONFIG_I2C_DEBUG_CORE is not set 776 829 # CONFIG_I2C_DEBUG_ALGO is not set 777 830 # CONFIG_I2C_DEBUG_BUS is not set ··· 795 846 # 796 847 # CONFIG_SPI_AT25 is not set 797 848 # CONFIG_SPI_SPIDEV is not set 798 - 799 - # 800 - # Dallas's 1-wire bus 801 - # 849 + # CONFIG_SPI_TLE62X0 is not set 802 850 # CONFIG_W1 is not set 851 + # CONFIG_POWER_SUPPLY is not set 803 852 CONFIG_HWMON=y 804 853 # CONFIG_HWMON_VID is not set 805 - # CONFIG_SENSORS_ABITUGURU is not set 806 854 # CONFIG_SENSORS_AD7418 is not set 807 855 # CONFIG_SENSORS_ADM1021 is not set 808 856 # CONFIG_SENSORS_ADM1025 is not set ··· 807 861 # CONFIG_SENSORS_ADM1029 is not set 808 862 # CONFIG_SENSORS_ADM1031 is not set 809 863 # CONFIG_SENSORS_ADM9240 is not set 810 - # CONFIG_SENSORS_ASB100 is not set 864 + # CONFIG_SENSORS_ADT7470 is not set 811 865 # CONFIG_SENSORS_ATXP1 is not set 812 866 # CONFIG_SENSORS_DS1621 is not set 813 867 # CONFIG_SENSORS_F71805F is not set 814 - # CONFIG_SENSORS_FSCHER is not set 815 - # CONFIG_SENSORS_FSCPOS is not set 868 + # CONFIG_SENSORS_F71882FG is not set 869 + # CONFIG_SENSORS_F75375S is not set 816 870 # CONFIG_SENSORS_GL518SM is not set 817 871 # CONFIG_SENSORS_GL520SM is not set 818 872 # CONFIG_SENSORS_IT87 is not set ··· 827 881 # CONFIG_SENSORS_LM87 is not set 828 882 # CONFIG_SENSORS_LM90 is not set 829 883 # CONFIG_SENSORS_LM92 is not set 884 + # CONFIG_SENSORS_LM93 is not set 830 885 # CONFIG_SENSORS_MAX1619 is not set 831 886 # CONFIG_SENSORS_MAX6650 is not set 832 887 # CONFIG_SENSORS_PC87360 is not set 833 888 # CONFIG_SENSORS_PC87427 is not set 889 + # CONFIG_SENSORS_DME1737 is not set 834 890 # CONFIG_SENSORS_SMSC47M1 is not set 835 891 # CONFIG_SENSORS_SMSC47M192 is not set 836 892 # CONFIG_SENSORS_SMSC47B397 is not set 893 + # CONFIG_SENSORS_THMC50 is not set 837 894 # CONFIG_SENSORS_VT1211 is not set 838 895 # CONFIG_SENSORS_W83781D is not set 839 896 # CONFIG_SENSORS_W83791D is not set ··· 846 897 # CONFIG_SENSORS_W83627HF is not set 847 898 # CONFIG_SENSORS_W83627EHF is not set 848 899 # CONFIG_HWMON_DEBUG_CHIP is not set 900 + CONFIG_WATCHDOG=y 901 + # CONFIG_WATCHDOG_NOWAYOUT is not set 902 + 903 + # 904 + # Watchdog Device Drivers 905 + # 906 + # CONFIG_SOFT_WATCHDOG is not set 907 + CONFIG_BFIN_WDT=y 908 + 909 + # 910 + # Sonics Silicon Backplane 911 + # 912 + CONFIG_SSB_POSSIBLE=y 913 + # CONFIG_SSB is not set 849 914 850 915 # 851 916 # Multifunction device drivers ··· 876 913 # 877 914 # Graphics support 878 915 # 879 - CONFIG_BACKLIGHT_LCD_SUPPORT=y 880 - CONFIG_BACKLIGHT_CLASS_DEVICE=m 881 - CONFIG_LCD_CLASS_DEVICE=m 882 - 883 - # 884 - # Display device support 885 - # 886 - # CONFIG_DISPLAY_SUPPORT is not set 887 916 # CONFIG_VGASTATE is not set 917 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 888 918 CONFIG_FB=m 889 919 CONFIG_FIRMWARE_EDID=y 890 920 # CONFIG_FB_DDC is not set 891 921 CONFIG_FB_CFB_FILLRECT=m 892 922 CONFIG_FB_CFB_COPYAREA=m 893 923 CONFIG_FB_CFB_IMAGEBLIT=m 924 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 894 925 # CONFIG_FB_SYS_FILLRECT is not set 895 926 # CONFIG_FB_SYS_COPYAREA is not set 896 927 # CONFIG_FB_SYS_IMAGEBLIT is not set ··· 899 942 # 900 943 # Frame buffer hardware drivers 901 944 # 902 - CONFIG_FB_BFIN_7171=m 945 + # CONFIG_FB_HITACHI_TX09 is not set 946 + # CONFIG_FB_BFIN_T350MCQB is not set 903 947 CONFIG_FB_BFIN_7393=m 904 948 CONFIG_NTSC=y 905 949 # CONFIG_PAL is not set ··· 914 956 CONFIG_LQ035_SLAVE_ADDR=0x58 915 957 # CONFIG_FB_BFIN_LANDSCAPE is not set 916 958 # CONFIG_FB_BFIN_BGR is not set 917 - # CONFIG_FB_BFIN_T350MCQB is not set 918 - # CONFIG_FB_HITACHI_TX09 is not set 919 959 # CONFIG_FB_S1D13XXX is not set 920 960 # CONFIG_FB_VIRTUAL is not set 961 + CONFIG_BACKLIGHT_LCD_SUPPORT=y 962 + CONFIG_LCD_CLASS_DEVICE=m 963 + # CONFIG_LCD_LTV350QV is not set 964 + CONFIG_BACKLIGHT_CLASS_DEVICE=m 965 + CONFIG_BACKLIGHT_CORGI=m 966 + 967 + # 968 + # Display device support 969 + # 970 + # CONFIG_DISPLAY_SUPPORT is not set 921 971 # CONFIG_LOGO is not set 922 972 923 973 # ··· 959 993 # CONFIG_SND_MPU401 is not set 960 994 961 995 # 996 + # SPI devices 997 + # 998 + 999 + # 962 1000 # ALSA Blackfin devices 963 1001 # 964 1002 CONFIG_SND_BLACKFIN_AD1836=m ··· 975 1005 CONFIG_SND_BFIN_AD73311=m 976 1006 CONFIG_SND_BFIN_SPORT=0 977 1007 CONFIG_SND_BFIN_AD73311_SE=4 1008 + CONFIG_SND_BFIN_AD73322=m 1009 + CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 1010 + CONFIG_SND_BFIN_AD73322_SPORT1_SE=14 1011 + CONFIG_SND_BFIN_AD73322_RESET=12 978 1012 979 1013 # 980 1014 # System on Chip audio support ··· 990 1016 CONFIG_SND_BF5XX_SOC_AC97=m 991 1017 # CONFIG_SND_BF5XX_SOC_WM8750 is not set 992 1018 # CONFIG_SND_BF5XX_SOC_WM8731 is not set 1019 + # CONFIG_SND_BF5XX_SOC_SSM2602 is not set 993 1020 CONFIG_SND_BF5XX_SOC_BF5xx=m 994 1021 CONFIG_SND_BF5XX_SPORT_NUM=0 995 1022 # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set 1023 + 1024 + # 1025 + # SoC Audio support for SuperH 1026 + # 996 1027 CONFIG_SND_SOC_AD1980=m 997 1028 998 1029 # ··· 1005 1026 # 1006 1027 # CONFIG_SOUND_PRIME is not set 1007 1028 CONFIG_AC97_BUS=m 1008 - 1009 - # 1010 - # HID Devices 1011 - # 1029 + CONFIG_HID_SUPPORT=y 1012 1030 CONFIG_HID=y 1013 1031 # CONFIG_HID_DEBUG is not set 1014 - 1015 - # 1016 - # USB support 1017 - # 1018 - CONFIG_USB_ARCH_HAS_HCD=y 1019 - # CONFIG_USB_ARCH_HAS_OHCI is not set 1020 - # CONFIG_USB_ARCH_HAS_EHCI is not set 1021 - # CONFIG_USB is not set 1022 - 1023 - # 1024 - # Enable Host or Gadget support to see Inventra options 1025 - # 1026 - 1027 - # 1028 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1029 - # 1030 - 1031 - # 1032 - # USB Gadget Support 1033 - # 1034 - # CONFIG_USB_GADGET is not set 1032 + # CONFIG_HIDRAW is not set 1033 + # CONFIG_USB_SUPPORT is not set 1034 + # CONFIG_NO_DUMMY_DELAY is not set 1035 + # CONFIG_DUMMY_DELAY_BANK0 is not set 1036 + # CONFIG_DUMMY_DELAY_BANK1 is not set 1037 + # CONFIG_DUMMY_DELAY_BANK2 is not set 1038 + # CONFIG_DUMMY_DELAY_BANK3 is not set 1035 1039 # CONFIG_MMC is not set 1036 - 1037 - # 1038 - # LED devices 1039 - # 1040 1040 # CONFIG_NEW_LEDS is not set 1041 - 1042 - # 1043 - # LED drivers 1044 - # 1045 - 1046 - # 1047 - # LED Triggers 1048 - # 1049 - 1050 - # 1051 - # InfiniBand support 1052 - # 1053 - 1054 - # 1055 - # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 1056 - # 1057 - 1058 - # 1059 - # Real Time Clock 1060 - # 1061 1041 CONFIG_RTC_LIB=y 1062 1042 CONFIG_RTC_CLASS=y 1063 1043 CONFIG_RTC_HCTOSYS=y ··· 1036 1098 # I2C RTC drivers 1037 1099 # 1038 1100 # CONFIG_RTC_DRV_DS1307 is not set 1101 + # CONFIG_RTC_DRV_DS1374 is not set 1039 1102 # CONFIG_RTC_DRV_DS1672 is not set 1040 1103 # CONFIG_RTC_DRV_MAX6900 is not set 1041 1104 # CONFIG_RTC_DRV_RS5C372 is not set ··· 1044 1105 # CONFIG_RTC_DRV_X1205 is not set 1045 1106 # CONFIG_RTC_DRV_PCF8563 is not set 1046 1107 # CONFIG_RTC_DRV_PCF8583 is not set 1108 + # CONFIG_RTC_DRV_M41T80 is not set 1047 1109 1048 1110 # 1049 1111 # SPI RTC drivers ··· 1056 1116 # Platform RTC drivers 1057 1117 # 1058 1118 # CONFIG_RTC_DRV_DS1553 is not set 1119 + # CONFIG_RTC_DRV_STK17TA8 is not set 1059 1120 # CONFIG_RTC_DRV_DS1742 is not set 1060 1121 # CONFIG_RTC_DRV_M48T86 is not set 1122 + # CONFIG_RTC_DRV_M48T59 is not set 1061 1123 # CONFIG_RTC_DRV_V3020 is not set 1062 1124 1063 1125 # ··· 1068 1126 CONFIG_RTC_DRV_BFIN=y 1069 1127 1070 1128 # 1071 - # DMA Engine support 1129 + # Userspace I/O 1072 1130 # 1073 - # CONFIG_DMA_ENGINE is not set 1074 - 1075 - # 1076 - # DMA Clients 1077 - # 1078 - 1079 - # 1080 - # DMA Devices 1081 - # 1082 - 1083 - # 1084 - # PBX support 1085 - # 1086 - # CONFIG_PBX is not set 1131 + # CONFIG_UIO is not set 1087 1132 1088 1133 # 1089 1134 # File systems ··· 1115 1186 CONFIG_SYSFS=y 1116 1187 # CONFIG_TMPFS is not set 1117 1188 # CONFIG_HUGETLB_PAGE is not set 1118 - CONFIG_RAMFS=y 1119 1189 # CONFIG_CONFIGFS_FS is not set 1120 1190 1121 1191 # ··· 1140 1212 CONFIG_JFFS2_FS=m 1141 1213 CONFIG_JFFS2_FS_DEBUG=0 1142 1214 CONFIG_JFFS2_FS_WRITEBUFFER=y 1215 + # CONFIG_JFFS2_FS_WBUF_VERIFY is not set 1143 1216 # CONFIG_JFFS2_SUMMARY is not set 1144 1217 # CONFIG_JFFS2_FS_XATTR is not set 1145 1218 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1146 1219 CONFIG_JFFS2_ZLIB=y 1220 + # CONFIG_JFFS2_LZO is not set 1147 1221 CONFIG_JFFS2_RTIME=y 1148 1222 # CONFIG_JFFS2_RUBIN is not set 1149 1223 # CONFIG_CRAMFS is not set ··· 1154 1224 # CONFIG_QNX4FS_FS is not set 1155 1225 # CONFIG_SYSV_FS is not set 1156 1226 # CONFIG_UFS_FS is not set 1157 - 1158 - # 1159 - # Network File Systems 1160 - # 1227 + CONFIG_NETWORK_FILESYSTEMS=y 1161 1228 CONFIG_NFS_FS=m 1162 1229 CONFIG_NFS_V3=y 1163 1230 # CONFIG_NFS_V3_ACL is not set ··· 1174 1247 # CONFIG_NCP_FS is not set 1175 1248 # CONFIG_CODA_FS is not set 1176 1249 # CONFIG_AFS_FS is not set 1177 - # CONFIG_9P_FS is not set 1178 1250 1179 1251 # 1180 1252 # Partition Types 1181 1253 # 1182 1254 # CONFIG_PARTITION_ADVANCED is not set 1183 1255 CONFIG_MSDOS_PARTITION=y 1184 - 1185 - # 1186 - # Native Language Support 1187 - # 1188 1256 CONFIG_NLS=m 1189 1257 CONFIG_NLS_DEFAULT="iso8859-1" 1190 1258 # CONFIG_NLS_CODEPAGE_437 is not set ··· 1220 1298 # CONFIG_NLS_KOI8_R is not set 1221 1299 # CONFIG_NLS_KOI8_U is not set 1222 1300 # CONFIG_NLS_UTF8 is not set 1223 - 1224 - # 1225 - # Distributed Lock Manager 1226 - # 1227 1301 # CONFIG_DLM is not set 1228 - 1229 - # 1230 - # Profiling support 1231 - # 1302 + CONFIG_INSTRUMENTATION=y 1232 1303 # CONFIG_PROFILING is not set 1304 + # CONFIG_MARKERS is not set 1233 1305 1234 1306 # 1235 1307 # Kernel hacking 1236 1308 # 1237 1309 # CONFIG_PRINTK_TIME is not set 1310 + CONFIG_ENABLE_WARN_DEPRECATED=y 1238 1311 CONFIG_ENABLE_MUST_CHECK=y 1239 1312 # CONFIG_MAGIC_SYSRQ is not set 1240 1313 # CONFIG_UNUSED_SYMBOLS is not set ··· 1237 1320 # CONFIG_HEADERS_CHECK is not set 1238 1321 # CONFIG_DEBUG_KERNEL is not set 1239 1322 # CONFIG_DEBUG_BUGVERBOSE is not set 1323 + # CONFIG_SAMPLES is not set 1240 1324 CONFIG_DEBUG_MMRS=y 1241 1325 CONFIG_DEBUG_HUNT_FOR_ZERO=y 1242 1326 CONFIG_DEBUG_BFIN_HWTRACE_ON=y ··· 1257 1339 # CONFIG_KEYS is not set 1258 1340 CONFIG_SECURITY=y 1259 1341 # CONFIG_SECURITY_NETWORK is not set 1260 - CONFIG_SECURITY_CAPABILITIES=m 1261 - 1262 - # 1263 - # Cryptographic options 1264 - # 1342 + # CONFIG_SECURITY_CAPABILITIES is not set 1265 1343 # CONFIG_CRYPTO is not set 1266 1344 1267 1345 # ··· 1268 1354 # CONFIG_CRC16 is not set 1269 1355 # CONFIG_CRC_ITU_T is not set 1270 1356 CONFIG_CRC32=y 1357 + # CONFIG_CRC7 is not set 1271 1358 # CONFIG_LIBCRC32C is not set 1272 1359 CONFIG_ZLIB_INFLATE=y 1273 1360 CONFIG_ZLIB_DEFLATE=m
+60 -5
arch/blackfin/configs/BF548-EZKIT_defconfig
··· 365 365 CONFIG_BANK_0=0x7BB0 366 366 CONFIG_BANK_1=0x5554 367 367 CONFIG_BANK_2=0x7BB0 368 - CONFIG_BANK_3=0x99B3 368 + CONFIG_BANK_3=0x99B2 369 369 CONFIG_EBIU_MBSCTLVAL=0x0 370 370 CONFIG_EBIU_MODEVAL=0x1 371 371 CONFIG_EBIU_FCTLVAL=0x6 ··· 468 468 # 469 469 # CONFIG_NET_PKTGEN is not set 470 470 # CONFIG_HAMRADIO is not set 471 - # CONFIG_IRDA is not set 471 + CONFIG_IRDA=m 472 + 473 + # 474 + # IrDA protocols 475 + # 476 + CONFIG_IRLAN=m 477 + CONFIG_IRCOMM=m 478 + # CONFIG_IRDA_ULTRA is not set 479 + 480 + # 481 + # IrDA options 482 + # 483 + # CONFIG_IRDA_CACHE_LAST_LSAP is not set 484 + # CONFIG_IRDA_FAST_RR is not set 485 + # CONFIG_IRDA_DEBUG is not set 486 + 487 + # 488 + # Infrared-port device drivers 489 + # 490 + 491 + # 492 + # SIR device drivers 493 + # 494 + CONFIG_IRTTY_SIR=m 495 + CONFIG_BFIN_SIR=m 496 + # CONFIG_BFIN_SIR0 is not set 497 + # CONFIG_BFIN_SIR2 is not set 498 + CONFIG_BFIN_SIR3=y 499 + CONFIG_SIR_BFIN_DMA=y 500 + # CONFIG_SIR_BFIN_PIO is not set 501 + 502 + # 503 + # Dongle support 504 + # 505 + # CONFIG_DONGLE is not set 506 + # CONFIG_KINGSUN_DONGLE is not set 507 + # CONFIG_KSDAZZLE_DONGLE is not set 508 + # CONFIG_KS959_DONGLE is not set 509 + 510 + # 511 + # Old SIR device drivers 512 + # 513 + # CONFIG_IRPORT_SIR is not set 514 + 515 + # 516 + # Old Serial dongle support 517 + # 518 + 519 + # 520 + # FIR device drivers 521 + # 522 + # CONFIG_USB_IRDA is not set 523 + # CONFIG_SIGMATEL_FIR is not set 524 + # CONFIG_MCS_FIR is not set 472 525 # CONFIG_BT is not set 473 526 # CONFIG_AF_RXRPC is not set 474 527 ··· 628 575 CONFIG_MTD_NAND_IDS=y 629 576 CONFIG_MTD_NAND_BF5XX=y 630 577 CONFIG_MTD_NAND_BF5XX_HWECC=y 578 + # CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC is not set 631 579 # CONFIG_MTD_NAND_DISKONCHIP is not set 632 580 # CONFIG_MTD_NAND_NANDSIM is not set 633 581 # CONFIG_MTD_NAND_PLATFORM is not set ··· 820 766 # CONFIG_BFIN_SPORT is not set 821 767 # CONFIG_BFIN_TIMER_LATENCY is not set 822 768 # CONFIG_TWI_LCD is not set 823 - # CONFIG_SIMPLE_GPIO is not set 769 + CONFIG_SIMPLE_GPIO=m 824 770 CONFIG_VT=y 825 771 CONFIG_VT_CONSOLE=y 826 772 CONFIG_HW_CONSOLE=y ··· 1125 1071 CONFIG_SND_BF5XX_SOC_BF548_EZKIT=y 1126 1072 # CONFIG_SND_BF5XX_SOC_WM8750 is not set 1127 1073 # CONFIG_SND_BF5XX_SOC_WM8731 is not set 1074 + # CONFIG_SND_BF5XX_SOC_SSM2602 is not set 1128 1075 CONFIG_SND_BF5XX_SPORT_NUM=0 1129 1076 CONFIG_SND_BF5XX_HAVE_COLD_RESET=y 1130 1077 CONFIG_SND_BF5XX_RESET_GPIO_NUM=19 ··· 1188 1133 # CONFIG_USB_MUSB_OTG is not set 1189 1134 CONFIG_USB_MUSB_HDRC_HCD=y 1190 1135 # CONFIG_MUSB_PIO_ONLY is not set 1191 - # CONFIG_USB_INVENTRA_DMA is not set 1136 + CONFIG_USB_INVENTRA_DMA=y 1192 1137 # CONFIG_USB_TI_CPPI_DMA is not set 1193 1138 CONFIG_USB_MUSB_LOGLEVEL=0 1194 1139 ··· 1367 1312 CONFIG_INOTIFY=y 1368 1313 CONFIG_INOTIFY_USER=y 1369 1314 # CONFIG_QUOTA is not set 1370 - CONFIG_DNOTIFY=y 1315 + # CONFIG_DNOTIFY is not set 1371 1316 # CONFIG_AUTOFS_FS is not set 1372 1317 # CONFIG_AUTOFS4_FS is not set 1373 1318 # CONFIG_FUSE_FS is not set
+85 -188
arch/blackfin/configs/BF561-EZKIT_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.22.16 3 + # Linux kernel version: 2.6.24.7 4 4 # 5 5 # CONFIG_MMU is not set 6 6 # CONFIG_FPU is not set ··· 13 13 CONFIG_GENERIC_HWEIGHT=y 14 14 CONFIG_GENERIC_HARDIRQS=y 15 15 CONFIG_GENERIC_IRQ_PROBE=y 16 - CONFIG_GENERIC_TIME=y 17 16 CONFIG_GENERIC_GPIO=y 18 17 CONFIG_FORCE_MAX_ZONEORDER=14 19 18 CONFIG_GENERIC_CALIBRATE_DELAY=y 20 19 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 21 20 22 21 # 23 - # Code maturity level options 22 + # General setup 24 23 # 25 24 CONFIG_EXPERIMENTAL=y 26 25 CONFIG_BROKEN_ON_SMP=y 27 26 CONFIG_INIT_ENV_ARG_LIMIT=32 28 - 29 - # 30 - # General setup 31 - # 32 27 CONFIG_LOCALVERSION="" 33 28 CONFIG_LOCALVERSION_AUTO=y 34 29 CONFIG_SYSVIPC=y 35 - # CONFIG_IPC_NS is not set 36 30 CONFIG_SYSVIPC_SYSCTL=y 37 31 # CONFIG_POSIX_MQUEUE is not set 38 32 # CONFIG_BSD_PROCESS_ACCT is not set 39 33 # CONFIG_TASKSTATS is not set 40 - # CONFIG_UTS_NS is not set 34 + # CONFIG_USER_NS is not set 35 + # CONFIG_PID_NS is not set 41 36 # CONFIG_AUDIT is not set 42 37 CONFIG_IKCONFIG=y 43 38 CONFIG_IKCONFIG_PROC=y 44 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 45 44 CONFIG_SYSFS_DEPRECATED=y 46 45 # CONFIG_RELAY is not set 47 46 CONFIG_BLK_DEV_INITRD=y ··· 63 64 CONFIG_SIGNALFD=y 64 65 CONFIG_EVENTFD=y 65 66 CONFIG_VM_EVENT_COUNTERS=y 66 - CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 67 - # CONFIG_NP2 is not set 68 67 CONFIG_SLAB=y 69 68 # CONFIG_SLUB is not set 70 69 # CONFIG_SLOB is not set 70 + CONFIG_SLABINFO=y 71 71 CONFIG_RT_MUTEXES=y 72 72 CONFIG_TINY_SHMEM=y 73 73 CONFIG_BASE_SMALL=0 74 - 75 - # 76 - # Loadable module support 77 - # 78 74 CONFIG_MODULES=y 79 75 CONFIG_MODULE_UNLOAD=y 80 76 # CONFIG_MODULE_FORCE_UNLOAD is not set 81 77 # CONFIG_MODVERSIONS is not set 82 78 # CONFIG_MODULE_SRCVERSION_ALL is not set 83 79 CONFIG_KMOD=y 84 - 85 - # 86 - # Block layer 87 - # 88 80 CONFIG_BLOCK=y 89 81 # CONFIG_LBD is not set 90 82 # CONFIG_BLK_DEV_IO_TRACE is not set 91 83 # CONFIG_LSF is not set 84 + # CONFIG_BLK_DEV_BSG is not set 92 85 93 86 # 94 87 # IO Schedulers ··· 131 140 # CONFIG_BF_REV_0_5 is not set 132 141 # CONFIG_BF_REV_ANY is not set 133 142 # CONFIG_BF_REV_NONE is not set 134 - CONFIG_BFIN_DUAL_CORE=y 135 143 CONFIG_MEM_MT48LC16M16A2TG_75=y 136 144 CONFIG_IRQ_PLL_WAKEUP=7 137 145 CONFIG_IRQ_SPORT0_ERROR=7 ··· 223 233 # Board customizations 224 234 # 225 235 # CONFIG_CMDLINE_BOOL is not set 236 + CONFIG_BOOT_LOAD=0x1000 226 237 227 238 # 228 239 # Clock/PLL Setup 229 240 # 230 241 CONFIG_CLKIN_HZ=30000000 231 242 # CONFIG_BFIN_KERNEL_CLOCK is not set 243 + CONFIG_MAX_MEM_SIZE=512 232 244 CONFIG_MAX_VCO_HZ=600000000 233 245 CONFIG_MIN_VCO_HZ=50000000 234 246 CONFIG_MAX_SCLK_HZ=133333333 ··· 244 252 # CONFIG_HZ_300 is not set 245 253 # CONFIG_HZ_1000 is not set 246 254 CONFIG_HZ=250 255 + CONFIG_GENERIC_TIME=y 256 + CONFIG_GENERIC_CLOCKEVENTS=y 257 + # CONFIG_CYCLES_CLOCKSOURCE is not set 258 + CONFIG_TICK_ONESHOT=y 259 + # CONFIG_NO_HZ is not set 260 + CONFIG_HIGH_RES_TIMERS=y 261 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 247 262 248 263 # 249 - # Memory Setup 264 + # Misc 250 265 # 251 - CONFIG_MAX_MEM_SIZE=512 252 - CONFIG_MEM_ADD_WIDTH=9 253 - CONFIG_BOOT_LOAD=0x1000 254 266 CONFIG_BFIN_SCRATCH_REG_RETN=y 255 267 # CONFIG_BFIN_SCRATCH_REG_RETE is not set 256 268 # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set ··· 290 294 CONFIG_FLATMEM=y 291 295 CONFIG_FLAT_NODE_MEM_MAP=y 292 296 # CONFIG_SPARSEMEM_STATIC is not set 297 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 293 298 CONFIG_SPLIT_PTLOCK_CPUS=4 294 299 # CONFIG_RESOURCES_64BIT is not set 295 300 CONFIG_ZONE_DMA_FLAG=1 296 - CONFIG_LARGE_ALLOCS=y 301 + CONFIG_VIRT_TO_BUS=y 297 302 # CONFIG_BFIN_GPTIMERS is not set 298 303 CONFIG_BFIN_DMA_5XX=y 304 + # CONFIG_DMA_UNCACHED_4M is not set 299 305 # CONFIG_DMA_UNCACHED_2M is not set 300 306 CONFIG_DMA_UNCACHED_1M=y 301 307 # CONFIG_DMA_UNCACHED_NONE is not set ··· 339 341 CONFIG_BANK_0=0x7BB0 340 342 CONFIG_BANK_1=0x7BB0 341 343 CONFIG_BANK_2=0x7BB0 342 - CONFIG_BANK_3=0xAAC3 344 + CONFIG_BANK_3=0xAAC2 343 345 344 346 # 345 347 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) 346 348 # 347 349 # CONFIG_PCI is not set 348 350 # CONFIG_ARCH_SUPPORTS_MSI is not set 349 - 350 - # 351 - # PCCARD (PCMCIA/CardBus) support 352 - # 353 351 # CONFIG_PCCARD is not set 354 352 355 353 # ··· 361 367 # Power management options 362 368 # 363 369 # CONFIG_PM is not set 370 + CONFIG_SUSPEND_UP_POSSIBLE=y 364 371 # CONFIG_PM_WAKEUP_BY_GPIO is not set 372 + 373 + # 374 + # CPU Frequency scaling 375 + # 376 + # CONFIG_CPU_FREQ is not set 365 377 366 378 # 367 379 # Networking ··· 405 405 CONFIG_INET_XFRM_MODE_TRANSPORT=y 406 406 CONFIG_INET_XFRM_MODE_TUNNEL=y 407 407 CONFIG_INET_XFRM_MODE_BEET=y 408 + # CONFIG_INET_LRO is not set 408 409 CONFIG_INET_DIAG=y 409 410 CONFIG_INET_TCP_DIAG=y 410 411 # CONFIG_TCP_CONG_ADVANCED is not set ··· 432 431 # CONFIG_LAPB is not set 433 432 # CONFIG_ECONET is not set 434 433 # CONFIG_WAN_ROUTER is not set 435 - 436 - # 437 - # QoS and/or fair queueing 438 - # 439 434 # CONFIG_NET_SCHED is not set 440 435 441 436 # ··· 463 466 # SIR device drivers 464 467 # 465 468 CONFIG_IRTTY_SIR=m 469 + # CONFIG_BFIN_SIR is not set 466 470 467 471 # 468 472 # Dongle support ··· 493 495 # CONFIG_MAC80211 is not set 494 496 # CONFIG_IEEE80211 is not set 495 497 # CONFIG_RFKILL is not set 498 + # CONFIG_NET_9P is not set 496 499 497 500 # 498 501 # Device Drivers ··· 502 503 # 503 504 # Generic Driver Options 504 505 # 506 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 505 507 CONFIG_STANDALONE=y 506 508 CONFIG_PREVENT_FIRMWARE_BUILD=y 507 509 # CONFIG_FW_LOADER is not set 508 510 # CONFIG_SYS_HYPERVISOR is not set 509 - 510 - # 511 - # Connector - unified userspace <-> kernelspace linker 512 - # 513 511 # CONFIG_CONNECTOR is not set 514 512 CONFIG_MTD=y 515 513 # CONFIG_MTD_DEBUG is not set ··· 526 530 # CONFIG_INFTL is not set 527 531 # CONFIG_RFD_FTL is not set 528 532 # CONFIG_SSFDC is not set 533 + # CONFIG_MTD_OOPS is not set 529 534 530 535 # 531 536 # RAM/ROM/Flash chip drivers ··· 587 590 # UBI - Unsorted block images 588 591 # 589 592 # CONFIG_MTD_UBI is not set 590 - 591 - # 592 - # Parallel port support 593 - # 594 593 # CONFIG_PARPORT is not set 595 - 596 - # 597 - # Plug and Play support 598 - # 599 - # CONFIG_PNPACPI is not set 600 - 601 - # 602 - # Block devices 603 - # 594 + CONFIG_BLK_DEV=y 604 595 # CONFIG_BLK_DEV_COW_COMMON is not set 605 596 # CONFIG_BLK_DEV_LOOP is not set 606 597 # CONFIG_BLK_DEV_NBD is not set ··· 598 613 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 599 614 # CONFIG_CDROM_PKTCDVD is not set 600 615 # CONFIG_ATA_OVER_ETH is not set 601 - 602 - # 603 - # Misc devices 604 - # 616 + CONFIG_MISC_DEVICES=y 617 + # CONFIG_EEPROM_93CX6 is not set 605 618 # CONFIG_IDE is not set 606 619 607 620 # ··· 607 624 # 608 625 # CONFIG_RAID_ATTRS is not set 609 626 # CONFIG_SCSI is not set 627 + # CONFIG_SCSI_DMA is not set 610 628 # CONFIG_SCSI_NETLINK is not set 611 629 # CONFIG_ATA is not set 612 - 613 - # 614 - # Multi-device support (RAID and LVM) 615 - # 616 630 # CONFIG_MD is not set 617 - 618 - # 619 - # Network device support 620 - # 621 631 CONFIG_NETDEVICES=y 632 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 622 633 # CONFIG_DUMMY is not set 623 634 # CONFIG_BONDING is not set 635 + # CONFIG_MACVLAN is not set 624 636 # CONFIG_EQUALIZER is not set 625 637 # CONFIG_TUN is not set 638 + # CONFIG_VETH is not set 626 639 # CONFIG_PHYLIB is not set 627 - 628 - # 629 - # Ethernet (10 or 100Mbit) 630 - # 631 640 CONFIG_NET_ETHERNET=y 632 641 CONFIG_MII=y 633 642 CONFIG_SMC91X=y 634 643 # CONFIG_SMSC911X is not set 635 644 # CONFIG_DM9000 is not set 645 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 646 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 647 + # CONFIG_IBM_NEW_EMAC_TAH is not set 648 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 649 + # CONFIG_B44 is not set 636 650 CONFIG_NETDEV_1000=y 637 651 # CONFIG_AX88180 is not set 638 652 CONFIG_NETDEV_10000=y ··· 646 666 # CONFIG_NETCONSOLE is not set 647 667 # CONFIG_NETPOLL is not set 648 668 # CONFIG_NET_POLL_CONTROLLER is not set 649 - 650 - # 651 - # ISDN subsystem 652 - # 653 669 # CONFIG_ISDN is not set 654 - 655 - # 656 - # Telephony Support 657 - # 658 670 # CONFIG_PHONE is not set 659 671 660 672 # ··· 661 689 # 662 690 # CONFIG_INPUT_MOUSEDEV is not set 663 691 # CONFIG_INPUT_JOYDEV is not set 664 - # CONFIG_INPUT_TSDEV is not set 665 692 CONFIG_INPUT_EVDEV=m 666 693 # CONFIG_INPUT_EVBUG is not set 667 694 ··· 685 714 # 686 715 # CONFIG_AD9960 is not set 687 716 # CONFIG_SPI_ADC_BF533 is not set 688 - # CONFIG_BF5xx_PFLAGS is not set 689 717 # CONFIG_BF5xx_PPIFCD is not set 690 718 # CONFIG_BFIN_SIMPLE_TIMER is not set 691 719 # CONFIG_BF5xx_PPI is not set 692 720 # CONFIG_BFIN_SPORT is not set 693 721 # CONFIG_BFIN_TIMER_LATENCY is not set 694 - # CONFIG_AD5304 is not set 722 + CONFIG_SIMPLE_GPIO=m 695 723 # CONFIG_VT is not set 696 724 # CONFIG_SERIAL_NONSTANDARD is not set 697 725 ··· 718 748 # CAN, the car bus and industrial fieldbus 719 749 # 720 750 # CONFIG_CAN4LINUX is not set 721 - 722 - # 723 - # IPMI 724 - # 725 751 # CONFIG_IPMI_HANDLER is not set 726 - CONFIG_WATCHDOG=y 727 - # CONFIG_WATCHDOG_NOWAYOUT is not set 728 - 729 - # 730 - # Watchdog Device Drivers 731 - # 732 - # CONFIG_SOFT_WATCHDOG is not set 733 - CONFIG_BFIN_WDT=y 734 752 CONFIG_HW_RANDOM=y 735 753 # CONFIG_GEN_RTC is not set 736 754 # CONFIG_R3964 is not set 737 755 # CONFIG_RAW_DRIVER is not set 738 - 739 - # 740 - # TPM devices 741 - # 742 756 # CONFIG_TCG_TPM is not set 743 757 # CONFIG_I2C is not set 744 758 ··· 743 789 # 744 790 # CONFIG_SPI_AT25 is not set 745 791 # CONFIG_SPI_SPIDEV is not set 746 - 747 - # 748 - # Dallas's 1-wire bus 749 - # 792 + # CONFIG_SPI_TLE62X0 is not set 750 793 # CONFIG_W1 is not set 794 + # CONFIG_POWER_SUPPLY is not set 751 795 CONFIG_HWMON=y 752 796 # CONFIG_HWMON_VID is not set 753 - # CONFIG_SENSORS_ABITUGURU is not set 754 797 # CONFIG_SENSORS_F71805F is not set 798 + # CONFIG_SENSORS_F71882FG is not set 799 + # CONFIG_SENSORS_IT87 is not set 755 800 # CONFIG_SENSORS_LM70 is not set 801 + # CONFIG_SENSORS_PC87360 is not set 756 802 # CONFIG_SENSORS_PC87427 is not set 757 803 # CONFIG_SENSORS_SMSC47M1 is not set 758 804 # CONFIG_SENSORS_SMSC47B397 is not set 759 805 # CONFIG_SENSORS_VT1211 is not set 760 806 # CONFIG_SENSORS_W83627HF is not set 807 + # CONFIG_SENSORS_W83627EHF is not set 761 808 # CONFIG_HWMON_DEBUG_CHIP is not set 809 + CONFIG_WATCHDOG=y 810 + # CONFIG_WATCHDOG_NOWAYOUT is not set 811 + 812 + # 813 + # Watchdog Device Drivers 814 + # 815 + # CONFIG_SOFT_WATCHDOG is not set 816 + CONFIG_BFIN_WDT=y 817 + 818 + # 819 + # Sonics Silicon Backplane 820 + # 821 + CONFIG_SSB_POSSIBLE=y 822 + # CONFIG_SSB is not set 762 823 763 824 # 764 825 # Multifunction device drivers ··· 790 821 # 791 822 # Graphics support 792 823 # 824 + # CONFIG_VGASTATE is not set 825 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 826 + # CONFIG_FB is not set 793 827 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 794 828 795 829 # 796 830 # Display device support 797 831 # 798 832 # CONFIG_DISPLAY_SUPPORT is not set 799 - # CONFIG_VGASTATE is not set 800 - # CONFIG_FB is not set 801 833 802 834 # 803 835 # Sound 804 836 # 805 837 # CONFIG_SOUND is not set 806 - 807 - # 808 - # HID Devices 809 - # 838 + CONFIG_HID_SUPPORT=y 810 839 CONFIG_HID=m 811 840 # CONFIG_HID_DEBUG is not set 812 - 813 - # 814 - # USB support 815 - # 816 - CONFIG_USB_ARCH_HAS_HCD=y 817 - # CONFIG_USB_ARCH_HAS_OHCI is not set 818 - # CONFIG_USB_ARCH_HAS_EHCI is not set 819 - # CONFIG_USB is not set 820 - 821 - # 822 - # Enable Host or Gadget support to see Inventra options 823 - # 824 - 825 - # 826 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 827 - # 828 - 829 - # 830 - # USB Gadget Support 831 - # 832 - # CONFIG_USB_GADGET is not set 841 + # CONFIG_HIDRAW is not set 842 + # CONFIG_USB_SUPPORT is not set 833 843 # CONFIG_MMC is not set 834 - 835 - # 836 - # LED devices 837 - # 838 844 # CONFIG_NEW_LEDS is not set 839 - 840 - # 841 - # LED drivers 842 - # 843 - 844 - # 845 - # LED Triggers 846 - # 847 - 848 - # 849 - # InfiniBand support 850 - # 851 - 852 - # 853 - # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 854 - # 855 - 856 - # 857 - # Real Time Clock 858 - # 859 845 # CONFIG_RTC_CLASS is not set 860 846 861 847 # 862 - # DMA Engine support 848 + # Userspace I/O 863 849 # 864 - # CONFIG_DMA_ENGINE is not set 865 - 866 - # 867 - # DMA Clients 868 - # 869 - 870 - # 871 - # DMA Devices 872 - # 873 - 874 - # 875 - # PBX support 876 - # 877 - # CONFIG_PBX is not set 850 + # CONFIG_UIO is not set 878 851 879 852 # 880 853 # File systems ··· 861 950 CONFIG_SYSFS=y 862 951 # CONFIG_TMPFS is not set 863 952 # CONFIG_HUGETLB_PAGE is not set 864 - CONFIG_RAMFS=y 865 953 # CONFIG_CONFIGFS_FS is not set 866 954 867 955 # ··· 886 976 CONFIG_JFFS2_FS=m 887 977 CONFIG_JFFS2_FS_DEBUG=0 888 978 CONFIG_JFFS2_FS_WRITEBUFFER=y 979 + # CONFIG_JFFS2_FS_WBUF_VERIFY is not set 889 980 # CONFIG_JFFS2_SUMMARY is not set 890 981 # CONFIG_JFFS2_FS_XATTR is not set 891 982 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 892 983 CONFIG_JFFS2_ZLIB=y 984 + # CONFIG_JFFS2_LZO is not set 893 985 CONFIG_JFFS2_RTIME=y 894 986 # CONFIG_JFFS2_RUBIN is not set 895 987 # CONFIG_CRAMFS is not set ··· 900 988 # CONFIG_QNX4FS_FS is not set 901 989 # CONFIG_SYSV_FS is not set 902 990 # CONFIG_UFS_FS is not set 903 - 904 - # 905 - # Network File Systems 906 - # 991 + CONFIG_NETWORK_FILESYSTEMS=y 907 992 CONFIG_NFS_FS=m 908 993 CONFIG_NFS_V3=y 909 994 # CONFIG_NFS_V3_ACL is not set ··· 920 1011 # CONFIG_NCP_FS is not set 921 1012 # CONFIG_CODA_FS is not set 922 1013 # CONFIG_AFS_FS is not set 923 - # CONFIG_9P_FS is not set 924 1014 925 1015 # 926 1016 # Partition Types 927 1017 # 928 1018 # CONFIG_PARTITION_ADVANCED is not set 929 1019 CONFIG_MSDOS_PARTITION=y 930 - 931 - # 932 - # Native Language Support 933 - # 934 1020 CONFIG_NLS=m 935 1021 CONFIG_NLS_DEFAULT="iso8859-1" 936 1022 # CONFIG_NLS_CODEPAGE_437 is not set ··· 966 1062 # CONFIG_NLS_KOI8_R is not set 967 1063 # CONFIG_NLS_KOI8_U is not set 968 1064 # CONFIG_NLS_UTF8 is not set 969 - 970 - # 971 - # Distributed Lock Manager 972 - # 973 1065 # CONFIG_DLM is not set 974 - 975 - # 976 - # Profiling support 977 - # 1066 + CONFIG_INSTRUMENTATION=y 978 1067 # CONFIG_PROFILING is not set 1068 + # CONFIG_MARKERS is not set 979 1069 980 1070 # 981 1071 # Kernel hacking 982 1072 # 983 1073 # CONFIG_PRINTK_TIME is not set 1074 + CONFIG_ENABLE_WARN_DEPRECATED=y 984 1075 CONFIG_ENABLE_MUST_CHECK=y 985 1076 # CONFIG_MAGIC_SYSRQ is not set 986 1077 # CONFIG_UNUSED_SYMBOLS is not set ··· 983 1084 # CONFIG_HEADERS_CHECK is not set 984 1085 # CONFIG_DEBUG_KERNEL is not set 985 1086 # CONFIG_DEBUG_BUGVERBOSE is not set 1087 + # CONFIG_SAMPLES is not set 986 1088 CONFIG_DEBUG_MMRS=y 987 1089 CONFIG_DEBUG_HUNT_FOR_ZERO=y 988 1090 CONFIG_DEBUG_BFIN_HWTRACE_ON=y ··· 1004 1104 # CONFIG_KEYS is not set 1005 1105 CONFIG_SECURITY=y 1006 1106 # CONFIG_SECURITY_NETWORK is not set 1007 - CONFIG_SECURITY_CAPABILITIES=m 1008 - 1009 - # 1010 - # Cryptographic options 1011 - # 1107 + # CONFIG_SECURITY_CAPABILITIES is not set 1012 1108 # CONFIG_CRYPTO is not set 1013 1109 1014 1110 # ··· 1015 1119 # CONFIG_CRC16 is not set 1016 1120 # CONFIG_CRC_ITU_T is not set 1017 1121 CONFIG_CRC32=y 1122 + # CONFIG_CRC7 is not set 1018 1123 # CONFIG_LIBCRC32C is not set 1019 1124 CONFIG_ZLIB_INFLATE=y 1020 1125 CONFIG_ZLIB_DEFLATE=m
+1185
arch/blackfin/configs/CM-BF527_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.24.7 4 + # Fri Jul 18 18:00:41 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=y 39 + CONFIG_IKCONFIG_PROC=y 40 + CONFIG_LOG_BUF_SHIFT=14 41 + # CONFIG_CGROUPS is not set 42 + CONFIG_FAIR_GROUP_SCHED=y 43 + CONFIG_FAIR_USER_SCHED=y 44 + # CONFIG_FAIR_CGROUP_SCHED is not set 45 + CONFIG_SYSFS_DEPRECATED=y 46 + # CONFIG_RELAY is not set 47 + CONFIG_BLK_DEV_INITRD=y 48 + CONFIG_INITRAMFS_SOURCE="" 49 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 50 + CONFIG_SYSCTL=y 51 + CONFIG_EMBEDDED=y 52 + CONFIG_UID16=y 53 + CONFIG_SYSCTL_SYSCALL=y 54 + CONFIG_KALLSYMS=y 55 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 56 + CONFIG_HOTPLUG=y 57 + CONFIG_PRINTK=y 58 + CONFIG_BUG=y 59 + CONFIG_ELF_CORE=y 60 + CONFIG_BASE_FULL=y 61 + CONFIG_FUTEX=y 62 + CONFIG_ANON_INODES=y 63 + CONFIG_EPOLL=y 64 + CONFIG_SIGNALFD=y 65 + CONFIG_EVENTFD=y 66 + CONFIG_VM_EVENT_COUNTERS=y 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=y 96 + # CONFIG_DEFAULT_NOOP is not set 97 + CONFIG_DEFAULT_IOSCHED="cfq" 98 + # CONFIG_PREEMPT_NONE is not set 99 + CONFIG_PREEMPT_VOLUNTARY=y 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=y 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 is not set 127 + # CONFIG_BF_REV_0_0 is not set 128 + CONFIG_BF_REV_0_1=y 129 + # CONFIG_BF_REV_0_2 is not set 130 + # CONFIG_BF_REV_0_3 is not set 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_BF52x=y 136 + CONFIG_MEM_MT48LC16M16A2TG_75=y 137 + # CONFIG_BFIN527_EZKIT is not set 138 + CONFIG_BFIN527_BLUETECHNIX_CM=y 139 + 140 + # 141 + # BF527 Specific Configuration 142 + # 143 + 144 + # 145 + # Alternative Multiplexing Scheme 146 + # 147 + # CONFIG_BF527_SPORT0_PORTF is not set 148 + CONFIG_BF527_SPORT0_PORTG=y 149 + CONFIG_BF527_SPORT0_TSCLK_PG10=y 150 + # CONFIG_BF527_SPORT0_TSCLK_PG14 is not set 151 + CONFIG_BF527_UART1_PORTF=y 152 + # CONFIG_BF527_UART1_PORTG is not set 153 + # CONFIG_BF527_NAND_D_PORTF is not set 154 + CONFIG_BF527_NAND_D_PORTH=y 155 + 156 + # 157 + # Interrupt Priority Assignment 158 + # 159 + 160 + # 161 + # Priority 162 + # 163 + CONFIG_IRQ_PLL_WAKEUP=7 164 + CONFIG_IRQ_DMA0_ERROR=7 165 + CONFIG_IRQ_DMAR0_BLK=7 166 + CONFIG_IRQ_DMAR1_BLK=7 167 + CONFIG_IRQ_DMAR0_OVR=7 168 + CONFIG_IRQ_DMAR1_OVR=7 169 + CONFIG_IRQ_PPI_ERROR=7 170 + CONFIG_IRQ_MAC_ERROR=7 171 + CONFIG_IRQ_SPORT0_ERROR=7 172 + CONFIG_IRQ_SPORT1_ERROR=7 173 + CONFIG_IRQ_UART0_ERROR=7 174 + CONFIG_IRQ_UART1_ERROR=7 175 + CONFIG_IRQ_RTC=8 176 + CONFIG_IRQ_PPI=8 177 + CONFIG_IRQ_SPORT0_RX=9 178 + CONFIG_IRQ_SPORT0_TX=9 179 + CONFIG_IRQ_SPORT1_RX=9 180 + CONFIG_IRQ_SPORT1_TX=9 181 + CONFIG_IRQ_TWI=10 182 + CONFIG_IRQ_SPI=10 183 + CONFIG_IRQ_UART0_RX=10 184 + CONFIG_IRQ_UART0_TX=10 185 + CONFIG_IRQ_UART1_RX=10 186 + CONFIG_IRQ_UART1_TX=10 187 + CONFIG_IRQ_OPTSEC=11 188 + CONFIG_IRQ_CNT=11 189 + CONFIG_IRQ_MAC_RX=11 190 + CONFIG_IRQ_PORTH_INTA=11 191 + CONFIG_IRQ_MAC_TX=11 192 + CONFIG_IRQ_PORTH_INTB=11 193 + CONFIG_IRQ_TMR0=12 194 + CONFIG_IRQ_TMR1=12 195 + CONFIG_IRQ_TMR2=12 196 + CONFIG_IRQ_TMR3=12 197 + CONFIG_IRQ_TMR4=12 198 + CONFIG_IRQ_TMR5=12 199 + CONFIG_IRQ_TMR6=12 200 + CONFIG_IRQ_TMR7=12 201 + CONFIG_IRQ_PORTG_INTA=12 202 + CONFIG_IRQ_PORTG_INTB=12 203 + CONFIG_IRQ_MEM_DMA0=13 204 + CONFIG_IRQ_MEM_DMA1=13 205 + CONFIG_IRQ_WATCH=13 206 + CONFIG_IRQ_PORTF_INTA=13 207 + CONFIG_IRQ_PORTF_INTB=13 208 + CONFIG_IRQ_SPI_ERROR=7 209 + CONFIG_IRQ_NFC_ERROR=7 210 + CONFIG_IRQ_HDMA_ERROR=7 211 + CONFIG_IRQ_HDMA=7 212 + CONFIG_IRQ_USB_EINT=10 213 + CONFIG_IRQ_USB_INT0=11 214 + CONFIG_IRQ_USB_INT1=11 215 + CONFIG_IRQ_USB_INT2=11 216 + CONFIG_IRQ_USB_DMA=11 217 + 218 + # 219 + # Board customizations 220 + # 221 + # CONFIG_CMDLINE_BOOL is not set 222 + CONFIG_BOOT_LOAD=0x1000 223 + 224 + # 225 + # Clock/PLL Setup 226 + # 227 + CONFIG_CLKIN_HZ=25000000 228 + # CONFIG_BFIN_KERNEL_CLOCK is not set 229 + CONFIG_MAX_MEM_SIZE=512 230 + CONFIG_MAX_VCO_HZ=600000000 231 + CONFIG_MIN_VCO_HZ=50000000 232 + CONFIG_MAX_SCLK_HZ=133333333 233 + CONFIG_MIN_SCLK_HZ=27000000 234 + 235 + # 236 + # Kernel Timer/Scheduler 237 + # 238 + # CONFIG_HZ_100 is not set 239 + CONFIG_HZ_250=y 240 + # CONFIG_HZ_300 is not set 241 + # CONFIG_HZ_1000 is not set 242 + CONFIG_HZ=250 243 + CONFIG_GENERIC_TIME=y 244 + CONFIG_GENERIC_CLOCKEVENTS=y 245 + # CONFIG_CYCLES_CLOCKSOURCE is not set 246 + # CONFIG_TICK_ONESHOT is not set 247 + # CONFIG_NO_HZ is not set 248 + # CONFIG_HIGH_RES_TIMERS is not set 249 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 250 + 251 + # 252 + # Misc 253 + # 254 + CONFIG_BFIN_SCRATCH_REG_RETN=y 255 + # CONFIG_BFIN_SCRATCH_REG_RETE is not set 256 + # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set 257 + 258 + # 259 + # Blackfin Kernel Optimizations 260 + # 261 + 262 + # 263 + # Memory Optimizations 264 + # 265 + CONFIG_I_ENTRY_L1=y 266 + CONFIG_EXCPT_IRQ_SYSC_L1=y 267 + CONFIG_DO_IRQ_L1=y 268 + CONFIG_CORE_TIMER_IRQ_L1=y 269 + CONFIG_IDLE_L1=y 270 + # CONFIG_SCHEDULE_L1 is not set 271 + CONFIG_ARITHMETIC_OPS_L1=y 272 + CONFIG_ACCESS_OK_L1=y 273 + # CONFIG_MEMSET_L1 is not set 274 + # CONFIG_MEMCPY_L1 is not set 275 + # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set 276 + # CONFIG_IP_CHECKSUM_L1 is not set 277 + CONFIG_CACHELINE_ALIGNED_L1=y 278 + # CONFIG_SYSCALL_TAB_L1 is not set 279 + # CONFIG_CPLB_SWITCH_TAB_L1 is not set 280 + CONFIG_RAMKERNEL=y 281 + # CONFIG_ROMKERNEL is not set 282 + CONFIG_SELECT_MEMORY_MODEL=y 283 + CONFIG_FLATMEM_MANUAL=y 284 + # CONFIG_DISCONTIGMEM_MANUAL is not set 285 + # CONFIG_SPARSEMEM_MANUAL is not set 286 + CONFIG_FLATMEM=y 287 + CONFIG_FLAT_NODE_MEM_MAP=y 288 + # CONFIG_SPARSEMEM_STATIC is not set 289 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 290 + CONFIG_SPLIT_PTLOCK_CPUS=4 291 + # CONFIG_RESOURCES_64BIT is not set 292 + CONFIG_ZONE_DMA_FLAG=1 293 + CONFIG_VIRT_TO_BUS=y 294 + CONFIG_BFIN_GPTIMERS=y 295 + CONFIG_BFIN_DMA_5XX=y 296 + # CONFIG_DMA_UNCACHED_4M is not set 297 + # CONFIG_DMA_UNCACHED_2M is not set 298 + CONFIG_DMA_UNCACHED_1M=y 299 + # CONFIG_DMA_UNCACHED_NONE is not set 300 + 301 + # 302 + # Cache Support 303 + # 304 + CONFIG_BFIN_ICACHE=y 305 + CONFIG_BFIN_DCACHE=y 306 + # CONFIG_BFIN_DCACHE_BANKA is not set 307 + # CONFIG_BFIN_ICACHE_LOCK is not set 308 + # CONFIG_BFIN_WB is not set 309 + CONFIG_BFIN_WT=y 310 + # CONFIG_MPU is not set 311 + 312 + # 313 + # Asynchonous Memory Configuration 314 + # 315 + 316 + # 317 + # EBIU_AMGCTL Global Control 318 + # 319 + CONFIG_C_AMCKEN=y 320 + CONFIG_C_CDPRIO=y 321 + # CONFIG_C_AMBEN is not set 322 + # CONFIG_C_AMBEN_B0 is not set 323 + # CONFIG_C_AMBEN_B0_B1 is not set 324 + # CONFIG_C_AMBEN_B0_B1_B2 is not set 325 + CONFIG_C_AMBEN_ALL=y 326 + 327 + # 328 + # EBIU_AMBCTL Control 329 + # 330 + CONFIG_BANK_0=0x7BB0 331 + CONFIG_BANK_1=0x5554 332 + CONFIG_BANK_2=0x7BB0 333 + CONFIG_BANK_3=0xFFC0 334 + 335 + # 336 + # Bus options (PCI, PCMCIA, EISA, MCA, ISA) 337 + # 338 + # CONFIG_PCI is not set 339 + # CONFIG_ARCH_SUPPORTS_MSI is not set 340 + # CONFIG_PCCARD is not set 341 + 342 + # 343 + # Executable file formats 344 + # 345 + CONFIG_BINFMT_ELF_FDPIC=y 346 + CONFIG_BINFMT_FLAT=y 347 + CONFIG_BINFMT_ZFLAT=y 348 + # CONFIG_BINFMT_SHARED_FLAT is not set 349 + # CONFIG_BINFMT_MISC is not set 350 + 351 + # 352 + # Power management options 353 + # 354 + # CONFIG_PM is not set 355 + CONFIG_SUSPEND_UP_POSSIBLE=y 356 + # CONFIG_PM_BFIN_SLEEP_DEEPER is not set 357 + # CONFIG_PM_BFIN_SLEEP is not set 358 + # CONFIG_PM_WAKEUP_BY_GPIO is not set 359 + 360 + # 361 + # CPU Frequency scaling 362 + # 363 + # CONFIG_CPU_FREQ is not set 364 + 365 + # 366 + # Networking 367 + # 368 + CONFIG_NET=y 369 + 370 + # 371 + # Networking options 372 + # 373 + CONFIG_PACKET=y 374 + # CONFIG_PACKET_MMAP is not set 375 + CONFIG_UNIX=y 376 + CONFIG_XFRM=y 377 + # CONFIG_XFRM_USER is not set 378 + # CONFIG_XFRM_SUB_POLICY is not set 379 + # CONFIG_XFRM_MIGRATE is not set 380 + # CONFIG_NET_KEY is not set 381 + CONFIG_INET=y 382 + # CONFIG_IP_MULTICAST is not set 383 + # CONFIG_IP_ADVANCED_ROUTER is not set 384 + CONFIG_IP_FIB_HASH=y 385 + CONFIG_IP_PNP=y 386 + # CONFIG_IP_PNP_DHCP is not set 387 + # CONFIG_IP_PNP_BOOTP is not set 388 + # CONFIG_IP_PNP_RARP 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_UEVENT_HELPER_PATH="/sbin/hotplug" 457 + CONFIG_STANDALONE=y 458 + CONFIG_PREVENT_FIRMWARE_BUILD=y 459 + # CONFIG_FW_LOADER is not set 460 + # CONFIG_SYS_HYPERVISOR is not set 461 + # CONFIG_CONNECTOR is not set 462 + CONFIG_MTD=y 463 + # CONFIG_MTD_DEBUG is not set 464 + # CONFIG_MTD_CONCAT is not set 465 + CONFIG_MTD_PARTITIONS=y 466 + # CONFIG_MTD_REDBOOT_PARTS is not set 467 + # CONFIG_MTD_CMDLINE_PARTS is not set 468 + 469 + # 470 + # User Modules And Translation Layers 471 + # 472 + CONFIG_MTD_CHAR=m 473 + CONFIG_MTD_BLKDEVS=y 474 + CONFIG_MTD_BLOCK=y 475 + # CONFIG_FTL is not set 476 + # CONFIG_NFTL is not set 477 + # CONFIG_INFTL is not set 478 + # CONFIG_RFD_FTL is not set 479 + # CONFIG_SSFDC is not set 480 + # CONFIG_MTD_OOPS is not set 481 + 482 + # 483 + # RAM/ROM/Flash chip drivers 484 + # 485 + # CONFIG_MTD_CFI is not set 486 + CONFIG_MTD_JEDECPROBE=m 487 + CONFIG_MTD_GEN_PROBE=m 488 + # CONFIG_MTD_CFI_ADV_OPTIONS is not set 489 + CONFIG_MTD_MAP_BANK_WIDTH_1=y 490 + CONFIG_MTD_MAP_BANK_WIDTH_2=y 491 + CONFIG_MTD_MAP_BANK_WIDTH_4=y 492 + # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set 493 + # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set 494 + # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set 495 + CONFIG_MTD_CFI_I1=y 496 + CONFIG_MTD_CFI_I2=y 497 + # CONFIG_MTD_CFI_I4 is not set 498 + # CONFIG_MTD_CFI_I8 is not set 499 + # CONFIG_MTD_CFI_INTELEXT is not set 500 + # CONFIG_MTD_CFI_AMDSTD is not set 501 + # CONFIG_MTD_CFI_STAA is not set 502 + CONFIG_MTD_RAM=y 503 + CONFIG_MTD_ROM=m 504 + # CONFIG_MTD_ABSENT is not set 505 + 506 + # 507 + # Mapping drivers for chip access 508 + # 509 + CONFIG_MTD_COMPLEX_MAPPINGS=y 510 + # CONFIG_MTD_PHYSMAP is not set 511 + # CONFIG_MTD_UCLINUX is not set 512 + # CONFIG_MTD_PLATRAM is not set 513 + 514 + # 515 + # Self-contained MTD device drivers 516 + # 517 + # CONFIG_MTD_DATAFLASH is not set 518 + # CONFIG_MTD_M25P80 is not set 519 + # CONFIG_MTD_SLRAM is not set 520 + # CONFIG_MTD_PHRAM is not set 521 + # CONFIG_MTD_MTDRAM is not set 522 + # CONFIG_MTD_BLOCK2MTD is not set 523 + 524 + # 525 + # Disk-On-Chip Device Drivers 526 + # 527 + # CONFIG_MTD_DOC2000 is not set 528 + # CONFIG_MTD_DOC2001 is not set 529 + # CONFIG_MTD_DOC2001PLUS is not set 530 + # CONFIG_MTD_NAND is not set 531 + # CONFIG_MTD_ONENAND is not set 532 + 533 + # 534 + # UBI - Unsorted block images 535 + # 536 + # CONFIG_MTD_UBI is not set 537 + # CONFIG_PARPORT is not set 538 + CONFIG_BLK_DEV=y 539 + # CONFIG_BLK_DEV_COW_COMMON is not set 540 + # CONFIG_BLK_DEV_LOOP is not set 541 + # CONFIG_BLK_DEV_NBD is not set 542 + # CONFIG_BLK_DEV_UB is not set 543 + CONFIG_BLK_DEV_RAM=y 544 + CONFIG_BLK_DEV_RAM_COUNT=16 545 + CONFIG_BLK_DEV_RAM_SIZE=4096 546 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 547 + # CONFIG_CDROM_PKTCDVD is not set 548 + # CONFIG_ATA_OVER_ETH is not set 549 + # CONFIG_MISC_DEVICES is not set 550 + # CONFIG_IDE is not set 551 + 552 + # 553 + # SCSI device support 554 + # 555 + # CONFIG_RAID_ATTRS is not set 556 + # CONFIG_SCSI is not set 557 + # CONFIG_SCSI_DMA is not set 558 + # CONFIG_SCSI_NETLINK is not set 559 + # CONFIG_ATA is not set 560 + # CONFIG_MD is not set 561 + CONFIG_NETDEVICES=y 562 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 563 + # CONFIG_DUMMY is not set 564 + # CONFIG_BONDING is not set 565 + # CONFIG_MACVLAN is not set 566 + # CONFIG_EQUALIZER is not set 567 + # CONFIG_TUN is not set 568 + # CONFIG_VETH is not set 569 + CONFIG_PHYLIB=y 570 + 571 + # 572 + # MII PHY device drivers 573 + # 574 + # CONFIG_MARVELL_PHY is not set 575 + # CONFIG_DAVICOM_PHY is not set 576 + # CONFIG_QSEMI_PHY is not set 577 + # CONFIG_LXT_PHY is not set 578 + # CONFIG_CICADA_PHY is not set 579 + # CONFIG_VITESSE_PHY is not set 580 + # CONFIG_SMSC_PHY is not set 581 + # CONFIG_BROADCOM_PHY is not set 582 + # CONFIG_ICPLUS_PHY is not set 583 + # CONFIG_FIXED_PHY is not set 584 + # CONFIG_MDIO_BITBANG is not set 585 + CONFIG_NET_ETHERNET=y 586 + CONFIG_MII=y 587 + CONFIG_BFIN_MAC=y 588 + CONFIG_BFIN_MAC_USE_L1=y 589 + CONFIG_BFIN_TX_DESC_NUM=10 590 + CONFIG_BFIN_RX_DESC_NUM=20 591 + CONFIG_BFIN_MAC_RMII=y 592 + # CONFIG_SMC91X is not set 593 + # CONFIG_SMSC911X is not set 594 + # CONFIG_DM9000 is not set 595 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 596 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 597 + # CONFIG_IBM_NEW_EMAC_TAH is not set 598 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 599 + # CONFIG_B44 is not set 600 + # CONFIG_NETDEV_1000 is not set 601 + # CONFIG_NETDEV_10000 is not set 602 + 603 + # 604 + # Wireless LAN 605 + # 606 + # CONFIG_WLAN_PRE80211 is not set 607 + # CONFIG_WLAN_80211 is not set 608 + 609 + # 610 + # USB Network Adapters 611 + # 612 + # CONFIG_USB_CATC is not set 613 + # CONFIG_USB_KAWETH is not set 614 + # CONFIG_USB_PEGASUS is not set 615 + # CONFIG_USB_RTL8150 is not set 616 + # CONFIG_USB_USBNET is not set 617 + # CONFIG_WAN is not set 618 + # CONFIG_PPP is not set 619 + # CONFIG_SLIP is not set 620 + # CONFIG_SHAPER is not set 621 + # CONFIG_NETCONSOLE is not set 622 + # CONFIG_NETPOLL is not set 623 + # CONFIG_NET_POLL_CONTROLLER is not set 624 + # CONFIG_ISDN is not set 625 + # CONFIG_PHONE is not set 626 + 627 + # 628 + # Input device support 629 + # 630 + # CONFIG_INPUT is not set 631 + 632 + # 633 + # Hardware I/O ports 634 + # 635 + # CONFIG_SERIO is not set 636 + # CONFIG_GAMEPORT is not set 637 + 638 + # 639 + # Character devices 640 + # 641 + # CONFIG_AD9960 is not set 642 + # CONFIG_SPI_ADC_BF533 is not set 643 + # CONFIG_BF5xx_PPIFCD is not set 644 + # CONFIG_BFIN_SIMPLE_TIMER is not set 645 + # CONFIG_BF5xx_PPI is not set 646 + CONFIG_BFIN_OTP=y 647 + # CONFIG_BFIN_OTP_WRITE_ENABLE is not set 648 + # CONFIG_BFIN_SPORT is not set 649 + # CONFIG_BFIN_TIMER_LATENCY is not set 650 + # CONFIG_TWI_LCD is not set 651 + CONFIG_SIMPLE_GPIO=m 652 + # CONFIG_VT is not set 653 + # CONFIG_SERIAL_NONSTANDARD is not set 654 + 655 + # 656 + # Serial drivers 657 + # 658 + # CONFIG_SERIAL_8250 is not set 659 + 660 + # 661 + # Non-8250 serial port support 662 + # 663 + CONFIG_SERIAL_BFIN=y 664 + CONFIG_SERIAL_BFIN_CONSOLE=y 665 + CONFIG_SERIAL_BFIN_DMA=y 666 + # CONFIG_SERIAL_BFIN_PIO is not set 667 + CONFIG_SERIAL_BFIN_UART0=y 668 + # CONFIG_BFIN_UART0_CTSRTS is not set 669 + CONFIG_SERIAL_BFIN_UART1=y 670 + # CONFIG_BFIN_UART1_CTSRTS is not set 671 + CONFIG_SERIAL_CORE=y 672 + CONFIG_SERIAL_CORE_CONSOLE=y 673 + # CONFIG_SERIAL_BFIN_SPORT is not set 674 + CONFIG_UNIX98_PTYS=y 675 + # CONFIG_LEGACY_PTYS is not set 676 + 677 + # 678 + # CAN, the car bus and industrial fieldbus 679 + # 680 + # CONFIG_CAN4LINUX is not set 681 + # CONFIG_IPMI_HANDLER is not set 682 + CONFIG_HW_RANDOM=y 683 + # CONFIG_GEN_RTC is not set 684 + # CONFIG_R3964 is not set 685 + # CONFIG_RAW_DRIVER is not set 686 + # CONFIG_TCG_TPM is not set 687 + CONFIG_I2C=y 688 + CONFIG_I2C_BOARDINFO=y 689 + CONFIG_I2C_CHARDEV=m 690 + 691 + # 692 + # I2C Algorithms 693 + # 694 + # CONFIG_I2C_ALGOBIT is not set 695 + # CONFIG_I2C_ALGOPCF is not set 696 + # CONFIG_I2C_ALGOPCA is not set 697 + 698 + # 699 + # I2C Hardware Bus support 700 + # 701 + CONFIG_I2C_BLACKFIN_TWI=m 702 + CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 703 + # CONFIG_I2C_GPIO is not set 704 + # CONFIG_I2C_OCORES is not set 705 + # CONFIG_I2C_PARPORT_LIGHT is not set 706 + # CONFIG_I2C_SIMTEC is not set 707 + # CONFIG_I2C_TAOS_EVM is not set 708 + # CONFIG_I2C_STUB is not set 709 + # CONFIG_I2C_TINY_USB is not set 710 + 711 + # 712 + # Miscellaneous I2C Chip support 713 + # 714 + # CONFIG_SENSORS_DS1337 is not set 715 + # CONFIG_SENSORS_DS1374 is not set 716 + # CONFIG_DS1682 is not set 717 + # CONFIG_SENSORS_AD5252 is not set 718 + # CONFIG_SENSORS_EEPROM is not set 719 + # CONFIG_SENSORS_PCF8574 is not set 720 + # CONFIG_SENSORS_PCF8575 is not set 721 + # CONFIG_SENSORS_PCA9539 is not set 722 + # CONFIG_SENSORS_PCF8591 is not set 723 + # CONFIG_SENSORS_MAX6875 is not set 724 + # CONFIG_SENSORS_TSL2550 is not set 725 + # CONFIG_I2C_DEBUG_CORE is not set 726 + # CONFIG_I2C_DEBUG_ALGO is not set 727 + # CONFIG_I2C_DEBUG_BUS is not set 728 + # CONFIG_I2C_DEBUG_CHIP is not set 729 + 730 + # 731 + # SPI support 732 + # 733 + CONFIG_SPI=y 734 + CONFIG_SPI_MASTER=y 735 + 736 + # 737 + # SPI Master Controller Drivers 738 + # 739 + CONFIG_SPI_BFIN=y 740 + # CONFIG_SPI_BITBANG is not set 741 + 742 + # 743 + # SPI Protocol Masters 744 + # 745 + # CONFIG_SPI_AT25 is not set 746 + # CONFIG_SPI_SPIDEV is not set 747 + # CONFIG_SPI_TLE62X0 is not set 748 + # CONFIG_W1 is not set 749 + # CONFIG_POWER_SUPPLY is not set 750 + CONFIG_HWMON=y 751 + # CONFIG_HWMON_VID is not set 752 + # CONFIG_SENSORS_AD7418 is not set 753 + # CONFIG_SENSORS_ADM1021 is not set 754 + # CONFIG_SENSORS_ADM1025 is not set 755 + # CONFIG_SENSORS_ADM1026 is not set 756 + # CONFIG_SENSORS_ADM1029 is not set 757 + # CONFIG_SENSORS_ADM1031 is not set 758 + # CONFIG_SENSORS_ADM9240 is not set 759 + # CONFIG_SENSORS_ADT7470 is not set 760 + # CONFIG_SENSORS_ATXP1 is not set 761 + # CONFIG_SENSORS_DS1621 is not set 762 + # CONFIG_SENSORS_F71805F is not set 763 + # CONFIG_SENSORS_F71882FG is not set 764 + # CONFIG_SENSORS_F75375S is not set 765 + # CONFIG_SENSORS_GL518SM is not set 766 + # CONFIG_SENSORS_GL520SM is not set 767 + # CONFIG_SENSORS_IT87 is not set 768 + # CONFIG_SENSORS_LM63 is not set 769 + # CONFIG_SENSORS_LM70 is not set 770 + # CONFIG_SENSORS_LM75 is not set 771 + # CONFIG_SENSORS_LM77 is not set 772 + # CONFIG_SENSORS_LM78 is not set 773 + # CONFIG_SENSORS_LM80 is not set 774 + # CONFIG_SENSORS_LM83 is not set 775 + # CONFIG_SENSORS_LM85 is not set 776 + # CONFIG_SENSORS_LM87 is not set 777 + # CONFIG_SENSORS_LM90 is not set 778 + # CONFIG_SENSORS_LM92 is not set 779 + # CONFIG_SENSORS_LM93 is not set 780 + # CONFIG_SENSORS_MAX1619 is not set 781 + # CONFIG_SENSORS_MAX6650 is not set 782 + # CONFIG_SENSORS_PC87360 is not set 783 + # CONFIG_SENSORS_PC87427 is not set 784 + # CONFIG_SENSORS_DME1737 is not set 785 + # CONFIG_SENSORS_SMSC47M1 is not set 786 + # CONFIG_SENSORS_SMSC47M192 is not set 787 + # CONFIG_SENSORS_SMSC47B397 is not set 788 + # CONFIG_SENSORS_THMC50 is not set 789 + # CONFIG_SENSORS_VT1211 is not set 790 + # CONFIG_SENSORS_W83781D is not set 791 + # CONFIG_SENSORS_W83791D is not set 792 + # CONFIG_SENSORS_W83792D is not set 793 + # CONFIG_SENSORS_W83793 is not set 794 + # CONFIG_SENSORS_W83L785TS is not set 795 + # CONFIG_SENSORS_W83627HF is not set 796 + # CONFIG_SENSORS_W83627EHF is not set 797 + # CONFIG_HWMON_DEBUG_CHIP is not set 798 + CONFIG_WATCHDOG=y 799 + # CONFIG_WATCHDOG_NOWAYOUT is not set 800 + 801 + # 802 + # Watchdog Device Drivers 803 + # 804 + # CONFIG_SOFT_WATCHDOG is not set 805 + CONFIG_BFIN_WDT=y 806 + 807 + # 808 + # USB-based Watchdog Cards 809 + # 810 + # CONFIG_USBPCWATCHDOG is not set 811 + 812 + # 813 + # Sonics Silicon Backplane 814 + # 815 + CONFIG_SSB_POSSIBLE=y 816 + # CONFIG_SSB is not set 817 + 818 + # 819 + # Multifunction device drivers 820 + # 821 + # CONFIG_MFD_SM501 is not set 822 + 823 + # 824 + # Multimedia devices 825 + # 826 + # CONFIG_VIDEO_DEV is not set 827 + # CONFIG_DVB_CORE is not set 828 + # CONFIG_DAB is not set 829 + 830 + # 831 + # Graphics support 832 + # 833 + # CONFIG_VGASTATE is not set 834 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 835 + # CONFIG_FB is not set 836 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 837 + 838 + # 839 + # Display device support 840 + # 841 + # CONFIG_DISPLAY_SUPPORT is not set 842 + 843 + # 844 + # Sound 845 + # 846 + # CONFIG_SOUND is not set 847 + CONFIG_USB_SUPPORT=y 848 + CONFIG_USB_ARCH_HAS_HCD=y 849 + # CONFIG_USB_ARCH_HAS_OHCI is not set 850 + # CONFIG_USB_ARCH_HAS_EHCI is not set 851 + CONFIG_USB=y 852 + # CONFIG_USB_DEBUG is not set 853 + 854 + # 855 + # Miscellaneous USB options 856 + # 857 + # CONFIG_USB_DEVICEFS is not set 858 + CONFIG_USB_DEVICE_CLASS=y 859 + # CONFIG_USB_DYNAMIC_MINORS is not set 860 + # CONFIG_USB_OTG is not set 861 + # CONFIG_USB_OTG_WHITELIST is not set 862 + CONFIG_USB_OTG_BLACKLIST_HUB=y 863 + 864 + # 865 + # USB Host Controller Drivers 866 + # 867 + # CONFIG_USB_ISP116X_HCD is not set 868 + # CONFIG_USB_ISP1362_HCD is not set 869 + # CONFIG_USB_ISP1760_HCD is not set 870 + # CONFIG_USB_SL811_HCD is not set 871 + # CONFIG_USB_R8A66597_HCD is not set 872 + CONFIG_USB_MUSB_HDRC=y 873 + CONFIG_USB_MUSB_SOC=y 874 + 875 + # 876 + # Blackfin high speed USB support 877 + # 878 + CONFIG_USB_MUSB_HOST=y 879 + # CONFIG_USB_MUSB_PERIPHERAL is not set 880 + # CONFIG_USB_MUSB_OTG is not set 881 + CONFIG_USB_MUSB_HDRC_HCD=y 882 + CONFIG_MUSB_PIO_ONLY=y 883 + CONFIG_USB_MUSB_LOGLEVEL=0 884 + 885 + # 886 + # USB Device Class drivers 887 + # 888 + # CONFIG_USB_ACM is not set 889 + # CONFIG_USB_PRINTER is not set 890 + 891 + # 892 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 893 + # 894 + 895 + # 896 + # may also be needed; see USB_STORAGE Help for more information 897 + # 898 + # CONFIG_USB_LIBUSUAL is not set 899 + 900 + # 901 + # USB Imaging devices 902 + # 903 + # CONFIG_USB_MDC800 is not set 904 + CONFIG_USB_MON=y 905 + 906 + # 907 + # USB port drivers 908 + # 909 + 910 + # 911 + # USB Serial Converter support 912 + # 913 + # CONFIG_USB_SERIAL is not set 914 + 915 + # 916 + # USB Miscellaneous drivers 917 + # 918 + # CONFIG_USB_EMI62 is not set 919 + # CONFIG_USB_EMI26 is not set 920 + # CONFIG_USB_ADUTUX is not set 921 + # CONFIG_USB_AUERSWALD is not set 922 + # CONFIG_USB_RIO500 is not set 923 + # CONFIG_USB_LEGOTOWER is not set 924 + # CONFIG_USB_LCD is not set 925 + # CONFIG_USB_BERRY_CHARGE is not set 926 + # CONFIG_USB_LED is not set 927 + # CONFIG_USB_CYPRESS_CY7C63 is not set 928 + # CONFIG_USB_CYTHERM is not set 929 + # CONFIG_USB_PHIDGET is not set 930 + # CONFIG_USB_IDMOUSE is not set 931 + # CONFIG_USB_FTDI_ELAN is not set 932 + # CONFIG_USB_APPLEDISPLAY is not set 933 + # CONFIG_USB_SISUSBVGA is not set 934 + # CONFIG_USB_LD is not set 935 + # CONFIG_USB_TRANCEVIBRATOR is not set 936 + # CONFIG_USB_IOWARRIOR is not set 937 + 938 + # 939 + # USB DSL modem support 940 + # 941 + 942 + # 943 + # USB Gadget Support 944 + # 945 + # CONFIG_USB_GADGET is not set 946 + # CONFIG_MMC is not set 947 + # CONFIG_NEW_LEDS is not set 948 + CONFIG_RTC_LIB=y 949 + CONFIG_RTC_CLASS=y 950 + CONFIG_RTC_HCTOSYS=y 951 + CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 952 + # CONFIG_RTC_DEBUG is not set 953 + 954 + # 955 + # RTC interfaces 956 + # 957 + CONFIG_RTC_INTF_SYSFS=y 958 + CONFIG_RTC_INTF_PROC=y 959 + CONFIG_RTC_INTF_DEV=y 960 + # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 961 + # CONFIG_RTC_DRV_TEST is not set 962 + 963 + # 964 + # I2C RTC drivers 965 + # 966 + # CONFIG_RTC_DRV_DS1307 is not set 967 + # CONFIG_RTC_DRV_DS1374 is not set 968 + # CONFIG_RTC_DRV_DS1672 is not set 969 + # CONFIG_RTC_DRV_MAX6900 is not set 970 + # CONFIG_RTC_DRV_RS5C372 is not set 971 + # CONFIG_RTC_DRV_ISL1208 is not set 972 + # CONFIG_RTC_DRV_X1205 is not set 973 + # CONFIG_RTC_DRV_PCF8563 is not set 974 + # CONFIG_RTC_DRV_PCF8583 is not set 975 + # CONFIG_RTC_DRV_M41T80 is not set 976 + 977 + # 978 + # SPI RTC drivers 979 + # 980 + # CONFIG_RTC_DRV_RS5C348 is not set 981 + # CONFIG_RTC_DRV_MAX6902 is not set 982 + 983 + # 984 + # Platform RTC drivers 985 + # 986 + # CONFIG_RTC_DRV_DS1553 is not set 987 + # CONFIG_RTC_DRV_STK17TA8 is not set 988 + # CONFIG_RTC_DRV_DS1742 is not set 989 + # CONFIG_RTC_DRV_M48T86 is not set 990 + # CONFIG_RTC_DRV_M48T59 is not set 991 + # CONFIG_RTC_DRV_V3020 is not set 992 + 993 + # 994 + # on-CPU RTC drivers 995 + # 996 + CONFIG_RTC_DRV_BFIN=y 997 + 998 + # 999 + # Userspace I/O 1000 + # 1001 + # CONFIG_UIO is not set 1002 + 1003 + # 1004 + # File systems 1005 + # 1006 + # CONFIG_EXT2_FS is not set 1007 + # CONFIG_EXT3_FS is not set 1008 + # CONFIG_EXT4DEV_FS is not set 1009 + # CONFIG_REISERFS_FS is not set 1010 + # CONFIG_JFS_FS is not set 1011 + # CONFIG_FS_POSIX_ACL is not set 1012 + # CONFIG_XFS_FS is not set 1013 + # CONFIG_GFS2_FS is not set 1014 + # CONFIG_OCFS2_FS is not set 1015 + # CONFIG_MINIX_FS is not set 1016 + # CONFIG_ROMFS_FS is not set 1017 + CONFIG_INOTIFY=y 1018 + CONFIG_INOTIFY_USER=y 1019 + # CONFIG_QUOTA is not set 1020 + # CONFIG_DNOTIFY is not set 1021 + # CONFIG_AUTOFS_FS is not set 1022 + # CONFIG_AUTOFS4_FS is not set 1023 + # CONFIG_FUSE_FS is not set 1024 + 1025 + # 1026 + # CD-ROM/DVD Filesystems 1027 + # 1028 + # CONFIG_ISO9660_FS is not set 1029 + # CONFIG_UDF_FS is not set 1030 + 1031 + # 1032 + # DOS/FAT/NT Filesystems 1033 + # 1034 + # CONFIG_MSDOS_FS is not set 1035 + # CONFIG_VFAT_FS is not set 1036 + # CONFIG_NTFS_FS is not set 1037 + 1038 + # 1039 + # Pseudo filesystems 1040 + # 1041 + CONFIG_PROC_FS=y 1042 + CONFIG_PROC_SYSCTL=y 1043 + CONFIG_SYSFS=y 1044 + # CONFIG_TMPFS is not set 1045 + # CONFIG_HUGETLB_PAGE is not set 1046 + # CONFIG_CONFIGFS_FS is not set 1047 + 1048 + # 1049 + # Miscellaneous filesystems 1050 + # 1051 + # CONFIG_ADFS_FS is not set 1052 + # CONFIG_AFFS_FS is not set 1053 + # CONFIG_HFS_FS is not set 1054 + # CONFIG_HFSPLUS_FS is not set 1055 + # CONFIG_BEFS_FS is not set 1056 + # CONFIG_BFS_FS is not set 1057 + # CONFIG_EFS_FS is not set 1058 + # CONFIG_YAFFS_FS is not set 1059 + # CONFIG_JFFS2_FS is not set 1060 + # CONFIG_CRAMFS is not set 1061 + # CONFIG_VXFS_FS is not set 1062 + # CONFIG_HPFS_FS is not set 1063 + # CONFIG_QNX4FS_FS is not set 1064 + # CONFIG_SYSV_FS is not set 1065 + # CONFIG_UFS_FS is not set 1066 + CONFIG_NETWORK_FILESYSTEMS=y 1067 + CONFIG_NFS_FS=m 1068 + CONFIG_NFS_V3=y 1069 + # CONFIG_NFS_V3_ACL is not set 1070 + # CONFIG_NFS_V4 is not set 1071 + # CONFIG_NFS_DIRECTIO is not set 1072 + # CONFIG_NFSD is not set 1073 + CONFIG_LOCKD=m 1074 + CONFIG_LOCKD_V4=y 1075 + CONFIG_NFS_COMMON=y 1076 + CONFIG_SUNRPC=m 1077 + # CONFIG_SUNRPC_BIND34 is not set 1078 + # CONFIG_RPCSEC_GSS_KRB5 is not set 1079 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 1080 + CONFIG_SMB_FS=m 1081 + # CONFIG_SMB_NLS_DEFAULT is not set 1082 + # CONFIG_CIFS is not set 1083 + # CONFIG_NCP_FS is not set 1084 + # CONFIG_CODA_FS is not set 1085 + # CONFIG_AFS_FS is not set 1086 + 1087 + # 1088 + # Partition Types 1089 + # 1090 + # CONFIG_PARTITION_ADVANCED is not set 1091 + CONFIG_MSDOS_PARTITION=y 1092 + CONFIG_NLS=m 1093 + CONFIG_NLS_DEFAULT="iso8859-1" 1094 + # CONFIG_NLS_CODEPAGE_437 is not set 1095 + # CONFIG_NLS_CODEPAGE_737 is not set 1096 + # CONFIG_NLS_CODEPAGE_775 is not set 1097 + # CONFIG_NLS_CODEPAGE_850 is not set 1098 + # CONFIG_NLS_CODEPAGE_852 is not set 1099 + # CONFIG_NLS_CODEPAGE_855 is not set 1100 + # CONFIG_NLS_CODEPAGE_857 is not set 1101 + # CONFIG_NLS_CODEPAGE_860 is not set 1102 + # CONFIG_NLS_CODEPAGE_861 is not set 1103 + # CONFIG_NLS_CODEPAGE_862 is not set 1104 + # CONFIG_NLS_CODEPAGE_863 is not set 1105 + # CONFIG_NLS_CODEPAGE_864 is not set 1106 + # CONFIG_NLS_CODEPAGE_865 is not set 1107 + # CONFIG_NLS_CODEPAGE_866 is not set 1108 + # CONFIG_NLS_CODEPAGE_869 is not set 1109 + # CONFIG_NLS_CODEPAGE_936 is not set 1110 + # CONFIG_NLS_CODEPAGE_950 is not set 1111 + # CONFIG_NLS_CODEPAGE_932 is not set 1112 + # CONFIG_NLS_CODEPAGE_949 is not set 1113 + # CONFIG_NLS_CODEPAGE_874 is not set 1114 + # CONFIG_NLS_ISO8859_8 is not set 1115 + # CONFIG_NLS_CODEPAGE_1250 is not set 1116 + # CONFIG_NLS_CODEPAGE_1251 is not set 1117 + # CONFIG_NLS_ASCII is not set 1118 + # CONFIG_NLS_ISO8859_1 is not set 1119 + # CONFIG_NLS_ISO8859_2 is not set 1120 + # CONFIG_NLS_ISO8859_3 is not set 1121 + # CONFIG_NLS_ISO8859_4 is not set 1122 + # CONFIG_NLS_ISO8859_5 is not set 1123 + # CONFIG_NLS_ISO8859_6 is not set 1124 + # CONFIG_NLS_ISO8859_7 is not set 1125 + # CONFIG_NLS_ISO8859_9 is not set 1126 + # CONFIG_NLS_ISO8859_13 is not set 1127 + # CONFIG_NLS_ISO8859_14 is not set 1128 + # CONFIG_NLS_ISO8859_15 is not set 1129 + # CONFIG_NLS_KOI8_R is not set 1130 + # CONFIG_NLS_KOI8_U is not set 1131 + # CONFIG_NLS_UTF8 is not set 1132 + # CONFIG_DLM is not set 1133 + # CONFIG_INSTRUMENTATION is not set 1134 + 1135 + # 1136 + # Kernel hacking 1137 + # 1138 + # CONFIG_PRINTK_TIME is not set 1139 + CONFIG_ENABLE_WARN_DEPRECATED=y 1140 + CONFIG_ENABLE_MUST_CHECK=y 1141 + # CONFIG_MAGIC_SYSRQ is not set 1142 + # CONFIG_UNUSED_SYMBOLS is not set 1143 + CONFIG_DEBUG_FS=y 1144 + # CONFIG_HEADERS_CHECK is not set 1145 + # CONFIG_DEBUG_KERNEL is not set 1146 + # CONFIG_DEBUG_BUGVERBOSE is not set 1147 + # CONFIG_SAMPLES is not set 1148 + CONFIG_DEBUG_MMRS=y 1149 + CONFIG_DEBUG_HUNT_FOR_ZERO=y 1150 + CONFIG_DEBUG_BFIN_HWTRACE_ON=y 1151 + CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y 1152 + # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set 1153 + # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set 1154 + CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 1155 + # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set 1156 + # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set 1157 + CONFIG_EARLY_PRINTK=y 1158 + # CONFIG_CPLB_INFO is not set 1159 + CONFIG_ACCESS_CHECK=y 1160 + 1161 + # 1162 + # Security options 1163 + # 1164 + # CONFIG_KEYS is not set 1165 + CONFIG_SECURITY=y 1166 + # CONFIG_SECURITY_NETWORK is not set 1167 + # CONFIG_SECURITY_CAPABILITIES is not set 1168 + # CONFIG_SECURITY_ROOTPLUG is not set 1169 + # CONFIG_CRYPTO is not set 1170 + 1171 + # 1172 + # Library routines 1173 + # 1174 + CONFIG_BITREVERSE=y 1175 + CONFIG_CRC_CCITT=m 1176 + # CONFIG_CRC16 is not set 1177 + # CONFIG_CRC_ITU_T is not set 1178 + CONFIG_CRC32=y 1179 + # CONFIG_CRC7 is not set 1180 + # CONFIG_LIBCRC32C is not set 1181 + CONFIG_ZLIB_INFLATE=y 1182 + CONFIG_PLIST=y 1183 + CONFIG_HAS_IOMEM=y 1184 + CONFIG_HAS_IOPORT=y 1185 + CONFIG_HAS_DMA=y
+7 -7
arch/blackfin/configs/CM-BF533_defconfig
··· 39 39 # CONFIG_TASKSTATS is not set 40 40 # CONFIG_UTS_NS is not set 41 41 # CONFIG_AUDIT is not set 42 - # CONFIG_IKCONFIG is not set 42 + CONFIG_IKCONFIG=y 43 + CONFIG_IKCONFIG_PROC=y 43 44 CONFIG_LOG_BUF_SHIFT=14 44 45 CONFIG_SYSFS_DEPRECATED=y 45 46 # CONFIG_RELAY is not set ··· 292 291 CONFIG_BANK_0=0x7BB0 293 292 CONFIG_BANK_1=0x7BB0 294 293 CONFIG_BANK_2=0x7BB0 295 - CONFIG_BANK_3=0xFFC3 294 + CONFIG_BANK_3=0xFFC2 296 295 297 296 # 298 297 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ··· 618 617 CONFIG_SERIAL_CORE_CONSOLE=y 619 618 # CONFIG_SERIAL_BFIN_SPORT is not set 620 619 CONFIG_UNIX98_PTYS=y 621 - CONFIG_LEGACY_PTYS=y 622 - CONFIG_LEGACY_PTY_COUNT=256 620 + # CONFIG_LEGACY_PTYS is not set 623 621 624 622 # 625 623 # CAN, the car bus and industrial fieldbus ··· 778 778 CONFIG_INOTIFY=y 779 779 CONFIG_INOTIFY_USER=y 780 780 # CONFIG_QUOTA is not set 781 - CONFIG_DNOTIFY=y 781 + # CONFIG_DNOTIFY is not set 782 782 # CONFIG_AUTOFS_FS is not set 783 783 # CONFIG_AUTOFS4_FS is not set 784 784 # CONFIG_FUSE_FS is not set ··· 866 866 CONFIG_ENABLE_MUST_CHECK=y 867 867 # CONFIG_MAGIC_SYSRQ is not set 868 868 # CONFIG_UNUSED_SYMBOLS is not set 869 - # CONFIG_DEBUG_FS is not set 869 + CONFIG_DEBUG_FS=y 870 870 # CONFIG_HEADERS_CHECK is not set 871 871 # CONFIG_DEBUG_KERNEL is not set 872 872 # CONFIG_DEBUG_BUGVERBOSE is not set 873 - # CONFIG_DEBUG_MMRS is not set 873 + CONFIG_DEBUG_MMRS=y 874 874 CONFIG_DEBUG_HUNT_FOR_ZERO=y 875 875 CONFIG_DEBUG_BFIN_HWTRACE_ON=y 876 876 CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y
+12 -9
arch/blackfin/configs/CM-BF537E_defconfig
··· 39 39 # CONFIG_TASKSTATS is not set 40 40 # CONFIG_UTS_NS is not set 41 41 # CONFIG_AUDIT is not set 42 - # CONFIG_IKCONFIG is not set 42 + CONFIG_IKCONFIG=y 43 + CONFIG_IKCONFIG_PROC=y 43 44 CONFIG_LOG_BUF_SHIFT=14 44 45 CONFIG_SYSFS_DEPRECATED=y 45 46 # CONFIG_RELAY is not set ··· 300 299 CONFIG_BANK_0=0x7BB0 301 300 CONFIG_BANK_1=0x7BB0 302 301 CONFIG_BANK_2=0x7BB0 303 - CONFIG_BANK_3=0xFFC3 302 + CONFIG_BANK_3=0xFFC2 304 303 305 304 # 306 305 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ··· 352 351 # CONFIG_IP_MULTICAST is not set 353 352 # CONFIG_IP_ADVANCED_ROUTER is not set 354 353 CONFIG_IP_FIB_HASH=y 355 - # CONFIG_IP_PNP is not set 354 + CONFIG_IP_PNP=y 355 + # CONFIG_IP_PNP_DHCP is not set 356 + # CONFIG_IP_PNP_BOOTP is not set 357 + # CONFIG_IP_PNP_RARP is not set 356 358 # CONFIG_NET_IPIP is not set 357 359 # CONFIG_NET_IPGRE is not set 358 360 # CONFIG_ARPD is not set ··· 649 645 CONFIG_SERIAL_CORE_CONSOLE=y 650 646 # CONFIG_SERIAL_BFIN_SPORT is not set 651 647 CONFIG_UNIX98_PTYS=y 652 - CONFIG_LEGACY_PTYS=y 653 - CONFIG_LEGACY_PTY_COUNT=256 648 + # CONFIG_LEGACY_PTYS is not set 654 649 655 650 # 656 651 # CAN, the car bus and industrial fieldbus ··· 809 806 CONFIG_INOTIFY=y 810 807 CONFIG_INOTIFY_USER=y 811 808 # CONFIG_QUOTA is not set 812 - CONFIG_DNOTIFY=y 809 + # CONFIG_DNOTIFY is not set 813 810 # CONFIG_AUTOFS_FS is not set 814 811 # CONFIG_AUTOFS4_FS is not set 815 812 # CONFIG_FUSE_FS is not set ··· 897 894 CONFIG_ENABLE_MUST_CHECK=y 898 895 # CONFIG_MAGIC_SYSRQ is not set 899 896 # CONFIG_UNUSED_SYMBOLS is not set 900 - # CONFIG_DEBUG_FS is not set 897 + CONFIG_DEBUG_FS=y 901 898 # CONFIG_HEADERS_CHECK is not set 902 899 # CONFIG_DEBUG_KERNEL is not set 903 900 # CONFIG_DEBUG_BUGVERBOSE is not set 904 - # CONFIG_DEBUG_MMRS is not set 905 - # CONFIG_DEBUG_HUNT_FOR_ZERO is not set 901 + CONFIG_DEBUG_MMRS=y 902 + CONFIG_DEBUG_HUNT_FOR_ZERO=y 906 903 CONFIG_DEBUG_BFIN_HWTRACE_ON=y 907 904 CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y 908 905 # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set
+9 -9
arch/blackfin/configs/CM-BF537U_defconfig
··· 39 39 # CONFIG_TASKSTATS is not set 40 40 # CONFIG_UTS_NS is not set 41 41 # CONFIG_AUDIT is not set 42 - # CONFIG_IKCONFIG is not set 42 + CONFIG_IKCONFIG=y 43 + CONFIG_IKCONFIG_PROC=y 43 44 CONFIG_LOG_BUF_SHIFT=14 44 45 CONFIG_SYSFS_DEPRECATED=y 45 46 # CONFIG_RELAY is not set ··· 299 298 # 300 299 CONFIG_BANK_0=0x7BB0 301 300 CONFIG_BANK_1=0x7BB0 302 - CONFIG_BANK_2=0xFFC3 303 - CONFIG_BANK_3=0xFFC3 301 + CONFIG_BANK_2=0xFFC2 302 + CONFIG_BANK_3=0xFFC2 304 303 305 304 # 306 305 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ··· 629 628 CONFIG_SERIAL_CORE_CONSOLE=y 630 629 # CONFIG_SERIAL_BFIN_SPORT is not set 631 630 CONFIG_UNIX98_PTYS=y 632 - CONFIG_LEGACY_PTYS=y 633 - CONFIG_LEGACY_PTY_COUNT=256 631 + # CONFIG_LEGACY_PTYS is not set 634 632 635 633 # 636 634 # CAN, the car bus and industrial fieldbus ··· 806 806 CONFIG_INOTIFY=y 807 807 CONFIG_INOTIFY_USER=y 808 808 # CONFIG_QUOTA is not set 809 - CONFIG_DNOTIFY=y 809 + # CONFIG_DNOTIFY is not set 810 810 # CONFIG_AUTOFS_FS is not set 811 811 # CONFIG_AUTOFS4_FS is not set 812 812 # CONFIG_FUSE_FS is not set ··· 894 894 CONFIG_ENABLE_MUST_CHECK=y 895 895 # CONFIG_MAGIC_SYSRQ is not set 896 896 # CONFIG_UNUSED_SYMBOLS is not set 897 - # CONFIG_DEBUG_FS is not set 897 + CONFIG_DEBUG_FS=y 898 898 # CONFIG_HEADERS_CHECK is not set 899 899 # CONFIG_DEBUG_KERNEL is not set 900 900 # CONFIG_DEBUG_BUGVERBOSE is not set 901 - # CONFIG_DEBUG_MMRS is not set 902 - # CONFIG_DEBUG_HUNT_FOR_ZERO is not set 901 + CONFIG_DEBUG_MMRS=y 902 + CONFIG_DEBUG_HUNT_FOR_ZERO=y 903 903 CONFIG_DEBUG_BFIN_HWTRACE_ON=y 904 904 CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y 905 905 # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set
+5 -5
arch/blackfin/configs/CM-BF548_defconfig
··· 363 363 CONFIG_BANK_0=0x7BB0 364 364 CONFIG_BANK_1=0x5554 365 365 CONFIG_BANK_2=0x7BB0 366 - CONFIG_BANK_3=0x99B3 366 + CONFIG_BANK_3=0x99B2 367 367 CONFIG_EBIU_MBSCTLVAL=0x0 368 368 CONFIG_EBIU_MODEVAL=0x1 369 369 CONFIG_EBIU_FCTLVAL=0x6 ··· 744 744 # 745 745 CONFIG_SERIAL_BFIN=y 746 746 CONFIG_SERIAL_BFIN_CONSOLE=y 747 - # CONFIG_SERIAL_BFIN_DMA is not set 748 - CONFIG_SERIAL_BFIN_PIO=y 747 + CONFIG_SERIAL_BFIN_DMA=y 748 + # CONFIG_SERIAL_BFIN_PIO is not set 749 749 # CONFIG_SERIAL_BFIN_UART0 is not set 750 750 CONFIG_SERIAL_BFIN_UART1=y 751 751 # CONFIG_BFIN_UART1_CTSRTS is not set ··· 1149 1149 CONFIG_INOTIFY=y 1150 1150 CONFIG_INOTIFY_USER=y 1151 1151 # CONFIG_QUOTA is not set 1152 - CONFIG_DNOTIFY=y 1152 + # CONFIG_DNOTIFY is not set 1153 1153 # CONFIG_AUTOFS_FS is not set 1154 1154 # CONFIG_AUTOFS4_FS is not set 1155 1155 # CONFIG_FUSE_FS is not set ··· 1332 1332 # CONFIG_DEBUG_KERNEL is not set 1333 1333 # CONFIG_DEBUG_BUGVERBOSE is not set 1334 1334 # CONFIG_SAMPLES is not set 1335 - # CONFIG_DEBUG_MMRS is not set 1335 + CONFIG_DEBUG_MMRS=y 1336 1336 CONFIG_DEBUG_HUNT_FOR_ZERO=y 1337 1337 CONFIG_DEBUG_BFIN_HWTRACE_ON=y 1338 1338 CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y
+7 -7
arch/blackfin/configs/CM-BF561_defconfig
··· 35 35 # CONFIG_USER_NS is not set 36 36 # CONFIG_PID_NS is not set 37 37 # CONFIG_AUDIT is not set 38 - # CONFIG_IKCONFIG is not set 38 + CONFIG_IKCONFIG=y 39 + CONFIG_IKCONFIG_PROC=y 39 40 CONFIG_LOG_BUF_SHIFT=14 40 41 # CONFIG_CGROUPS is not set 41 42 CONFIG_FAIR_GROUP_SCHED=y ··· 342 341 CONFIG_BANK_0=0x7BB0 343 342 CONFIG_BANK_1=0x7BB0 344 343 CONFIG_BANK_2=0x7BB0 345 - CONFIG_BANK_3=0xFFC3 344 + CONFIG_BANK_3=0xFFC2 346 345 347 346 # 348 347 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ··· 632 631 CONFIG_SERIAL_CORE_CONSOLE=y 633 632 # CONFIG_SERIAL_BFIN_SPORT is not set 634 633 CONFIG_UNIX98_PTYS=y 635 - CONFIG_LEGACY_PTYS=y 636 - CONFIG_LEGACY_PTY_COUNT=256 634 + # CONFIG_LEGACY_PTYS is not set 637 635 638 636 # 639 637 # CAN, the car bus and industrial fieldbus ··· 756 756 CONFIG_INOTIFY=y 757 757 CONFIG_INOTIFY_USER=y 758 758 # CONFIG_QUOTA is not set 759 - CONFIG_DNOTIFY=y 759 + # CONFIG_DNOTIFY is not set 760 760 # CONFIG_AUTOFS_FS is not set 761 761 # CONFIG_AUTOFS4_FS is not set 762 762 # CONFIG_FUSE_FS is not set ··· 830 830 CONFIG_ENABLE_MUST_CHECK=y 831 831 # CONFIG_MAGIC_SYSRQ is not set 832 832 # CONFIG_UNUSED_SYMBOLS is not set 833 - # CONFIG_DEBUG_FS is not set 833 + CONFIG_DEBUG_FS=y 834 834 # CONFIG_HEADERS_CHECK is not set 835 835 # CONFIG_DEBUG_KERNEL is not set 836 836 # CONFIG_DEBUG_BUGVERBOSE is not set 837 837 # CONFIG_SAMPLES is not set 838 - # CONFIG_DEBUG_MMRS is not set 838 + CONFIG_DEBUG_MMRS=y 839 839 CONFIG_DEBUG_HUNT_FOR_ZERO=y 840 840 CONFIG_DEBUG_BFIN_HWTRACE_ON=y 841 841 CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y
+1 -1
arch/blackfin/configs/H8606_defconfig
··· 967 967 CONFIG_INOTIFY=y 968 968 CONFIG_INOTIFY_USER=y 969 969 # CONFIG_QUOTA is not set 970 - CONFIG_DNOTIFY=y 970 + # CONFIG_DNOTIFY is not set 971 971 # CONFIG_AUTOFS_FS is not set 972 972 # CONFIG_AUTOFS4_FS is not set 973 973 # CONFIG_FUSE_FS is not set
+1 -1
arch/blackfin/configs/IP0X_defconfig
··· 1066 1066 CONFIG_INOTIFY=y 1067 1067 CONFIG_INOTIFY_USER=y 1068 1068 # CONFIG_QUOTA is not set 1069 - CONFIG_DNOTIFY=y 1069 + # CONFIG_DNOTIFY is not set 1070 1070 # CONFIG_AUTOFS_FS is not set 1071 1071 # CONFIG_AUTOFS4_FS is not set 1072 1072 # CONFIG_FUSE_FS is not set
+2 -2
arch/blackfin/configs/PNAV-10_defconfig
··· 294 294 CONFIG_BANK_0=0x7BB0 295 295 CONFIG_BANK_1=0x33B0 296 296 CONFIG_BANK_2=0x33B0 297 - CONFIG_BANK_3=0x99B3 297 + CONFIG_BANK_3=0x99B2 298 298 299 299 # 300 300 # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ··· 1080 1080 CONFIG_INOTIFY=y 1081 1081 CONFIG_INOTIFY_USER=y 1082 1082 # CONFIG_QUOTA is not set 1083 - CONFIG_DNOTIFY=y 1083 + # CONFIG_DNOTIFY is not set 1084 1084 # CONFIG_AUTOFS_FS is not set 1085 1085 # CONFIG_AUTOFS4_FS is not set 1086 1086 # CONFIG_FUSE_FS is not set
+1 -1
arch/blackfin/configs/SRV1_defconfig
··· 1067 1067 CONFIG_INOTIFY=y 1068 1068 CONFIG_INOTIFY_USER=y 1069 1069 # CONFIG_QUOTA is not set 1070 - CONFIG_DNOTIFY=y 1070 + # CONFIG_DNOTIFY is not set 1071 1071 # CONFIG_AUTOFS_FS is not set 1072 1072 # CONFIG_AUTOFS4_FS is not set 1073 1073 # CONFIG_FUSE_FS is not set
-1
arch/blackfin/kernel/Makefile
··· 18 18 obj-$(CONFIG_BFIN_GPTIMERS) += gptimers.o 19 19 obj-$(CONFIG_MODULES) += module.o 20 20 obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o 21 - obj-$(CONFIG_DUAL_CORE_TEST_MODULE) += dualcore_test.o 22 21 obj-$(CONFIG_KGDB) += kgdb.o 23 22 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+34
arch/blackfin/kernel/bfin_dma_5xx.c
··· 472 472 } 473 473 EXPORT_SYMBOL(get_dma_curr_addr); 474 474 475 + #ifdef CONFIG_PM 476 + int blackfin_dma_suspend(void) 477 + { 478 + int i; 479 + 480 + #ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ 481 + for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) { 482 + #else 483 + for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) { 484 + #endif 485 + if (dma_ch[i].chan_status == DMA_CHANNEL_ENABLED) { 486 + printk(KERN_ERR "DMA Channel %d failed to suspend\n", i); 487 + return -EBUSY; 488 + } 489 + 490 + dma_ch[i].saved_peripheral_map = dma_ch[i].regs->peripheral_map; 491 + } 492 + 493 + return 0; 494 + } 495 + 496 + void blackfin_dma_resume(void) 497 + { 498 + int i; 499 + 500 + #ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ 501 + for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) 502 + #else 503 + for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) 504 + #endif 505 + dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; 506 + } 507 + #endif 508 + 475 509 static void *__dma_memcpy(void *dest, const void *src, size_t size) 476 510 { 477 511 int direction; /* 1 - address decrease, 0 - address increase */
+112 -6
arch/blackfin/kernel/bfin_gpio.c
··· 186 186 char name[RESOURCE_LABEL_SIZE]; 187 187 } str_ident[MAX_RESOURCES]; 188 188 189 - #if defined(CONFIG_PM) && !defined(CONFIG_BF54x) 189 + #if defined(CONFIG_PM) 190 + #if defined(CONFIG_BF54x) 191 + static struct gpio_port_s gpio_bank_saved[gpio_bank(MAX_BLACKFIN_GPIOS)]; 192 + #else 190 193 static unsigned short wakeup_map[gpio_bank(MAX_BLACKFIN_GPIOS)]; 191 194 static unsigned char wakeup_flags_map[MAX_BLACKFIN_GPIOS]; 192 195 static struct gpio_port_s gpio_bank_saved[gpio_bank(MAX_BLACKFIN_GPIOS)]; ··· 209 206 #ifdef BF561_FAMILY 210 207 static unsigned int sic_iwr_irqs[gpio_bank(MAX_BLACKFIN_GPIOS)] = {IRQ_PROG0_INTB, IRQ_PROG1_INTB, IRQ_PROG2_INTB}; 211 208 #endif 212 - 209 + #endif 213 210 #endif /* CONFIG_PM */ 214 211 215 212 #if defined(BF548_FAMILY) ··· 670 667 return 0; 671 668 } 672 669 673 - u32 bfin_pm_setup(void) 670 + u32 bfin_pm_standby_setup(void) 674 671 { 675 672 u16 bank, mask, i, gpio; 676 673 ··· 682 679 gpio_bankb[bank]->maskb = 0; 683 680 684 681 if (mask) { 685 - #ifdef BF537_FAMILY 682 + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) 686 683 gpio_bank_saved[bank].fer = *port_fer[bank]; 687 684 #endif 688 685 gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; ··· 718 715 return 0; 719 716 } 720 717 721 - void bfin_pm_restore(void) 718 + void bfin_pm_standby_restore(void) 722 719 { 723 720 u16 bank, mask, i; 724 721 ··· 727 724 bank = gpio_bank(i); 728 725 729 726 if (mask) { 730 - #ifdef BF537_FAMILY 727 + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) 731 728 *port_fer[bank] = gpio_bank_saved[bank].fer; 732 729 #endif 733 730 gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; ··· 746 743 AWA_DUMMY_READ(maskb); 747 744 } 748 745 746 + void bfin_gpio_pm_hibernate_suspend(void) 747 + { 748 + int i, bank; 749 + 750 + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { 751 + bank = gpio_bank(i); 752 + 753 + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) 754 + gpio_bank_saved[bank].fer = *port_fer[bank]; 755 + #ifdef BF527_FAMILY 756 + gpio_bank_saved[bank].mux = *port_mux[bank]; 757 + #else 758 + if (bank == 0) 759 + gpio_bank_saved[bank].mux = bfin_read_PORT_MUX(); 760 + #endif 761 + #endif 762 + gpio_bank_saved[bank].data = gpio_bankb[bank]->data; 763 + gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; 764 + gpio_bank_saved[bank].polar = gpio_bankb[bank]->polar; 765 + gpio_bank_saved[bank].dir = gpio_bankb[bank]->dir; 766 + gpio_bank_saved[bank].edge = gpio_bankb[bank]->edge; 767 + gpio_bank_saved[bank].both = gpio_bankb[bank]->both; 768 + gpio_bank_saved[bank].maska = gpio_bankb[bank]->maska; 769 + } 770 + 771 + AWA_DUMMY_READ(maska); 772 + } 773 + 774 + void bfin_gpio_pm_hibernate_restore(void) 775 + { 776 + int i, bank; 777 + 778 + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { 779 + bank = gpio_bank(i); 780 + 781 + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) 782 + #ifdef BF527_FAMILY 783 + *port_mux[bank] = gpio_bank_saved[bank].mux; 784 + #else 785 + if (bank == 0) 786 + bfin_write_PORT_MUX(gpio_bank_saved[bank].mux); 787 + #endif 788 + *port_fer[bank] = gpio_bank_saved[bank].fer; 789 + #endif 790 + gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; 791 + gpio_bankb[bank]->dir = gpio_bank_saved[bank].dir; 792 + gpio_bankb[bank]->polar = gpio_bank_saved[bank].polar; 793 + gpio_bankb[bank]->edge = gpio_bank_saved[bank].edge; 794 + gpio_bankb[bank]->both = gpio_bank_saved[bank].both; 795 + 796 + gpio_bankb[bank]->data_set = gpio_bank_saved[bank].data 797 + | gpio_bank_saved[bank].dir; 798 + 799 + gpio_bankb[bank]->maska = gpio_bank_saved[bank].maska; 800 + } 801 + AWA_DUMMY_READ(maska); 802 + } 803 + 804 + 749 805 #endif 750 806 #else /* BF548_FAMILY */ 807 + #ifdef CONFIG_PM 808 + 809 + u32 bfin_pm_standby_setup(void) 810 + { 811 + return 0; 812 + } 813 + 814 + void bfin_pm_standby_restore(void) 815 + { 816 + 817 + } 818 + 819 + void bfin_gpio_pm_hibernate_suspend(void) 820 + { 821 + int i, bank; 822 + 823 + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { 824 + bank = gpio_bank(i); 825 + 826 + gpio_bank_saved[bank].fer = gpio_array[bank]->port_fer; 827 + gpio_bank_saved[bank].mux = gpio_array[bank]->port_mux; 828 + gpio_bank_saved[bank].data = gpio_array[bank]->port_data; 829 + gpio_bank_saved[bank].data = gpio_array[bank]->port_data; 830 + gpio_bank_saved[bank].inen = gpio_array[bank]->port_inen; 831 + gpio_bank_saved[bank].dir = gpio_array[bank]->port_dir_set; 832 + } 833 + } 834 + 835 + void bfin_gpio_pm_hibernate_restore(void) 836 + { 837 + int i, bank; 838 + 839 + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { 840 + bank = gpio_bank(i); 841 + 842 + gpio_array[bank]->port_mux = gpio_bank_saved[bank].mux; 843 + gpio_array[bank]->port_fer = gpio_bank_saved[bank].fer; 844 + gpio_array[bank]->port_inen = gpio_bank_saved[bank].inen; 845 + gpio_array[bank]->port_dir_set = gpio_bank_saved[bank].dir; 846 + gpio_array[bank]->port_set = gpio_bank_saved[bank].data 847 + | gpio_bank_saved[bank].dir; 848 + } 849 + } 850 + #endif 751 851 752 852 unsigned short get_gpio_dir(unsigned gpio) 753 853 {
+1 -1
arch/blackfin/kernel/cplb-nompu/cplbhdlr.S
··· 125 125 SP += -12; 126 126 call _panic_cplb_error; 127 127 SP += 12; 128 - JUMP _handle_bad_cplb; 128 + JUMP.L _handle_bad_cplb; 129 129 130 130 ENDPROC(__cplb_hdr)
+1 -5
arch/blackfin/kernel/cplb-nompu/cplbinit.c
··· 26 26 #include <asm/cplb.h> 27 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 29 + #define CPLB_MEM CONFIG_MAX_MEM_SIZE 34 30 35 31 /* 36 32 * Number of required data CPLB switchtable entries
-49
arch/blackfin/kernel/dualcore_test.c
··· 1 - /* 2 - * File: arch/blackfin/kernel/dualcore_test.c 3 - * Based on: 4 - * Author: 5 - * 6 - * Created: 7 - * Description: Small test code for CoreB on a BF561 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/init.h> 31 - #include <linux/module.h> 32 - 33 - static int *testarg = (int *)0xfeb00000; 34 - 35 - static int test_init(void) 36 - { 37 - *testarg = 1; 38 - printk(KERN_INFO "Dual core test module inserted: set testarg = [%d]\n @ [%p]\n", 39 - *testarg, testarg); 40 - return 0; 41 - } 42 - 43 - static void test_exit(void) 44 - { 45 - printk(KERN_INFO "Dual core test module removed: testarg = [%d]\n", *testarg); 46 - } 47 - 48 - module_init(test_init); 49 - module_exit(test_exit);
+5
arch/blackfin/kernel/entry.S
··· 64 64 65 65 ENTRY(_sys_fork) 66 66 r0 = -EINVAL; 67 + #if (ANOMALY_05000371) 68 + nop; 69 + nop; 70 + nop; 71 + #endif 67 72 rts; 68 73 ENDPROC(_sys_fork) 69 74
+15 -1
arch/blackfin/kernel/kgdb.c
··· 203 203 204 204 int kgdb_arch_init(void) 205 205 { 206 + debugger_step = 0; 207 + 206 208 kgdb_remove_all_hw_break(); 207 209 return 0; 208 210 } ··· 370 368 char *ptr; 371 369 int newPC; 372 370 int wp_status; 371 + int i; 373 372 374 373 switch (remcom_in_buffer[0]) { 375 374 case 'c': ··· 395 392 /* set the trace bit if we're stepping */ 396 393 if (remcom_in_buffer[0] == 's') { 397 394 linux_regs->syscfg |= 0x1; 398 - debugger_step = 1; 395 + debugger_step = linux_regs->ipend; 396 + debugger_step >>= 6; 397 + for (i = 10; i > 0; i--, debugger_step >>= 1) 398 + if (debugger_step & 1) 399 + break; 400 + /* i indicate event priority of current stopped instruction 401 + * user space instruction is 0, IVG15 is 1, IVTMR is 10. 402 + * debugger_step > 0 means in single step mode 403 + */ 404 + debugger_step = i + 1; 405 + } else { 406 + debugger_step = 0; 399 407 } 400 408 401 409 wp_status = bfin_read_WPSTAT();
+59 -15
arch/blackfin/kernel/module.c
··· 173 173 for (s = sechdrs; s < sechdrs_end; ++s) { 174 174 if ((strcmp(".l1.text", secstrings + s->sh_name) == 0) || 175 175 ((strcmp(".text", secstrings + s->sh_name) == 0) && 176 - (hdr->e_flags & FLG_CODE_IN_L1) && (s->sh_size > 0))) { 176 + (hdr->e_flags & EF_BFIN_CODE_IN_L1) && (s->sh_size > 0))) { 177 177 dest = l1_inst_sram_alloc(s->sh_size); 178 178 mod->arch.text_l1 = dest; 179 179 if (dest == NULL) { ··· 188 188 } 189 189 if ((strcmp(".l1.data", secstrings + s->sh_name) == 0) || 190 190 ((strcmp(".data", secstrings + s->sh_name) == 0) && 191 - (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { 191 + (hdr->e_flags & EF_BFIN_DATA_IN_L1) && (s->sh_size > 0))) { 192 192 dest = l1_data_sram_alloc(s->sh_size); 193 193 mod->arch.data_a_l1 = dest; 194 194 if (dest == NULL) { ··· 203 203 } 204 204 if (strcmp(".l1.bss", secstrings + s->sh_name) == 0 || 205 205 ((strcmp(".bss", secstrings + s->sh_name) == 0) && 206 - (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { 206 + (hdr->e_flags & EF_BFIN_DATA_IN_L1) && (s->sh_size > 0))) { 207 207 dest = l1_data_sram_alloc(s->sh_size); 208 208 mod->arch.bss_a_l1 = dest; 209 209 if (dest == NULL) { ··· 235 235 if (dest == NULL) { 236 236 printk(KERN_ERR 237 237 "module %s: L1 data memory allocation failed\n", 238 + mod->name); 239 + return -1; 240 + } 241 + memset(dest, 0, s->sh_size); 242 + s->sh_flags &= ~SHF_ALLOC; 243 + s->sh_addr = (unsigned long)dest; 244 + } 245 + if ((strcmp(".l2.text", secstrings + s->sh_name) == 0) || 246 + ((strcmp(".text", secstrings + s->sh_name) == 0) && 247 + (hdr->e_flags & EF_BFIN_CODE_IN_L2) && (s->sh_size > 0))) { 248 + dest = l2_sram_alloc(s->sh_size); 249 + mod->arch.text_l2 = dest; 250 + if (dest == NULL) { 251 + printk(KERN_ERR 252 + "module %s: L2 SRAM allocation failed\n", 253 + mod->name); 254 + return -1; 255 + } 256 + memcpy(dest, (void *)s->sh_addr, s->sh_size); 257 + s->sh_flags &= ~SHF_ALLOC; 258 + s->sh_addr = (unsigned long)dest; 259 + } 260 + if ((strcmp(".l2.data", secstrings + s->sh_name) == 0) || 261 + ((strcmp(".data", secstrings + s->sh_name) == 0) && 262 + (hdr->e_flags & EF_BFIN_DATA_IN_L2) && (s->sh_size > 0))) { 263 + dest = l2_sram_alloc(s->sh_size); 264 + mod->arch.data_l2 = dest; 265 + if (dest == NULL) { 266 + printk(KERN_ERR 267 + "module %s: L2 SRAM allocation failed\n", 268 + mod->name); 269 + return -1; 270 + } 271 + memcpy(dest, (void *)s->sh_addr, s->sh_size); 272 + s->sh_flags &= ~SHF_ALLOC; 273 + s->sh_addr = (unsigned long)dest; 274 + } 275 + if (strcmp(".l2.bss", secstrings + s->sh_name) == 0 || 276 + ((strcmp(".bss", secstrings + s->sh_name) == 0) && 277 + (hdr->e_flags & EF_BFIN_DATA_IN_L2) && (s->sh_size > 0))) { 278 + dest = l2_sram_alloc(s->sh_size); 279 + mod->arch.bss_l2 = dest; 280 + if (dest == NULL) { 281 + printk(KERN_ERR 282 + "module %s: L2 SRAM allocation failed\n", 238 283 mod->name); 239 284 return -1; 240 285 } ··· 456 411 continue; 457 412 458 413 if ((sechdrs[i].sh_type == SHT_RELA) && 459 - ((strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0) || 414 + ((strcmp(".rela.l2.text", secstrings + sechdrs[i].sh_name) == 0) || 415 + (strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0) || 460 416 ((strcmp(".rela.text", secstrings + sechdrs[i].sh_name) == 0) && 461 - (hdr->e_flags & FLG_CODE_IN_L1)))) { 417 + (hdr->e_flags & (EF_BFIN_CODE_IN_L1|EF_BFIN_CODE_IN_L2))))) { 462 418 apply_relocate_add((Elf_Shdr *) sechdrs, strtab, 463 419 symindex, i, mod); 464 420 } ··· 469 423 470 424 void module_arch_cleanup(struct module *mod) 471 425 { 472 - if (mod->arch.text_l1) 473 - l1_inst_sram_free((void *)mod->arch.text_l1); 474 - if (mod->arch.data_a_l1) 475 - l1_data_sram_free((void *)mod->arch.data_a_l1); 476 - if (mod->arch.bss_a_l1) 477 - l1_data_sram_free((void *)mod->arch.bss_a_l1); 478 - if (mod->arch.data_b_l1) 479 - l1_data_B_sram_free((void *)mod->arch.data_b_l1); 480 - if (mod->arch.bss_b_l1) 481 - l1_data_B_sram_free((void *)mod->arch.bss_b_l1); 426 + l1_inst_sram_free(mod->arch.text_l1); 427 + l1_data_A_sram_free(mod->arch.data_a_l1); 428 + l1_data_A_sram_free(mod->arch.bss_a_l1); 429 + l1_data_B_sram_free(mod->arch.data_b_l1); 430 + l1_data_B_sram_free(mod->arch.bss_b_l1); 431 + l2_sram_free(mod->arch.text_l2); 432 + l2_sram_free(mod->arch.data_l2); 433 + l2_sram_free(mod->arch.bss_l2); 482 434 }
+28
arch/blackfin/kernel/ptrace.c
··· 220 220 copied = sizeof(tmp); 221 221 } else 222 222 #endif 223 + #if L1_DATA_A_LENGTH != 0 224 + if (addr + add >= L1_DATA_A_START 225 + && addr + add + sizeof(tmp) <= L1_DATA_A_START + L1_DATA_A_LENGTH) { 226 + memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); 227 + copied = sizeof(tmp); 228 + } else 229 + #endif 230 + #if L1_DATA_B_LENGTH != 0 231 + if (addr + add >= L1_DATA_B_START 232 + && addr + add + sizeof(tmp) <= L1_DATA_B_START + L1_DATA_B_LENGTH) { 233 + memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); 234 + copied = sizeof(tmp); 235 + } else 236 + #endif 223 237 if (addr + add >= FIXED_CODE_START 224 238 && addr + add + sizeof(tmp) <= FIXED_CODE_END) { 225 239 memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); ··· 301 287 if (addr + add >= L1_CODE_START 302 288 && addr + add + sizeof(data) <= L1_CODE_START + L1_CODE_LENGTH) { 303 289 safe_dma_memcpy ((void *)(addr + add), &data, sizeof(data)); 290 + copied = sizeof(data); 291 + } else 292 + #endif 293 + #if L1_DATA_A_LENGTH != 0 294 + if (addr + add >= L1_DATA_A_START 295 + && addr + add + sizeof(data) <= L1_DATA_A_START + L1_DATA_A_LENGTH) { 296 + memcpy((void *)(addr + add), &data, sizeof(data)); 297 + copied = sizeof(data); 298 + } else 299 + #endif 300 + #if L1_DATA_B_LENGTH != 0 301 + if (addr + add >= L1_DATA_B_START 302 + && addr + add + sizeof(data) <= L1_DATA_B_START + L1_DATA_B_LENGTH) { 303 + memcpy((void *)(addr + add), &data, sizeof(data)); 304 304 copied = sizeof(data); 305 305 } else 306 306 #endif
+66 -24
arch/blackfin/kernel/setup.c
··· 104 104 unsigned long l1_code_length; 105 105 unsigned long l1_data_a_length; 106 106 unsigned long l1_data_b_length; 107 + unsigned long l2_length; 107 108 108 109 l1_code_length = _etext_l1 - _stext_l1; 109 110 if (l1_code_length > L1_CODE_LENGTH) ··· 130 129 /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ 131 130 dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + 132 131 l1_data_a_length, l1_data_b_length); 132 + 133 + #ifdef L2_LENGTH 134 + l2_length = _ebss_l2 - _stext_l2; 135 + if (l2_length > L2_LENGTH) 136 + panic("L2 SRAM Overflow\n"); 137 + 138 + /* Copy _stext_l2 to _edata_l2 to L2 SRAM */ 139 + dma_memcpy(_stext_l2, _l2_lma_start, l2_length); 140 + #endif 133 141 } 134 142 135 143 /* add_memory_region to memmap */ ··· 674 664 }) 675 665 static inline int __init get_mem_size(void) 676 666 { 677 - #ifdef CONFIG_MEM_SIZE 678 - return CONFIG_MEM_SIZE; 679 - #else 680 - # if defined(EBIU_SDBCTL) 681 - # if defined(BF561_FAMILY) 667 + #if defined(EBIU_SDBCTL) 668 + # if defined(BF561_FAMILY) 682 669 int ret = 0; 683 670 u32 sdbctl = bfin_read_EBIU_SDBCTL(); 684 671 ret += EBSZ_TO_MEG(sdbctl >> 0); ··· 683 676 ret += EBSZ_TO_MEG(sdbctl >> 16); 684 677 ret += EBSZ_TO_MEG(sdbctl >> 24); 685 678 return ret; 686 - # else 679 + # else 687 680 return EBSZ_TO_MEG(bfin_read_EBIU_SDBCTL()); 688 - # endif 689 - # elif defined(EBIU_DDRCTL1) 681 + # endif 682 + #elif defined(EBIU_DDRCTL1) 690 683 u32 ddrctl = bfin_read_EBIU_DDRCTL1(); 691 684 int ret = 0; 692 685 switch (ddrctl & 0xc0000) { ··· 700 693 case DEVWD_8: ret *= 2; 701 694 case DEVWD_16: break; 702 695 } 696 + if ((ddrctl & 0xc000) == 0x4000) 697 + ret *= 2; 703 698 return ret; 704 - # endif 705 699 #endif 706 700 BUG(); 707 701 } ··· 770 762 #endif 771 763 772 764 _bfin_swrst = bfin_read_SWRST(); 765 + 766 + /* If we double fault, reset the system - otherwise we hang forever */ 767 + bfin_write_SWRST(DOUBLE_FAULT); 773 768 774 769 if (_bfin_swrst & RESET_DOUBLE) 775 770 printk(KERN_INFO "Recovering from Double Fault event\n"); ··· 853 842 854 843 subsys_initcall(topology_init); 855 844 845 + /* Get the voltage input multiplier */ 846 + static u_long cached_vco_pll_ctl, cached_vco; 856 847 static u_long get_vco(void) 857 848 { 858 849 u_long msel; 859 - u_long vco; 860 850 861 - msel = (bfin_read_PLL_CTL() >> 9) & 0x3F; 851 + u_long pll_ctl = bfin_read_PLL_CTL(); 852 + if (pll_ctl == cached_vco_pll_ctl) 853 + return cached_vco; 854 + else 855 + cached_vco_pll_ctl = pll_ctl; 856 + 857 + msel = (pll_ctl >> 9) & 0x3F; 862 858 if (0 == msel) 863 859 msel = 64; 864 860 865 - vco = CONFIG_CLKIN_HZ; 866 - vco >>= (1 & bfin_read_PLL_CTL()); /* DF bit */ 867 - vco = msel * vco; 868 - return vco; 861 + cached_vco = CONFIG_CLKIN_HZ; 862 + cached_vco >>= (1 & pll_ctl); /* DF bit */ 863 + cached_vco *= msel; 864 + return cached_vco; 869 865 } 870 866 871 867 /* Get the Core clock */ 868 + static u_long cached_cclk_pll_div, cached_cclk; 872 869 u_long get_cclk(void) 873 870 { 874 871 u_long csel, ssel; 872 + 875 873 if (bfin_read_PLL_STAT() & 0x1) 876 874 return CONFIG_CLKIN_HZ; 877 875 878 876 ssel = bfin_read_PLL_DIV(); 877 + if (ssel == cached_cclk_pll_div) 878 + return cached_cclk; 879 + else 880 + cached_cclk_pll_div = ssel; 881 + 879 882 csel = ((ssel >> 4) & 0x03); 880 883 ssel &= 0xf; 881 884 if (ssel && ssel < (1 << csel)) /* SCLK > CCLK */ 882 - return get_vco() / ssel; 883 - return get_vco() >> csel; 885 + cached_cclk = get_vco() / ssel; 886 + else 887 + cached_cclk = get_vco() >> csel; 888 + return cached_cclk; 884 889 } 885 890 EXPORT_SYMBOL(get_cclk); 886 891 887 892 /* Get the System clock */ 893 + static u_long cached_sclk_pll_div, cached_sclk; 888 894 u_long get_sclk(void) 889 895 { 890 896 u_long ssel; ··· 909 881 if (bfin_read_PLL_STAT() & 0x1) 910 882 return CONFIG_CLKIN_HZ; 911 883 912 - ssel = (bfin_read_PLL_DIV() & 0xf); 884 + ssel = bfin_read_PLL_DIV(); 885 + if (ssel == cached_sclk_pll_div) 886 + return cached_sclk; 887 + else 888 + cached_sclk_pll_div = ssel; 889 + 890 + ssel &= 0xf; 913 891 if (0 == ssel) { 914 892 printk(KERN_WARNING "Invalid System Clock\n"); 915 893 ssel = 1; 916 894 } 917 895 918 - return get_vco() / ssel; 896 + cached_sclk = get_vco() / ssel; 897 + return cached_sclk; 919 898 } 920 899 EXPORT_SYMBOL(get_sclk); 921 900 ··· 951 916 uint32_t revid; 952 917 953 918 u_long cclk = 0, sclk = 0; 954 - u_int dcache_size = 0, dsup_banks = 0; 919 + u_int icache_size = BFIN_ICACHESIZE / 1024, dcache_size = 0, dsup_banks = 0; 955 920 956 921 cpu = CPU; 957 922 mmu = "none"; ··· 1020 985 } 1021 986 1022 987 /* Is it turned on? */ 1023 - if (!((bfin_read_DMEM_CONTROL()) & (ENDCPLB | DMC_ENABLE))) 988 + if ((bfin_read_DMEM_CONTROL() & (ENDCPLB | DMC_ENABLE)) != (ENDCPLB | DMC_ENABLE)) 1024 989 dcache_size = 0; 990 + 991 + if ((bfin_read_IMEM_CONTROL() & (IMC | ENICPLB)) == (IMC | ENICPLB)) 992 + icache_size = 0; 1025 993 1026 994 seq_printf(m, "cache size\t: %d KB(L1 icache) " 1027 995 "%d KB(L1 dcache-%s) %d KB(L2 cache)\n", 1028 - BFIN_ICACHESIZE / 1024, dcache_size, 996 + icache_size, dcache_size, 1029 997 #if defined CONFIG_BFIN_WB 1030 998 "wb" 1031 999 #elif defined CONFIG_BFIN_WT ··· 1038 1000 1039 1001 seq_printf(m, "%s\n", cache); 1040 1002 1041 - seq_printf(m, "icache setup\t: %d Sub-banks/%d Ways, %d Lines/Way\n", 1042 - BFIN_ISUBBANKS, BFIN_IWAYS, BFIN_ILINES); 1003 + if (icache_size) 1004 + seq_printf(m, "icache setup\t: %d Sub-banks/%d Ways, %d Lines/Way\n", 1005 + BFIN_ISUBBANKS, BFIN_IWAYS, BFIN_ILINES); 1006 + else 1007 + seq_printf(m, "icache setup\t: off\n"); 1008 + 1043 1009 seq_printf(m, 1044 1010 "dcache setup\t: %d Super-banks/%d Sub-banks/%d Ways, %d Lines/Way\n", 1045 1011 dsup_banks, BFIN_DSUBBANKS, BFIN_DWAYS,
+243 -57
arch/blackfin/kernel/traps.c
··· 69 69 70 70 unsigned long saved_icplb_fault_addr, saved_dcplb_fault_addr; 71 71 72 - int kstack_depth_to_print = 48; 73 - 74 72 static void decode_address(char *buf, unsigned long address) 75 73 { 76 74 struct vm_list_struct *vml; ··· 161 163 if (!in_atomic) 162 164 mmput(mm); 163 165 166 + if (!strlen(buf)) 167 + sprintf(buf, "<0x%p> [ %s ] dynamic memory", (void *)address, name); 168 + 164 169 goto done; 165 170 } 166 171 ··· 174 173 } 175 174 176 175 /* we were unable to find this address anywhere */ 177 - sprintf(buf, "<0x%p> /* unknown address */", (void *)address); 176 + sprintf(buf, "<0x%p> /* kernel dynamic memory */", (void *)address); 178 177 179 178 done: 180 179 write_unlock_irqrestore(&tasklist_lock, flags); ··· 495 494 BUG_ON(sig == 0); 496 495 497 496 if (sig != SIGTRAP) { 498 - unsigned long stack; 497 + unsigned long *stack; 499 498 dump_bfin_process(fp); 500 499 dump_bfin_mem(fp); 501 500 show_regs(fp); ··· 509 508 else 510 509 #endif 511 510 dump_bfin_trace_buffer(); 512 - show_stack(current, &stack); 511 + 513 512 if (oops_in_progress) { 513 + /* Dump the current kernel stack */ 514 + printk(KERN_NOTICE "\n" KERN_NOTICE "Kernel Stack\n"); 515 + show_stack(current, NULL); 516 + 514 517 print_modules(); 515 518 #ifndef CONFIG_ACCESS_CHECK 516 519 printk(KERN_EMERG "Please turn on " 517 520 "CONFIG_ACCESS_CHECK\n"); 518 521 #endif 519 522 panic("Kernel exception"); 523 + } else { 524 + /* Dump the user space stack */ 525 + stack = (unsigned long *)rdusp(); 526 + printk(KERN_NOTICE "Userspace Stack\n"); 527 + show_stack(NULL, stack); 520 528 } 521 529 } 522 530 ··· 542 532 543 533 #define EXPAND_LEN ((1 << CONFIG_DEBUG_BFIN_HWTRACE_EXPAND_LEN) * 256 - 1) 544 534 535 + /* 536 + * Similar to get_user, do some address checking, then dereference 537 + * Return true on sucess, false on bad address 538 + */ 539 + bool get_instruction(unsigned short *val, unsigned short *address) 540 + { 541 + 542 + unsigned long addr; 543 + 544 + addr = (unsigned long)address; 545 + 546 + /* Check for odd addresses */ 547 + if (addr & 0x1) 548 + return false; 549 + 550 + /* Check that things do not wrap around */ 551 + if (addr > (addr + 2)) 552 + return false; 553 + 554 + /* 555 + * Since we are in exception context, we need to do a little address checking 556 + * We need to make sure we are only accessing valid memory, and 557 + * we don't read something in the async space that can hang forever 558 + */ 559 + if ((addr >= FIXED_CODE_START && (addr + 2) <= physical_mem_end) || 560 + #ifdef L2_START 561 + (addr >= L2_START && (addr + 2) <= (L2_START + L2_LENGTH)) || 562 + #endif 563 + (addr >= BOOT_ROM_START && (addr + 2) <= (BOOT_ROM_START + BOOT_ROM_LENGTH)) || 564 + #if L1_DATA_A_LENGTH != 0 565 + (addr >= L1_DATA_A_START && (addr + 2) <= (L1_DATA_A_START + L1_DATA_A_LENGTH)) || 566 + #endif 567 + #if L1_DATA_B_LENGTH != 0 568 + (addr >= L1_DATA_B_START && (addr + 2) <= (L1_DATA_B_START + L1_DATA_B_LENGTH)) || 569 + #endif 570 + (addr >= L1_SCRATCH_START && (addr + 2) <= (L1_SCRATCH_START + L1_SCRATCH_LENGTH)) || 571 + (!(bfin_read_EBIU_AMBCTL0() & B0RDYEN) && 572 + addr >= ASYNC_BANK0_BASE && (addr + 2) <= (ASYNC_BANK0_BASE + ASYNC_BANK0_SIZE)) || 573 + (!(bfin_read_EBIU_AMBCTL0() & B1RDYEN) && 574 + addr >= ASYNC_BANK1_BASE && (addr + 2) <= (ASYNC_BANK1_BASE + ASYNC_BANK1_SIZE)) || 575 + (!(bfin_read_EBIU_AMBCTL1() & B2RDYEN) && 576 + addr >= ASYNC_BANK2_BASE && (addr + 2) <= (ASYNC_BANK2_BASE + ASYNC_BANK1_SIZE)) || 577 + (!(bfin_read_EBIU_AMBCTL1() & B3RDYEN) && 578 + addr >= ASYNC_BANK3_BASE && (addr + 2) <= (ASYNC_BANK3_BASE + ASYNC_BANK1_SIZE))) { 579 + *val = *address; 580 + return true; 581 + } 582 + 583 + #if L1_CODE_LENGTH != 0 584 + if (addr >= L1_CODE_START && (addr + 2) <= (L1_CODE_START + L1_CODE_LENGTH)) { 585 + dma_memcpy(val, address, 2); 586 + return true; 587 + } 588 + #endif 589 + 590 + 591 + return false; 592 + } 593 + 545 594 void dump_bfin_trace_buffer(void) 546 595 { 547 596 #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON 548 597 int tflags, i = 0; 549 598 char buf[150]; 599 + unsigned short val = 0, *addr; 550 600 #ifdef CONFIG_DEBUG_BFIN_HWTRACE_EXPAND 551 601 int j, index; 552 602 #endif ··· 619 549 for (; bfin_read_TBUFSTAT() & TBUFCNT; i++) { 620 550 decode_address(buf, (unsigned long)bfin_read_TBUF()); 621 551 printk(KERN_NOTICE "%4i Target : %s\n", i, buf); 622 - decode_address(buf, (unsigned long)bfin_read_TBUF()); 623 - printk(KERN_NOTICE " Source : %s\n", buf); 552 + addr = (unsigned short *)bfin_read_TBUF(); 553 + decode_address(buf, (unsigned long)addr); 554 + printk(KERN_NOTICE " Source : %s ", buf); 555 + if (get_instruction(&val, addr)) { 556 + if (val == 0x0010) 557 + printk("RTS"); 558 + else if (val == 0x0011) 559 + printk("RTI"); 560 + else if (val == 0x0012) 561 + printk("RTX"); 562 + else if (val >= 0x0050 && val <= 0x0057) 563 + printk("JUMP (P%i)", val & 7); 564 + else if (val >= 0x0060 && val <= 0x0067) 565 + printk("CALL (P%i)", val & 7); 566 + else if (val >= 0x0070 && val <= 0x0077) 567 + printk("CALL (PC+P%i)", val & 7); 568 + else if (val >= 0x0080 && val <= 0x0087) 569 + printk("JUMP (PC+P%i)", val & 7); 570 + else if ((val >= 0x1000 && val <= 0x13FF) || 571 + (val >= 0x1800 && val <= 0x1BFF)) 572 + printk("IF !CC JUMP"); 573 + else if ((val >= 0x1400 && val <= 0x17ff) || 574 + (val >= 0x1c00 && val <= 0x1fff)) 575 + printk("IF CC JUMP"); 576 + else if (val >= 0x2000 && val <= 0x2fff) 577 + printk("JUMP.S"); 578 + else if (val >= 0xe080 && val <= 0xe0ff) 579 + printk("LSETUP"); 580 + else if (val >= 0xe200 && val <= 0xe2ff) 581 + printk("JUMP.L"); 582 + else if (val >= 0xe300 && val <= 0xe3ff) 583 + printk("CALL pcrel"); 584 + else 585 + printk("0x%04x", val); 586 + } 587 + printk("\n"); 624 588 } 625 589 } 626 590 ··· 686 582 } 687 583 EXPORT_SYMBOL(dump_bfin_trace_buffer); 688 584 689 - static void show_trace(struct task_struct *tsk, unsigned long *sp) 585 + /* 586 + * Checks to see if the address pointed to is either a 587 + * 16-bit CALL instruction, or a 32-bit CALL instruction 588 + */ 589 + bool is_bfin_call(unsigned short *addr) 690 590 { 691 - unsigned long addr; 591 + unsigned short opcode = 0, *ins_addr; 592 + ins_addr = (unsigned short *)addr; 692 593 693 - printk(KERN_NOTICE "\n" KERN_NOTICE "Call Trace:\n"); 594 + if (!get_instruction(&opcode, ins_addr)) 595 + return false; 694 596 695 - while (!kstack_end(sp)) { 696 - addr = *sp++; 697 - /* 698 - * If the address is either in the text segment of the 699 - * kernel, or in the region which contains vmalloc'ed 700 - * memory, it *may* be the address of a calling 701 - * routine; if so, print it so that someone tracing 702 - * down the cause of the crash will be able to figure 703 - * out the call path that was taken. 704 - */ 705 - if (kernel_text_address(addr)) 706 - print_ip_sym(addr); 707 - } 597 + if ((opcode >= 0x0060 && opcode <= 0x0067) || 598 + (opcode >= 0x0070 && opcode <= 0x0077)) 599 + return true; 708 600 709 - printk(KERN_NOTICE "\n"); 601 + ins_addr--; 602 + if (!get_instruction(&opcode, ins_addr)) 603 + return false; 604 + 605 + if (opcode >= 0xE300 && opcode <= 0xE3FF) 606 + return true; 607 + 608 + return false; 609 + 710 610 } 711 - 712 611 void show_stack(struct task_struct *task, unsigned long *stack) 713 612 { 714 - unsigned long *endstack, addr; 715 - int i; 613 + unsigned int *addr, *endstack, *fp = 0, *frame; 614 + unsigned short *ins_addr; 615 + char buf[150]; 616 + unsigned int i, j, ret_addr, frame_no = 0; 716 617 717 - /* Cannot call dump_bfin_trace_buffer() here as show_stack() is 718 - * called externally in some places in the kernel. 618 + /* 619 + * If we have been passed a specific stack, use that one otherwise 620 + * if we have been passed a task structure, use that, otherwise 621 + * use the stack of where the variable "stack" exists 719 622 */ 720 623 721 - if (!stack) { 722 - if (task) 624 + if (stack == NULL) { 625 + if (task) { 626 + /* We know this is a kernel stack, so this is the start/end */ 723 627 stack = (unsigned long *)task->thread.ksp; 724 - else 628 + endstack = (unsigned int *)(((unsigned int)(stack) & ~(THREAD_SIZE - 1)) + THREAD_SIZE); 629 + } else { 630 + /* print out the existing stack info */ 725 631 stack = (unsigned long *)&stack; 632 + endstack = (unsigned int *)PAGE_ALIGN((unsigned int)stack); 633 + } 634 + } else 635 + endstack = (unsigned int *)PAGE_ALIGN((unsigned int)stack); 636 + 637 + decode_address(buf, (unsigned int)stack); 638 + printk(KERN_NOTICE "Stack info:\n" KERN_NOTICE " SP: [0x%p] %s\n", stack, buf); 639 + addr = (unsigned int *)((unsigned int)stack & ~0x3F); 640 + 641 + /* First thing is to look for a frame pointer */ 642 + for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; 643 + addr < endstack; addr++, i++) { 644 + if (*addr & 0x1) 645 + continue; 646 + ins_addr = (unsigned short *)*addr; 647 + ins_addr--; 648 + if (is_bfin_call(ins_addr)) 649 + fp = addr - 1; 650 + 651 + if (fp) { 652 + /* Let's check to see if it is a frame pointer */ 653 + while (fp >= (addr - 1) && fp < endstack && fp) 654 + fp = (unsigned int *)*fp; 655 + if (fp == 0 || fp == endstack) { 656 + fp = addr - 1; 657 + break; 658 + } 659 + fp = 0; 660 + } 661 + } 662 + if (fp) { 663 + frame = fp; 664 + printk(" FP: (0x%p)\n", fp); 665 + } else 666 + frame = 0; 667 + 668 + /* 669 + * Now that we think we know where things are, we 670 + * walk the stack again, this time printing things out 671 + * incase there is no frame pointer, we still look for 672 + * valid return addresses 673 + */ 674 + 675 + /* First time print out data, next time, print out symbols */ 676 + for (j = 0; j <= 1; j++) { 677 + if (j) 678 + printk(KERN_NOTICE "Return addresses in stack:\n"); 679 + else 680 + printk(KERN_NOTICE " Memory from 0x%08lx to %p", ((long unsigned int)stack & ~0xF), endstack); 681 + 682 + fp = frame; 683 + frame_no = 0; 684 + 685 + for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; 686 + addr <= endstack; addr++, i++) { 687 + 688 + ret_addr = 0; 689 + if (!j && i % 8 == 0) 690 + printk("\n" KERN_NOTICE "%p:",addr); 691 + 692 + /* if it is an odd address, or zero, just skip it */ 693 + if (*addr & 0x1 || !*addr) 694 + goto print; 695 + 696 + ins_addr = (unsigned short *)*addr; 697 + 698 + /* Go back one instruction, and see if it is a CALL */ 699 + ins_addr--; 700 + ret_addr = is_bfin_call(ins_addr); 701 + print: 702 + if (!j && stack == (unsigned long *)addr) 703 + printk("[%08x]", *addr); 704 + else if (ret_addr) 705 + if (j) { 706 + decode_address(buf, (unsigned int)*addr); 707 + if (frame == addr) { 708 + printk(KERN_NOTICE " frame %2i : %s\n", frame_no, buf); 709 + continue; 710 + } 711 + printk(KERN_NOTICE " address : %s\n", buf); 712 + } else 713 + printk("<%08x>", *addr); 714 + else if (fp == addr) { 715 + if (j) 716 + frame = addr+1; 717 + else 718 + printk("(%08x)", *addr); 719 + 720 + fp = (unsigned int *)*addr; 721 + frame_no++; 722 + 723 + } else if (!j) 724 + printk(" %08x ", *addr); 725 + } 726 + if (!j) 727 + printk("\n"); 726 728 } 727 729 728 - addr = (unsigned long)stack; 729 - endstack = (unsigned long *)PAGE_ALIGN(addr); 730 - 731 - printk(KERN_NOTICE "Stack from %08lx:", (unsigned long)stack); 732 - for (i = 0; i < kstack_depth_to_print; i++) { 733 - if (stack + 1 > endstack) 734 - break; 735 - if (i % 8 == 0) 736 - printk("\n" KERN_NOTICE " "); 737 - printk(" %08lx", *stack++); 738 - } 739 - printk("\n"); 740 - 741 - show_trace(task, stack); 742 730 } 743 731 744 732 void dump_stack(void) ··· 911 715 if (!((unsigned long)addr & 0xF)) 912 716 printk("\n" KERN_NOTICE "0x%p: ", addr); 913 717 914 - if (get_user(val, addr)) { 915 - if (addr >= (unsigned short *)L1_CODE_START && 916 - addr < (unsigned short *)(L1_CODE_START + L1_CODE_LENGTH)) { 917 - dma_memcpy(&val, addr, sizeof(val)); 918 - sprintf(buf, "%04x", val); 919 - } else if (addr >= (unsigned short *)FIXED_CODE_START && 920 - addr <= (unsigned short *)memory_start) { 921 - val = bfin_read16(addr); 922 - sprintf(buf, "%04x", val); 923 - } else { 718 + if (get_instruction(&val, addr)) { 924 719 val = 0; 925 720 sprintf(buf, "????"); 926 - } 927 721 } else 928 722 sprintf(buf, "%04x", val); 929 723
+35 -5
arch/blackfin/kernel/vmlinux.lds.S
··· 101 101 #if !L1_DATA_B_LENGTH 102 102 *(.l1.data.B) 103 103 #endif 104 + #ifndef L2_LENGTH 105 + . = ALIGN(32); 106 + *(.data_l2.cacheline_aligned) 107 + *(.l2.data) 108 + #endif 104 109 105 110 DATA_DATA 106 111 *(.data.*) ··· 187 182 *(.l1.data) 188 183 __edata_l1 = .; 189 184 190 - . = ALIGN(4); 191 - __sbss_l1 = .; 192 - *(.l1.bss) 193 - 194 185 . = ALIGN(32); 195 186 *(.data_l1.cacheline_aligned) 196 187 188 + . = ALIGN(4); 189 + __sbss_l1 = .; 190 + *(.l1.bss) 197 191 . = ALIGN(4); 198 192 __ebss_l1 = .; 199 193 } ··· 207 203 . = ALIGN(4); 208 204 __sbss_b_l1 = .; 209 205 *(.l1.bss.B) 210 - 211 206 . = ALIGN(4); 212 207 __ebss_b_l1 = .; 213 208 } 209 + 210 + #ifdef L2_LENGTH 211 + __l2_lma_start = .; 212 + 213 + .text_data_l2 L2_START : AT(LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1)) 214 + { 215 + . = ALIGN(4); 216 + __stext_l2 = .; 217 + *(.l1.text) 218 + . = ALIGN(4); 219 + __etext_l2 = .; 220 + 221 + . = ALIGN(4); 222 + __sdata_l2 = .; 223 + *(.l1.data) 224 + __edata_l2 = .; 225 + 226 + . = ALIGN(32); 227 + *(.data_l2.cacheline_aligned) 228 + 229 + . = ALIGN(4); 230 + __sbss_l2 = .; 231 + *(.l1.bss) 232 + . = ALIGN(4); 233 + __ebss_l2 = .; 234 + } 235 + #endif 214 236 215 237 /* Force trailing alignment of our init section so that when we 216 238 * free our init memory, we don't leave behind a partial page.
+5
arch/blackfin/mach-bf527/boards/Kconfig
··· 9 9 help 10 10 BF527-EZKIT-LITE board support. 11 11 12 + config BFIN527_BLUETECHNIX_CM 13 + bool "Bluetechnix CM-BF527" 14 + help 15 + CM-BF527 support for EVAL- and DEV-Board. 16 + 12 17 endchoice
+1
arch/blackfin/mach-bf527/boards/Makefile
··· 3 3 # 4 4 5 5 obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o 6 + obj-$(CONFIG_BFIN527_BLUETECHNIX_CM) += cm_bf527.o
+1011
arch/blackfin/mach-bf527/boards/cm_bf527.c
··· 1 + /* 2 + * File: arch/blackfin/mach-bf527/boards/cm-bf527.c 3 + * Based on: arch/blackfin/mach-bf537/boards/stamp.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/mtd/physmap.h> 36 + #include <linux/spi/spi.h> 37 + #include <linux/spi/flash.h> 38 + #include <linux/etherdevice.h> 39 + #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 40 + #include <linux/usb/isp1362.h> 41 + #endif 42 + #include <linux/pata_platform.h> 43 + #include <linux/i2c.h> 44 + #include <linux/irq.h> 45 + #include <linux/interrupt.h> 46 + #include <linux/usb/sl811.h> 47 + #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) 48 + #include <linux/usb/musb.h> 49 + #endif 50 + #include <asm/cplb.h> 51 + #include <asm/dma.h> 52 + #include <asm/bfin5xx_spi.h> 53 + #include <asm/reboot.h> 54 + #include <asm/nand.h> 55 + #include <asm/portmux.h> 56 + #include <asm/dpmc.h> 57 + #include <linux/spi/ad7877.h> 58 + 59 + /* 60 + * Name the Board for the /proc/cpuinfo 61 + */ 62 + const char bfin_board_name[] = "Bluetechnix CM-BF527"; 63 + 64 + /* 65 + * Driver needs to know address, irq and flag pin. 66 + */ 67 + 68 + #define ISP1761_BASE 0x203C0000 69 + #define ISP1761_IRQ IRQ_PF7 70 + 71 + #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) 72 + static struct resource bfin_isp1761_resources[] = { 73 + [0] = { 74 + .name = "isp1761-regs", 75 + .start = ISP1761_BASE + 0x00000000, 76 + .end = ISP1761_BASE + 0x000fffff, 77 + .flags = IORESOURCE_MEM, 78 + }, 79 + [1] = { 80 + .start = ISP1761_IRQ, 81 + .end = ISP1761_IRQ, 82 + .flags = IORESOURCE_IRQ, 83 + }, 84 + }; 85 + 86 + static struct platform_device bfin_isp1761_device = { 87 + .name = "isp1761", 88 + .id = 0, 89 + .num_resources = ARRAY_SIZE(bfin_isp1761_resources), 90 + .resource = bfin_isp1761_resources, 91 + }; 92 + 93 + static struct platform_device *bfin_isp1761_devices[] = { 94 + &bfin_isp1761_device, 95 + }; 96 + 97 + int __init bfin_isp1761_init(void) 98 + { 99 + unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); 100 + 101 + printk(KERN_INFO "%s(): registering device resources\n", __func__); 102 + set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); 103 + 104 + return platform_add_devices(bfin_isp1761_devices, num_devices); 105 + } 106 + 107 + void __exit bfin_isp1761_exit(void) 108 + { 109 + platform_device_unregister(&bfin_isp1761_device); 110 + } 111 + 112 + arch_initcall(bfin_isp1761_init); 113 + #endif 114 + 115 + #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) 116 + static struct resource musb_resources[] = { 117 + [0] = { 118 + .start = 0xffc03800, 119 + .end = 0xffc03cff, 120 + .flags = IORESOURCE_MEM, 121 + }, 122 + [1] = { /* general IRQ */ 123 + .start = IRQ_USB_INT0, 124 + .end = IRQ_USB_INT0, 125 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 126 + }, 127 + [2] = { /* DMA IRQ */ 128 + .start = IRQ_USB_DMA, 129 + .end = IRQ_USB_DMA, 130 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 131 + }, 132 + }; 133 + 134 + static struct musb_hdrc_platform_data musb_plat = { 135 + #if defined(CONFIG_USB_MUSB_OTG) 136 + .mode = MUSB_OTG, 137 + #elif defined(CONFIG_USB_MUSB_HDRC_HCD) 138 + .mode = MUSB_HOST, 139 + #elif defined(CONFIG_USB_GADGET_MUSB_HDRC) 140 + .mode = MUSB_PERIPHERAL, 141 + #endif 142 + .multipoint = 0, 143 + }; 144 + 145 + static u64 musb_dmamask = ~(u32)0; 146 + 147 + static struct platform_device musb_device = { 148 + .name = "musb_hdrc", 149 + .id = 0, 150 + .dev = { 151 + .dma_mask = &musb_dmamask, 152 + .coherent_dma_mask = 0xffffffff, 153 + .platform_data = &musb_plat, 154 + }, 155 + .num_resources = ARRAY_SIZE(musb_resources), 156 + .resource = musb_resources, 157 + }; 158 + #endif 159 + 160 + #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) 161 + static struct mtd_partition ezkit_partitions[] = { 162 + { 163 + .name = "Bootloader", 164 + .size = 0x40000, 165 + .offset = 0, 166 + }, { 167 + .name = "Kernel", 168 + .size = 0x1C0000, 169 + .offset = MTDPART_OFS_APPEND, 170 + }, { 171 + .name = "RootFS", 172 + .size = MTDPART_SIZ_FULL, 173 + .offset = MTDPART_OFS_APPEND, 174 + } 175 + }; 176 + 177 + static struct physmap_flash_data ezkit_flash_data = { 178 + .width = 2, 179 + .parts = ezkit_partitions, 180 + .nr_parts = ARRAY_SIZE(ezkit_partitions), 181 + }; 182 + 183 + static struct resource ezkit_flash_resource = { 184 + .start = 0x20000000, 185 + .end = 0x201fffff, 186 + .flags = IORESOURCE_MEM, 187 + }; 188 + 189 + static struct platform_device ezkit_flash_device = { 190 + .name = "physmap-flash", 191 + .id = 0, 192 + .dev = { 193 + .platform_data = &ezkit_flash_data, 194 + }, 195 + .num_resources = 1, 196 + .resource = &ezkit_flash_resource, 197 + }; 198 + #endif 199 + 200 + #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) 201 + static struct mtd_partition partition_info[] = { 202 + { 203 + .name = "Linux Kernel", 204 + .offset = 0, 205 + .size = 4 * SIZE_1M, 206 + }, 207 + { 208 + .name = "File System", 209 + .offset = MTDPART_OFS_APPEND, 210 + .size = MTDPART_SIZ_FULL, 211 + }, 212 + }; 213 + 214 + static struct bf5xx_nand_platform bf5xx_nand_platform = { 215 + .page_size = NFC_PG_SIZE_256, 216 + .data_width = NFC_NWIDTH_8, 217 + .partitions = partition_info, 218 + .nr_partitions = ARRAY_SIZE(partition_info), 219 + .rd_dly = 3, 220 + .wr_dly = 3, 221 + }; 222 + 223 + static struct resource bf5xx_nand_resources[] = { 224 + { 225 + .start = NFC_CTL, 226 + .end = NFC_DATA_RD + 2, 227 + .flags = IORESOURCE_MEM, 228 + }, 229 + { 230 + .start = CH_NFC, 231 + .end = CH_NFC, 232 + .flags = IORESOURCE_IRQ, 233 + }, 234 + }; 235 + 236 + static struct platform_device bf5xx_nand_device = { 237 + .name = "bf5xx-nand", 238 + .id = 0, 239 + .num_resources = ARRAY_SIZE(bf5xx_nand_resources), 240 + .resource = bf5xx_nand_resources, 241 + .dev = { 242 + .platform_data = &bf5xx_nand_platform, 243 + }, 244 + }; 245 + #endif 246 + 247 + #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 248 + static struct resource bfin_pcmcia_cf_resources[] = { 249 + { 250 + .start = 0x20310000, /* IO PORT */ 251 + .end = 0x20312000, 252 + .flags = IORESOURCE_MEM, 253 + }, { 254 + .start = 0x20311000, /* Attribute Memory */ 255 + .end = 0x20311FFF, 256 + .flags = IORESOURCE_MEM, 257 + }, { 258 + .start = IRQ_PF4, 259 + .end = IRQ_PF4, 260 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, 261 + }, { 262 + .start = 6, /* Card Detect PF6 */ 263 + .end = 6, 264 + .flags = IORESOURCE_IRQ, 265 + }, 266 + }; 267 + 268 + static struct platform_device bfin_pcmcia_cf_device = { 269 + .name = "bfin_cf_pcmcia", 270 + .id = -1, 271 + .num_resources = ARRAY_SIZE(bfin_pcmcia_cf_resources), 272 + .resource = bfin_pcmcia_cf_resources, 273 + }; 274 + #endif 275 + 276 + #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) 277 + static struct platform_device rtc_device = { 278 + .name = "rtc-bfin", 279 + .id = -1, 280 + }; 281 + #endif 282 + 283 + #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) 284 + static struct resource smc91x_resources[] = { 285 + { 286 + .name = "smc91x-regs", 287 + .start = 0x20300300, 288 + .end = 0x20300300 + 16, 289 + .flags = IORESOURCE_MEM, 290 + }, { 291 + 292 + .start = IRQ_PF7, 293 + .end = IRQ_PF7, 294 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 295 + }, 296 + }; 297 + static struct platform_device smc91x_device = { 298 + .name = "smc91x", 299 + .id = 0, 300 + .num_resources = ARRAY_SIZE(smc91x_resources), 301 + .resource = smc91x_resources, 302 + }; 303 + #endif 304 + 305 + #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) 306 + static struct resource dm9000_resources[] = { 307 + [0] = { 308 + .start = 0x203FB800, 309 + .end = 0x203FB800 + 8, 310 + .flags = IORESOURCE_MEM, 311 + }, 312 + [1] = { 313 + .start = IRQ_PF9, 314 + .end = IRQ_PF9, 315 + .flags = (IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE), 316 + }, 317 + }; 318 + 319 + static struct platform_device dm9000_device = { 320 + .name = "dm9000", 321 + .id = -1, 322 + .num_resources = ARRAY_SIZE(dm9000_resources), 323 + .resource = dm9000_resources, 324 + }; 325 + #endif 326 + 327 + #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) 328 + static struct resource sl811_hcd_resources[] = { 329 + { 330 + .start = 0x20340000, 331 + .end = 0x20340000, 332 + .flags = IORESOURCE_MEM, 333 + }, { 334 + .start = 0x20340004, 335 + .end = 0x20340004, 336 + .flags = IORESOURCE_MEM, 337 + }, { 338 + .start = CONFIG_USB_SL811_BFIN_IRQ, 339 + .end = CONFIG_USB_SL811_BFIN_IRQ, 340 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 341 + }, 342 + }; 343 + 344 + #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) 345 + void sl811_port_power(struct device *dev, int is_on) 346 + { 347 + gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); 348 + gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); 349 + } 350 + #endif 351 + 352 + static struct sl811_platform_data sl811_priv = { 353 + .potpg = 10, 354 + .power = 250, /* == 500mA */ 355 + #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) 356 + .port_power = &sl811_port_power, 357 + #endif 358 + }; 359 + 360 + static struct platform_device sl811_hcd_device = { 361 + .name = "sl811-hcd", 362 + .id = 0, 363 + .dev = { 364 + .platform_data = &sl811_priv, 365 + }, 366 + .num_resources = ARRAY_SIZE(sl811_hcd_resources), 367 + .resource = sl811_hcd_resources, 368 + }; 369 + #endif 370 + 371 + #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 372 + static struct resource isp1362_hcd_resources[] = { 373 + { 374 + .start = 0x20360000, 375 + .end = 0x20360000, 376 + .flags = IORESOURCE_MEM, 377 + }, { 378 + .start = 0x20360004, 379 + .end = 0x20360004, 380 + .flags = IORESOURCE_MEM, 381 + }, { 382 + .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 383 + .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 384 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 385 + }, 386 + }; 387 + 388 + static struct isp1362_platform_data isp1362_priv = { 389 + .sel15Kres = 1, 390 + .clknotstop = 0, 391 + .oc_enable = 0, 392 + .int_act_high = 0, 393 + .int_edge_triggered = 0, 394 + .remote_wakeup_connected = 0, 395 + .no_power_switching = 1, 396 + .power_switching_mode = 0, 397 + }; 398 + 399 + static struct platform_device isp1362_hcd_device = { 400 + .name = "isp1362-hcd", 401 + .id = 0, 402 + .dev = { 403 + .platform_data = &isp1362_priv, 404 + }, 405 + .num_resources = ARRAY_SIZE(isp1362_hcd_resources), 406 + .resource = isp1362_hcd_resources, 407 + }; 408 + #endif 409 + 410 + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) 411 + static struct platform_device bfin_mac_device = { 412 + .name = "bfin_mac", 413 + }; 414 + #endif 415 + 416 + #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) 417 + static struct resource net2272_bfin_resources[] = { 418 + { 419 + .start = 0x20300000, 420 + .end = 0x20300000 + 0x100, 421 + .flags = IORESOURCE_MEM, 422 + }, { 423 + .start = IRQ_PF7, 424 + .end = IRQ_PF7, 425 + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 426 + }, 427 + }; 428 + 429 + static struct platform_device net2272_bfin_device = { 430 + .name = "net2272", 431 + .id = -1, 432 + .num_resources = ARRAY_SIZE(net2272_bfin_resources), 433 + .resource = net2272_bfin_resources, 434 + }; 435 + #endif 436 + 437 + #if defined(CONFIG_MTD_M25P80) \ 438 + || defined(CONFIG_MTD_M25P80_MODULE) 439 + static struct mtd_partition bfin_spi_flash_partitions[] = { 440 + { 441 + .name = "bootloader", 442 + .size = 0x00040000, 443 + .offset = 0, 444 + .mask_flags = MTD_CAP_ROM 445 + }, { 446 + .name = "linux kernel", 447 + .size = MTDPART_SIZ_FULL, 448 + .offset = MTDPART_OFS_APPEND, 449 + } 450 + }; 451 + 452 + static struct flash_platform_data bfin_spi_flash_data = { 453 + .name = "m25p80", 454 + .parts = bfin_spi_flash_partitions, 455 + .nr_parts = ARRAY_SIZE(bfin_spi_flash_partitions), 456 + .type = "m25p16", 457 + }; 458 + 459 + /* SPI flash chip (m25p64) */ 460 + static struct bfin5xx_spi_chip spi_flash_chip_info = { 461 + .enable_dma = 0, /* use dma transfer with this chip*/ 462 + .bits_per_word = 8, 463 + }; 464 + #endif 465 + 466 + #if defined(CONFIG_SPI_ADC_BF533) \ 467 + || defined(CONFIG_SPI_ADC_BF533_MODULE) 468 + /* SPI ADC chip */ 469 + static struct bfin5xx_spi_chip spi_adc_chip_info = { 470 + .enable_dma = 1, /* use dma transfer with this chip*/ 471 + .bits_per_word = 16, 472 + }; 473 + #endif 474 + 475 + #if defined(CONFIG_SND_BLACKFIN_AD1836) \ 476 + || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) 477 + static struct bfin5xx_spi_chip ad1836_spi_chip_info = { 478 + .enable_dma = 0, 479 + .bits_per_word = 16, 480 + }; 481 + #endif 482 + 483 + #if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) 484 + static struct bfin5xx_spi_chip ad9960_spi_chip_info = { 485 + .enable_dma = 0, 486 + .bits_per_word = 16, 487 + }; 488 + #endif 489 + 490 + #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) 491 + static struct bfin5xx_spi_chip spi_mmc_chip_info = { 492 + .enable_dma = 1, 493 + .bits_per_word = 8, 494 + }; 495 + #endif 496 + 497 + #if defined(CONFIG_PBX) 498 + static struct bfin5xx_spi_chip spi_si3xxx_chip_info = { 499 + .ctl_reg = 0x4, /* send zero */ 500 + .enable_dma = 0, 501 + .bits_per_word = 8, 502 + .cs_change_per_word = 1, 503 + }; 504 + #endif 505 + 506 + #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) 507 + static struct bfin5xx_spi_chip spi_ad7877_chip_info = { 508 + .enable_dma = 0, 509 + .bits_per_word = 16, 510 + }; 511 + 512 + static const struct ad7877_platform_data bfin_ad7877_ts_info = { 513 + .model = 7877, 514 + .vref_delay_usecs = 50, /* internal, no capacitor */ 515 + .x_plate_ohms = 419, 516 + .y_plate_ohms = 486, 517 + .pressure_max = 1000, 518 + .pressure_min = 0, 519 + .stopacq_polarity = 1, 520 + .first_conversion_delay = 3, 521 + .acquisition_time = 1, 522 + .averaging = 1, 523 + .pen_down_acc_interval = 1, 524 + }; 525 + #endif 526 + 527 + #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ 528 + && defined(CONFIG_SND_SOC_WM8731_SPI) 529 + static struct bfin5xx_spi_chip spi_wm8731_chip_info = { 530 + .enable_dma = 0, 531 + .bits_per_word = 16, 532 + }; 533 + #endif 534 + 535 + #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) 536 + static struct bfin5xx_spi_chip spidev_chip_info = { 537 + .enable_dma = 0, 538 + .bits_per_word = 8, 539 + }; 540 + #endif 541 + 542 + static struct spi_board_info bfin_spi_board_info[] __initdata = { 543 + #if defined(CONFIG_MTD_M25P80) \ 544 + || defined(CONFIG_MTD_M25P80_MODULE) 545 + { 546 + /* the modalias must be the same as spi device driver name */ 547 + .modalias = "m25p80", /* Name of spi_driver for this device */ 548 + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ 549 + .bus_num = 0, /* Framework bus number */ 550 + .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/ 551 + .platform_data = &bfin_spi_flash_data, 552 + .controller_data = &spi_flash_chip_info, 553 + .mode = SPI_MODE_3, 554 + }, 555 + #endif 556 + 557 + #if defined(CONFIG_SPI_ADC_BF533) \ 558 + || defined(CONFIG_SPI_ADC_BF533_MODULE) 559 + { 560 + .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ 561 + .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ 562 + .bus_num = 0, /* Framework bus number */ 563 + .chip_select = 1, /* Framework chip select. */ 564 + .platform_data = NULL, /* No spi_driver specific config */ 565 + .controller_data = &spi_adc_chip_info, 566 + }, 567 + #endif 568 + 569 + #if defined(CONFIG_SND_BLACKFIN_AD1836) \ 570 + || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) 571 + { 572 + .modalias = "ad1836-spi", 573 + .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ 574 + .bus_num = 0, 575 + .chip_select = CONFIG_SND_BLACKFIN_SPI_PFBIT, 576 + .controller_data = &ad1836_spi_chip_info, 577 + }, 578 + #endif 579 + #if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) 580 + { 581 + .modalias = "ad9960-spi", 582 + .max_speed_hz = 10000000, /* max spi clock (SCK) speed in HZ */ 583 + .bus_num = 0, 584 + .chip_select = 1, 585 + .controller_data = &ad9960_spi_chip_info, 586 + }, 587 + #endif 588 + #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) 589 + { 590 + .modalias = "spi_mmc_dummy", 591 + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ 592 + .bus_num = 0, 593 + .chip_select = 0, 594 + .platform_data = NULL, 595 + .controller_data = &spi_mmc_chip_info, 596 + .mode = SPI_MODE_3, 597 + }, 598 + { 599 + .modalias = "spi_mmc", 600 + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ 601 + .bus_num = 0, 602 + .chip_select = CONFIG_SPI_MMC_CS_CHAN, 603 + .platform_data = NULL, 604 + .controller_data = &spi_mmc_chip_info, 605 + .mode = SPI_MODE_3, 606 + }, 607 + #endif 608 + #if defined(CONFIG_PBX) 609 + { 610 + .modalias = "fxs-spi", 611 + .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 612 + .bus_num = 0, 613 + .chip_select = 8 - CONFIG_J11_JUMPER, 614 + .controller_data = &spi_si3xxx_chip_info, 615 + .mode = SPI_MODE_3, 616 + }, 617 + { 618 + .modalias = "fxo-spi", 619 + .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 620 + .bus_num = 0, 621 + .chip_select = 8 - CONFIG_J19_JUMPER, 622 + .controller_data = &spi_si3xxx_chip_info, 623 + .mode = SPI_MODE_3, 624 + }, 625 + #endif 626 + #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) 627 + { 628 + .modalias = "ad7877", 629 + .platform_data = &bfin_ad7877_ts_info, 630 + .irq = IRQ_PF8, 631 + .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 632 + .bus_num = 0, 633 + .chip_select = 2, 634 + .controller_data = &spi_ad7877_chip_info, 635 + }, 636 + #endif 637 + #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ 638 + && defined(CONFIG_SND_SOC_WM8731_SPI) 639 + { 640 + .modalias = "wm8731", 641 + .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ 642 + .bus_num = 0, 643 + .chip_select = 5, 644 + .controller_data = &spi_wm8731_chip_info, 645 + .mode = SPI_MODE_0, 646 + }, 647 + #endif 648 + #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) 649 + { 650 + .modalias = "spidev", 651 + .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ 652 + .bus_num = 0, 653 + .chip_select = 1, 654 + .controller_data = &spidev_chip_info, 655 + }, 656 + #endif 657 + }; 658 + 659 + #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) 660 + /* SPI controller data */ 661 + static struct bfin5xx_spi_master bfin_spi0_info = { 662 + .num_chipselect = 8, 663 + .enable_dma = 1, /* master has the ability to do dma transfer */ 664 + .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, 665 + }; 666 + 667 + /* SPI (0) */ 668 + static struct resource bfin_spi0_resource[] = { 669 + [0] = { 670 + .start = SPI0_REGBASE, 671 + .end = SPI0_REGBASE + 0xFF, 672 + .flags = IORESOURCE_MEM, 673 + }, 674 + [1] = { 675 + .start = CH_SPI, 676 + .end = CH_SPI, 677 + .flags = IORESOURCE_IRQ, 678 + }, 679 + }; 680 + 681 + static struct platform_device bfin_spi0_device = { 682 + .name = "bfin-spi", 683 + .id = 0, /* Bus number */ 684 + .num_resources = ARRAY_SIZE(bfin_spi0_resource), 685 + .resource = bfin_spi0_resource, 686 + .dev = { 687 + .platform_data = &bfin_spi0_info, /* Passed to driver */ 688 + }, 689 + }; 690 + #endif /* spi master and devices */ 691 + 692 + #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) 693 + static struct platform_device bfin_fb_adv7393_device = { 694 + .name = "bfin-adv7393", 695 + }; 696 + #endif 697 + 698 + #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 699 + static struct resource bfin_uart_resources[] = { 700 + #ifdef CONFIG_SERIAL_BFIN_UART0 701 + { 702 + .start = 0xFFC00400, 703 + .end = 0xFFC004FF, 704 + .flags = IORESOURCE_MEM, 705 + }, 706 + #endif 707 + #ifdef CONFIG_SERIAL_BFIN_UART1 708 + { 709 + .start = 0xFFC02000, 710 + .end = 0xFFC020FF, 711 + .flags = IORESOURCE_MEM, 712 + }, 713 + #endif 714 + }; 715 + 716 + static struct platform_device bfin_uart_device = { 717 + .name = "bfin-uart", 718 + .id = 1, 719 + .num_resources = ARRAY_SIZE(bfin_uart_resources), 720 + .resource = bfin_uart_resources, 721 + }; 722 + #endif 723 + 724 + #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) 725 + static struct resource bfin_sir_resources[] = { 726 + #ifdef CONFIG_BFIN_SIR0 727 + { 728 + .start = 0xFFC00400, 729 + .end = 0xFFC004FF, 730 + .flags = IORESOURCE_MEM, 731 + }, 732 + #endif 733 + #ifdef CONFIG_BFIN_SIR1 734 + { 735 + .start = 0xFFC02000, 736 + .end = 0xFFC020FF, 737 + .flags = IORESOURCE_MEM, 738 + }, 739 + #endif 740 + }; 741 + 742 + static struct platform_device bfin_sir_device = { 743 + .name = "bfin_sir", 744 + .id = 0, 745 + .num_resources = ARRAY_SIZE(bfin_sir_resources), 746 + .resource = bfin_sir_resources, 747 + }; 748 + #endif 749 + 750 + #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 751 + static struct resource bfin_twi0_resource[] = { 752 + [0] = { 753 + .start = TWI0_REGBASE, 754 + .end = TWI0_REGBASE, 755 + .flags = IORESOURCE_MEM, 756 + }, 757 + [1] = { 758 + .start = IRQ_TWI, 759 + .end = IRQ_TWI, 760 + .flags = IORESOURCE_IRQ, 761 + }, 762 + }; 763 + 764 + static struct platform_device i2c_bfin_twi_device = { 765 + .name = "i2c-bfin-twi", 766 + .id = 0, 767 + .num_resources = ARRAY_SIZE(bfin_twi0_resource), 768 + .resource = bfin_twi0_resource, 769 + }; 770 + #endif 771 + 772 + #ifdef CONFIG_I2C_BOARDINFO 773 + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { 774 + #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) 775 + { 776 + I2C_BOARD_INFO("pcf8574_lcd", 0x22), 777 + .type = "pcf8574_lcd", 778 + }, 779 + #endif 780 + #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) 781 + { 782 + I2C_BOARD_INFO("pcf8574_keypad", 0x27), 783 + .type = "pcf8574_keypad", 784 + .irq = IRQ_PF8, 785 + }, 786 + #endif 787 + }; 788 + #endif 789 + 790 + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 791 + static struct platform_device bfin_sport0_uart_device = { 792 + .name = "bfin-sport-uart", 793 + .id = 0, 794 + }; 795 + 796 + static struct platform_device bfin_sport1_uart_device = { 797 + .name = "bfin-sport-uart", 798 + .id = 1, 799 + }; 800 + #endif 801 + 802 + #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 803 + #define PATA_INT 55 804 + 805 + static struct pata_platform_info bfin_pata_platform_data = { 806 + .ioport_shift = 1, 807 + .irq_type = IRQF_TRIGGER_HIGH | IRQF_DISABLED, 808 + }; 809 + 810 + static struct resource bfin_pata_resources[] = { 811 + { 812 + .start = 0x20314020, 813 + .end = 0x2031403F, 814 + .flags = IORESOURCE_MEM, 815 + }, 816 + { 817 + .start = 0x2031401C, 818 + .end = 0x2031401F, 819 + .flags = IORESOURCE_MEM, 820 + }, 821 + { 822 + .start = PATA_INT, 823 + .end = PATA_INT, 824 + .flags = IORESOURCE_IRQ, 825 + }, 826 + }; 827 + 828 + static struct platform_device bfin_pata_device = { 829 + .name = "pata_platform", 830 + .id = -1, 831 + .num_resources = ARRAY_SIZE(bfin_pata_resources), 832 + .resource = bfin_pata_resources, 833 + .dev = { 834 + .platform_data = &bfin_pata_platform_data, 835 + } 836 + }; 837 + #endif 838 + 839 + #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) 840 + #include <linux/input.h> 841 + #include <linux/gpio_keys.h> 842 + 843 + static struct gpio_keys_button bfin_gpio_keys_table[] = { 844 + {BTN_0, GPIO_PF14, 1, "gpio-keys: BTN0"}, 845 + }; 846 + 847 + static struct gpio_keys_platform_data bfin_gpio_keys_data = { 848 + .buttons = bfin_gpio_keys_table, 849 + .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table), 850 + }; 851 + 852 + static struct platform_device bfin_device_gpiokeys = { 853 + .name = "gpio-keys", 854 + .dev = { 855 + .platform_data = &bfin_gpio_keys_data, 856 + }, 857 + }; 858 + #endif 859 + 860 + static struct resource bfin_gpios_resources = { 861 + .start = 0, 862 + .end = MAX_BLACKFIN_GPIOS - 1, 863 + .flags = IORESOURCE_IRQ, 864 + }; 865 + 866 + static struct platform_device bfin_gpios_device = { 867 + .name = "simple-gpio", 868 + .id = -1, 869 + .num_resources = 1, 870 + .resource = &bfin_gpios_resources, 871 + }; 872 + 873 + static const unsigned int cclk_vlev_datasheet[] = 874 + { 875 + VRPAIR(VLEV_100, 400000000), 876 + VRPAIR(VLEV_105, 426000000), 877 + VRPAIR(VLEV_110, 500000000), 878 + VRPAIR(VLEV_115, 533000000), 879 + VRPAIR(VLEV_120, 600000000), 880 + }; 881 + 882 + static struct bfin_dpmc_platform_data bfin_dmpc_vreg_data = { 883 + .tuple_tab = cclk_vlev_datasheet, 884 + .tabsize = ARRAY_SIZE(cclk_vlev_datasheet), 885 + .vr_settling_time = 25 /* us */, 886 + }; 887 + 888 + static struct platform_device bfin_dpmc = { 889 + .name = "bfin dpmc", 890 + .dev = { 891 + .platform_data = &bfin_dmpc_vreg_data, 892 + }, 893 + }; 894 + 895 + static struct platform_device *stamp_devices[] __initdata = { 896 + 897 + &bfin_dpmc, 898 + 899 + #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) 900 + &bf5xx_nand_device, 901 + #endif 902 + 903 + #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 904 + &bfin_pcmcia_cf_device, 905 + #endif 906 + 907 + #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) 908 + &rtc_device, 909 + #endif 910 + 911 + #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) 912 + &sl811_hcd_device, 913 + #endif 914 + 915 + #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 916 + &isp1362_hcd_device, 917 + #endif 918 + 919 + #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) 920 + &musb_device, 921 + #endif 922 + 923 + #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) 924 + &smc91x_device, 925 + #endif 926 + 927 + #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) 928 + &dm9000_device, 929 + #endif 930 + 931 + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) 932 + &bfin_mac_device, 933 + #endif 934 + 935 + #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) 936 + &net2272_bfin_device, 937 + #endif 938 + 939 + #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) 940 + &bfin_spi0_device, 941 + #endif 942 + 943 + #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) 944 + &bfin_fb_adv7393_device, 945 + #endif 946 + 947 + #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 948 + &bfin_uart_device, 949 + #endif 950 + 951 + #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) 952 + &bfin_sir_device, 953 + #endif 954 + 955 + #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) 956 + &i2c_bfin_twi_device, 957 + #endif 958 + 959 + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) 960 + &bfin_sport0_uart_device, 961 + &bfin_sport1_uart_device, 962 + #endif 963 + 964 + #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 965 + &bfin_pata_device, 966 + #endif 967 + 968 + #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) 969 + &bfin_device_gpiokeys, 970 + #endif 971 + 972 + #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) 973 + &ezkit_flash_device, 974 + #endif 975 + 976 + &bfin_gpios_device, 977 + }; 978 + 979 + static int __init stamp_init(void) 980 + { 981 + printk(KERN_INFO "%s(): registering device resources\n", __func__); 982 + 983 + #ifdef CONFIG_I2C_BOARDINFO 984 + i2c_register_board_info(0, bfin_i2c_board_info, 985 + ARRAY_SIZE(bfin_i2c_board_info)); 986 + #endif 987 + 988 + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); 989 + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); 990 + 991 + #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 992 + irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; 993 + #endif 994 + return 0; 995 + } 996 + 997 + arch_initcall(stamp_init); 998 + 999 + void native_machine_restart(char *cmd) 1000 + { 1001 + /* workaround reboot hang when booting from SPI */ 1002 + if ((bfin_read_SYSCR() & 0x7) == 0x3) 1003 + bfin_gpio_reset_spi0_ssel1(); 1004 + } 1005 + 1006 + void bfin_get_ether_addr(char *addr) 1007 + { 1008 + random_ether_addr(addr); 1009 + printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__); 1010 + } 1011 + EXPORT_SYMBOL(bfin_get_ether_addr);
+3 -9
arch/blackfin/mach-bf527/head.S
··· 32 32 #include <asm/blackfin.h> 33 33 #include <asm/trace.h> 34 34 35 - #if CONFIG_BFIN_KERNEL_CLOCK 35 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 36 36 #include <asm/mach-common/clocks.h> 37 37 #include <asm/mach/mem_init.h> 38 38 #endif ··· 185 185 186 186 /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ 187 187 call _bf53x_relocate_l1_mem; 188 - #if CONFIG_BFIN_KERNEL_CLOCK 188 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 189 189 call _start_dma_code; 190 190 #endif 191 191 ··· 318 318 __FINIT 319 319 320 320 .section .l1.text 321 - #if CONFIG_BFIN_KERNEL_CLOCK 321 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 322 322 ENTRY(_start_dma_code) 323 323 324 324 /* Enable PHY CLK buffer output */ ··· 395 395 p0.l = lo(EBIU_SDRRC); 396 396 p0.h = hi(EBIU_SDRRC); 397 397 r0 = mem_SDRRC; 398 - w[p0] = r0.l; 399 - ssync; 400 - 401 - p0.l = LO(EBIU_SDBCTL); 402 - p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ 403 - r0 = mem_SDBCTL; 404 398 w[p0] = r0.l; 405 399 ssync; 406 400
+3 -9
arch/blackfin/mach-bf533/head.S
··· 31 31 #include <linux/init.h> 32 32 #include <asm/blackfin.h> 33 33 #include <asm/trace.h> 34 - #if CONFIG_BFIN_KERNEL_CLOCK 34 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 35 35 #include <asm/mach-common/clocks.h> 36 36 #include <asm/mach/mem_init.h> 37 37 #endif ··· 186 186 187 187 /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ 188 188 call _bf53x_relocate_l1_mem; 189 - #if CONFIG_BFIN_KERNEL_CLOCK 189 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 190 190 call _start_dma_code; 191 191 #endif 192 192 ··· 319 319 __FINIT 320 320 321 321 .section .l1.text 322 - #if CONFIG_BFIN_KERNEL_CLOCK 322 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 323 323 ENTRY(_start_dma_code) 324 324 p0.h = hi(SIC_IWR); 325 325 p0.l = lo(SIC_IWR); ··· 387 387 p0.l = lo(EBIU_SDRRC); 388 388 p0.h = hi(EBIU_SDRRC); 389 389 r0 = mem_SDRRC; 390 - w[p0] = r0.l; 391 - ssync; 392 - 393 - p0.l = LO(EBIU_SDBCTL); 394 - p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ 395 - r0 = mem_SDBCTL; 396 390 w[p0] = r0.l; 397 391 ssync; 398 392
+87 -1
arch/blackfin/mach-bf537/boards/stamp.c
··· 29 29 */ 30 30 31 31 #include <linux/device.h> 32 + #include <linux/kernel.h> 32 33 #include <linux/platform_device.h> 33 34 #include <linux/mtd/mtd.h> 35 + #include <linux/mtd/nand.h> 34 36 #include <linux/mtd/partitions.h> 37 + #include <linux/mtd/plat-ram.h> 35 38 #include <linux/mtd/physmap.h> 36 39 #include <linux/spi/spi.h> 37 40 #include <linux/spi/flash.h> ··· 356 353 .num_resources = ARRAY_SIZE(net2272_bfin_resources), 357 354 .resource = net2272_bfin_resources, 358 355 }; 356 + #endif 357 + 358 + #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) 359 + #ifdef CONFIG_MTD_PARTITIONS 360 + const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL }; 361 + 362 + static struct mtd_partition bfin_plat_nand_partitions[] = { 363 + { 364 + .name = "linux kernel", 365 + .size = 0x400000, 366 + .offset = 0, 367 + }, { 368 + .name = "file system", 369 + .size = MTDPART_SIZ_FULL, 370 + .offset = MTDPART_OFS_APPEND, 371 + }, 372 + }; 373 + #endif 374 + 375 + #define BFIN_NAND_PLAT_CLE 2 376 + #define BFIN_NAND_PLAT_ALE 1 377 + static void bfin_plat_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) 378 + { 379 + struct nand_chip *this = mtd->priv; 380 + 381 + if (cmd == NAND_CMD_NONE) 382 + return; 383 + 384 + if (ctrl & NAND_CLE) 385 + writeb(cmd, this->IO_ADDR_W + (1 << BFIN_NAND_PLAT_CLE)); 386 + else 387 + writeb(cmd, this->IO_ADDR_W + (1 << BFIN_NAND_PLAT_ALE)); 388 + } 389 + 390 + #define BFIN_NAND_PLAT_READY GPIO_PF3 391 + static int bfin_plat_nand_dev_ready(struct mtd_info *mtd) 392 + { 393 + return gpio_get_value(BFIN_NAND_PLAT_READY); 394 + } 395 + 396 + static struct platform_nand_data bfin_plat_nand_data = { 397 + .chip = { 398 + .chip_delay = 30, 399 + #ifdef CONFIG_MTD_PARTITIONS 400 + .part_probe_types = part_probes, 401 + .partitions = bfin_plat_nand_partitions, 402 + .nr_partitions = ARRAY_SIZE(bfin_plat_nand_partitions), 403 + #endif 404 + }, 405 + .ctrl = { 406 + .cmd_ctrl = bfin_plat_nand_cmd_ctrl, 407 + .dev_ready = bfin_plat_nand_dev_ready, 408 + }, 409 + }; 410 + 411 + #define MAX(x, y) (x > y ? x : y) 412 + static struct resource bfin_plat_nand_resources = { 413 + .start = 0x20212000, 414 + .end = 0x20212000 + (1 << MAX(BFIN_NAND_PLAT_CLE, BFIN_NAND_PLAT_ALE)), 415 + .flags = IORESOURCE_IO, 416 + }; 417 + 418 + static struct platform_device bfin_async_nand_device = { 419 + .name = "gen_nand", 420 + .id = -1, 421 + .num_resources = 1, 422 + .resource = &bfin_plat_nand_resources, 423 + .dev = { 424 + .platform_data = &bfin_plat_nand_data, 425 + }, 426 + }; 427 + 428 + static void bfin_plat_nand_init(void) 429 + { 430 + gpio_request(BFIN_NAND_PLAT_READY, "bfin_nand_plat"); 431 + } 432 + #else 433 + static void bfin_plat_nand_init(void) {} 359 434 #endif 360 435 361 436 #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) ··· 861 780 #endif 862 781 863 782 #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) 864 - #define PATA_INT 55 783 + #define PATA_INT IRQ_PF5 865 784 866 785 static struct pata_platform_info bfin_pata_platform_data = { 867 786 .ioport_shift = 1, ··· 1003 922 1004 923 &bfin_gpios_device, 1005 924 925 + #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) 926 + &bfin_async_nand_device, 927 + #endif 928 + 1006 929 #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) 1007 930 &stamp_flash_device, 1008 931 #endif ··· 1021 936 ARRAY_SIZE(bfin_i2c_board_info)); 1022 937 #endif 1023 938 939 + bfin_plat_nand_init(); 1024 940 platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); 1025 941 spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); 1026 942
+3 -9
arch/blackfin/mach-bf537/head.S
··· 32 32 #include <asm/blackfin.h> 33 33 #include <asm/trace.h> 34 34 35 - #if CONFIG_BFIN_KERNEL_CLOCK 35 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 36 36 #include <asm/mach-common/clocks.h> 37 37 #include <asm/mach/mem_init.h> 38 38 #endif ··· 217 217 218 218 /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ 219 219 call _bf53x_relocate_l1_mem; 220 - #if CONFIG_BFIN_KERNEL_CLOCK 220 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 221 221 call _start_dma_code; 222 222 #endif 223 223 ··· 350 350 __FINIT 351 351 352 352 .section .l1.text 353 - #if CONFIG_BFIN_KERNEL_CLOCK 353 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 354 354 ENTRY(_start_dma_code) 355 355 356 356 /* Enable PHY CLK buffer output */ ··· 427 427 p0.l = lo(EBIU_SDRRC); 428 428 p0.h = hi(EBIU_SDRRC); 429 429 r0 = mem_SDRRC; 430 - w[p0] = r0.l; 431 - ssync; 432 - 433 - p0.l = LO(EBIU_SDBCTL); 434 - p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ 435 - r0 = mem_SDBCTL; 436 430 w[p0] = r0.l; 437 431 ssync; 438 432
+44
arch/blackfin/mach-bf548/boards/ezkit.c
··· 61 61 * Driver needs to know address, irq and flag pin. 62 62 */ 63 63 64 + #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) 65 + static struct resource bfin_isp1761_resources[] = { 66 + [0] = { 67 + .name = "isp1761-regs", 68 + .start = 0x2C0C0000, 69 + .end = 0x2C0C0000 + 0xfffff, 70 + .flags = IORESOURCE_MEM, 71 + }, 72 + [1] = { 73 + .start = IRQ_PG7, 74 + .end = IRQ_PG7, 75 + .flags = IORESOURCE_IRQ, 76 + }, 77 + }; 78 + 79 + static struct platform_device bfin_isp1761_device = { 80 + .name = "isp1761", 81 + .id = 0, 82 + .num_resources = ARRAY_SIZE(bfin_isp1761_resources), 83 + .resource = bfin_isp1761_resources, 84 + }; 85 + 86 + static struct platform_device *bfin_isp1761_devices[] = { 87 + &bfin_isp1761_device, 88 + }; 89 + 90 + int __init bfin_isp1761_init(void) 91 + { 92 + unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); 93 + 94 + printk(KERN_INFO "%s(): registering device resources\n", __func__); 95 + set_irq_type(bfin_isp1761_resources[1].start, IRQF_TRIGGER_FALLING); 96 + 97 + return platform_add_devices(bfin_isp1761_devices, num_devices); 98 + } 99 + 100 + void __exit bfin_isp1761_exit(void) 101 + { 102 + platform_device_unregister(&bfin_isp1761_device); 103 + } 104 + arch_initcall(bfin_isp1761_init); 105 + #endif 106 + 64 107 #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) 65 108 66 109 #include <asm/mach/bf54x-lq043.h> ··· 220 177 { 221 178 .start = 0xFFC03100, 222 179 .end = 0xFFC031FF, 180 + .flags = IORESOURCE_MEM, 223 181 }, 224 182 #endif 225 183 };
+3 -3
arch/blackfin/mach-bf548/head.S
··· 31 31 #include <linux/init.h> 32 32 #include <asm/blackfin.h> 33 33 #include <asm/trace.h> 34 - #if CONFIG_BFIN_KERNEL_CLOCK 34 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 35 35 #include <asm/mach-common/clocks.h> 36 36 #include <asm/mach/mem_init.h> 37 37 #endif ··· 130 130 131 131 /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ 132 132 call _bf53x_relocate_l1_mem; 133 - #if CONFIG_BFIN_KERNEL_CLOCK 133 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 134 134 call _start_dma_code; 135 135 #endif 136 136 /* Code for initializing Async memory banks */ ··· 288 288 __FINIT 289 289 290 290 .section .l1.text 291 - #if CONFIG_BFIN_KERNEL_CLOCK 291 + #ifdef CONFIG_BFIN_KERNEL_CLOCK 292 292 ENTRY(_start_dma_code) 293 293 294 294 /* Enable PHY CLK buffer output */
-6
arch/blackfin/mach-bf561/head.S
··· 377 377 w[p0] = r0.l; 378 378 ssync; 379 379 380 - p0.l = LO(EBIU_SDBCTL); 381 - p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ 382 - r0 = mem_SDBCTL; 383 - w[p0] = r0.l; 384 - ssync; 385 - 386 380 P2.H = hi(EBIU_SDGCTL); 387 381 P2.L = lo(EBIU_SDGCTL); 388 382 R0 = [P2];
-6
arch/blackfin/mach-common/arch_checks.c
··· 53 53 # endif 54 54 55 55 #endif /* CONFIG_BFIN_KERNEL_CLOCK */ 56 - 57 - #ifdef CONFIG_MEM_SIZE 58 - #if (CONFIG_MEM_SIZE % 4) 59 - #error "SDRAM mem size must be multible of 4MB" 60 - #endif 61 - #endif
+574 -39
arch/blackfin/mach-common/dpmc_modes.S
··· 7 7 #include <linux/linkage.h> 8 8 #include <asm/blackfin.h> 9 9 #include <asm/mach/irq.h> 10 - 10 + #include <asm/dpmc.h> 11 11 12 12 .section .l1.text 13 13 ··· 51 51 RETS = [SP++]; 52 52 ( R7:0, P5:0 ) = [SP++]; 53 53 RTS; 54 + ENDPROC(_sleep_mode) 54 55 55 56 ENTRY(_hibernate_mode) 56 57 [--SP] = ( R7:0, P5:0 ); 57 58 [--SP] = RETS; 58 59 60 + R3 = R0; 61 + R0 = IWR_DISABLE_ALL; 62 + R1 = IWR_DISABLE_ALL; 63 + R2 = IWR_DISABLE_ALL; 59 64 call _set_sic_iwr; 65 + call _set_dram_srfs; 66 + SSYNC; 60 67 61 68 R0 = 0xFFFF (Z); 62 69 call _set_rtc_istat; 63 70 64 71 P0.H = hi(VR_CTL); 65 72 P0.L = lo(VR_CTL); 66 - R1 = W[P0](z); 67 - BITSET (R1, 8); 68 - BITCLR (R1, 0); 69 - BITCLR (R1, 1); 70 - W[P0] = R1.L; 71 - SSYNC; 72 73 74 + W[P0] = R3.L; 73 75 CLI R2; 74 76 IDLE; 75 - 76 - /* Actually, adding anything may not be necessary...SDRAM contents 77 - * are lost 78 - */ 77 + .Lforever: 78 + jump .Lforever; 79 + ENDPROC(_hibernate_mode) 79 80 80 81 ENTRY(_deep_sleep) 81 82 [--SP] = ( R7:0, P5:0 ); ··· 132 131 RETS = [SP++]; 133 132 ( R7:0, P5:0 ) = [SP++]; 134 133 RTS; 134 + ENDPROC(_deep_sleep) 135 135 136 136 ENTRY(_sleep_deeper) 137 137 [--SP] = ( R7:0, P5:0 ); ··· 234 232 RETS = [SP++]; 235 233 ( R7:0, P5:0 ) = [SP++]; 236 234 RTS; 235 + ENDPROC(_sleep_deeper) 237 236 238 237 ENTRY(_set_dram_srfs) 239 238 /* set the dram to self refresh mode */ 240 - #if defined(CONFIG_BF54x) 239 + SSYNC; 240 + #if defined(EBIU_RSTCTL) /* DDR */ 241 241 P0.H = hi(EBIU_RSTCTL); 242 242 P0.L = lo(EBIU_RSTCTL); 243 243 R2 = [P0]; 244 - R3.H = hi(SRREQ); 245 - R3.L = lo(SRREQ); 246 - #else 247 - P0.H = hi(EBIU_SDGCTL); 248 - P0.L = lo(EBIU_SDGCTL); 249 - R2 = [P0]; 250 - R3.H = hi(SRFS); 251 - R3.L = lo(SRFS); 252 - #endif 253 - R2 = R2|R3; 244 + BITSET(R2, 3); /* SRREQ enter self-refresh mode */ 254 245 [P0] = R2; 255 - ssync; 256 - #if defined(CONFIG_BF54x) 257 - .LSRR_MODE: 246 + SSYNC; 247 + 1: 258 248 R2 = [P0]; 259 249 CC = BITTST(R2, 4); 260 - if !CC JUMP .LSRR_MODE; 250 + if !CC JUMP 1b; 251 + #else /* SDRAM */ 252 + P0.L = lo(EBIU_SDGCTL); 253 + P0.H = hi(EBIU_SDGCTL); 254 + R2 = [P0]; 255 + BITSET(R2, 24); /* SRFS enter self-refresh mode */ 256 + [P0] = R2; 257 + SSYNC; 258 + 259 + P0.L = lo(EBIU_SDSTAT); 260 + P0.H = hi(EBIU_SDSTAT); 261 + 1: 262 + R2 = w[P0]; 263 + SSYNC; 264 + cc = BITTST(R2, 1); /* SDSRA poll self-refresh status */ 265 + if !cc jump 1b; 266 + 267 + P0.L = lo(EBIU_SDGCTL); 268 + P0.H = hi(EBIU_SDGCTL); 269 + R2 = [P0]; 270 + BITCLR(R2, 0); /* SCTLE disable CLKOUT */ 271 + [P0] = R2; 261 272 #endif 262 273 RTS; 274 + ENDPROC(_set_dram_srfs) 263 275 264 276 ENTRY(_unset_dram_srfs) 265 277 /* set the dram out of self refresh mode */ 266 - #if defined(CONFIG_BF54x) 278 + #if defined(EBIU_RSTCTL) /* DDR */ 267 279 P0.H = hi(EBIU_RSTCTL); 268 280 P0.L = lo(EBIU_RSTCTL); 269 281 R2 = [P0]; 270 - R3.H = hi(SRREQ); 271 - R3.L = lo(SRREQ); 272 - #else 273 - P0.H = hi(EBIU_SDGCTL); 274 - P0.L = lo(EBIU_SDGCTL); 275 - R2 = [P0]; 276 - R3.H = hi(SRFS); 277 - R3.L = lo(SRFS); 278 - #endif 279 - R3 = ~R3; 280 - R2 = R2&R3; 282 + BITCLR(R2, 3); /* clear SRREQ bit */ 281 283 [P0] = R2; 282 - ssync; 284 + #elif defined(EBIU_SDGCTL) /* SDRAM */ 285 + 286 + P0.L = lo(EBIU_SDGCTL); /* release CLKOUT from self-refresh */ 287 + P0.H = hi(EBIU_SDGCTL); 288 + R2 = [P0]; 289 + BITSET(R2, 0); /* SCTLE enable CLKOUT */ 290 + [P0] = R2 291 + SSYNC; 292 + 293 + P0.L = lo(EBIU_SDGCTL); /* release SDRAM from self-refresh */ 294 + P0.H = hi(EBIU_SDGCTL); 295 + R2 = [P0]; 296 + BITCLR(R2, 24); /* clear SRFS bit */ 297 + [P0] = R2 298 + #endif 299 + SSYNC; 283 300 RTS; 301 + ENDPROC(_unset_dram_srfs) 284 302 285 303 ENTRY(_set_sic_iwr) 286 304 #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) ··· 322 300 323 301 SSYNC; 324 302 RTS; 303 + ENDPROC(_set_sic_iwr) 325 304 326 305 ENTRY(_set_rtc_istat) 327 306 #ifndef CONFIG_BF561 ··· 330 307 P0.L = lo(RTC_ISTAT); 331 308 w[P0] = R0.L; 332 309 SSYNC; 310 + #elif (ANOMALY_05000371) 311 + nop; 312 + nop; 313 + nop; 314 + nop; 333 315 #endif 334 316 RTS; 317 + ENDPROC(_set_rtc_istat) 335 318 336 319 ENTRY(_test_pll_locked) 337 320 P0.H = hi(PLL_STAT); ··· 347 318 CC = BITTST(R0,5); 348 319 IF !CC JUMP 1b; 349 320 RTS; 321 + ENDPROC(_test_pll_locked) 322 + 323 + .section .text 324 + 325 + ENTRY(_do_hibernate) 326 + [--SP] = ( R7:0, P5:0 ); 327 + [--SP] = RETS; 328 + /* Save System MMRs */ 329 + R2 = R0; 330 + P0.H = hi(PLL_CTL); 331 + P0.L = lo(PLL_CTL); 332 + 333 + #ifdef SIC_IMASK0 334 + PM_SYS_PUSH(SIC_IMASK0) 335 + #endif 336 + #ifdef SIC_IMASK1 337 + PM_SYS_PUSH(SIC_IMASK1) 338 + #endif 339 + #ifdef SIC_IMASK2 340 + PM_SYS_PUSH(SIC_IMASK2) 341 + #endif 342 + #ifdef SIC_IMASK 343 + PM_SYS_PUSH(SIC_IMASK) 344 + #endif 345 + #ifdef SICA_IMASK0 346 + PM_SYS_PUSH(SICA_IMASK0) 347 + #endif 348 + #ifdef SICA_IMASK1 349 + PM_SYS_PUSH(SICA_IMASK1) 350 + #endif 351 + #ifdef SIC_IAR2 352 + PM_SYS_PUSH(SIC_IAR0) 353 + PM_SYS_PUSH(SIC_IAR1) 354 + PM_SYS_PUSH(SIC_IAR2) 355 + #endif 356 + #ifdef SIC_IAR3 357 + PM_SYS_PUSH(SIC_IAR3) 358 + #endif 359 + #ifdef SIC_IAR4 360 + PM_SYS_PUSH(SIC_IAR4) 361 + PM_SYS_PUSH(SIC_IAR5) 362 + PM_SYS_PUSH(SIC_IAR6) 363 + #endif 364 + #ifdef SIC_IAR7 365 + PM_SYS_PUSH(SIC_IAR7) 366 + #endif 367 + #ifdef SIC_IAR8 368 + PM_SYS_PUSH(SIC_IAR8) 369 + PM_SYS_PUSH(SIC_IAR9) 370 + PM_SYS_PUSH(SIC_IAR10) 371 + PM_SYS_PUSH(SIC_IAR11) 372 + #endif 373 + 374 + #ifdef SICA_IAR0 375 + PM_SYS_PUSH(SICA_IAR0) 376 + PM_SYS_PUSH(SICA_IAR1) 377 + PM_SYS_PUSH(SICA_IAR2) 378 + PM_SYS_PUSH(SICA_IAR3) 379 + PM_SYS_PUSH(SICA_IAR4) 380 + PM_SYS_PUSH(SICA_IAR5) 381 + PM_SYS_PUSH(SICA_IAR6) 382 + PM_SYS_PUSH(SICA_IAR7) 383 + #endif 384 + 385 + #ifdef SIC_IWR 386 + PM_SYS_PUSH(SIC_IWR) 387 + #endif 388 + #ifdef SIC_IWR0 389 + PM_SYS_PUSH(SIC_IWR0) 390 + #endif 391 + #ifdef SIC_IWR1 392 + PM_SYS_PUSH(SIC_IWR1) 393 + #endif 394 + #ifdef SIC_IWR2 395 + PM_SYS_PUSH(SIC_IWR2) 396 + #endif 397 + #ifdef SICA_IWR0 398 + PM_SYS_PUSH(SICA_IWR0) 399 + #endif 400 + #ifdef SICA_IWR1 401 + PM_SYS_PUSH(SICA_IWR1) 402 + #endif 403 + 404 + #ifdef PINT0_ASSIGN 405 + PM_SYS_PUSH(PINT0_ASSIGN) 406 + PM_SYS_PUSH(PINT1_ASSIGN) 407 + PM_SYS_PUSH(PINT2_ASSIGN) 408 + PM_SYS_PUSH(PINT3_ASSIGN) 409 + #endif 410 + 411 + PM_SYS_PUSH(EBIU_AMBCTL0) 412 + PM_SYS_PUSH(EBIU_AMBCTL1) 413 + PM_SYS_PUSH16(EBIU_AMGCTL) 414 + 415 + #ifdef EBIU_FCTL 416 + PM_SYS_PUSH(EBIU_MBSCTL) 417 + PM_SYS_PUSH(EBIU_MODE) 418 + PM_SYS_PUSH(EBIU_FCTL) 419 + #endif 420 + 421 + PM_SYS_PUSH16(SYSCR) 422 + 423 + /* Save Core MMRs */ 424 + P0.H = hi(SRAM_BASE_ADDRESS); 425 + P0.L = lo(SRAM_BASE_ADDRESS); 426 + 427 + PM_PUSH(DMEM_CONTROL) 428 + PM_PUSH(DCPLB_ADDR0) 429 + PM_PUSH(DCPLB_ADDR1) 430 + PM_PUSH(DCPLB_ADDR2) 431 + PM_PUSH(DCPLB_ADDR3) 432 + PM_PUSH(DCPLB_ADDR4) 433 + PM_PUSH(DCPLB_ADDR5) 434 + PM_PUSH(DCPLB_ADDR6) 435 + PM_PUSH(DCPLB_ADDR7) 436 + PM_PUSH(DCPLB_ADDR8) 437 + PM_PUSH(DCPLB_ADDR9) 438 + PM_PUSH(DCPLB_ADDR10) 439 + PM_PUSH(DCPLB_ADDR11) 440 + PM_PUSH(DCPLB_ADDR12) 441 + PM_PUSH(DCPLB_ADDR13) 442 + PM_PUSH(DCPLB_ADDR14) 443 + PM_PUSH(DCPLB_ADDR15) 444 + PM_PUSH(DCPLB_DATA0) 445 + PM_PUSH(DCPLB_DATA1) 446 + PM_PUSH(DCPLB_DATA2) 447 + PM_PUSH(DCPLB_DATA3) 448 + PM_PUSH(DCPLB_DATA4) 449 + PM_PUSH(DCPLB_DATA5) 450 + PM_PUSH(DCPLB_DATA6) 451 + PM_PUSH(DCPLB_DATA7) 452 + PM_PUSH(DCPLB_DATA8) 453 + PM_PUSH(DCPLB_DATA9) 454 + PM_PUSH(DCPLB_DATA10) 455 + PM_PUSH(DCPLB_DATA11) 456 + PM_PUSH(DCPLB_DATA12) 457 + PM_PUSH(DCPLB_DATA13) 458 + PM_PUSH(DCPLB_DATA14) 459 + PM_PUSH(DCPLB_DATA15) 460 + PM_PUSH(IMEM_CONTROL) 461 + PM_PUSH(ICPLB_ADDR0) 462 + PM_PUSH(ICPLB_ADDR1) 463 + PM_PUSH(ICPLB_ADDR2) 464 + PM_PUSH(ICPLB_ADDR3) 465 + PM_PUSH(ICPLB_ADDR4) 466 + PM_PUSH(ICPLB_ADDR5) 467 + PM_PUSH(ICPLB_ADDR6) 468 + PM_PUSH(ICPLB_ADDR7) 469 + PM_PUSH(ICPLB_ADDR8) 470 + PM_PUSH(ICPLB_ADDR9) 471 + PM_PUSH(ICPLB_ADDR10) 472 + PM_PUSH(ICPLB_ADDR11) 473 + PM_PUSH(ICPLB_ADDR12) 474 + PM_PUSH(ICPLB_ADDR13) 475 + PM_PUSH(ICPLB_ADDR14) 476 + PM_PUSH(ICPLB_ADDR15) 477 + PM_PUSH(ICPLB_DATA0) 478 + PM_PUSH(ICPLB_DATA1) 479 + PM_PUSH(ICPLB_DATA2) 480 + PM_PUSH(ICPLB_DATA3) 481 + PM_PUSH(ICPLB_DATA4) 482 + PM_PUSH(ICPLB_DATA5) 483 + PM_PUSH(ICPLB_DATA6) 484 + PM_PUSH(ICPLB_DATA7) 485 + PM_PUSH(ICPLB_DATA8) 486 + PM_PUSH(ICPLB_DATA9) 487 + PM_PUSH(ICPLB_DATA10) 488 + PM_PUSH(ICPLB_DATA11) 489 + PM_PUSH(ICPLB_DATA12) 490 + PM_PUSH(ICPLB_DATA13) 491 + PM_PUSH(ICPLB_DATA14) 492 + PM_PUSH(ICPLB_DATA15) 493 + PM_PUSH(EVT0) 494 + PM_PUSH(EVT1) 495 + PM_PUSH(EVT2) 496 + PM_PUSH(EVT3) 497 + PM_PUSH(EVT4) 498 + PM_PUSH(EVT5) 499 + PM_PUSH(EVT6) 500 + PM_PUSH(EVT7) 501 + PM_PUSH(EVT8) 502 + PM_PUSH(EVT9) 503 + PM_PUSH(EVT10) 504 + PM_PUSH(EVT11) 505 + PM_PUSH(EVT12) 506 + PM_PUSH(EVT13) 507 + PM_PUSH(EVT14) 508 + PM_PUSH(EVT15) 509 + PM_PUSH(IMASK) 510 + PM_PUSH(ILAT) 511 + PM_PUSH(IPRIO) 512 + PM_PUSH(TCNTL) 513 + PM_PUSH(TPERIOD) 514 + PM_PUSH(TSCALE) 515 + PM_PUSH(TCOUNT) 516 + PM_PUSH(TBUFCTL) 517 + 518 + /* Save Core Registers */ 519 + [--sp] = SYSCFG; 520 + [--sp] = ( R7:0, P5:0 ); 521 + [--sp] = fp; 522 + [--sp] = usp; 523 + 524 + [--sp] = i0; 525 + [--sp] = i1; 526 + [--sp] = i2; 527 + [--sp] = i3; 528 + 529 + [--sp] = m0; 530 + [--sp] = m1; 531 + [--sp] = m2; 532 + [--sp] = m3; 533 + 534 + [--sp] = l0; 535 + [--sp] = l1; 536 + [--sp] = l2; 537 + [--sp] = l3; 538 + 539 + [--sp] = b0; 540 + [--sp] = b1; 541 + [--sp] = b2; 542 + [--sp] = b3; 543 + [--sp] = a0.x; 544 + [--sp] = a0.w; 545 + [--sp] = a1.x; 546 + [--sp] = a1.w; 547 + 548 + [--sp] = LC0; 549 + [--sp] = LC1; 550 + [--sp] = LT0; 551 + [--sp] = LT1; 552 + [--sp] = LB0; 553 + [--sp] = LB1; 554 + 555 + [--sp] = ASTAT; 556 + [--sp] = CYCLES; 557 + [--sp] = CYCLES2; 558 + 559 + [--sp] = RETS; 560 + r0 = RETI; 561 + [--sp] = r0; 562 + [--sp] = RETX; 563 + [--sp] = RETN; 564 + [--sp] = RETE; 565 + [--sp] = SEQSTAT; 566 + 567 + /* Save Magic, return address and Stack Pointer */ 568 + P0.H = 0; 569 + P0.L = 0; 570 + R0.H = 0xDEAD; /* Hibernate Magic */ 571 + R0.L = 0xBEEF; 572 + [P0++] = R0; /* Store Hibernate Magic */ 573 + R0.H = .Lpm_resume_here; 574 + R0.L = .Lpm_resume_here; 575 + [P0++] = R0; /* Save Return Address */ 576 + [P0++] = SP; /* Save Stack Pointer */ 577 + P0.H = _hibernate_mode; 578 + P0.L = _hibernate_mode; 579 + R0 = R2; 580 + call (P0); /* Goodbye */ 581 + 582 + .Lpm_resume_here: 583 + 584 + /* Restore Core Registers */ 585 + SEQSTAT = [sp++]; 586 + RETE = [sp++]; 587 + RETN = [sp++]; 588 + RETX = [sp++]; 589 + r0 = [sp++]; 590 + RETI = r0; 591 + RETS = [sp++]; 592 + 593 + CYCLES2 = [sp++]; 594 + CYCLES = [sp++]; 595 + ASTAT = [sp++]; 596 + 597 + LB1 = [sp++]; 598 + LB0 = [sp++]; 599 + LT1 = [sp++]; 600 + LT0 = [sp++]; 601 + LC1 = [sp++]; 602 + LC0 = [sp++]; 603 + 604 + a1.w = [sp++]; 605 + a1.x = [sp++]; 606 + a0.w = [sp++]; 607 + a0.x = [sp++]; 608 + b3 = [sp++]; 609 + b2 = [sp++]; 610 + b1 = [sp++]; 611 + b0 = [sp++]; 612 + 613 + l3 = [sp++]; 614 + l2 = [sp++]; 615 + l1 = [sp++]; 616 + l0 = [sp++]; 617 + 618 + m3 = [sp++]; 619 + m2 = [sp++]; 620 + m1 = [sp++]; 621 + m0 = [sp++]; 622 + 623 + i3 = [sp++]; 624 + i2 = [sp++]; 625 + i1 = [sp++]; 626 + i0 = [sp++]; 627 + 628 + usp = [sp++]; 629 + fp = [sp++]; 630 + 631 + ( R7 : 0, P5 : 0) = [ SP ++ ]; 632 + SYSCFG = [sp++]; 633 + 634 + /* Restore Core MMRs */ 635 + 636 + PM_POP(TBUFCTL) 637 + PM_POP(TCOUNT) 638 + PM_POP(TSCALE) 639 + PM_POP(TPERIOD) 640 + PM_POP(TCNTL) 641 + PM_POP(IPRIO) 642 + PM_POP(ILAT) 643 + PM_POP(IMASK) 644 + PM_POP(EVT15) 645 + PM_POP(EVT14) 646 + PM_POP(EVT13) 647 + PM_POP(EVT12) 648 + PM_POP(EVT11) 649 + PM_POP(EVT10) 650 + PM_POP(EVT9) 651 + PM_POP(EVT8) 652 + PM_POP(EVT7) 653 + PM_POP(EVT6) 654 + PM_POP(EVT5) 655 + PM_POP(EVT4) 656 + PM_POP(EVT3) 657 + PM_POP(EVT2) 658 + PM_POP(EVT1) 659 + PM_POP(EVT0) 660 + PM_POP(ICPLB_DATA15) 661 + PM_POP(ICPLB_DATA14) 662 + PM_POP(ICPLB_DATA13) 663 + PM_POP(ICPLB_DATA12) 664 + PM_POP(ICPLB_DATA11) 665 + PM_POP(ICPLB_DATA10) 666 + PM_POP(ICPLB_DATA9) 667 + PM_POP(ICPLB_DATA8) 668 + PM_POP(ICPLB_DATA7) 669 + PM_POP(ICPLB_DATA6) 670 + PM_POP(ICPLB_DATA5) 671 + PM_POP(ICPLB_DATA4) 672 + PM_POP(ICPLB_DATA3) 673 + PM_POP(ICPLB_DATA2) 674 + PM_POP(ICPLB_DATA1) 675 + PM_POP(ICPLB_DATA0) 676 + PM_POP(ICPLB_ADDR15) 677 + PM_POP(ICPLB_ADDR14) 678 + PM_POP(ICPLB_ADDR13) 679 + PM_POP(ICPLB_ADDR12) 680 + PM_POP(ICPLB_ADDR11) 681 + PM_POP(ICPLB_ADDR10) 682 + PM_POP(ICPLB_ADDR9) 683 + PM_POP(ICPLB_ADDR8) 684 + PM_POP(ICPLB_ADDR7) 685 + PM_POP(ICPLB_ADDR6) 686 + PM_POP(ICPLB_ADDR5) 687 + PM_POP(ICPLB_ADDR4) 688 + PM_POP(ICPLB_ADDR3) 689 + PM_POP(ICPLB_ADDR2) 690 + PM_POP(ICPLB_ADDR1) 691 + PM_POP(ICPLB_ADDR0) 692 + PM_POP(IMEM_CONTROL) 693 + PM_POP(DCPLB_DATA15) 694 + PM_POP(DCPLB_DATA14) 695 + PM_POP(DCPLB_DATA13) 696 + PM_POP(DCPLB_DATA12) 697 + PM_POP(DCPLB_DATA11) 698 + PM_POP(DCPLB_DATA10) 699 + PM_POP(DCPLB_DATA9) 700 + PM_POP(DCPLB_DATA8) 701 + PM_POP(DCPLB_DATA7) 702 + PM_POP(DCPLB_DATA6) 703 + PM_POP(DCPLB_DATA5) 704 + PM_POP(DCPLB_DATA4) 705 + PM_POP(DCPLB_DATA3) 706 + PM_POP(DCPLB_DATA2) 707 + PM_POP(DCPLB_DATA1) 708 + PM_POP(DCPLB_DATA0) 709 + PM_POP(DCPLB_ADDR15) 710 + PM_POP(DCPLB_ADDR14) 711 + PM_POP(DCPLB_ADDR13) 712 + PM_POP(DCPLB_ADDR12) 713 + PM_POP(DCPLB_ADDR11) 714 + PM_POP(DCPLB_ADDR10) 715 + PM_POP(DCPLB_ADDR9) 716 + PM_POP(DCPLB_ADDR8) 717 + PM_POP(DCPLB_ADDR7) 718 + PM_POP(DCPLB_ADDR6) 719 + PM_POP(DCPLB_ADDR5) 720 + PM_POP(DCPLB_ADDR4) 721 + PM_POP(DCPLB_ADDR3) 722 + PM_POP(DCPLB_ADDR2) 723 + PM_POP(DCPLB_ADDR1) 724 + PM_POP(DCPLB_ADDR0) 725 + PM_POP(DMEM_CONTROL) 726 + 727 + /* Restore System MMRs */ 728 + 729 + P0.H = hi(PLL_CTL); 730 + P0.L = lo(PLL_CTL); 731 + PM_SYS_POP16(SYSCR) 732 + 733 + #ifdef EBIU_FCTL 734 + PM_SYS_POP(EBIU_FCTL) 735 + PM_SYS_POP(EBIU_MODE) 736 + PM_SYS_POP(EBIU_MBSCTL) 737 + #endif 738 + PM_SYS_POP16(EBIU_AMGCTL) 739 + PM_SYS_POP(EBIU_AMBCTL1) 740 + PM_SYS_POP(EBIU_AMBCTL0) 741 + 742 + #ifdef PINT0_ASSIGN 743 + PM_SYS_POP(PINT3_ASSIGN) 744 + PM_SYS_POP(PINT2_ASSIGN) 745 + PM_SYS_POP(PINT1_ASSIGN) 746 + PM_SYS_POP(PINT0_ASSIGN) 747 + #endif 748 + 749 + #ifdef SICA_IWR1 750 + PM_SYS_POP(SICA_IWR1) 751 + #endif 752 + #ifdef SICA_IWR0 753 + PM_SYS_POP(SICA_IWR0) 754 + #endif 755 + #ifdef SIC_IWR2 756 + PM_SYS_POP(SIC_IWR2) 757 + #endif 758 + #ifdef SIC_IWR1 759 + PM_SYS_POP(SIC_IWR1) 760 + #endif 761 + #ifdef SIC_IWR0 762 + PM_SYS_POP(SIC_IWR0) 763 + #endif 764 + #ifdef SIC_IWR 765 + PM_SYS_POP(SIC_IWR) 766 + #endif 767 + 768 + #ifdef SICA_IAR0 769 + PM_SYS_POP(SICA_IAR7) 770 + PM_SYS_POP(SICA_IAR6) 771 + PM_SYS_POP(SICA_IAR5) 772 + PM_SYS_POP(SICA_IAR4) 773 + PM_SYS_POP(SICA_IAR3) 774 + PM_SYS_POP(SICA_IAR2) 775 + PM_SYS_POP(SICA_IAR1) 776 + PM_SYS_POP(SICA_IAR0) 777 + #endif 778 + 779 + #ifdef SIC_IAR8 780 + PM_SYS_POP(SIC_IAR11) 781 + PM_SYS_POP(SIC_IAR10) 782 + PM_SYS_POP(SIC_IAR9) 783 + PM_SYS_POP(SIC_IAR8) 784 + #endif 785 + #ifdef SIC_IAR7 786 + PM_SYS_POP(SIC_IAR7) 787 + #endif 788 + #ifdef SIC_IAR6 789 + PM_SYS_POP(SIC_IAR6) 790 + PM_SYS_POP(SIC_IAR5) 791 + PM_SYS_POP(SIC_IAR4) 792 + #endif 793 + #ifdef SIC_IAR3 794 + PM_SYS_POP(SIC_IAR3) 795 + #endif 796 + #ifdef SIC_IAR2 797 + PM_SYS_POP(SIC_IAR2) 798 + PM_SYS_POP(SIC_IAR1) 799 + PM_SYS_POP(SIC_IAR0) 800 + #endif 801 + #ifdef SICA_IMASK1 802 + PM_SYS_POP(SICA_IMASK1) 803 + #endif 804 + #ifdef SICA_IMASK0 805 + PM_SYS_POP(SICA_IMASK0) 806 + #endif 807 + #ifdef SIC_IMASK 808 + PM_SYS_POP(SIC_IMASK) 809 + #endif 810 + #ifdef SIC_IMASK2 811 + PM_SYS_POP(SIC_IMASK2) 812 + #endif 813 + #ifdef SIC_IMASK1 814 + PM_SYS_POP(SIC_IMASK1) 815 + #endif 816 + #ifdef SIC_IMASK0 817 + PM_SYS_POP(SIC_IMASK0) 818 + #endif 819 + 820 + [--sp] = RETI; /* Clear Global Interrupt Disable */ 821 + SP += 4; 822 + 823 + RETS = [SP++]; 824 + ( R7:0, P5:0 ) = [SP++]; 825 + RTS; 826 + ENDPROC(_do_hibernate)
+38 -12
arch/blackfin/mach-common/entry.S
··· 158 158 cc = r7 == r6; 159 159 if cc jump _bfin_return_from_exception; 160 160 161 + /* Don't do single step in hardware exception handler */ 162 + p5.l = lo(IPEND); 163 + p5.h = hi(IPEND); 164 + r6 = [p5]; 165 + cc = bittst(r6, 5); 166 + if cc jump _bfin_return_from_exception; 167 + 168 + #ifdef CONFIG_KGDB 169 + /* skip single step if current interrupt priority is higher than 170 + * that of the first instruction, from which gdb starts single step */ 171 + r6 >>= 6; 172 + r7 = 10; 173 + .Lfind_priority_start: 174 + cc = bittst(r6, 0); 175 + if cc jump .Lfind_priority_done; 176 + r6 >>= 1; 177 + r7 += -1; 178 + cc = r7 == 0; 179 + if cc jump .Lfind_priority_done; 180 + jump.s .Lfind_priority_start; 181 + .Lfind_priority_done: 182 + p4.l = _debugger_step; 183 + p4.h = _debugger_step; 184 + r6 = [p4]; 185 + cc = r6 == 0; 186 + if cc jump .Ldo_single_step; 187 + r6 += -1; 188 + cc = r6 < r7; 189 + if cc jump _bfin_return_from_exception; 190 + .Ldo_single_step: 191 + #endif 192 + 161 193 /* If we were in user mode, do the single step normally. */ 162 - p5.l = lo(IPEND); 163 - p5.h = hi(IPEND); 164 194 r6 = [p5]; 165 195 r7 = 0xffe0 (z); 166 196 r7 = r7 & r6; 167 197 cc = r7 == 0; 168 - if !cc jump 1f; 198 + if cc jump 1f; 169 199 170 - /* Single stepping only a single instruction, so clear the trace 171 - * bit here. */ 172 - r7 = syscfg; 173 - bitclr (r7, 0); 174 - syscfg = R7; 175 - jump _ex_trap_c; 176 - 177 - 1: 178 200 /* 179 201 * We were in an interrupt handler. By convention, all of them save 180 202 * SYSCFG with their first instruction, so by checking whether our ··· 224 202 cc = R7 == R6; 225 203 if !cc jump _bfin_return_from_exception; 226 204 205 + 1: 206 + /* Single stepping only a single instruction, so clear the trace 207 + * bit here. */ 227 208 r7 = syscfg; 228 209 bitclr (r7, 0); 229 210 syscfg = R7; 230 211 231 - /* Fall through to _bfin_return_from_exception. */ 212 + jump _ex_trap_c; 213 + 232 214 ENDPROC(_ex_single_step) 233 215 234 216 ENTRY(_bfin_return_from_exception)
+4
arch/blackfin/mach-common/ints-priority.c
··· 459 459 .mask = bfin_gpio_mask_irq, 460 460 .mask_ack = bfin_gpio_mask_ack_irq, 461 461 .unmask = bfin_gpio_unmask_irq, 462 + .disable = bfin_gpio_mask_irq, 463 + .enable = bfin_gpio_unmask_irq, 462 464 .set_type = bfin_gpio_irq_type, 463 465 .startup = bfin_gpio_irq_startup, 464 466 .shutdown = bfin_gpio_irq_shutdown, ··· 848 846 .mask = bfin_gpio_mask_irq, 849 847 .mask_ack = bfin_gpio_mask_ack_irq, 850 848 .unmask = bfin_gpio_unmask_irq, 849 + .disable = bfin_gpio_mask_irq, 850 + .enable = bfin_gpio_unmask_irq, 851 851 .set_type = bfin_gpio_irq_type, 852 852 .startup = bfin_gpio_irq_startup, 853 853 .shutdown = bfin_gpio_irq_shutdown,
+216 -9
arch/blackfin/mach-common/pm.c
··· 38 38 #include <linux/io.h> 39 39 #include <linux/irq.h> 40 40 41 - #include <asm/dpmc.h> 42 41 #include <asm/gpio.h> 42 + #include <asm/dma.h> 43 + #include <asm/dpmc.h> 43 44 44 45 #ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H 45 46 #define WAKEUP_TYPE PM_WAKE_HIGH ··· 62 61 #define WAKEUP_TYPE PM_WAKE_BOTH_EDGES 63 62 #endif 64 63 64 + 65 65 void bfin_pm_suspend_standby_enter(void) 66 66 { 67 + unsigned long flags; 68 + 67 69 #ifdef CONFIG_PM_WAKEUP_BY_GPIO 68 70 gpio_pm_wakeup_request(CONFIG_PM_WAKEUP_GPIO_NUMBER, WAKEUP_TYPE); 69 71 #endif 70 72 71 - u32 flags; 72 - 73 73 local_irq_save(flags); 74 - bfin_pm_setup(); 74 + bfin_pm_standby_setup(); 75 75 76 76 #ifdef CONFIG_PM_BFIN_SLEEP_DEEPER 77 77 sleep_deeper(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); ··· 80 78 sleep_mode(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); 81 79 #endif 82 80 83 - bfin_pm_restore(); 81 + bfin_pm_standby_restore(); 84 82 85 83 #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) 86 84 bfin_write_SIC_IWR0(IWR_ENABLE_ALL); ··· 95 93 local_irq_restore(flags); 96 94 } 97 95 96 + int bf53x_suspend_l1_mem(unsigned char *memptr) 97 + { 98 + dma_memcpy(memptr, (const void *) L1_CODE_START, L1_CODE_LENGTH); 99 + dma_memcpy(memptr + L1_CODE_LENGTH, (const void *) L1_DATA_A_START, 100 + L1_DATA_A_LENGTH); 101 + dma_memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH, 102 + (const void *) L1_DATA_B_START, L1_DATA_B_LENGTH); 103 + memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH + 104 + L1_DATA_B_LENGTH, (const void *) L1_SCRATCH_START, 105 + L1_SCRATCH_LENGTH); 106 + 107 + return 0; 108 + } 109 + 110 + int bf53x_resume_l1_mem(unsigned char *memptr) 111 + { 112 + dma_memcpy((void *) L1_CODE_START, memptr, L1_CODE_LENGTH); 113 + dma_memcpy((void *) L1_DATA_A_START, memptr + L1_CODE_LENGTH, 114 + L1_DATA_A_LENGTH); 115 + dma_memcpy((void *) L1_DATA_B_START, memptr + L1_CODE_LENGTH + 116 + L1_DATA_A_LENGTH, L1_DATA_B_LENGTH); 117 + memcpy((void *) L1_SCRATCH_START, memptr + L1_CODE_LENGTH + 118 + L1_DATA_A_LENGTH + L1_DATA_B_LENGTH, L1_SCRATCH_LENGTH); 119 + 120 + return 0; 121 + } 122 + 123 + #ifdef CONFIG_BFIN_WB 124 + static void flushinv_all_dcache(void) 125 + { 126 + u32 way, bank, subbank, set; 127 + u32 status, addr; 128 + u32 dmem_ctl = bfin_read_DMEM_CONTROL(); 129 + 130 + for (bank = 0; bank < 2; ++bank) { 131 + if (!(dmem_ctl & (1 << (DMC1_P - bank)))) 132 + continue; 133 + 134 + for (way = 0; way < 2; ++way) 135 + for (subbank = 0; subbank < 4; ++subbank) 136 + for (set = 0; set < 64; ++set) { 137 + 138 + bfin_write_DTEST_COMMAND( 139 + way << 26 | 140 + bank << 23 | 141 + subbank << 16 | 142 + set << 5 143 + ); 144 + CSYNC(); 145 + status = bfin_read_DTEST_DATA0(); 146 + 147 + /* only worry about valid/dirty entries */ 148 + if ((status & 0x3) != 0x3) 149 + continue; 150 + 151 + /* construct the address using the tag */ 152 + addr = (status & 0xFFFFC800) | (subbank << 12) | (set << 5); 153 + 154 + /* flush it */ 155 + __asm__ __volatile__("FLUSHINV[%0];" : : "a"(addr)); 156 + } 157 + } 158 + } 159 + #endif 160 + 161 + static inline void dcache_disable(void) 162 + { 163 + #ifdef CONFIG_BFIN_DCACHE 164 + unsigned long ctrl; 165 + 166 + #ifdef CONFIG_BFIN_WB 167 + flushinv_all_dcache(); 168 + #endif 169 + SSYNC(); 170 + ctrl = bfin_read_DMEM_CONTROL(); 171 + ctrl &= ~ENDCPLB; 172 + bfin_write_DMEM_CONTROL(ctrl); 173 + SSYNC(); 174 + #endif 175 + } 176 + 177 + static inline void dcache_enable(void) 178 + { 179 + #ifdef CONFIG_BFIN_DCACHE 180 + unsigned long ctrl; 181 + SSYNC(); 182 + ctrl = bfin_read_DMEM_CONTROL(); 183 + ctrl |= ENDCPLB; 184 + bfin_write_DMEM_CONTROL(ctrl); 185 + SSYNC(); 186 + #endif 187 + } 188 + 189 + static inline void icache_disable(void) 190 + { 191 + #ifdef CONFIG_BFIN_ICACHE 192 + unsigned long ctrl; 193 + SSYNC(); 194 + ctrl = bfin_read_IMEM_CONTROL(); 195 + ctrl &= ~ENICPLB; 196 + bfin_write_IMEM_CONTROL(ctrl); 197 + SSYNC(); 198 + #endif 199 + } 200 + 201 + static inline void icache_enable(void) 202 + { 203 + #ifdef CONFIG_BFIN_ICACHE 204 + unsigned long ctrl; 205 + SSYNC(); 206 + ctrl = bfin_read_IMEM_CONTROL(); 207 + ctrl |= ENICPLB; 208 + bfin_write_IMEM_CONTROL(ctrl); 209 + SSYNC(); 210 + #endif 211 + } 212 + 213 + int bfin_pm_suspend_mem_enter(void) 214 + { 215 + unsigned long flags; 216 + int wakeup, ret; 217 + 218 + unsigned char *memptr = kmalloc(L1_CODE_LENGTH + L1_DATA_A_LENGTH 219 + + L1_DATA_B_LENGTH + L1_SCRATCH_LENGTH, 220 + GFP_KERNEL); 221 + 222 + if (memptr == NULL) { 223 + panic("bf53x_suspend_l1_mem malloc failed"); 224 + return -ENOMEM; 225 + } 226 + 227 + wakeup = bfin_read_VR_CTL() & ~FREQ; 228 + wakeup |= SCKELOW; 229 + 230 + /* FIXME: merge this somehow with set_irq_wake */ 231 + #ifdef CONFIG_PM_BFIN_WAKE_RTC 232 + wakeup |= WAKE; 233 + #endif 234 + #ifdef CONFIG_PM_BFIN_WAKE_PH6 235 + wakeup |= PHYWE; 236 + #endif 237 + #ifdef CONFIG_PM_BFIN_WAKE_CAN 238 + wakeup |= CANWE; 239 + #endif 240 + #ifdef CONFIG_PM_BFIN_WAKE_GP 241 + wakeup |= GPWE; 242 + #endif 243 + #ifdef CONFIG_PM_BFIN_WAKE_USB 244 + wakeup |= USBWE; 245 + #endif 246 + #ifdef CONFIG_PM_BFIN_WAKE_KEYPAD 247 + wakeup |= KPADWE; 248 + #endif 249 + #ifdef CONFIG_PM_BFIN_WAKE_ROTARY 250 + wakeup |= ROTWE; 251 + #endif 252 + 253 + local_irq_save(flags); 254 + 255 + ret = blackfin_dma_suspend(); 256 + 257 + if (ret) { 258 + local_irq_restore(flags); 259 + kfree(memptr); 260 + return ret; 261 + } 262 + 263 + bfin_gpio_pm_hibernate_suspend(); 264 + 265 + dcache_disable(); 266 + icache_disable(); 267 + bf53x_suspend_l1_mem(memptr); 268 + 269 + do_hibernate(wakeup); /* Goodbye */ 270 + 271 + bf53x_resume_l1_mem(memptr); 272 + 273 + icache_enable(); 274 + dcache_enable(); 275 + 276 + bfin_gpio_pm_hibernate_restore(); 277 + blackfin_dma_resume(); 278 + 279 + local_irq_restore(flags); 280 + kfree(memptr); 281 + 282 + return 0; 283 + } 284 + 98 285 /* 99 286 * bfin_pm_valid - Tell the PM core that we only support the standby sleep 100 287 * state ··· 292 101 */ 293 102 static int bfin_pm_valid(suspend_state_t state) 294 103 { 295 - return (state == PM_SUSPEND_STANDBY); 104 + return (state == PM_SUSPEND_STANDBY 105 + #ifndef BF533_FAMILY 106 + /* 107 + * On BF533/2/1: 108 + * If we enter Hibernate the SCKE Pin is driven Low, 109 + * so that the SDRAM enters Self Refresh Mode. 110 + * However when the reset sequence that follows hibernate 111 + * state is executed, SCKE is driven High, taking the 112 + * SDRAM out of Self Refresh. 113 + * 114 + * If you reconfigure and access the SDRAM "very quickly", 115 + * you are likely to avoid errors, otherwise the SDRAM 116 + * start losing its contents. 117 + * An external HW workaround is possible using logic gates. 118 + */ 119 + || state == PM_SUSPEND_MEM 120 + #endif 121 + ); 296 122 } 297 123 298 124 /* ··· 323 115 case PM_SUSPEND_STANDBY: 324 116 bfin_pm_suspend_standby_enter(); 325 117 break; 326 - 327 118 case PM_SUSPEND_MEM: 328 - return -ENOTSUPP; 329 - 119 + bfin_pm_suspend_mem_enter(); 120 + break; 330 121 default: 331 122 return -EINVAL; 332 123 }
+372 -173
arch/blackfin/mm/blackfin_sram.c
··· 41 41 #include <asm/blackfin.h> 42 42 #include "blackfin_sram.h" 43 43 44 - spinlock_t l1sram_lock, l1_data_sram_lock, l1_inst_sram_lock; 45 - 46 - #if CONFIG_L1_MAX_PIECE < 16 47 - #undef CONFIG_L1_MAX_PIECE 48 - #define CONFIG_L1_MAX_PIECE 16 49 - #endif 50 - 51 - #if CONFIG_L1_MAX_PIECE > 1024 52 - #undef CONFIG_L1_MAX_PIECE 53 - #define CONFIG_L1_MAX_PIECE 1024 54 - #endif 55 - 56 - #define SRAM_SLT_NULL 0 57 - #define SRAM_SLT_FREE 1 58 - #define SRAM_SLT_ALLOCATED 2 44 + static spinlock_t l1sram_lock, l1_data_sram_lock, l1_inst_sram_lock; 45 + static spinlock_t l2_sram_lock; 59 46 60 47 /* the data structure for L1 scratchpad and DATA SRAM */ 61 - struct l1_sram_piece { 48 + struct sram_piece { 62 49 void *paddr; 63 50 int size; 64 - int flag; 65 51 pid_t pid; 52 + struct sram_piece *next; 66 53 }; 67 54 68 - static struct l1_sram_piece l1_ssram[CONFIG_L1_MAX_PIECE]; 55 + static struct sram_piece free_l1_ssram_head, used_l1_ssram_head; 69 56 70 57 #if L1_DATA_A_LENGTH != 0 71 - static struct l1_sram_piece l1_data_A_sram[CONFIG_L1_MAX_PIECE]; 58 + static struct sram_piece free_l1_data_A_sram_head, used_l1_data_A_sram_head; 72 59 #endif 73 60 74 61 #if L1_DATA_B_LENGTH != 0 75 - static struct l1_sram_piece l1_data_B_sram[CONFIG_L1_MAX_PIECE]; 62 + static struct sram_piece free_l1_data_B_sram_head, used_l1_data_B_sram_head; 76 63 #endif 77 64 78 65 #if L1_CODE_LENGTH != 0 79 - static struct l1_sram_piece l1_inst_sram[CONFIG_L1_MAX_PIECE]; 66 + static struct sram_piece free_l1_inst_sram_head, used_l1_inst_sram_head; 80 67 #endif 81 68 82 - /* L1 Scratchpad SRAM initialization function */ 83 - void __init l1sram_init(void) 84 - { 85 - printk(KERN_INFO "Blackfin Scratchpad data SRAM: %d KB\n", 86 - L1_SCRATCH_LENGTH >> 10); 69 + #ifdef L2_LENGTH 70 + static struct sram_piece free_l2_sram_head, used_l2_sram_head; 71 + #endif 87 72 88 - memset(&l1_ssram, 0x00, sizeof(l1_ssram)); 89 - l1_ssram[0].paddr = (void *)L1_SCRATCH_START; 90 - l1_ssram[0].size = L1_SCRATCH_LENGTH; 91 - l1_ssram[0].flag = SRAM_SLT_FREE; 73 + static struct kmem_cache *sram_piece_cache; 74 + 75 + /* L1 Scratchpad SRAM initialization function */ 76 + static void __init l1sram_init(void) 77 + { 78 + free_l1_ssram_head.next = 79 + kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 80 + if (!free_l1_ssram_head.next) { 81 + printk(KERN_INFO"Fail to initialize Scratchpad data SRAM.\n"); 82 + return; 83 + } 84 + 85 + free_l1_ssram_head.next->paddr = (void *)L1_SCRATCH_START; 86 + free_l1_ssram_head.next->size = L1_SCRATCH_LENGTH; 87 + free_l1_ssram_head.next->pid = 0; 88 + free_l1_ssram_head.next->next = NULL; 89 + 90 + used_l1_ssram_head.next = NULL; 92 91 93 92 /* mutex initialize */ 94 93 spin_lock_init(&l1sram_lock); 94 + 95 + printk(KERN_INFO "Blackfin Scratchpad data SRAM: %d KB\n", 96 + L1_SCRATCH_LENGTH >> 10); 95 97 } 96 98 97 - void __init l1_data_sram_init(void) 99 + static void __init l1_data_sram_init(void) 98 100 { 99 101 #if L1_DATA_A_LENGTH != 0 100 - memset(&l1_data_A_sram, 0x00, sizeof(l1_data_A_sram)); 101 - l1_data_A_sram[0].paddr = (void *)L1_DATA_A_START + 102 - (_ebss_l1 - _sdata_l1); 103 - l1_data_A_sram[0].size = L1_DATA_A_LENGTH - (_ebss_l1 - _sdata_l1); 104 - l1_data_A_sram[0].flag = SRAM_SLT_FREE; 102 + free_l1_data_A_sram_head.next = 103 + kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 104 + if (!free_l1_data_A_sram_head.next) { 105 + printk(KERN_INFO"Fail to initialize L1 Data A SRAM.\n"); 106 + return; 107 + } 105 108 106 - printk(KERN_INFO "Blackfin Data A SRAM: %d KB (%d KB free)\n", 107 - L1_DATA_A_LENGTH >> 10, l1_data_A_sram[0].size >> 10); 109 + free_l1_data_A_sram_head.next->paddr = 110 + (void *)L1_DATA_A_START + (_ebss_l1 - _sdata_l1); 111 + free_l1_data_A_sram_head.next->size = 112 + L1_DATA_A_LENGTH - (_ebss_l1 - _sdata_l1); 113 + free_l1_data_A_sram_head.next->pid = 0; 114 + free_l1_data_A_sram_head.next->next = NULL; 115 + 116 + used_l1_data_A_sram_head.next = NULL; 117 + 118 + printk(KERN_INFO "Blackfin L1 Data A SRAM: %d KB (%d KB free)\n", 119 + L1_DATA_A_LENGTH >> 10, 120 + free_l1_data_A_sram_head.next->size >> 10); 108 121 #endif 109 122 #if L1_DATA_B_LENGTH != 0 110 - memset(&l1_data_B_sram, 0x00, sizeof(l1_data_B_sram)); 111 - l1_data_B_sram[0].paddr = (void *)L1_DATA_B_START + 112 - (_ebss_b_l1 - _sdata_b_l1); 113 - l1_data_B_sram[0].size = L1_DATA_B_LENGTH - (_ebss_b_l1 - _sdata_b_l1); 114 - l1_data_B_sram[0].flag = SRAM_SLT_FREE; 123 + free_l1_data_B_sram_head.next = 124 + kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 125 + if (!free_l1_data_B_sram_head.next) { 126 + printk(KERN_INFO"Fail to initialize L1 Data B SRAM.\n"); 127 + return; 128 + } 115 129 116 - printk(KERN_INFO "Blackfin Data B SRAM: %d KB (%d KB free)\n", 117 - L1_DATA_B_LENGTH >> 10, l1_data_B_sram[0].size >> 10); 130 + free_l1_data_B_sram_head.next->paddr = 131 + (void *)L1_DATA_B_START + (_ebss_b_l1 - _sdata_b_l1); 132 + free_l1_data_B_sram_head.next->size = 133 + L1_DATA_B_LENGTH - (_ebss_b_l1 - _sdata_b_l1); 134 + free_l1_data_B_sram_head.next->pid = 0; 135 + free_l1_data_B_sram_head.next->next = NULL; 136 + 137 + used_l1_data_B_sram_head.next = NULL; 138 + 139 + printk(KERN_INFO "Blackfin L1 Data B SRAM: %d KB (%d KB free)\n", 140 + L1_DATA_B_LENGTH >> 10, 141 + free_l1_data_B_sram_head.next->size >> 10); 118 142 #endif 119 143 120 144 /* mutex initialize */ 121 145 spin_lock_init(&l1_data_sram_lock); 122 146 } 123 147 124 - void __init l1_inst_sram_init(void) 148 + static void __init l1_inst_sram_init(void) 125 149 { 126 150 #if L1_CODE_LENGTH != 0 127 - memset(&l1_inst_sram, 0x00, sizeof(l1_inst_sram)); 128 - l1_inst_sram[0].paddr = (void *)L1_CODE_START + (_etext_l1 - _stext_l1); 129 - l1_inst_sram[0].size = L1_CODE_LENGTH - (_etext_l1 - _stext_l1); 130 - l1_inst_sram[0].flag = SRAM_SLT_FREE; 151 + free_l1_inst_sram_head.next = 152 + kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 153 + if (!free_l1_inst_sram_head.next) { 154 + printk(KERN_INFO"Fail to initialize L1 Instruction SRAM.\n"); 155 + return; 156 + } 131 157 132 - printk(KERN_INFO "Blackfin Instruction SRAM: %d KB (%d KB free)\n", 133 - L1_CODE_LENGTH >> 10, l1_inst_sram[0].size >> 10); 158 + free_l1_inst_sram_head.next->paddr = 159 + (void *)L1_CODE_START + (_etext_l1 - _stext_l1); 160 + free_l1_inst_sram_head.next->size = 161 + L1_CODE_LENGTH - (_etext_l1 - _stext_l1); 162 + free_l1_inst_sram_head.next->pid = 0; 163 + free_l1_inst_sram_head.next->next = NULL; 164 + 165 + used_l1_inst_sram_head.next = NULL; 166 + 167 + printk(KERN_INFO "Blackfin L1 Instruction SRAM: %d KB (%d KB free)\n", 168 + L1_CODE_LENGTH >> 10, 169 + free_l1_inst_sram_head.next->size >> 10); 134 170 #endif 135 171 136 172 /* mutex initialize */ 137 173 spin_lock_init(&l1_inst_sram_lock); 138 174 } 139 175 140 - /* L1 memory allocate function */ 141 - static void *_l1_sram_alloc(size_t size, struct l1_sram_piece *pfree, int count) 176 + static void __init l2_sram_init(void) 142 177 { 143 - int i, index = 0; 144 - void *addr = NULL; 178 + #ifdef L2_LENGTH 179 + free_l2_sram_head.next = 180 + kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 181 + if (!free_l2_sram_head.next) { 182 + printk(KERN_INFO"Fail to initialize L2 SRAM.\n"); 183 + return; 184 + } 145 185 146 - if (size <= 0) 186 + free_l2_sram_head.next->paddr = (void *)L2_START + 187 + (_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2); 188 + free_l2_sram_head.next->size = L2_LENGTH - 189 + (_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2); 190 + free_l2_sram_head.next->pid = 0; 191 + free_l2_sram_head.next->next = NULL; 192 + 193 + used_l2_sram_head.next = NULL; 194 + 195 + printk(KERN_INFO "Blackfin L2 SRAM: %d KB (%d KB free)\n", 196 + L2_LENGTH >> 10, 197 + free_l2_sram_head.next->size >> 10); 198 + #endif 199 + 200 + /* mutex initialize */ 201 + spin_lock_init(&l2_sram_lock); 202 + } 203 + void __init bfin_sram_init(void) 204 + { 205 + sram_piece_cache = kmem_cache_create("sram_piece_cache", 206 + sizeof(struct sram_piece), 207 + 0, SLAB_PANIC, NULL); 208 + 209 + l1sram_init(); 210 + l1_data_sram_init(); 211 + l1_inst_sram_init(); 212 + l2_sram_init(); 213 + } 214 + 215 + /* SRAM allocate function */ 216 + static void *_sram_alloc(size_t size, struct sram_piece *pfree_head, 217 + struct sram_piece *pused_head) 218 + { 219 + struct sram_piece *pslot, *plast, *pavail; 220 + 221 + if (size <= 0 || !pfree_head || !pused_head) 147 222 return NULL; 148 223 149 224 /* Align the size */ 150 225 size = (size + 3) & ~3; 151 226 152 - /* not use the good method to match the best slot !!! */ 153 - /* search an available memory slot */ 154 - for (i = 0; i < count; i++) { 155 - if ((pfree[i].flag == SRAM_SLT_FREE) 156 - && (pfree[i].size >= size)) { 157 - addr = pfree[i].paddr; 158 - pfree[i].flag = SRAM_SLT_ALLOCATED; 159 - pfree[i].pid = current->pid; 160 - index = i; 161 - break; 162 - } 227 + pslot = pfree_head->next; 228 + plast = pfree_head; 229 + 230 + /* search an available piece slot */ 231 + while (pslot != NULL && size > pslot->size) { 232 + plast = pslot; 233 + pslot = pslot->next; 163 234 } 164 - if (i >= count) 235 + 236 + if (!pslot) 165 237 return NULL; 166 238 167 - /* updated the NULL memory slot !!! */ 168 - if (pfree[i].size > size) { 169 - for (i = 0; i < count; i++) { 170 - if (pfree[i].flag == SRAM_SLT_NULL) { 171 - pfree[i].pid = 0; 172 - pfree[i].flag = SRAM_SLT_FREE; 173 - pfree[i].paddr = addr + size; 174 - pfree[i].size = pfree[index].size - size; 175 - pfree[index].size = size; 176 - break; 177 - } 178 - } 239 + if (pslot->size == size) { 240 + plast->next = pslot->next; 241 + pavail = pslot; 242 + } else { 243 + pavail = kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); 244 + 245 + if (!pavail) 246 + return NULL; 247 + 248 + pavail->paddr = pslot->paddr; 249 + pavail->size = size; 250 + pslot->paddr += size; 251 + pslot->size -= size; 179 252 } 180 253 181 - return addr; 254 + pavail->pid = current->pid; 255 + 256 + pslot = pused_head->next; 257 + plast = pused_head; 258 + 259 + /* insert new piece into used piece list !!! */ 260 + while (pslot != NULL && pavail->paddr < pslot->paddr) { 261 + plast = pslot; 262 + pslot = pslot->next; 263 + } 264 + 265 + pavail->next = pslot; 266 + plast->next = pavail; 267 + 268 + return pavail->paddr; 182 269 } 183 270 184 271 /* Allocate the largest available block. */ 185 - static void *_l1_sram_alloc_max(struct l1_sram_piece *pfree, int count, 272 + static void *_sram_alloc_max(struct sram_piece *pfree_head, 273 + struct sram_piece *pused_head, 186 274 unsigned long *psize) 187 275 { 188 - unsigned long best = 0; 189 - int i, index = -1; 190 - void *addr = NULL; 276 + struct sram_piece *pslot, *pmax; 191 277 192 - /* search an available memory slot */ 193 - for (i = 0; i < count; i++) { 194 - if (pfree[i].flag == SRAM_SLT_FREE && pfree[i].size > best) { 195 - addr = pfree[i].paddr; 196 - index = i; 197 - best = pfree[i].size; 198 - } 199 - } 200 - if (index < 0) 278 + if (!pfree_head || !pused_head) 201 279 return NULL; 202 - *psize = best; 203 280 204 - pfree[index].pid = current->pid; 205 - pfree[index].flag = SRAM_SLT_ALLOCATED; 206 - return addr; 281 + pmax = pslot = pfree_head->next; 282 + 283 + /* search an available piece slot */ 284 + while (pslot != NULL) { 285 + if (pslot->size > pmax->size) 286 + pmax = pslot; 287 + pslot = pslot->next; 288 + } 289 + 290 + if (!pmax) 291 + return NULL; 292 + 293 + *psize = pmax->size; 294 + 295 + return _sram_alloc(*psize, pfree_head, pused_head); 207 296 } 208 297 209 - /* L1 memory free function */ 210 - static int _l1_sram_free(const void *addr, 211 - struct l1_sram_piece *pfree, 212 - int count) 298 + /* SRAM free function */ 299 + static int _sram_free(const void *addr, 300 + struct sram_piece *pfree_head, 301 + struct sram_piece *pused_head) 213 302 { 214 - int i, index = 0; 303 + struct sram_piece *pslot, *plast, *pavail; 215 304 216 - /* search the relevant memory slot */ 217 - for (i = 0; i < count; i++) { 218 - if (pfree[i].paddr == addr) { 219 - if (pfree[i].flag != SRAM_SLT_ALLOCATED) { 220 - /* error log */ 221 - return -1; 222 - } 223 - index = i; 224 - break; 225 - } 226 - } 227 - if (i >= count) 305 + if (!pfree_head || !pused_head) 228 306 return -1; 229 307 230 - pfree[index].pid = 0; 231 - pfree[index].flag = SRAM_SLT_FREE; 308 + /* search the relevant memory slot */ 309 + pslot = pused_head->next; 310 + plast = pused_head; 232 311 233 - /* link the next address slot */ 234 - for (i = 0; i < count; i++) { 235 - if (((pfree[index].paddr + pfree[index].size) == pfree[i].paddr) 236 - && (pfree[i].flag == SRAM_SLT_FREE)) { 237 - pfree[i].pid = 0; 238 - pfree[i].flag = SRAM_SLT_NULL; 239 - pfree[index].size += pfree[i].size; 240 - pfree[index].flag = SRAM_SLT_FREE; 241 - break; 242 - } 312 + /* search an available piece slot */ 313 + while (pslot != NULL && pslot->paddr != addr) { 314 + plast = pslot; 315 + pslot = pslot->next; 243 316 } 244 317 245 - /* link the last address slot */ 246 - for (i = 0; i < count; i++) { 247 - if (((pfree[i].paddr + pfree[i].size) == pfree[index].paddr) && 248 - (pfree[i].flag == SRAM_SLT_FREE)) { 249 - pfree[index].flag = SRAM_SLT_NULL; 250 - pfree[i].size += pfree[index].size; 251 - break; 252 - } 318 + if (!pslot) 319 + return -1; 320 + 321 + plast->next = pslot->next; 322 + pavail = pslot; 323 + pavail->pid = 0; 324 + 325 + /* insert free pieces back to the free list */ 326 + pslot = pfree_head->next; 327 + plast = pfree_head; 328 + 329 + while (pslot != NULL && addr > pslot->paddr) { 330 + plast = pslot; 331 + pslot = pslot->next; 332 + } 333 + 334 + if (plast != pfree_head && plast->paddr + plast->size == pavail->paddr) { 335 + plast->size += pavail->size; 336 + kmem_cache_free(sram_piece_cache, pavail); 337 + } else { 338 + pavail->next = plast; 339 + plast->next = pavail; 340 + plast = pavail; 341 + } 342 + 343 + if (pslot && plast->paddr + plast->size == pslot->paddr) { 344 + plast->size += pslot->size; 345 + plast->next = pslot->next; 346 + kmem_cache_free(sram_piece_cache, pslot); 253 347 } 254 348 255 349 return 0; ··· 367 273 && addr < (void *)(L1_DATA_B_START + L1_DATA_B_LENGTH)) 368 274 return l1_data_B_sram_free(addr); 369 275 #endif 276 + #ifdef L2_LENGTH 277 + else if (addr >= (void *)L2_START 278 + && addr < (void *)(L2_START + L2_LENGTH)) 279 + return l2_sram_free(addr); 280 + #endif 370 281 else 371 282 return -1; 372 283 } ··· 386 287 spin_lock_irqsave(&l1_data_sram_lock, flags); 387 288 388 289 #if L1_DATA_A_LENGTH != 0 389 - addr = _l1_sram_alloc(size, l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); 290 + addr = _sram_alloc(size, &free_l1_data_A_sram_head, 291 + &used_l1_data_A_sram_head); 390 292 #endif 391 293 392 294 /* add mutex operation */ ··· 409 309 spin_lock_irqsave(&l1_data_sram_lock, flags); 410 310 411 311 #if L1_DATA_A_LENGTH != 0 412 - ret = _l1_sram_free(addr, 413 - l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); 312 + ret = _sram_free(addr, &free_l1_data_A_sram_head, 313 + &used_l1_data_A_sram_head); 414 314 #else 415 315 ret = -1; 416 316 #endif ··· 431 331 /* add mutex operation */ 432 332 spin_lock_irqsave(&l1_data_sram_lock, flags); 433 333 434 - addr = _l1_sram_alloc(size, l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); 334 + addr = _sram_alloc(size, &free_l1_data_B_sram_head, 335 + &used_l1_data_B_sram_head); 435 336 436 337 /* add mutex operation */ 437 338 spin_unlock_irqrestore(&l1_data_sram_lock, flags); ··· 456 355 /* add mutex operation */ 457 356 spin_lock_irqsave(&l1_data_sram_lock, flags); 458 357 459 - ret = _l1_sram_free(addr, l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); 358 + ret = _sram_free(addr, &free_l1_data_B_sram_head, 359 + &used_l1_data_B_sram_head); 460 360 461 361 /* add mutex operation */ 462 362 spin_unlock_irqrestore(&l1_data_sram_lock, flags); ··· 510 408 /* add mutex operation */ 511 409 spin_lock_irqsave(&l1_inst_sram_lock, flags); 512 410 513 - addr = _l1_sram_alloc(size, l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); 411 + addr = _sram_alloc(size, &free_l1_inst_sram_head, 412 + &used_l1_inst_sram_head); 514 413 515 414 /* add mutex operation */ 516 415 spin_unlock_irqrestore(&l1_inst_sram_lock, flags); ··· 535 432 /* add mutex operation */ 536 433 spin_lock_irqsave(&l1_inst_sram_lock, flags); 537 434 538 - ret = _l1_sram_free(addr, l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); 435 + ret = _sram_free(addr, &free_l1_inst_sram_head, 436 + &used_l1_inst_sram_head); 539 437 540 438 /* add mutex operation */ 541 439 spin_unlock_irqrestore(&l1_inst_sram_lock, flags); ··· 557 453 /* add mutex operation */ 558 454 spin_lock_irqsave(&l1sram_lock, flags); 559 455 560 - addr = _l1_sram_alloc(size, l1_ssram, ARRAY_SIZE(l1_ssram)); 456 + addr = _sram_alloc(size, &free_l1_ssram_head, 457 + &used_l1_ssram_head); 561 458 562 459 /* add mutex operation */ 563 460 spin_unlock_irqrestore(&l1sram_lock, flags); ··· 575 470 /* add mutex operation */ 576 471 spin_lock_irqsave(&l1sram_lock, flags); 577 472 578 - addr = _l1_sram_alloc_max(l1_ssram, ARRAY_SIZE(l1_ssram), psize); 473 + addr = _sram_alloc_max(&free_l1_ssram_head, 474 + &used_l1_ssram_head, psize); 579 475 580 476 /* add mutex operation */ 581 477 spin_unlock_irqrestore(&l1sram_lock, flags); ··· 593 487 /* add mutex operation */ 594 488 spin_lock_irqsave(&l1sram_lock, flags); 595 489 596 - ret = _l1_sram_free(addr, l1_ssram, ARRAY_SIZE(l1_ssram)); 490 + ret = _sram_free(addr, &free_l1_ssram_head, 491 + &used_l1_ssram_head); 597 492 598 493 /* add mutex operation */ 599 494 spin_unlock_irqrestore(&l1sram_lock, flags); 600 495 601 496 return ret; 602 497 } 498 + 499 + void *l2_sram_alloc(size_t size) 500 + { 501 + #ifdef L2_LENGTH 502 + unsigned flags; 503 + void *addr; 504 + 505 + /* add mutex operation */ 506 + spin_lock_irqsave(&l2_sram_lock, flags); 507 + 508 + addr = _sram_alloc(size, &free_l2_sram_head, 509 + &used_l2_sram_head); 510 + 511 + /* add mutex operation */ 512 + spin_unlock_irqrestore(&l2_sram_lock, flags); 513 + 514 + pr_debug("Allocated address in l2_sram_alloc is 0x%lx+0x%lx\n", 515 + (long unsigned int)addr, size); 516 + 517 + return addr; 518 + #else 519 + return NULL; 520 + #endif 521 + } 522 + EXPORT_SYMBOL(l2_sram_alloc); 523 + 524 + void *l2_sram_zalloc(size_t size) 525 + { 526 + void *addr = l2_sram_alloc(size); 527 + 528 + if (addr) 529 + memset(addr, 0x00, size); 530 + 531 + return addr; 532 + } 533 + EXPORT_SYMBOL(l2_sram_zalloc); 534 + 535 + int l2_sram_free(const void *addr) 536 + { 537 + #ifdef L2_LENGTH 538 + unsigned flags; 539 + int ret; 540 + 541 + /* add mutex operation */ 542 + spin_lock_irqsave(&l2_sram_lock, flags); 543 + 544 + ret = _sram_free(addr, &free_l2_sram_head, 545 + &used_l2_sram_head); 546 + 547 + /* add mutex operation */ 548 + spin_unlock_irqrestore(&l2_sram_lock, flags); 549 + 550 + return ret; 551 + #else 552 + return -1; 553 + #endif 554 + } 555 + EXPORT_SYMBOL(l2_sram_free); 603 556 604 557 int sram_free_with_lsl(const void *addr) 605 558 { ··· 698 533 if (addr == NULL && (flags & L1_DATA_B_SRAM)) 699 534 addr = l1_data_B_sram_alloc(size); 700 535 536 + if (addr == NULL && (flags & L2_SRAM)) 537 + addr = l2_sram_alloc(size); 538 + 701 539 if (addr == NULL) { 702 540 kfree(lsl); 703 541 return NULL; ··· 717 549 /* Once we get a real allocator, we'll throw all of this away. 718 550 * Until then, we need some sort of visibility into the L1 alloc. 719 551 */ 720 - static void _l1sram_proc_read(char *buf, int *len, const char *desc, 721 - struct l1_sram_piece *pfree, const int array_size) 552 + /* Need to keep line of output the same. Currently, that is 44 bytes 553 + * (including newline). 554 + */ 555 + static int _sram_proc_read(char *buf, int *len, int count, const char *desc, 556 + struct sram_piece *pfree_head, 557 + struct sram_piece *pused_head) 722 558 { 723 - int i; 559 + struct sram_piece *pslot; 724 560 725 - *len += sprintf(&buf[*len], "--- L1 %-14s Size PID State\n", desc); 726 - for (i = 0; i < array_size; ++i) { 727 - const char *alloc_type; 728 - switch (pfree[i].flag) { 729 - case SRAM_SLT_NULL: alloc_type = "NULL"; break; 730 - case SRAM_SLT_FREE: alloc_type = "FREE"; break; 731 - case SRAM_SLT_ALLOCATED: alloc_type = "ALLOCATED"; break; 732 - default: alloc_type = "????"; break; 733 - } 734 - *len += sprintf(&buf[*len], "%p-%p %8i %4i %s\n", 735 - pfree[i].paddr, pfree[i].paddr + pfree[i].size, 736 - pfree[i].size, pfree[i].pid, alloc_type); 561 + if (!pfree_head || !pused_head) 562 + return -1; 563 + 564 + *len += sprintf(&buf[*len], "--- SRAM %-14s Size PID State \n", desc); 565 + 566 + /* search the relevant memory slot */ 567 + pslot = pused_head->next; 568 + 569 + while (pslot != NULL) { 570 + *len += sprintf(&buf[*len], "%p-%p %10i %5i %-10s\n", 571 + pslot->paddr, pslot->paddr + pslot->size, 572 + pslot->size, pslot->pid, "ALLOCATED"); 573 + 574 + pslot = pslot->next; 737 575 } 576 + 577 + pslot = pfree_head->next; 578 + 579 + while (pslot != NULL) { 580 + *len += sprintf(&buf[*len], "%p-%p %10i %5i %-10s\n", 581 + pslot->paddr, pslot->paddr + pslot->size, 582 + pslot->size, pslot->pid, "FREE"); 583 + 584 + pslot = pslot->next; 585 + } 586 + 587 + return 0; 738 588 } 739 - static int l1sram_proc_read(char *buf, char **start, off_t offset, int count, 589 + static int sram_proc_read(char *buf, char **start, off_t offset, int count, 740 590 int *eof, void *data) 741 591 { 742 592 int len = 0; 743 593 744 - _l1sram_proc_read(buf, &len, "Scratchpad", 745 - l1_ssram, ARRAY_SIZE(l1_ssram)); 594 + if (_sram_proc_read(buf, &len, count, "Scratchpad", 595 + &free_l1_ssram_head, &used_l1_ssram_head)) 596 + goto not_done; 746 597 #if L1_DATA_A_LENGTH != 0 747 - _l1sram_proc_read(buf, &len, "Data A", 748 - l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); 598 + if (_sram_proc_read(buf, &len, count, "L1 Data A", 599 + &free_l1_data_A_sram_head, 600 + &used_l1_data_A_sram_head)) 601 + goto not_done; 749 602 #endif 750 603 #if L1_DATA_B_LENGTH != 0 751 - _l1sram_proc_read(buf, &len, "Data B", 752 - l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); 604 + if (_sram_proc_read(buf, &len, count, "L1 Data B", 605 + &free_l1_data_B_sram_head, 606 + &used_l1_data_B_sram_head)) 607 + goto not_done; 753 608 #endif 754 609 #if L1_CODE_LENGTH != 0 755 - _l1sram_proc_read(buf, &len, "Instruction", 756 - l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); 610 + if (_sram_proc_read(buf, &len, count, "L1 Instruction", 611 + &free_l1_inst_sram_head, &used_l1_inst_sram_head)) 612 + goto not_done; 613 + #endif 614 + #ifdef L2_LENGTH 615 + if (_sram_proc_read(buf, &len, count, "L2", 616 + &free_l2_sram_head, &used_l2_sram_head)) 617 + goto not_done; 757 618 #endif 758 619 620 + *eof = 1; 621 + not_done: 759 622 return len; 760 623 } 761 624 762 - static int __init l1sram_proc_init(void) 625 + static int __init sram_proc_init(void) 763 626 { 764 627 struct proc_dir_entry *ptr; 765 628 ptr = create_proc_entry("sram", S_IFREG | S_IRUGO, NULL); ··· 799 600 return -1; 800 601 } 801 602 ptr->owner = THIS_MODULE; 802 - ptr->read_proc = l1sram_proc_read; 603 + ptr->read_proc = sram_proc_read; 803 604 return 0; 804 605 } 805 - late_initcall(l1sram_proc_init); 606 + late_initcall(sram_proc_init); 806 607 #endif
+1 -3
arch/blackfin/mm/blackfin_sram.h
··· 30 30 #ifndef __BLACKFIN_SRAM_H__ 31 31 #define __BLACKFIN_SRAM_H__ 32 32 33 - extern void l1sram_init(void); 34 - extern void l1_inst_sram_init(void); 35 - extern void l1_data_sram_init(void); 33 + extern void bfin_sram_init(void); 36 34 extern void *l1sram_alloc(size_t); 37 35 38 36 #endif
+9 -3
arch/blackfin/mm/init.c
··· 137 137 "(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n", 138 138 (unsigned long) freepages << (PAGE_SHIFT-10), _ramend >> 10, 139 139 initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10))); 140 + } 141 + 142 + static int __init sram_init(void) 143 + { 144 + unsigned long tmp; 140 145 141 146 /* Initialize the blackfin L1 Memory. */ 142 - l1sram_init(); 143 - l1_data_sram_init(); 144 - l1_inst_sram_init(); 147 + bfin_sram_init(); 145 148 146 149 /* Allocate this once; never free it. We assume this gives us a 147 150 pointer to the start of L1 scratchpad memory; panic if it ··· 155 152 tmp, (unsigned long)L1_SCRATCH_TASK_INFO); 156 153 panic("No L1, time to give up\n"); 157 154 } 155 + 156 + return 0; 158 157 } 158 + pure_initcall(sram_init); 159 159 160 160 static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) 161 161 {
+7 -1
include/asm-blackfin/bfin-global.h
··· 92 92 extern void *l1_inst_sram_alloc(size_t); 93 93 extern void *l1_data_sram_alloc(size_t); 94 94 extern void *l1_data_sram_zalloc(size_t); 95 + extern void *l2_sram_alloc(size_t); 96 + extern void *l2_sram_zalloc(size_t); 95 97 extern int l1_data_A_sram_free(const void*); 96 98 extern int l1_data_B_sram_free(const void*); 97 99 extern int l1_inst_sram_free(const void*); 98 100 extern int l1_data_sram_free(const void*); 101 + extern int l2_sram_free(const void *); 99 102 extern int sram_free(const void*); 100 103 101 104 #define L1_INST_SRAM 0x00000001 102 105 #define L1_DATA_A_SRAM 0x00000002 103 106 #define L1_DATA_B_SRAM 0x00000004 104 107 #define L1_DATA_SRAM 0x00000006 108 + #define L2_SRAM 0x00000008 105 109 extern void *sram_alloc_with_lsl(size_t, unsigned long); 106 110 extern int sram_free_with_lsl(const void*); 107 111 ··· 118 114 extern unsigned long _ramstart, _ramend, _rambase; 119 115 extern unsigned long memory_start, memory_end, physical_mem_end; 120 116 extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], 121 - _ebss_l1[], _l1_lma_start[], _sdata_b_l1[], _ebss_b_l1[]; 117 + _ebss_l1[], _l1_lma_start[], _sdata_b_l1[], _ebss_b_l1[], 118 + _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], _sbss_l2[], 119 + _ebss_l2[], _l2_lma_start[]; 122 120 123 121 #ifdef CONFIG_MTD_UCLINUX 124 122 extern unsigned long memory_mtd_start, memory_mtd_end, mtd_size;
+8
include/asm-blackfin/dma.h
··· 144 144 void *data; 145 145 unsigned int dma_enable_flag; 146 146 unsigned int loopback_flag; 147 + #ifdef CONFIG_PM 148 + unsigned short saved_peripheral_map; 149 + #endif 147 150 }; 151 + 152 + #ifdef CONFIG_PM 153 + int blackfin_dma_suspend(void); 154 + void blackfin_dma_resume(void); 155 + #endif 148 156 149 157 /******************************************************************************* 150 158 * DMA API's
+31 -51
include/asm-blackfin/dpmc.h
··· 7 7 #ifndef _BLACKFIN_DPMC_H_ 8 8 #define _BLACKFIN_DPMC_H_ 9 9 10 - #define SLEEP_MODE 1 11 - #define DEEP_SLEEP_MODE 2 12 - #define ACTIVE_PLL_DISABLED 3 13 - #define FULLON_MODE 4 14 - #define ACTIVE_PLL_ENABLED 5 15 - #define HIBERNATE_MODE 6 16 - 17 - #define IOCTL_FULL_ON_MODE _IO('s', 0xA0) 18 - #define IOCTL_ACTIVE_MODE _IO('s', 0xA1) 19 - #define IOCTL_SLEEP_MODE _IO('s', 0xA2) 20 - #define IOCTL_DEEP_SLEEP_MODE _IO('s', 0xA3) 21 - #define IOCTL_HIBERNATE_MODE _IO('s', 0xA4) 22 - #define IOCTL_CHANGE_FREQUENCY _IOW('s', 0xA5, unsigned long) 23 - #define IOCTL_CHANGE_VOLTAGE _IOW('s', 0xA6, unsigned long) 24 - #define IOCTL_SET_CCLK _IOW('s', 0xA7, unsigned long) 25 - #define IOCTL_SET_SCLK _IOW('s', 0xA8, unsigned long) 26 - #define IOCTL_GET_PLLSTATUS _IOW('s', 0xA9, unsigned long) 27 - #define IOCTL_GET_CORECLOCK _IOW('s', 0xAA, unsigned long) 28 - #define IOCTL_GET_SYSTEMCLOCK _IOW('s', 0xAB, unsigned long) 29 - #define IOCTL_GET_VCO _IOW('s', 0xAC, unsigned long) 30 - #define IOCTL_DISABLE_WDOG_TIMER _IO('s', 0xAD) 31 - #define IOCTL_UNMASK_WDOG_WAKEUP_EVENT _IO('s',0xAE) 32 - #define IOCTL_PROGRAM_WDOG_TIMER _IOW('s',0xAF,unsigned long) 33 - #define IOCTL_CLEAR_WDOG_WAKEUP_EVENT _IO('s',0xB0) 34 - #define IOCTL_SLEEP_DEEPER_MODE _IO('s',0xB1) 35 - 36 - #define DPMC_MINOR 254 37 - 38 - #define ON 0 39 - #define OFF 1 40 - 41 10 #ifdef __KERNEL__ 11 + #ifndef __ASSEMBLY__ 42 12 43 - unsigned long calc_volt(void); 44 - int calc_vlev(int vlt); 45 - unsigned long change_voltage(unsigned long volt); 46 - int calc_msel(int vco_hz); 47 - unsigned long change_frequency(unsigned long vco_mhz); 48 - int set_pll_div(unsigned short sel, unsigned char flag); 49 - int get_vco(void); 50 - unsigned long change_system_clock(unsigned long clock); 51 - unsigned long change_core_clock(unsigned long clock); 52 - unsigned long get_pll_status(void); 53 - void change_baud(int baud); 54 - void fullon_mode(void); 55 - void active_mode(void); 56 13 void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 57 14 void deep_sleep(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 58 15 void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 59 16 void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 60 - void program_wdog_timer(unsigned long); 61 - void unmask_wdog_wakeup_evt(void); 62 - void clear_wdog_wakeup_evt(void); 63 - void disable_wdog_timer(void); 17 + void do_hibernate(int wakeup); 18 + void set_dram_srfs(void); 19 + void unset_dram_srfs(void); 64 20 65 - extern unsigned long get_cclk(void); 66 - extern unsigned long get_sclk(void); 21 + #define VRPAIR(vlev, freq) (((vlev) << 16) | ((freq) >> 16)) 67 22 68 23 struct bfin_dpmc_platform_data { 69 24 const unsigned int *tuple_tab; ··· 26 71 unsigned short vr_settling_time; /* in us */ 27 72 }; 28 73 29 - #define VRPAIR(vlev, freq) (((vlev) << 16) | ((freq) >> 16)) 74 + #else 30 75 76 + #define PM_PUSH(x) \ 77 + R0 = [P0 + (x - SRAM_BASE_ADDRESS)];\ 78 + [--SP] = R0;\ 79 + 80 + #define PM_POP(x) \ 81 + R0 = [SP++];\ 82 + [P0 + (x - SRAM_BASE_ADDRESS)] = R0;\ 83 + 84 + #define PM_SYS_PUSH(x) \ 85 + R0 = [P0 + (x - PLL_CTL)];\ 86 + [--SP] = R0;\ 87 + 88 + #define PM_SYS_POP(x) \ 89 + R0 = [SP++];\ 90 + [P0 + (x - PLL_CTL)] = R0;\ 91 + 92 + #define PM_SYS_PUSH16(x) \ 93 + R0 = w[P0 + (x - PLL_CTL)];\ 94 + [--SP] = R0;\ 95 + 96 + #define PM_SYS_POP16(x) \ 97 + R0 = [SP++];\ 98 + w[P0 + (x - PLL_CTL)] = R0;\ 99 + 100 + #endif 31 101 #endif /* __KERNEL__ */ 32 102 33 103 #endif /*_BLACKFIN_DPMC_H_*/
+2
include/asm-blackfin/elf.h
··· 15 15 #define EF_BFIN_FDPIC 0x00000002 /* -mfdpic */ 16 16 #define EF_BFIN_CODE_IN_L1 0x00000010 /* --code-in-l1 */ 17 17 #define EF_BFIN_DATA_IN_L1 0x00000020 /* --data-in-l1 */ 18 + #define EF_BFIN_CODE_IN_L2 0x00000040 /* --code-in-l2 */ 19 + #define EF_BFIN_DATA_IN_L2 0x00000080 /* --data-in-l2 */ 18 20 19 21 typedef unsigned long elf_greg_t; 20 22
+7 -12
include/asm-blackfin/gpio.h
··· 376 376 #endif 377 377 378 378 #ifdef CONFIG_PM 379 - unsigned int bfin_pm_setup(void); 380 - void bfin_pm_restore(void); 379 + 380 + unsigned int bfin_pm_standby_setup(void); 381 + void bfin_pm_standby_restore(void); 382 + 383 + void bfin_gpio_pm_hibernate_restore(void); 384 + void bfin_gpio_pm_hibernate_suspend(void); 381 385 382 386 #ifndef CONFIG_BF54x 383 387 #define PM_WAKE_RISING 0x1 ··· 396 392 397 393 struct gpio_port_s { 398 394 unsigned short data; 399 - unsigned short data_clear; 400 - unsigned short data_set; 401 - unsigned short toggle; 402 395 unsigned short maska; 403 - unsigned short maska_clear; 404 - unsigned short maska_set; 405 - unsigned short maska_toggle; 406 396 unsigned short maskb; 407 - unsigned short maskb_clear; 408 - unsigned short maskb_set; 409 - unsigned short maskb_toggle; 410 397 unsigned short dir; 411 398 unsigned short polar; 412 399 unsigned short edge; ··· 406 411 407 412 unsigned short fer; 408 413 unsigned short reserved; 414 + unsigned short mux; 409 415 }; 410 416 #endif /*CONFIG_BF54x*/ 411 417 #endif /*CONFIG_PM*/ 412 - 413 418 /*********************************************************** 414 419 * 415 420 * FUNCTIONS: Blackfin GPIO Driver
+2
include/asm-blackfin/mach-bf527/anomaly.h
··· 23 23 #define ANOMALY_05000245 (1) 24 24 /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ 25 25 #define ANOMALY_05000265 (1) 26 + /* New Feature: EMAC TX DMA Word Alignment */ 27 + #define ANOMALY_05000285 (1) 26 28 /* Errors when SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ 27 29 #define ANOMALY_05000312 (1) 28 30 /* Incorrect Access of OTP_STATUS During otp_write() Function */
+15 -6
include/asm-blackfin/mach-bf527/bfin_sir.h
··· 118 118 119 119 #define DRIVER_NAME "bfin_sir" 120 120 121 - static void bfin_sir_hw_init(void) 121 + static int bfin_sir_hw_init(void) 122 122 { 123 + int ret = -ENODEV; 123 124 #ifdef CONFIG_BFIN_SIR0 124 - peripheral_request(P_UART0_TX, DRIVER_NAME); 125 - peripheral_request(P_UART0_RX, DRIVER_NAME); 125 + ret = peripheral_request(P_UART0_TX, DRIVER_NAME); 126 + if (ret) 127 + return ret; 128 + ret = peripheral_request(P_UART0_RX, DRIVER_NAME); 129 + if (ret) 130 + return ret; 126 131 #endif 127 132 128 133 #ifdef CONFIG_BFIN_SIR1 129 - peripheral_request(P_UART1_TX, DRIVER_NAME); 130 - peripheral_request(P_UART1_RX, DRIVER_NAME); 134 + ret = peripheral_request(P_UART1_TX, DRIVER_NAME); 135 + if (ret) 136 + return ret; 137 + ret = peripheral_request(P_UART1_RX, DRIVER_NAME); 138 + if (ret) 139 + return ret; 131 140 #endif 132 - SSYNC(); 141 + return ret; 133 142 }
+1
include/asm-blackfin/mach-bf527/defBF527.h
··· 302 302 #define PHYIE 0x00000001 /* PHY_INT Interrupt Enable */ 303 303 #define RXDWA 0x00000002 /* Receive Frame DMA Word Alignment (Odd/Even*) */ 304 304 #define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */ 305 + #define TXDWA 0x00000010 /* Transmit Frame DMA Word Alignment (Odd/Even*) */ 305 306 #define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */ 306 307 307 308 #define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
-27
include/asm-blackfin/mach-bf527/mem_init.h
··· 146 146 #define SDRAM_CL CL_3 147 147 #endif 148 148 149 - #if (CONFIG_MEM_SIZE == 128) 150 - #define SDRAM_SIZE EBSZ_128 151 - #endif 152 - #if (CONFIG_MEM_SIZE == 64) 153 - #define SDRAM_SIZE EBSZ_64 154 - #endif 155 - #if (CONFIG_MEM_SIZE == 32) 156 - #define SDRAM_SIZE EBSZ_32 157 - #endif 158 - #if (CONFIG_MEM_SIZE == 16) 159 - #define SDRAM_SIZE EBSZ_16 160 - #endif 161 - #if (CONFIG_MEM_ADD_WIDTH == 11) 162 - #define SDRAM_WIDTH EBCAW_11 163 - #endif 164 - #if (CONFIG_MEM_ADD_WIDTH == 10) 165 - #define SDRAM_WIDTH EBCAW_10 166 - #endif 167 - #if (CONFIG_MEM_ADD_WIDTH == 9) 168 - #define SDRAM_WIDTH EBCAW_9 169 - #endif 170 - #if (CONFIG_MEM_ADD_WIDTH == 8) 171 - #define SDRAM_WIDTH EBCAW_8 172 - #endif 173 - 174 - #define mem_SDBCTL (SDRAM_WIDTH | SDRAM_SIZE | EBE) 175 - 176 149 /* Equation from section 17 (p17-46) of BF533 HRM */ 177 150 #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) 178 151
+9 -4
include/asm-blackfin/mach-bf533/bfin_sir.h
··· 110 110 111 111 #define DRIVER_NAME "bfin_sir" 112 112 113 - static void bfin_sir_hw_init(void) 113 + static int bfin_sir_hw_init(void) 114 114 { 115 + int ret = -ENODEV; 115 116 #ifdef CONFIG_BFIN_SIR0 116 - peripheral_request(P_UART0_TX, DRIVER_NAME); 117 - peripheral_request(P_UART0_RX, DRIVER_NAME); 117 + ret = peripheral_request(P_UART0_TX, DRIVER_NAME); 118 + if (ret) 119 + return ret; 120 + ret = peripheral_request(P_UART0_RX, DRIVER_NAME); 121 + if (ret) 122 + return ret; 118 123 #endif 119 - SSYNC(); 124 + return ret; 120 125 }
-27
include/asm-blackfin/mach-bf533/mem_init.h
··· 133 133 #define SDRAM_CL CL_3 134 134 #endif 135 135 136 - #if (CONFIG_MEM_SIZE == 128) 137 - #define SDRAM_SIZE EBSZ_128 138 - #endif 139 - #if (CONFIG_MEM_SIZE == 64) 140 - #define SDRAM_SIZE EBSZ_64 141 - #endif 142 - #if (CONFIG_MEM_SIZE == 32) 143 - #define SDRAM_SIZE EBSZ_32 144 - #endif 145 - #if (CONFIG_MEM_SIZE == 16) 146 - #define SDRAM_SIZE EBSZ_16 147 - #endif 148 - #if (CONFIG_MEM_ADD_WIDTH == 11) 149 - #define SDRAM_WIDTH EBCAW_11 150 - #endif 151 - #if (CONFIG_MEM_ADD_WIDTH == 10) 152 - #define SDRAM_WIDTH EBCAW_10 153 - #endif 154 - #if (CONFIG_MEM_ADD_WIDTH == 9) 155 - #define SDRAM_WIDTH EBCAW_9 156 - #endif 157 - #if (CONFIG_MEM_ADD_WIDTH == 8) 158 - #define SDRAM_WIDTH EBCAW_8 159 - #endif 160 - 161 - #define mem_SDBCTL (SDRAM_WIDTH | SDRAM_SIZE | EBE) 162 - 163 136 /* Equation from section 17 (p17-46) of BF533 HRM */ 164 137 #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) 165 138
+15 -6
include/asm-blackfin/mach-bf537/bfin_sir.h
··· 118 118 119 119 #define DRIVER_NAME "bfin_sir" 120 120 121 - static void bfin_sir_hw_init(void) 121 + static int bfin_sir_hw_init(void) 122 122 { 123 + int ret = -ENODEV; 123 124 #ifdef CONFIG_BFIN_SIR0 124 - peripheral_request(P_UART0_TX, DRIVER_NAME); 125 - peripheral_request(P_UART0_RX, DRIVER_NAME); 125 + ret = peripheral_request(P_UART0_TX, DRIVER_NAME); 126 + if (ret) 127 + return ret; 128 + ret = peripheral_request(P_UART0_RX, DRIVER_NAME); 129 + if (ret) 130 + return ret; 126 131 #endif 127 132 128 133 #ifdef CONFIG_BFIN_SIR1 129 - peripheral_request(P_UART1_TX, DRIVER_NAME); 130 - peripheral_request(P_UART1_RX, DRIVER_NAME); 134 + ret = peripheral_request(P_UART1_TX, DRIVER_NAME); 135 + if (ret) 136 + return ret; 137 + ret = peripheral_request(P_UART1_RX, DRIVER_NAME); 138 + if (ret) 139 + return ret; 131 140 #endif 132 - SSYNC(); 141 + return ret; 133 142 }
+1
include/asm-blackfin/mach-bf537/defBF537.h
··· 290 290 #define PHYIE 0x00000001 /* PHY_INT Interrupt Enable */ 291 291 #define RXDWA 0x00000002 /* Receive Frame DMA Word Alignment (Odd/Even*) */ 292 292 #define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */ 293 + #define TXDWA 0x00000010 /* Transmit Frame DMA Word Alignment (Odd/Even*) */ 293 294 #define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */ 294 295 295 296 #define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
-27
include/asm-blackfin/mach-bf537/mem_init.h
··· 139 139 #define SDRAM_CL CL_3 140 140 #endif 141 141 142 - #if (CONFIG_MEM_SIZE == 128) 143 - #define SDRAM_SIZE EBSZ_128 144 - #endif 145 - #if (CONFIG_MEM_SIZE == 64) 146 - #define SDRAM_SIZE EBSZ_64 147 - #endif 148 - #if (CONFIG_MEM_SIZE == 32) 149 - #define SDRAM_SIZE EBSZ_32 150 - #endif 151 - #if (CONFIG_MEM_SIZE == 16) 152 - #define SDRAM_SIZE EBSZ_16 153 - #endif 154 - #if (CONFIG_MEM_ADD_WIDTH == 11) 155 - #define SDRAM_WIDTH EBCAW_11 156 - #endif 157 - #if (CONFIG_MEM_ADD_WIDTH == 10) 158 - #define SDRAM_WIDTH EBCAW_10 159 - #endif 160 - #if (CONFIG_MEM_ADD_WIDTH == 9) 161 - #define SDRAM_WIDTH EBCAW_9 162 - #endif 163 - #if (CONFIG_MEM_ADD_WIDTH == 8) 164 - #define SDRAM_WIDTH EBCAW_8 165 - #endif 166 - 167 - #define mem_SDBCTL (SDRAM_WIDTH | SDRAM_SIZE | EBE) 168 - 169 142 /* Equation from section 17 (p17-46) of BF533 HRM */ 170 143 #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) 171 144
+27 -10
include/asm-blackfin/mach-bf548/bfin_sir.h
··· 124 124 125 125 #define DRIVER_NAME "bfin_sir" 126 126 127 - static void bfin_sir_hw_init(void) 127 + static int bfin_sir_hw_init(void) 128 128 { 129 + int ret = -ENODEV; 129 130 #ifdef CONFIG_BFIN_SIR0 130 - peripheral_request(P_UART0_TX, DRIVER_NAME); 131 - peripheral_request(P_UART0_RX, DRIVER_NAME); 131 + ret = peripheral_request(P_UART0_TX, DRIVER_NAME); 132 + if (ret) 133 + return ret; 134 + ret = peripheral_request(P_UART0_RX, DRIVER_NAME); 135 + if (ret) 136 + return ret; 132 137 #endif 133 138 134 139 #ifdef CONFIG_BFIN_SIR1 135 - peripheral_request(P_UART1_TX, DRIVER_NAME); 136 - peripheral_request(P_UART1_RX, DRIVER_NAME); 140 + ret = peripheral_request(P_UART1_TX, DRIVER_NAME); 141 + if (ret) 142 + return ret; 143 + ret = peripheral_request(P_UART1_RX, DRIVER_NAME); 144 + if (ret) 145 + return ret; 137 146 #endif 138 147 139 148 #ifdef CONFIG_BFIN_SIR2 140 - peripheral_request(P_UART2_TX, DRIVER_NAME); 141 - peripheral_request(P_UART2_RX, DRIVER_NAME); 149 + ret = peripheral_request(P_UART2_TX, DRIVER_NAME); 150 + if (ret) 151 + return ret; 152 + ret = peripheral_request(P_UART2_RX, DRIVER_NAME); 153 + if (ret) 154 + return ret; 142 155 #endif 143 156 144 157 #ifdef CONFIG_BFIN_SIR3 145 - peripheral_request(P_UART3_TX, DRIVER_NAME); 146 - peripheral_request(P_UART3_RX, DRIVER_NAME); 158 + ret = peripheral_request(P_UART3_TX, DRIVER_NAME); 159 + if (ret) 160 + return ret; 161 + ret = peripheral_request(P_UART3_RX, DRIVER_NAME); 162 + if (ret) 163 + return ret; 147 164 #endif 148 - SSYNC(); 165 + return ret; 149 166 }
+8
include/asm-blackfin/mach-bf548/gpio.h
··· 209 209 unsigned short dummy7; 210 210 unsigned int port_mux; 211 211 }; 212 + 213 + struct gpio_port_s { 214 + unsigned short fer; 215 + unsigned short data; 216 + unsigned short dir; 217 + unsigned short inen; 218 + unsigned int mux; 219 + };
+9 -4
include/asm-blackfin/mach-bf561/bfin_sir.h
··· 110 110 111 111 #define DRIVER_NAME "bfin_sir" 112 112 113 - static void bfin_sir_hw_init(void) 113 + static int bfin_sir_hw_init(void) 114 114 { 115 + int ret = -ENODEV; 115 116 #ifdef CONFIG_BFIN_SIR0 116 - peripheral_request(P_UART0_TX, DRIVER_NAME); 117 - peripheral_request(P_UART0_RX, DRIVER_NAME); 117 + ret = peripheral_request(P_UART0_TX, DRIVER_NAME); 118 + if (ret) 119 + return ret; 120 + ret = peripheral_request(P_UART0_RX, DRIVER_NAME); 121 + if (ret) 122 + return ret; 118 123 #endif 119 - SSYNC(); 124 + return ret; 120 125 }
-27
include/asm-blackfin/mach-bf561/mem_init.h
··· 131 131 #define SDRAM_CL CL_3 132 132 #endif 133 133 134 - #if (CONFIG_MEM_SIZE == 128) 135 - #define SDRAM_SIZE EB0_SZ_128 136 - #endif 137 - #if (CONFIG_MEM_SIZE == 64) 138 - #define SDRAM_SIZE EB0_SZ_64 139 - #endif 140 - #if ( CONFIG_MEM_SIZE == 32) 141 - #define SDRAM_SIZE EB0_SZ_32 142 - #endif 143 - #if (CONFIG_MEM_SIZE == 16) 144 - #define SDRAM_SIZE EB0_SZ_16 145 - #endif 146 - #if (CONFIG_MEM_ADD_WIDTH == 11) 147 - #define SDRAM_WIDTH EB0_CAW_11 148 - #endif 149 - #if (CONFIG_MEM_ADD_WIDTH == 10) 150 - #define SDRAM_WIDTH EB0_CAW_10 151 - #endif 152 - #if (CONFIG_MEM_ADD_WIDTH == 9) 153 - #define SDRAM_WIDTH EB0_CAW_9 154 - #endif 155 - #if (CONFIG_MEM_ADD_WIDTH == 8) 156 - #define SDRAM_WIDTH EB0_CAW_8 157 - #endif 158 - 159 - #define mem_SDBCTL (SDRAM_WIDTH | SDRAM_SIZE | EB0_E) 160 - 161 134 /* Equation from section 17 (p17-46) of BF533 HRM */ 162 135 #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) 163 136
+3 -2
include/asm-blackfin/module.h
··· 6 6 #define Elf_Shdr Elf32_Shdr 7 7 #define Elf_Sym Elf32_Sym 8 8 #define Elf_Ehdr Elf32_Ehdr 9 - #define FLG_CODE_IN_L1 0x10 10 - #define FLG_DATA_IN_L1 0x20 11 9 12 10 struct mod_arch_specific { 13 11 Elf_Shdr *text_l1; ··· 13 15 Elf_Shdr *bss_a_l1; 14 16 Elf_Shdr *data_b_l1; 15 17 Elf_Shdr *bss_b_l1; 18 + Elf_Shdr *text_l2; 19 + Elf_Shdr *data_l2; 20 + Elf_Shdr *bss_l2; 16 21 }; 17 22 #endif /* _ASM_BFIN_MODULE_H */
+20 -1
include/asm-blackfin/processor.h
··· 112 112 static inline uint32_t __pure bfin_revid(void) 113 113 { 114 114 /* stored in the upper 4 bits */ 115 - return bfin_read_CHIPID() >> 28; 115 + uint32_t revid = bfin_read_CHIPID() >> 28; 116 + 117 + #ifdef CONFIG_BF52x 118 + /* ANOMALY_05000357 119 + * Incorrect Revision Number in DSPID Register 120 + */ 121 + if (revid == 0) 122 + switch (bfin_read16(_BOOTROM_GET_DXE_ADDRESS_TWI)) { 123 + case 0x0010: 124 + revid = 0; 125 + break; 126 + case 0x2796: 127 + revid = 1; 128 + break; 129 + default: 130 + revid = 0xFFFF; 131 + break; 132 + } 133 + #endif 134 + return revid; 116 135 } 117 136 118 137 static inline uint32_t __pure bfin_compiled_revid(void)