Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21604cdc authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM SoC cleanups from Olof Johansson:
 "This branch contains code cleanups, moves and removals for 3.13.

  Qualcomm msm targets had a bunch of code removal for legacy non-DT
  platforms.  Nomadik saw more device tree conversions and cleanup of
  old code.  Tegra has some code refactoring, etc.

  One longish patch series from Sebastian Hasselbarth changes the
  init_time hooks and tries to use a generic implementation for most
  platforms, since they were all doing more or less the same things.

  Finally the "shark" platform is removed in this release.  It's been
  abandoned for a while and nobody seems to care enough to keep it
  around.  If someone comes along and wants to resurrect it, the removal
  can easily be reverted and code brought back.

  Beyond this, mostly a bunch of removals of stale content across the
  board, etc"

* tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (79 commits)
  ARM: gemini: convert to GENERIC_CLOCKEVENTS
  ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options
  ARM: OMAP3: control: add API for setting IVA bootmode
  ARM: OMAP3: CM/control: move CM scratchpad save to CM driver
  ARM: OMAP3: McBSP: do not access CM register directly
  ARM: OMAP3: clock: add API to enable/disable autoidle for a single clock
  ARM: OMAP2: CM/PM: remove direct register accesses outside CM code
  MAINTAINERS: Add patterns for DTS files for AT91
  ARM: at91: remove init_machine() as default is suitable
  ARM: at91/dt: split sama5d3 peripheral definitions
  ARM: at91/dt: split sam9x5 peripheral definitions
  ARM: Remove temporary sched_clock.h header
  ARM: clps711x: Use linux/sched_clock.h
  MAINTAINERS: Add DTS files to patterns for Samsung platform
  ARM: EXYNOS: remove unnecessary header inclusions from exynos4/5 dt machine file
  ARM: tegra: fix ARCH_TEGRA_114_SOC select sort order
  clk: nomadik: fix missing __init on nomadik_src_init
  ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP
  ARM: S3C64XX: Kill CONFIG_PLAT_S3C64XX
  ASoC: samsung: Use CONFIG_ARCH_S3C64XX to check for S3C64XX support
  ...
parents beb5bfe4 f3372c01
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -763,6 +763,10 @@ W: http://maxim.org.za/at91_26.html
W:	http://www.linux4sam.org
S:	Supported
F:	arch/arm/mach-at91/
F:	arch/arm/boot/dts/at91*.dts
F:	arch/arm/boot/dts/at91*.dtsi
F:	arch/arm/boot/dts/sama*.dts
F:	arch/arm/boot/dts/sama*.dtsi

ARM/CALXEDA HIGHBANK ARCHITECTURE
M:	Rob Herring <rob.herring@calxeda.com>
@@ -1157,11 +1161,6 @@ S: Maintained
F:	arch/arm/mach-rockchip/
F:	drivers/*/*rockchip*

ARM/SHARK MACHINE SUPPORT
M:	Alexander Schulz <alex@shark-linux.de>
W:	http://www.shark-linux.de/shark.html
S:	Maintained

ARM/SAMSUNG ARM ARCHITECTURES
M:	Ben Dooks <ben-linux@fluff.org>
M:	Kukjin Kim <kgene.kim@samsung.com>
@@ -1169,6 +1168,8 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
W:	http://www.fluff.org/ben/linux/
S:	Maintained
F:	arch/arm/boot/dts/s3c*
F:	arch/arm/boot/dts/exynos*
F:	arch/arm/plat-samsung/
F:	arch/arm/mach-s3c24*/
F:	arch/arm/mach-s3c64xx/
+4 −35
Original line number Diff line number Diff line
@@ -358,7 +358,6 @@ config ARCH_AT91
	bool "Atmel AT91"
	select ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP
	select HAVE_CLK
	select IRQ_DOMAIN
	select NEED_MACH_GPIO_H
	select NEED_MACH_IO_H if PCCARD
@@ -372,7 +371,6 @@ config ARCH_CLPS711X
	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
	select ARCH_REQUIRE_GPIOLIB
	select AUTO_ZRELADDR
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select COMMON_CLK
	select CPU_ARM720T
@@ -386,8 +384,9 @@ config ARCH_CLPS711X
config ARCH_GEMINI
	bool "Cortina Systems Gemini"
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_USES_GETTIMEOFFSET
	select CLKSRC_MMIO
	select CPU_FA526
	select GENERIC_CLOCKEVENTS
	select NEED_MACH_GPIO_H
	help
	  Support for the Cortina Systems Gemini family SoCs
@@ -631,7 +630,6 @@ config ARCH_PXA
config ARCH_MSM
	bool "Qualcomm MSM"
	select ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP
	select CLKSRC_OF if OF
	select COMMON_CLK
	select GENERIC_CLOCKEVENTS
@@ -649,7 +647,6 @@ config ARCH_SHMOBILE
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select HAVE_CLK
	select HAVE_MACH_CLKDEV
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
@@ -706,7 +703,6 @@ config ARCH_S3C24XX
	select CLKSRC_SAMSUNG_PWM
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
@@ -730,18 +726,19 @@ config ARCH_S3C64XX
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_TCM
	select NEED_MACH_GPIO_H
	select NO_IOPORT
	select PLAT_SAMSUNG
	select PM_GENERIC_DOMAINS
	select S3C_DEV_NAND
	select S3C_GPIO_TRACK
	select SAMSUNG_ATAGS
	select SAMSUNG_CLKSRC
	select SAMSUNG_GPIOLIB_4BIT
	select SAMSUNG_WAKEMASK
	select SAMSUNG_WDT_RESET
	select USB_ARCH_HAS_OHCI
	help
@@ -754,7 +751,6 @@ config ARCH_S5P64X0
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
@@ -773,7 +769,6 @@ config ARCH_S5PC100
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
@@ -793,7 +788,6 @@ config ARCH_S5PV210
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
@@ -810,11 +804,9 @@ config ARCH_EXYNOS
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_SPARSEMEM_ENABLE
	select ARM_GIC
	select CLKDEV_LOOKUP
	select COMMON_CLK
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
@@ -824,20 +816,6 @@ config ARCH_EXYNOS
	help
	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)

