Commit 39710479 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (96 commits)
  Blackfin: stop cleaning include/asm/asm-offsets.h
  Blackfin: scale calibration when cpu freq changes
  Blackfin: eat spurious space in asm/dpmc.h
  Blackfin: fix anomaly 283 handling with exact hardware error
  Blackfin: bf537-stamp: add example ADXL346 orientation resources
  Blackfin: bf537-stamp: add example AD2S1210 IIO resources
  Blackfin: don't support keypad wakeup from hibernate
  Blackfin: bf537-stamp: add example AD7416 IIO resources
  Blackfin: bf537-stamp: add example ADP8860 backlight/led resources
  Blackfin: bf537-stamp: add example AD7414 temp sensor resources
  Blackfin: rename AD1836 to AD183X in board files
  Blackfin: bf537-stamp: add example AD2S120x resources
  Blackfin: add support for the on-chip MAC status interrupts
  Blackfin: asm/page.h: pull in asm-generic headers
  Blackfin: mark gpio lib functions static
  Blackfin: bf537-stamp: add example ADAU1361 resources
  Blackfin: GPIO: implement to_irq handler
  Blackfin: bf537-stamp: add example ADP122/ADP150 power regulator resources
  Blackfin: bf537-stamp: add example AD2S90 resources
  Blackfin: bf537-stamp: add example AD5398 power regulator resources
  ...
