summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2010-01-15ARM: S5P6440: Add Board support fileKukjin Kim
This patch adds Samsung's SMDK6440 board support file. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add new Kconfig and MakefilesKukjin Kim
This patch adds the Kconfig and Makefile for the new S5P6440 machine and platform directories. It also updates arch/arm Kconfig and Makefiles to include the support for the new S5P6440 CPU. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add Timer supportKukjin Kim
This patch adds timer support for S5P6440 CPU. Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add IRQ supportKukjin Kim
This patch adds IRQ support for S5P6440 CPU. Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add Clock and PLL supportKukjin Kim
This patch adds clock and pll support for S5P6440. This patch are based on Harald Welte's patches and Ben's plat-samsung. Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add new CPU initialization supportKukjin Kim
This patch adds Samsung's S5P6440 CPU support. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Use common UART IRQ handling codeBen Dooks
Use the common UART IRQ handling code for the S5PC100 system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move to using standard timer IRQ handling codeBen Dooks
Move to using the standard VIC/Timer IRQ handling code added previously to avoid duplicating code. Thanks to Marek Szyprowski for pointing out dual Kconfig change. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Remove definitions deleted by previous clksrc changesBen Dooks
Remove the definitions we've deleted in the previous updates to the clksrc_clk for arch/arm/plat-s5pc1xx/include/plat/regs-clock.h. Added comments about the removal to the clock header since we only need these defines in one place (and they've now been removed there) we get rid of them from the header. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Change clksrc_clks to use array of clocksBen Dooks
Remove the individual 'struct clksrc_clks' and place them into an array so that we can simply use s3c_register_clksrcs to register tham all in one go. Since the spdif clock relies on the audio clock, move the audio clocks into their own arrary. Thanks to Marek Szyprowski for testing and pointing out the four clocks what where missed from the clock list. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move clock definitions around ready to turn into clksrc arraysBen Dooks
Move the clock definitions around ready to turn the clocks into an array of clocks and register them in one go. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move to using generic clksrc_clk for clock codeBen Dooks
Remove the copy of the old s3c64xx struct clksrc_clk and use the new one in plat-samsung. This eliminates a bug in the set_parent() call where it failed to set the clk->parent after sucesfully updating the clock. The script that was used to automate much of the process will be supplied seperately. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add config option for number of additional GPIO pins.Kukjin Kim
This patch adds a configuration option for specifing the number of additional GPIO pins to be used in addition to the GPIO pins supported onchip. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: Add common entry code for system with two VICsBen Dooks
Add a common entry-macro-vic2.S for systems where there are two VICs so that the machine or platform directories just need to setup the correct information before including <asm/entry-macro-vic2.S> into their own entry-macro.S file. Since this code is from the S3C64XX project, we update the S3C64XX machine entry code to use this new header. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move IRQ UART handling for newer devices to plat-samsungBen Dooks
Move the handling for the UART interrupts out of the s3c64xx specific code and into plat-samsung so that it can be used by all implementations that need it. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move IRQ VIC timer handling out to common header filesBen Dooks
Move the VIC based timer interrupt handling out of plat-s3c64xx and into plat-samsung to be re-used for other systems. This also reduces the code size as we now have a common init routine and use the irq_desc to store the interrupt number of the timer. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move gpio-config.c into plat-samsungBen Dooks
The arch/arm/plat-s3c/gpio-config.c file is common to pretty much all the Samsung SoCs, so move it to arch/arm/plat-samsung Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move device definitions in plat-samsungBen Dooks
Move all the platform device definitions from plat-s3c into plat-samsung Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move pwm-clock code into plat-samsungBen Dooks
Move the code for the pwm-clock into plat-samsung, as it is common to all Samsung SoCs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Make clk_default_setrate and clk_ops_def_setrate visibleKukjin Kim
This patch makes clk_default_setrate and clk_ops_def_setrate available to code outside plat-samsung clock code. Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Do not register set_parent call if no sourceBen Dooks
If there is no source register defined, do not register a clksrc clock with a valid .set_parent in the ops. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add call to register array of clocksBen Dooks
Add s3c_register_clocks() to register an array of clocks, printing an error message if there is a problem. Replace all points in the code where this could be used. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Do not allow get/set/round rate calls with no dividerBen Dooks
If the reg_div field is not set, then do not register clk_ops with the get/set/round rate calls as these will fail to work. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move clock.c to arch/arm/plat-samsungBen Dooks
This is the core implementation of the clock code for all Samsung based SoCs, so move it to arch/arm/plat-samsung (the clock.h file has already been moved). Since the file is built for every Samsung SoC, no changes are needed to the Kconfig system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Avoid announcing clksrc clocks twiceBen Dooks
The new code calls the clock setup code on registration which can be before the clock system has been fully initialised. The following code re-does this setup at the end of the clock registration and thus we get two printings. Update the calls to only print on the last pass or when doing the necessary resume work. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Fixup .reg_src and .reg_div with named initialisersBen Dooks
Change these two fields to have named initialisers as per the review comments from Kyungmin Park. sed used: s@\.reg_src\(.*\)=\(.*\){\(.*\),\(.*\),\(.*\)}@.reg_src\1=\2{ .reg =\3, .shift =\4, .size =\5 }@g s@\.reg_div\(.*\)=\(.*\){\(.*\),\(.*\),\(.*\)}@.reg_div\1=\2{ .reg =\3, .shift =\4, .size =\5 }@g Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Reduce size of struct clk.Ben Dooks
Reduce the size of struct clk by 12 bytes and make defining clocks with common implementation functions easier by moving the set_rate, get_rate, round_rate and set_parent calls into a new structure called 'struct clk_ops' and using that instead. This change does make a few clocks larger as they need their own clk_ops, but this is outweighed by the number of clocks with either no ops or having a common set of ops. Update all the users of this. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Remove unused clock definitions from clock headerHarald Welte
Clean out the definitions we are no longer using after the new clock code updates. Signed-off-by: Harald Welte <laforge@gnumonks.org> [ben-linux@fluff.org: split from initial patch provided] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Use new clock-clksrc.c code for clocks.Ben Dooks
Move the s3c6400-clock.c implementation over to use the new common plat-samsung based clock-clksrc.c. Note, this does not delete the clocks definitions that are now unused in the regs-clock.h to reduce the quantity of change in this commit. Based on original patches by Harald Welte. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add core clock implementation for clksrc based clocksHarald Welte
Add a core for the clksrc clock implementation, which is found in many of the newer Samsung SoCs into plat-samsung. Signed-off-by: Harald Welte <laforge@gnumonks.org> [ben-linux@fluff.org: split from original patch to make change smaller] [ben-linux@fluff.org: split clk and clksrc changes] [ben-linux@fluff.org: moved to plat-samsung from plat-s3c] [ben-linux@fluff.org: re-wrote headers after splits] [ben-linux@fluff.org: added better documentation to headers] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Compress s3c6400-clock.c codeBen Dooks
The individually named clocks are all static to the code and thus can be compressed into a single array and then the array can be referenced. This removes the need for a seperate array of pointers to clocks. Fix a minor problem of re-initialising the pointers in s3c6400_set_clksrc() as this is also called by the cpufreq code. Move these initialisations to the code that does the registration. Based on Harald Welte's original clock changes patch. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Cleanup common init code in s3c6400-clock.cBen Dooks
Remove the four fields from clksrc_clk.clk which are always the same and init them when the clock is registered. This helps remove the amount of repeated code. This is a re-work of Harald Welte's clock changes for the latest kernel. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move <plat/clock.h> to plat-samsungBen Dooks
Move the <plat/clock.h> header to plat-samsung where it can be used by all the platforms, and readies it for the next round of clock updates where the clock code will be amalgamated. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: MINI2440: Fixup __initdata usageBen Dooks
Remove some of the __initdata tags which are currently inappropriate for platform_device and some of the platform data. These can be returned once support for copying platform devices and data is added. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: MINI2440: Fix crash on boot due to improper __initdata qualifierUri Yosef
This patch fix mini2440 crash on boot due to improper __initdata qualifier on mini2440_led1_pdata. Signed-off-by: Uri Yosef <uri.yosef@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SMDK6410: Specify no GPIO for B_PWR_5V regulatorMark Brown
Since the fixed voltage regulator grew support for GPIO based enables and GPIO 0 is valid on some systems we need to specify that there is no valid GPIO enable control. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-14ARM: S3C: NAND: Check the existence of nr_map before copyingRamax Lo
Since the structure field nr_map is optional, we need to check whether the chip number map is provided to avoid unexpected NULL pointer exception. Signed-off-by: Ramax Lo <ramaxlo@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-12Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Ensure ARMv6/7 mm files are built using appropriate assembler options ARM: Fix wrong dmb ARM: 5874/1: serial21285: fix disable_irq-from-interrupt-handler deadlock ARM: 5873/1: ARM: Fix the reset logic for ARM RealView boards ARM: 5872/1: ARM: include needed linux/cpu.h in asm/cpu.h ARM: 5871/1: arch/arm: Fix build failure for lpd7a404_defconfig caused by missing includes ARM: 5870/1: arch/arm: Fix build failure for defconfigs without CONFIG_ISA_DMA_API set ARM: 5868/1: ARM: fix "BUG: using smp_processor_id() in preemptible code" ARM: 5867/1: Update U300 defconfig ARM: 5866/1: arm ptrace: use unsigned types for kernel pt_regs [ARM] pxa: fix strange characters in zaurus gpio .desc ARM: add missing recvmmsg syscall number [ARM] pxa: fix compiler warnings of unused variable 'id' in cpu_is_pxa9*() [ARM] pxa: update pwm_backlight->notify() to include missed 'struct device *' [ARM] pxa: enable L2 if present in XSC3 [ARM] pxa: do not enable L2 after MMU is enabled
2010-01-12ARM: Ensure ARMv6/7 mm files are built using appropriate assembler optionsRussell King
A kernel with both ARMv6 and ARMv7 selected results in build errors. Fix this by specifying the proper architectures for these assembly files. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-12ARM: Fix wrong dmbRussell King
The __kuser_cmpxchg code uses an ARMv6 dmb instruction, rather than one based upon the architecture being built for. Switch to using the macro provided for this purpose, which also eliminates the need for an ifdef. Acked-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-11Merge branch 'omap-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (26 commits) OMAP2 clock: dynamically allocate CPUFreq frequency table OMAP clock/CPUFreq: add clk_exit_cpufreq_table() OMAP2xxx OPP: clean up comments in OPP data OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled OMAP1 clock: remove __initdata from struct clk_functions to prevent crash OMAP1 clock: Add missing clocks for OMAP 7xx OMAP clock: remove incorrect EXPORT_SYMBOL()s OMAP3 clock: Add capability to change rate of dpll4_m5_ck OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK OMAP3: clock: add clockdomains for UART1 & 2 OMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space OMAP2xxx IO mapping: mark DSP mappings as being 2420-only ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access. OMAP2: remove duplicated #include omap3: EVM: Choose OMAP_PACKAGE_CBB omap3: Fix booting if package is uninitialized omap3: add missing parentheses omap3: add missing parentheses omap2/3: ZOOM: Correcting key mapping for few keys omap2/3: make serial_in_override() address the right uart port ...
2010-01-11arm: add support for LZO-compressed kernelsAlbin Tonnerre
- changes to ach/arch/boot/Makefile to make it easier to add new compression types - new piggy.lzo.S necessary for lzo compression - changes in arch/arm/boot/compressed/misc.c to allow the use of lzo or gzip, depending on the config - Kconfig support Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com> Tested-by: Wu Zhangjin <wuzhangjin@gmail.com> Acked-by: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Tested-by: Russell King <rmk@arm.linux.org.uk> Acked-by: Russell King <rmk@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-01-11mm: make totalhigh_pages unsigned longAndreas Fenkart
Makes it consistent with the extern declaration, used when CONFIG_HIGHMEM is set Removes redundant casts in printout messages Signed-off-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: David Howells <dhowells@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Chen Liqin <liqin.chen@sunplusct.com> Cc: Lennox Wu <lennox.wu@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-01-11ARM: 5873/1: ARM: Fix the reset logic for ARM RealView boardsColin Tuckley
Extend the patch from Philby John to the other "RealView" boards. Rename the constants and offsets to reflect their actual functions. Cc: Philby John <pjohn@in.mvista.com> Signed-off-by: Colin Tuckley <colin.tuckley@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-10ARM: 5872/1: ARM: include needed linux/cpu.h in asm/cpu.hSantosh Shilimkar
The file arch/arm/include/asm/cpu.h needs to include 'linux/cpu.h' to meet its dependency. Otherwise when using "struct cpuinfo_arm" and including just 'asm/cpu.h' throws below error - arch/arm/include/asm/cpu.h:16: error: field 'cpu' has incomplete type To fix this otherway, one can also include both linux/cpu.h and asm/cpu.h but it shoudn't be that way. So this patch fixes this by including the linux/cpu.h in asm/cpu.h, so that including alone asm/cpu.h is enough. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-10ARM: 5871/1: arch/arm: Fix build failure for lpd7a404_defconfig caused by ↵Peter Hüwe
missing includes This patch fixes a build failure [1] due to missing includes This should make the arm tree build again with lpd7a404_defconfig References: http://kisskb.ellerman.id.au/kisskb/buildresult/1983329/ Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-10ARM: 5870/1: arch/arm: Fix build failure for defconfigs without ↵Peter Hüwe
CONFIG_ISA_DMA_API set A lot of ARM-defconfigs (those without CONFIG_ISA_DMA_API set) fail to build [1][2][3] due to the changes of the patch [PATCH] PCI: Clean up build for CONFIG_PCI_QUIRKS unset by Rafael J. Wysocki (Sat, 2 Jan 2010 22:57:24 +0100) [4] as the referenced variable 'isa_dma_bridge_buggy' in asm/dma.h is enclosed by the CONFIG_ISA_DMA_API conditional all configs without this setting fail to build. I'm not sure wether moving the condition is the right way to solve the issue, but atleast it fixes the issue :) References: [1] http://kisskb.ellerman.id.au/kisskb/buildresult/1983354/ [2] http://kisskb.ellerman.id.au/kisskb/buildresult/1983333/ [3] http://kisskb.ellerman.id.au/kisskb/buildresult/1983337/ [4] http://lkml.org/lkml/2010/1/2/102 Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-01-08Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into ↵Tony Lindgren
omap-fixes-for-linus
2010-01-08OMAP2 clock: dynamically allocate CPUFreq frequency tablePaul Walmsley
Dynamically allocate the CPUFreq frequency table on OMAP2xxx chips. This fixes some compilation problems, since the kernel may not know what chip it is running on until boot-time. This also reduces the size of the CPUFreq frequency table. Problem originally reported by Felipe Balbi <felipe.balbi@nokia.com>. Thanks also for comments on the patch from Felipe and Kevin. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Felipe Balbi <felipe.balbi@nokia.com> Cc: Kevin Hilman <khilman@deeprootsystems.com>
2010-01-08OMAP clock/CPUFreq: add clk_exit_cpufreq_table()Paul Walmsley
A subsequent patch adds code on OMAP2xxx to dynamically allocate the CPUFreq frequency table in clk_init_cpufreq_table(), so for it to avoid a leak, it will need a corresponding function to free the memory. This patch adds clk_exit_cpufreq_table() with generic code to call a chip-specific variant inside the clockfw_lock spinlock via struct clk_functions. Signed-off-by: Paul Walmsley <paul@pwsan.com>