config ARCH_SHARK
	bool "Shark"
	select ARCH_USES_GETTIMEOFFSET
	select CPU_SA110
	select ISA
	select ISA_DMA
	select NEED_MACH_MEMORY_H
	select PCI
	select VIRT_TO_BUS
	select ZONE_DMA
	help
	  Support for the StrongARM based Digital DNARD machine, also known
	  as "Shark" (<http://www.shark-linux.de/shark.html>).

config ARCH_DAVINCI
	bool "TI DaVinci"
	select ARCH_HAS_HOLES_MEMORYMODEL
@@ -865,7 +843,6 @@ config ARCH_OMAP1
	select CLKSRC_MMIO
	select GENERIC_CLOCKEVENTS
	select GENERIC_IRQ_CHIP
	select HAVE_CLK
	select HAVE_IDE
	select IRQ_DOMAIN
	select NEED_MACH_IO_H if PCCARD
@@ -1009,9 +986,7 @@ source "arch/arm/mach-sti/Kconfig"

source "arch/arm/mach-s3c24xx/Kconfig"

if ARCH_S3C64XX
source "arch/arm/mach-s3c64xx/Kconfig"
endif

source "arch/arm/mach-s5p64x0/Kconfig"

@@ -1431,12 +1406,6 @@ config PCI_NANOENGINE
config PCI_SYSCALL
	def_bool PCI

# Select the host bridge type
config PCI_HOST_VIA82C505
	bool
	depends on PCI && ARCH_SHARK
	default y

config PCI_HOST_ITE8152
	bool
	depends on PCI && MACH_ARMCORE
+0 −1
Original line number Diff line number Diff line
@@ -188,7 +188,6 @@ machine-$(CONFIG_ARCH_S5P64X0) += s5p64x0
machine-$(CONFIG_ARCH_S5PC100)		+= s5pc100
machine-$(CONFIG_ARCH_S5PV210)		+= s5pv210
machine-$(CONFIG_ARCH_SA1100)		+= sa1100
machine-$(CONFIG_ARCH_SHARK)		+= shark
machine-$(CONFIG_ARCH_SHMOBILE) 	+= shmobile
machine-$(CONFIG_ARCH_SHMOBILE_MULTI) 	+= shmobile
machine-$(CONFIG_ARCH_SIRF)		+= prima2
+0 −4
Original line number Diff line number Diff line
@@ -44,10 +44,6 @@ ifeq ($(CONFIG_ARCH_ACORN),y)
OBJS		+= ll_char_wr.o font.o
endif

ifeq ($(CONFIG_ARCH_SHARK),y)
OBJS		+= head-shark.o ofw-shark.o
endif

ifeq ($(CONFIG_ARCH_SA1100),y)
OBJS		+= head-sa1100.o
endif
+0 −140
Original line number Diff line number Diff line
/* The head-file for the Shark
 * by Alexander Schulz
 *
 * Does the following:
 * - get the memory layout from firmware. This can only be done as long as the mmu
 *   is still on.
 * - switch the mmu off, so we have physical addresses
 * - copy the kernel to 0x08508000. This is done to have a fixed address where the
 *   C-parts (misc.c) are executed. This address must be known at compile-time,
 *   but the load-address of the kernel depends on how much memory is installed.
 * - Jump to this location.
 * - Set r8 with 0, r7 with the architecture ID for head.S
 */

#include <linux/linkage.h>

#include <asm/assembler.h>
	
		.section	".start", "ax"

		.arch armv4
		b	__beginning
	
__ofw_data:	.long	0				@ the number of memory blocks
		.space  128				@ (startaddr,size) ...
		.space  128				@ bootargs
		.align

__beginning:	mov	r4, r0				@ save the entry to the firmware

		mov	r0, #0xC0			@ disable irq and fiq
		mov	r1, r0
		mrs	r3, cpsr
		bic	r2, r3, r0
		eor	r2, r2, r1
		msr	cpsr_c, r2

		mov	r0, r4				@ get the Memory layout from firmware
		adr	r1, __ofw_data
		add	r2, r1, #4
		mov	lr, pc
		b	ofw_init
		mov	r1, #0

		adr	r2, __mmu_off			@ calculate physical address
		sub	r2, r2, #0xf0000000		@ openprom maps us at f000 virt, 0e50 phys
		adr	r0, __ofw_data
		ldr	r0, [r0, #4]
		add	r2, r2, r0
		add	r2, r2, #0x00500000

		mrc	p15, 0, r3, c1, c0
		bic	r3, r3, #0xC			@ Write Buffer and DCache
		bic	r3, r3, #0x1000			@ ICache
		mcr	p15, 0, r3, c1, c0		@ disabled

		mov	r0, #0
		mcr	p15, 0, r0, c7, c7		@ flush I,D caches on v4
		mcr	p15, 0, r0, c7, c10, 4		@ drain write buffer on v4
		mcr	p15, 0, r0, c8, c7		@ flush I,D TLBs on v4

		bic	r3, r3, #0x1			@ MMU
		mcr	p15, 0, r3, c1, c0		@ disabled

		mov	pc, r2

__copy_target:	.long	0x08507FFC
__copy_end:	.long	0x08607FFC
		
		.word	_start
		.word	__bss_start

		.align
__temp_stack:	.space 128

__mmu_off:
		adr	r0, __ofw_data			@ read the 1. entry of the memory map
		ldr	r0, [r0, #4]
		orr	r0, r0, #0x00600000
		sub	r0, r0, #4
	
		ldr	r1, __copy_end
		ldr	r3, __copy_target

/* r0 = 0x0e600000 (current end of kernelcode)
 * r3 = 0x08508000 (where it should begin)
 * r1 = 0x08608000 (end of copying area, 1MB)
 * The kernel is compressed, so 1 MB should be enough.
 * copy the kernel to the beginning of physical memory
 * We start from the highest address, so we can copy
 * from 0x08500000 to 0x08508000 if we have only 8MB
 */

/* As we get more 2.6-kernels it gets more and more
 * uncomfortable to be bound to kernel images of 1MB only.
 * So we add a loop here, to be able to copy some more.
 * Alexander Schulz 2005-07-17
 */

		mov	r4, #3				@ How many megabytes to copy


__MoveCode:	sub	r4, r4, #1
	
__Copy:		ldr	r2, [r0], #-4
		str	r2, [r1], #-4
		teq	r1, r3
		bne	__Copy

		/* The firmware maps us in blocks of 1 MB, the next block is
		   _below_ the last one. So our decrementing source pointer
		   ist right here, but the destination pointer must be increased
		   by 2 MB */
		add	r1, r1, #0x00200000
		add	r3, r3, #0x00100000

		teq	r4, #0
		bne	__MoveCode


		/* and jump to it */
		adr	r2, __go_on			@ where we want to jump
		adr	r0, __ofw_data			@ read the 1. entry of the memory map
		ldr	r0, [r0, #4]
		sub	r2, r2, r0			@ we are mapped add 0e50 now, sub that (-0e00)
		sub	r2, r2, #0x00500000		@ -0050
		ldr	r0, __copy_target		@ and add 0850 8000 instead
		add	r0, r0, #4
		add	r2, r2, r0
		mov	pc, r2				@ and jump there

__go_on:
		adr	sp, __temp_stack
		add	sp, sp, #128
		adr	r0, __ofw_data
		mov	lr, pc
		b	create_params
	
		mov	r8, #0
		mov	r7, #15
Loading