parents 9d20593a eb63e5d1
...@@ -23,12 +23,15 @@ config RWSEM_XCHGADD_ALGORITHM ...@@ -23,12 +23,15 @@ config RWSEM_XCHGADD_ALGORITHM
config BLACKFIN config BLACKFIN
def_bool y def_bool y
select HAVE_ARCH_KGDB
select HAVE_ARCH_TRACEHOOK
select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACER
select HAVE_FUNCTION_TRACE_MCOUNT_TEST
select HAVE_IDE select HAVE_IDE
select HAVE_KERNEL_GZIP select HAVE_KERNEL_GZIP if RAMKERNEL
select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_BZIP2 if RAMKERNEL
select HAVE_KERNEL_LZMA select HAVE_KERNEL_LZMA if RAMKERNEL
select HAVE_OPROFILE select HAVE_OPROFILE
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_OPTIONAL_GPIOLIB
...@@ -45,9 +48,6 @@ config ZONE_DMA ...@@ -45,9 +48,6 @@ config ZONE_DMA
config GENERIC_FIND_NEXT_BIT config GENERIC_FIND_NEXT_BIT
def_bool y def_bool y
config GENERIC_HWEIGHT
def_bool y
config GENERIC_HARDIRQS config GENERIC_HARDIRQS
def_bool y def_bool y
...@@ -239,7 +239,7 @@ endchoice ...@@ -239,7 +239,7 @@ endchoice
config SMP config SMP
depends on BF561 depends on BF561
select GENERIC_CLOCKEVENTS select TICKSOURCE_CORETMR
bool "Symmetric multi-processing support" bool "Symmetric multi-processing support"
---help--- ---help---
This enables support for systems with more than one CPU, This enables support for systems with more than one CPU,
...@@ -253,11 +253,20 @@ config NR_CPUS ...@@ -253,11 +253,20 @@ config NR_CPUS
depends on SMP depends on SMP
default 2 if BF561 default 2 if BF561
config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs"
depends on SMP && HOTPLUG
default y
config IRQ_PER_CPU config IRQ_PER_CPU
bool bool
depends on SMP depends on SMP
default y default y
config HAVE_LEGACY_PER_CPU_AREA
def_bool y
depends on SMP
config BF_REV_MIN config BF_REV_MIN
int int
default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
...@@ -349,7 +358,7 @@ config MEM_MT48LC8M32B2B5_7 ...@@ -349,7 +358,7 @@ config MEM_MT48LC8M32B2B5_7
config MEM_MT48LC32M16A2TG_75 config MEM_MT48LC32M16A2TG_75
bool bool
depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP) depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
default y default y
config MEM_MT48LC32M8A2_75 config MEM_MT48LC32M8A2_75
...@@ -401,10 +410,18 @@ config BOOT_LOAD ...@@ -401,10 +410,18 @@ config BOOT_LOAD
config ROM_BASE config ROM_BASE
hex "Kernel ROM Base" hex "Kernel ROM Base"
depends on ROMKERNEL depends on ROMKERNEL
default "0x20040000" default "0x20040040"
range 0x20000000 0x20400000 if !(BF54x || BF561) range 0x20000000 0x20400000 if !(BF54x || BF561)
range 0x20000000 0x30000000 if (BF54x || BF561) range 0x20000000 0x30000000 if (BF54x || BF561)
help help
Make sure your ROM base does not include any file-header
information that is prepended to the kernel.
For example, the bootable U-Boot format (created with
mkimage) has a 64 byte header (0x40). So while the image
you write to flash might start at say 0x20080000, you have
to add 0x40 to get the kernel's ROM base as it will come
after the header.
comment "Clock/PLL Setup" comment "Clock/PLL Setup"
...@@ -448,7 +465,7 @@ config VCO_MULT ...@@ -448,7 +465,7 @@ config VCO_MULT
range 1 64 range 1 64
default "22" if BFIN533_EZKIT default "22" if BFIN533_EZKIT
default "45" if BFIN533_STAMP default "45" if BFIN533_STAMP
default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT) default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
default "22" if BFIN533_BLUETECHNIX_CM default "22" if BFIN533_BLUETECHNIX_CM
default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
default "20" if BFIN561_EZKIT default "20" if BFIN561_EZKIT
...@@ -609,23 +626,23 @@ config GENERIC_CLOCKEVENTS ...@@ -609,23 +626,23 @@ config GENERIC_CLOCKEVENTS
bool "Generic clock events" bool "Generic clock events"
default y default y
choice menu "Clock event device"
prompt "Kernel Tick Source"
depends on GENERIC_CLOCKEVENTS depends on GENERIC_CLOCKEVENTS
default TICKSOURCE_CORETMR
config TICKSOURCE_GPTMR0 config TICKSOURCE_GPTMR0
bool "Gptimer0 (SCLK domain)" bool "GPTimer0"
depends on !SMP
select BFIN_GPTIMERS select BFIN_GPTIMERS
config TICKSOURCE_CORETMR config TICKSOURCE_CORETMR
bool "Core timer (CCLK domain)" bool "Core timer"
default y
endchoice endmenu
config CYCLES_CLOCKSOURCE menu "Clock souce"
bool "Use 'CYCLES' as a clocksource"
depends on GENERIC_CLOCKEVENTS depends on GENERIC_CLOCKEVENTS
config CYCLES_CLOCKSOURCE
bool "CYCLES"
default y
depends on !BFIN_SCRATCH_REG_CYCLES depends on !BFIN_SCRATCH_REG_CYCLES
depends on !SMP depends on !SMP
help help
...@@ -636,10 +653,10 @@ config CYCLES_CLOCKSOURCE ...@@ -636,10 +653,10 @@ config CYCLES_CLOCKSOURCE
writing the registers will most likely crash the kernel. writing the registers will most likely crash the kernel.
config GPTMR0_CLOCKSOURCE config GPTMR0_CLOCKSOURCE
bool "Use GPTimer0 as a clocksource" bool "GPTimer0"
select BFIN_GPTIMERS select BFIN_GPTIMERS
depends on GENERIC_CLOCKEVENTS
depends on !TICKSOURCE_GPTMR0 depends on !TICKSOURCE_GPTMR0
endmenu
config ARCH_USES_GETTIMEOFFSET config ARCH_USES_GETTIMEOFFSET
depends on !GENERIC_CLOCKEVENTS depends on !GENERIC_CLOCKEVENTS
...@@ -1116,24 +1133,6 @@ config PCI ...@@ -1116,24 +1133,6 @@ config PCI
source "drivers/pci/Kconfig" source "drivers/pci/Kconfig"
config HOTPLUG
bool "Support for hot-pluggable device"
help
Say Y here if you want to plug devices into your computer while
the system is running, and be able to use them quickly. In many
cases, the devices can likewise be unplugged at any time too.
One well known example of this is PCMCIA- or PC-cards, credit-card
size devices such as network cards, modems or hard drives which are
plugged into slots found on all modern laptop computers. Another
example, used on modern desktops as well as laptops, is USB.
Enable HOTPLUG and build a modular kernel. Get agent software
(from <http://linux-hotplug.sourceforge.net/>) and install it.
Then your kernel will automatically call out to a user mode "policy
agent" (/sbin/hotplug) to load modules and set up software needed
to use devices as you hotplug them.
source "drivers/pcmcia/Kconfig" source "drivers/pcmcia/Kconfig"
source "drivers/pci/hotplug/Kconfig" source "drivers/pci/hotplug/Kconfig"
...@@ -1147,7 +1146,6 @@ source "fs/Kconfig.binfmt" ...@@ -1147,7 +1146,6 @@ source "fs/Kconfig.binfmt"
endmenu endmenu
menu "Power management options" menu "Power management options"
depends on !SMP
source "kernel/power/Kconfig" source "kernel/power/Kconfig"
...@@ -1240,7 +1238,6 @@ config PM_BFIN_WAKE_GP ...@@ -1240,7 +1238,6 @@ config PM_BFIN_WAKE_GP
endmenu endmenu
menu "CPU Frequency scaling" menu "CPU Frequency scaling"
depends on !SMP
source "drivers/cpufreq/Kconfig" source "drivers/cpufreq/Kconfig"
......
...@@ -18,9 +18,6 @@ config DEBUG_STACK_USAGE ...@@ -18,9 +18,6 @@ config DEBUG_STACK_USAGE
This option will slow down process creation somewhat. This option will slow down process creation somewhat.
config HAVE_ARCH_KGDB
def_bool y
config DEBUG_VERBOSE config DEBUG_VERBOSE
bool "Verbose fault messages" bool "Verbose fault messages"
default y default y
...@@ -238,6 +235,15 @@ config EARLY_PRINTK ...@@ -238,6 +235,15 @@ config EARLY_PRINTK
all of this lives in the init section and is thrown away after the all of this lives in the init section and is thrown away after the
kernel boots completely. kernel boots completely.
config NMI_WATCHDOG
bool "Enable NMI watchdog to help debugging lockup on SMP"
default n
depends on (SMP && !BFIN_SCRATCH_REG_RETN)
help
If any CPU in the system does not execute the period local timer
interrupt for more than 5 seconds, then the NMI handler dumps debug
information. This information can be used to debug the lockup.
config CPLB_INFO config CPLB_INFO
bool "Display the CPLB information" bool "Display the CPLB information"
help help
......
...@@ -14,6 +14,9 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S ...@@ -14,6 +14,9 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S
GZFLAGS := -9 GZFLAGS := -9
KBUILD_CFLAGS += $(call cc-option,-mno-fdpic) KBUILD_CFLAGS += $(call cc-option,-mno-fdpic)
ifeq ($(CONFIG_ROMKERNEL),y)
KBUILD_CFLAGS += -mlong-calls
endif
KBUILD_AFLAGS += $(call cc-option,-mno-fdpic) KBUILD_AFLAGS += $(call cc-option,-mno-fdpic)
CFLAGS_MODULE += -mlong-calls CFLAGS_MODULE += -mlong-calls
LDFLAGS_MODULE += -m elf32bfin LDFLAGS_MODULE += -m elf32bfin
...@@ -130,7 +133,6 @@ KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include ...@@ -130,7 +133,6 @@ KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
CLEAN_FILES += \ CLEAN_FILES += \
arch/$(ARCH)/include/asm/asm-offsets.h \
arch/$(ARCH)/kernel/asm-offsets.s \ arch/$(ARCH)/kernel/asm-offsets.s \
archclean: archclean:
...@@ -138,7 +140,7 @@ archclean: ...@@ -138,7 +140,7 @@ archclean:
INSTALL_PATH ?= /tftpboot INSTALL_PATH ?= /tftpboot
boot := arch/$(ARCH)/boot boot := arch/$(ARCH)/boot
BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.xip
PHONY += $(BOOT_TARGETS) install PHONY += $(BOOT_TARGETS) install
KBUILD_IMAGE := $(boot)/vmImage KBUILD_IMAGE := $(boot)/vmImage
...@@ -156,6 +158,7 @@ define archhelp ...@@ -156,6 +158,7 @@ define archhelp
echo ' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)' echo ' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)'
echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)' echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)'
echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)' echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)'
echo ' vmImage.xip - XIP Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.xip)'
echo ' install - Install kernel using' echo ' install - Install kernel using'
echo ' (your) ~/bin/$(INSTALLKERNEL) or' echo ' (your) ~/bin/$(INSTALLKERNEL) or'
echo ' (distribution) PATH: $(INSTALLKERNEL) or' echo ' (distribution) PATH: $(INSTALLKERNEL) or'
......
...@@ -8,14 +8,18 @@ ...@@ -8,14 +8,18 @@
MKIMAGE := $(srctree)/scripts/mkuboot.sh MKIMAGE := $(srctree)/scripts/mkuboot.sh
targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.xip
extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xip
UIMAGE_OPTS-y :=
UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
quiet_cmd_uimage = UIMAGE $@ quiet_cmd_uimage = UIMAGE $@
cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
-C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' -a $(CONFIG_BOOT_LOAD) \ -C $(2) -n '$(MACHINE)-$(KERNELRELEASE)' \
-e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \ -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
-d $< $@ $(UIMAGE_OPTS-y) -d $< $@
$(obj)/vmlinux.bin: vmlinux FORCE $(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy) $(call if_changed,objcopy)
...@@ -29,6 +33,12 @@ $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE ...@@ -29,6 +33,12 @@ $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
$(call if_changed,lzma) $(call if_changed,lzma)
# The mkimage tool wants 64bytes prepended to the image
quiet_cmd_mk_bin_xip = BIN $@
cmd_mk_bin_xip = ( printf '%64s' | tr ' ' '\377' ; cat $< ) > $@
$(obj)/vmlinux.bin.xip: $(obj)/vmlinux.bin FORCE
$(call if_changed,mk_bin_xip)
$(obj)/vmImage.bin: $(obj)/vmlinux.bin $(obj)/vmImage.bin: $(obj)/vmlinux.bin
$(call if_changed,uimage,none) $(call if_changed,uimage,none)
...@@ -41,10 +51,15 @@ $(obj)/vmImage.gz: $(obj)/vmlinux.bin.gz ...@@ -41,10 +51,15 @@ $(obj)/vmImage.gz: $(obj)/vmlinux.bin.gz
$(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma $(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma
$(call if_changed,uimage,lzma) $(call if_changed,uimage,lzma)
$(obj)/vmImage.xip: $(obj)/vmlinux.bin.xip
$(call if_changed,uimage,none)
suffix-y := bin suffix-y := bin
suffix-$(CONFIG_KERNEL_GZIP) := gz suffix-$(CONFIG_KERNEL_GZIP) := gz
suffix-$(CONFIG_KERNEL_BZIP2) := bz2 suffix-$(CONFIG_KERNEL_BZIP2) := bz2
suffix-$(CONFIG_KERNEL_LZMA) := lzma suffix-$(CONFIG_KERNEL_LZMA) := lzma
suffix-$(CONFIG_ROMKERNEL) := xip
$(obj)/vmImage: $(obj)/vmImage.$(suffix-y) $(obj)/vmImage: $(obj)/vmImage.$(suffix-y)
@ln -sf $(notdir $<) $@ @ln -sf $(notdir $<) $@
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -834,13 +834,6 @@ CONFIG_SND_VERBOSE_PROCFS=y ...@@ -834,13 +834,6 @@ CONFIG_SND_VERBOSE_PROCFS=y
# #
# ALSA Blackfin devices # ALSA Blackfin devices
# #
CONFIG_SND_BLACKFIN_AD1836=m
CONFIG_SND_BLACKFIN_AD1836_TDM=y
# CONFIG_SND_BLACKFIN_AD1836_I2S is not set
CONFIG_SND_BLACKFIN_AD1836_MULSUB=y
# CONFIG_SND_BLACKFIN_AD1836_5P1 is not set
CONFIG_SND_BLACKFIN_SPORT=0
CONFIG_SND_BLACKFIN_SPI_PFBIT=4
# CONFIG_SND_BFIN_AD73311 is not set # CONFIG_SND_BFIN_AD73311 is not set
# #
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -17,8 +17,6 @@ struct blackfin_cpudata { ...@@ -17,8 +17,6 @@ struct blackfin_cpudata {
struct task_struct *idle; struct task_struct *idle;
unsigned int imemctl; unsigned int imemctl;
unsigned int dmemctl; unsigned int dmemctl;
unsigned long dcache_invld_count;
unsigned long icache_invld_count;
}; };
DECLARE_PER_CPU(struct blackfin_cpudata, cpu_data); DECLARE_PER_CPU(struct blackfin_cpudata, cpu_data);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment