From 2c408d149299e99c89fc4be80fb4fe00a7016f02 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Thu, 27 Jun 2013 08:48:07 +0900 Subject: ARM: shmobile: Update romImage to relocate appended DTB Instead of relying of MACH_TYPE for board identification, update the romImage code to relocate an appended DTB to the beginning of RAM. This implementation is independent of ARM_APPENDED_DTB, this because it is necessary to copy the DTB to memory so the kernel can access it. Without this patch Mackerel does not boot via the Mask ROM over USB (r_usb_boot) - this since non-DT boot was broken ages ago in commit: 0ce53cd ARM: mach-shmobile: Use DT_MACHINE for mackerel Signed-off-by: Magnus Damm Signed-off-by: Simon Horman --- arch/arm/boot/compressed/head-shmobile.S | 43 ++++++++++++++++++++++++++--- arch/arm/mach-shmobile/include/mach/zboot.h | 2 -- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/compressed/head-shmobile.S b/arch/arm/boot/compressed/head-shmobile.S index e2d636336b7c..e7f80928949c 100644 --- a/arch/arm/boot/compressed/head-shmobile.S +++ b/arch/arm/boot/compressed/head-shmobile.S @@ -55,12 +55,47 @@ __tmp_stack: __continue: #endif /* CONFIG_ZBOOT_ROM_MMC || CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI */ - /* Set board ID necessary for boot */ - ldr r7, 1f @ Set machine type register - mov r8, #0 @ pass null pointer as atag + adr r0, dtb_info + ldmia r0, {r1, r3, r4, r5, r7} + + sub r0, r0, r1 @ calculate the delta offset + add r5, r5, r0 @ _edata + + ldr lr, [r5, #0] @ check if valid DTB is present + cmp lr, r3 + bne 0f + + add r9, r7, #31 @ rounded up to a multiple + bic r9, r9, #31 @ ... of 32 bytes + + add r6, r9, r5 @ copy from _edata + add r9, r9, r4 @ to MEMORY_START + +1: ldmdb r6!, {r0 - r3, r10 - r12, lr} + cmp r6, r5 + stmdb r9!, {r0 - r3, r10 - r12, lr} + bhi 1b + + /* Success: Zero board ID, pointer to start of memory for atag/dtb */ + mov r7, #0 + mov r8, r4 b 2f -1 : .long MACH_TYPE + .align 2 +dtb_info: + .word dtb_info +#ifndef __ARMEB__ + .word 0xedfe0dd0 @ sig is 0xd00dfeed big endian +#else + .word 0xd00dfeed +#endif + .word MEMORY_START + .word _edata + .word 0x4000 @ maximum DTB size +0: + /* Failure: Zero board ID, NULL atag/dtb */ + mov r7, #0 + mov r8, #0 @ pass null pointer as atag 2 : #endif /* CONFIG_ZBOOT_ROM */ diff --git a/arch/arm/mach-shmobile/include/mach/zboot.h b/arch/arm/mach-shmobile/include/mach/zboot.h index f2d8744c1f14..c3c4669a2d72 100644 --- a/arch/arm/mach-shmobile/include/mach/zboot.h +++ b/arch/arm/mach-shmobile/include/mach/zboot.h @@ -1,7 +1,6 @@ #ifndef ZBOOT_H #define ZBOOT_H -#include #include /************************************************** @@ -11,7 +10,6 @@ **************************************************/ #ifdef CONFIG_MACH_MACKEREL -#define MACH_TYPE MACH_TYPE_MACKEREL #define MEMORY_START 0x40000000 #include "mach/head-mackerel.txt" #else -- cgit v1.2.3 From bdea6c657e15a709e666ea707e72327c555e8e04 Mon Sep 17 00:00:00 2001 From: Tetsuyuki Kobayashi Date: Wed, 10 Jul 2013 10:56:35 +0900 Subject: ARM: shmobile: fix compile error when CONFIG_THUMB2_KERNEL=y On KZM-A9-GT board (SMP), when CONFIG_THUMB2_KERNEL=y it fails to compile AS arch/arm/mach-shmobile/headsmp-scu.o /proj/koba/kernel/arm-soc/arch/arm/mach-shmobile/headsmp-scu.S: Assembler messages: /proj/koba/kernel/arm-soc/arch/arm/mach-shmobile/headsmp-scu.S:41: Error: shift must be constant -- `bic r2,r2,r3,lsl r1' make[2]: *** [arch/arm/mach-shmobile/headsmp-scu.o] Error 1 make[1]: *** [arch/arm/mach-shmobile] Error 2 make: *** [sub-make] Error 2 Instruction `bic r2,r2,r3,lsl r1' is not supported in thumb mode. This patch split it into 2 instructions. Signed-off-by: Tetsuyuki Kobayashi Acked-by: Magnus Damm Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/headsmp-scu.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-shmobile/headsmp-scu.S b/arch/arm/mach-shmobile/headsmp-scu.S index 6f9865467258..5ce416c090e1 100644 --- a/arch/arm/mach-shmobile/headsmp-scu.S +++ b/arch/arm/mach-shmobile/headsmp-scu.S @@ -38,7 +38,8 @@ ENTRY(shmobile_boot_scu) lsl r1, r1, #3 @ we will shift by cpu_id * 8 bits ldr r2, [r0, #8] @ SCU Power Status Register mov r3, #3 - bic r2, r2, r3, lsl r1 @ Clear bits of our CPU (Run Mode) + lsl r3, r3, r1 + bic r2, r2, r3 @ Clear bits of our CPU (Run Mode) str r2, [r0, #8] @ write back b shmobile_invalidate_start -- cgit v1.2.3 From c1d7e2e80079148626e6c411e56708d86311d31a Mon Sep 17 00:00:00 2001 From: Tetsuyuki Kobayashi Date: Wed, 10 Jul 2013 10:56:36 +0900 Subject: ARM: shmobile: Force ARM mode to compile reset vector for secondary CPUs Instructions start from boot vector must be ARM mode. This patch specify ARM mode explicitly and use 'bx' instruction to be able to change to Thumb mode. Signed-off-by: Tetsuyuki Kobayashi Acked-by: Magnus Damm Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/headsmp.S | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-shmobile/headsmp.S b/arch/arm/mach-shmobile/headsmp.S index 559d1ce5f57e..afed58e52ae6 100644 --- a/arch/arm/mach-shmobile/headsmp.S +++ b/arch/arm/mach-shmobile/headsmp.S @@ -26,10 +26,13 @@ ENDPROC(shmobile_invalidate_start) * This will be mapped at address 0 by SBAR register. * We need _long_ jump to the physical address. */ + .arm .align 12 ENTRY(shmobile_boot_vector) ldr r0, 2f - ldr pc, 1f + ldr r1, 1f + bx r1 + ENDPROC(shmobile_boot_vector) .globl shmobile_boot_fn -- cgit v1.2.3 From 0b933cb305e7a987e0a711ee15457bd70055d682 Mon Sep 17 00:00:00 2001 From: Tetsuyuki Kobayashi Date: Wed, 10 Jul 2013 10:56:37 +0900 Subject: ARM: shmobile: Insert align directives before 4 bytes data In thumb2 mode instructions are not align to 4 byte. This patch insert align directives before putting 4 byte data. Signed-off-by: Tetsuyuki Kobayashi Acked-by: Magnus Damm Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/headsmp-scu.S | 1 + arch/arm/mach-shmobile/headsmp.S | 1 + arch/arm/mach-shmobile/sleep-sh7372.S | 2 ++ 3 files changed, 4 insertions(+) diff --git a/arch/arm/mach-shmobile/headsmp-scu.S b/arch/arm/mach-shmobile/headsmp-scu.S index 5ce416c090e1..0a77488df870 100644 --- a/arch/arm/mach-shmobile/headsmp-scu.S +++ b/arch/arm/mach-shmobile/headsmp-scu.S @@ -46,6 +46,7 @@ ENTRY(shmobile_boot_scu) ENDPROC(shmobile_boot_scu) .text + .align 2 .globl shmobile_scu_base shmobile_scu_base: .space 4 diff --git a/arch/arm/mach-shmobile/headsmp.S b/arch/arm/mach-shmobile/headsmp.S index afed58e52ae6..dfb41dfc8948 100644 --- a/arch/arm/mach-shmobile/headsmp.S +++ b/arch/arm/mach-shmobile/headsmp.S @@ -35,6 +35,7 @@ ENTRY(shmobile_boot_vector) ENDPROC(shmobile_boot_vector) + .align 2 .globl shmobile_boot_fn shmobile_boot_fn: 1: .space 4 diff --git a/arch/arm/mach-shmobile/sleep-sh7372.S b/arch/arm/mach-shmobile/sleep-sh7372.S index 53f4840e4949..9782862899e8 100644 --- a/arch/arm/mach-shmobile/sleep-sh7372.S +++ b/arch/arm/mach-shmobile/sleep-sh7372.S @@ -41,6 +41,7 @@ sh7372_resume_core_standby_sysc: ldr pc, 1f + .align 2 .globl sh7372_cpu_resume sh7372_cpu_resume: 1: .space 4 @@ -96,6 +97,7 @@ sh7372_do_idle_sysc: 1: b 1b + .align 2 kernel_flush: .word v7_flush_dcache_all #endif -- cgit v1.2.3 From 93d8a6fbe69a629a7bb37bb546699a5c49963dc5 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 16 Jul 2013 12:32:04 +0200 Subject: ARM: shmobile: r8a7740: Fix TPU clock name The TPU device is called renesas-tpu-pwm, not renesas_tpu_pwm. Fix the clock name accordingly. Signed-off-by: Laurent Pinchart Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/clock-r8a7740.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-shmobile/clock-r8a7740.c b/arch/arm/mach-shmobile/clock-r8a7740.c index de10fd78bf2b..f4265e52432c 100644 --- a/arch/arm/mach-shmobile/clock-r8a7740.c +++ b/arch/arm/mach-shmobile/clock-r8a7740.c @@ -596,7 +596,7 @@ static struct clk_lookup lookups[] = { CLKDEV_DEV_ID("e6bd0000.mmcif", &mstp_clks[MSTP312]), CLKDEV_DEV_ID("r8a7740-gether", &mstp_clks[MSTP309]), CLKDEV_DEV_ID("e9a00000.sh-eth", &mstp_clks[MSTP309]), - CLKDEV_DEV_ID("renesas_tpu_pwm", &mstp_clks[MSTP304]), + CLKDEV_DEV_ID("renesas-tpu-pwm", &mstp_clks[MSTP304]), CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP415]), CLKDEV_DEV_ID("e6870000.sdhi", &mstp_clks[MSTP415]), -- cgit v1.2.3 From ab40900b70dc31a64f23b1b4dbb0917afb039775 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Fri, 19 Jul 2013 18:02:16 +0200 Subject: ARM: shmobile: armadillo800eva-reference: fix compiler warning Fix the compiler warning: arch/arm/mach-shmobile/board-armadillo800eva-reference.c:196:2: warning: initialization from incompatible pointer type [enabled by default] arch/arm/mach-shmobile/board-armadillo800eva-reference.c:196:2: warning: (near initialization for '__mach_desc_ARMADILLO800EVA_DT.restart') [enabled by default] While at it also remove superfluous parenthesis. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/board-armadillo800eva-reference.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c index 03b85fec2ddb..8f677df2d4c4 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c @@ -190,10 +190,10 @@ static void __init eva_init(void) } #define RESCNT2 IOMEM(0xe6188020) -static void eva_restart(char mode, const char *cmd) +static void eva_restart(enum reboot_mode mode, const char *cmd) { /* Do soft power on reset */ - writel((1 << 31), RESCNT2); + writel(1 << 31, RESCNT2); } static const char *eva_boards_compat_dt[] __initdata = { -- cgit v1.2.3 From 2746a7c272a3242f919fa2fd5a5f2d9f8a41173a Mon Sep 17 00:00:00 2001 From: Sebastian Hesselbarth Date: Mon, 1 Jul 2013 16:56:12 +0200 Subject: ARM: dove: fix missing __init section of dove_mpp_gpio_mode Legacy dove_mpp_gpio_mode calls orion_gpio_set_valid which is in __init section. Offending function is not, so this causes a section mismatch. To fix the mismatch, also move dove_mpp_gpio_mode to __init section. Signed-off-by: Sebastian Hesselbarth Signed-off-by: Jason Cooper --- arch/arm/mach-dove/mpp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-dove/mpp.c b/arch/arm/mach-dove/mpp.c index 60bd729a1ba5..8a433a51289c 100644 --- a/arch/arm/mach-dove/mpp.c +++ b/arch/arm/mach-dove/mpp.c @@ -47,7 +47,7 @@ static const struct dove_mpp_grp dove_mpp_grp[] = { /* Enable gpio for a range of pins. mode should be a combination of GPIO_OUTPUT_OK | GPIO_INPUT_OK */ -static void dove_mpp_gpio_mode(int start, int end, int gpio_mode) +static void __init dove_mpp_gpio_mode(int start, int end, int gpio_mode) { int i; -- cgit v1.2.3 From 7da080de9e08dacce2a832d2981bd8a9f855ecc4 Mon Sep 17 00:00:00 2001 From: Paul Bolle Date: Sun, 14 Jul 2013 10:53:32 -0400 Subject: ARM: keystone: drop useless HAVE_SCHED_CLOCK The Kconfig symbol HAVE_SCHED_CLOCK got removed in v3.4, with commit 6905a65879b5 ("ARM: Make the sched_clock framework mandatory"). But a select statement for it popped up again through commit 828989ad87af ("ARM: keystone: Add minimal TI Keystone platform support"). Drop that statement, as it is useless. Signed-off-by: Paul Bolle [santosh.shilimkar@ti.com: Minor edit in the subject] Signed-off-by: Santosh Shilimkar --- arch/arm/mach-keystone/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig index 51a50e996840..366d1a3b418d 100644 --- a/arch/arm/mach-keystone/Kconfig +++ b/arch/arm/mach-keystone/Kconfig @@ -7,7 +7,6 @@ config ARCH_KEYSTONE select HAVE_SMP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS - select HAVE_SCHED_CLOCK select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_ERRATA_798181 if SMP help -- cgit v1.2.3 From 55bd61c948eebe496bb0f23656e06d4467a9ea88 Mon Sep 17 00:00:00 2001 From: Sudeep KarkadaNagesha Date: Tue, 23 Jul 2013 09:20:58 -0400 Subject: ARM: keystone: remove redundant smp_init_cpus definition arm_dt_init_cpu_maps is called before smp_init_cpus. It makes the platform/SoC definition of smp_init_cpus unnecessary. Signed-off-by: Sudeep KarkadaNagesha Signed-off-by: Santosh Shilimkar --- arch/arm/mach-keystone/platsmp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-keystone/platsmp.c b/arch/arm/mach-keystone/platsmp.c index 14378e3fef16..c12296157d4a 100644 --- a/arch/arm/mach-keystone/platsmp.c +++ b/arch/arm/mach-keystone/platsmp.c @@ -38,6 +38,5 @@ static int keystone_smp_boot_secondary(unsigned int cpu, } struct smp_operations keystone_smp_ops __initdata = { - .smp_init_cpus = arm_dt_init_cpu_maps, .smp_boot_secondary = keystone_smp_boot_secondary, }; -- cgit v1.2.3 From 993211e08a9984aa3ae8a4a840340b2a51a53497 Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Sun, 14 Jul 2013 10:38:52 -0400 Subject: ARM: Keystone: No need to preserve r12 across smc call Register r12 is caller-save, so no need preserve it keystone_cpu_smc(). Reported-by: Dave Martin Signed-off-by: Santosh Shilimkar --- arch/arm/mach-keystone/smc.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-keystone/smc.S b/arch/arm/mach-keystone/smc.S index 9b9e4f7b241e..5bb5176f5e2b 100644 --- a/arch/arm/mach-keystone/smc.S +++ b/arch/arm/mach-keystone/smc.S @@ -22,8 +22,8 @@ * Return: Non zero value on failure */ ENTRY(keystone_cpu_smc) - stmfd sp!, {r4-r12, lr} + stmfd sp!, {r4-r11, lr} smc #0 dsb - ldmfd sp!, {r4-r12, pc} + ldmfd sp!, {r4-r11, pc} ENDPROC(keystone_cpu_smc) -- cgit v1.2.3 From c2dce2cf488ca8061df54733803ed5d508e8445b Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Sun, 14 Jul 2013 10:45:47 -0400 Subject: ARM: keystone: Drop the un-necessary dsb from keystone_cpu_smc() This was added because of some legacy reasons from OMAP SOCs but after testing and verifying with the keystone hardware folks, the dsb in keystone_cpu_smc() is not necessary. So drop it. Reported-by: Dave Martin Signed-off-by: Santosh Shilimkar --- arch/arm/mach-keystone/smc.S | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-keystone/smc.S b/arch/arm/mach-keystone/smc.S index 5bb5176f5e2b..d15de8179fab 100644 --- a/arch/arm/mach-keystone/smc.S +++ b/arch/arm/mach-keystone/smc.S @@ -24,6 +24,5 @@ ENTRY(keystone_cpu_smc) stmfd sp!, {r4-r11, lr} smc #0 - dsb ldmfd sp!, {r4-r11, pc} ENDPROC(keystone_cpu_smc) -- cgit v1.2.3 From 226d1c5b1d4c226429d58d992941a89588cce708 Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Mon, 5 Aug 2013 13:17:15 -0400 Subject: ARM: keystone: use #include to include skeleton.dtsi Replace /include/ (dtc) with #include (C pre-processor) to include skeleton.dtsi Signed-off-by: Santosh Shilimkar --- arch/arm/boot/dts/keystone.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/keystone.dts b/arch/arm/boot/dts/keystone.dts index 1334b42c6b77..612ba8c9879c 100644 --- a/arch/arm/boot/dts/keystone.dts +++ b/arch/arm/boot/dts/keystone.dts @@ -7,7 +7,7 @@ */ /dts-v1/; -/include/ "skeleton.dtsi" +#include "skeleton.dtsi" / { model = "Texas Instruments Keystone 2 SoC"; -- cgit v1.2.3 From eb788f43a6c6e6c7a5b2879543b565e4cd452de8 Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Mon, 5 Aug 2013 13:13:07 -0400 Subject: ARM: Keystone: Convert device tree file to use IRQ defines Use the GIC and standard IRQ binding defines in all IRQ specifiers. Signed-off-by: Santosh Shilimkar --- arch/arm/boot/dts/keystone.dts | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/arch/arm/boot/dts/keystone.dts b/arch/arm/boot/dts/keystone.dts index 612ba8c9879c..a68e34bbecb2 100644 --- a/arch/arm/boot/dts/keystone.dts +++ b/arch/arm/boot/dts/keystone.dts @@ -7,6 +7,8 @@ */ /dts-v1/; +#include + #include "skeleton.dtsi" / { @@ -67,18 +69,23 @@ timer { compatible = "arm,armv7-timer"; - interrupts = <1 13 0xf08>, - <1 14 0xf08>, - <1 11 0xf08>, - <1 10 0x308>; + interrupts = + , + , + , + ; }; pmu { compatible = "arm,cortex-a15-pmu"; - interrupts = <0 20 0xf01>, - <0 21 0xf01>, - <0 22 0xf01>, - <0 23 0xf01>; + interrupts = , + , + , + ; }; soc { @@ -100,7 +107,7 @@ reg-io-width = <4>; reg = <0x02530c00 0x100>; clock-frequency = <133120000>; - interrupts = <0 277 0xf01>; + interrupts = ; }; uart1: serial@02531000 { @@ -110,7 +117,7 @@ reg-io-width = <4>; reg = <0x02531000 0x100>; clock-frequency = <133120000>; - interrupts = <0 280 0xf01>; + interrupts = ; }; }; -- cgit v1.2.3 From 35faad2a1563b3d4dc983a82ac41033fe053870c Mon Sep 17 00:00:00 2001 From: Stepan Moskovchenko Date: Tue, 6 Aug 2013 18:33:06 -0700 Subject: ARM: dts: Fix memory node in skeleton64.dtsi Update the reg property of the memory node in skeleton64.dtsi to reflect the fact that the root node uses address-cells=2 and size-cells=2. Signed-off-by: Stepan Moskovchenko Acked-by: Gregory CLEMENT Signed-off-by: Jason Cooper --- arch/arm/boot/dts/skeleton64.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/skeleton64.dtsi b/arch/arm/boot/dts/skeleton64.dtsi index 15994158a998..b5d7f36f33de 100644 --- a/arch/arm/boot/dts/skeleton64.dtsi +++ b/arch/arm/boot/dts/skeleton64.dtsi @@ -9,5 +9,5 @@ #size-cells = <2>; chosen { }; aliases { }; - memory { device_type = "memory"; reg = <0 0>; }; + memory { device_type = "memory"; reg = <0 0 0 0>; }; }; -- cgit v1.2.3 From 5104d2656d4874c51868dc7182016e9501ec99ca Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Thu, 18 Jul 2013 22:34:52 +0400 Subject: ARM: clps711x: Remove the special name for the syscon driver This is a partial revert of the patch: "6597619f9c ARM: clps711x: Add support for SYSCON driver". No reason to make SYSCON driver name unique to that processor. Signed-off-by: Alexander Shiyan Signed-off-by: Olof Johansson --- arch/arm/mach-clps711x/devices.c | 2 +- drivers/mfd/syscon.c | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/arm/mach-clps711x/devices.c b/arch/arm/mach-clps711x/devices.c index 856b81cf2f8a..fb77d1448fec 100644 --- a/arch/arm/mach-clps711x/devices.c +++ b/arch/arm/mach-clps711x/devices.c @@ -57,7 +57,7 @@ static void __init clps711x_add_syscon(void) unsigned i; for (i = 0; i < ARRAY_SIZE(clps711x_syscon_res); i++) - platform_device_register_simple("clps711x-syscon", i + 1, + platform_device_register_simple("syscon", i + 1, &clps711x_syscon_res[i], 1); } diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 1a31512369f9..962a6e17a01a 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -159,9 +159,6 @@ static int syscon_probe(struct platform_device *pdev) static const struct platform_device_id syscon_ids[] = { { "syscon", }, -#ifdef CONFIG_ARCH_CLPS711X - { "clps711x-syscon", }, -#endif { } }; -- cgit v1.2.3 From a0d3a2d92ef5d421f750572d48654976670eade4 Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Thu, 18 Jul 2013 22:34:53 +0400 Subject: ARM: clps711x: Drop fortunet board support This patch removes support for the fortunet board. This board is not maintained by long time and it seems no one is not using it. Signed-off-by: Alexander Shiyan Signed-off-by: Olof Johansson --- arch/arm/mach-clps711x/Kconfig | 3 -- arch/arm/mach-clps711x/Makefile | 1 - arch/arm/mach-clps711x/board-fortunet.c | 85 --------------------------------- 3 files changed, 89 deletions(-) delete mode 100644 arch/arm/mach-clps711x/board-fortunet.c diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig index 01ad4d41e728..bea6295c8c59 100644 --- a/arch/arm/mach-clps711x/Kconfig +++ b/arch/arm/mach-clps711x/Kconfig @@ -33,9 +33,6 @@ config ARCH_P720T Say Y here if you intend to run this kernel on the ARM Prospector 720T. -config ARCH_FORTUNET - bool "FORTUNET" - config EP72XX_ROM_BOOT bool "EP721x/EP731x ROM boot" help diff --git a/arch/arm/mach-clps711x/Makefile b/arch/arm/mach-clps711x/Makefile index f30ed2b496fb..f04151efd96a 100644 --- a/arch/arm/mach-clps711x/Makefile +++ b/arch/arm/mach-clps711x/Makefile @@ -10,5 +10,4 @@ obj-$(CONFIG_ARCH_AUTCPU12) += board-autcpu12.o obj-$(CONFIG_ARCH_CDB89712) += board-cdb89712.o obj-$(CONFIG_ARCH_CLEP7312) += board-clep7312.o obj-$(CONFIG_ARCH_EDB7211) += board-edb7211.o -obj-$(CONFIG_ARCH_FORTUNET) += board-fortunet.o obj-$(CONFIG_ARCH_P720T) += board-p720t.o diff --git a/arch/arm/mach-clps711x/board-fortunet.c b/arch/arm/mach-clps711x/board-fortunet.c deleted file mode 100644 index b1561e3d7c5c..000000000000 --- a/arch/arm/mach-clps711x/board-fortunet.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * linux/arch/arm/mach-clps711x/fortunet.c - * - * Derived from linux/arch/arm/mach-integrator/arch.c - * - * Copyright (C) 2000 Deep Blue Solutions Ltd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include -#include -#include - -#include -#include -#include - -#include - -#include - -#include "common.h" - -struct meminfo memmap = { - .nr_banks = 1, - .bank = { - { - .start = 0xC0000000, - .size = 0x01000000, - }, - }, -}; - -typedef struct tag_IMAGE_PARAMS -{ - int ramdisk_ok; - int ramdisk_address; - int ramdisk_size; - int ram_size; - int extra_param_type; - int extra_param_ptr; - int command_line; -} IMAGE_PARAMS; - -#define IMAGE_PARAMS_PHYS 0xC01F0000 - -static void __init -fortunet_fixup(struct tag *tags, char **cmdline, struct meminfo *mi) -{ - IMAGE_PARAMS *ip = phys_to_virt(IMAGE_PARAMS_PHYS); - *cmdline = phys_to_virt(ip->command_line); -#ifdef CONFIG_BLK_DEV_INITRD - if(ip->ramdisk_ok) - { - initrd_start = __phys_to_virt(ip->ramdisk_address); - initrd_end = initrd_start + ip->ramdisk_size; - } -#endif - memmap.bank[0].size = ip->ram_size; - *mi = memmap; -} - -MACHINE_START(FORTUNET, "ARM-FortuNet") - /* Maintainer: FortuNet Inc. */ - .nr_irqs = CLPS711X_NR_IRQS, - .fixup = fortunet_fixup, - .map_io = clps711x_map_io, - .init_early = clps711x_init_early, - .init_irq = clps711x_init_irq, - .init_time = clps711x_timer_init, - .handle_irq = clps711x_handle_irq, - .restart = clps711x_restart, -MACHINE_END -- cgit v1.2.3 From f09a417a4e1abc05eea2b255aa1a5a9834e5df3c Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Thu, 18 Jul 2013 22:34:54 +0400 Subject: ARM: clps711x: autcpu12: Remove incorrect config checking This patch removes incorrect config symbols checking since these symbols not contain "CONFIG_" prefix. Anyway, checking is unneeded here and this patch remove it completely. Signed-off-by: Alexander Shiyan Signed-off-by: Olof Johansson --- arch/arm/mach-clps711x/board-autcpu12.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/mach-clps711x/board-autcpu12.c b/arch/arm/mach-clps711x/board-autcpu12.c index 5867aebd8d0c..f8d71a89644a 100644 --- a/arch/arm/mach-clps711x/board-autcpu12.c +++ b/arch/arm/mach-clps711x/board-autcpu12.c @@ -259,11 +259,7 @@ static void __init autcpu12_init(void) static void __init autcpu12_init_late(void) { gpio_request_array(autcpu12_gpios, ARRAY_SIZE(autcpu12_gpios)); - - if (IS_ENABLED(MTD_NAND_GPIO) && IS_ENABLED(GPIO_GENERIC_PLATFORM)) { - /* We are need both drivers to handle NAND */ - platform_device_register(&autcpu12_nand_pdev); - } + platform_device_register(&autcpu12_nand_pdev); } MACHINE_START(AUTCPU12, "autronix autcpu12") -- cgit v1.2.3 From ea04dd3b47aa0bb941285d2ea671fe332774e66d Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Thu, 18 Jul 2013 22:34:55 +0400 Subject: ARM: clps711x: edb7211: Remove extra iotable_init() call The keyboard driver for the CLPS711X platform is missing, so there is no need to call iotable_init() for this memory region. Signed-off-by: Alexander Shiyan Signed-off-by: Olof Johansson --- arch/arm/mach-clps711x/board-edb7211.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/arch/arm/mach-clps711x/board-edb7211.c b/arch/arm/mach-clps711x/board-edb7211.c index 9dfb990f0801..fe6184ead896 100644 --- a/arch/arm/mach-clps711x/board-edb7211.c +++ b/arch/arm/mach-clps711x/board-edb7211.c @@ -126,21 +126,6 @@ static struct gpio edb7211_gpios[] __initconst = { { EDB7211_LCDBL, GPIOF_OUT_INIT_LOW, "LCD BACKLIGHT" }, }; -static struct map_desc edb7211_io_desc[] __initdata = { - { /* Memory-mapped extra keyboard row */ - .virtual = IO_ADDRESS(EDB7211_EXTKBD_BASE), - .pfn = __phys_to_pfn(EDB7211_EXTKBD_BASE), - .length = SZ_1M, - .type = MT_DEVICE, - }, -}; - -void __init edb7211_map_io(void) -{ - clps711x_map_io(); - iotable_init(edb7211_io_desc, ARRAY_SIZE(edb7211_io_desc)); -} - /* Reserve screen memory region at the start of main system memory. */ static void __init edb7211_reserve(void) { @@ -195,7 +180,7 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)") .nr_irqs = CLPS711X_NR_IRQS, .fixup = fixup_edb7211, .reserve = edb7211_reserve, - .map_io = edb7211_map_io, + .map_io = clps711x_map_io, .init_early = clps711x_init_early, .init_irq = clps711x_init_irq, .init_time = clps711x_timer_init, -- cgit v1.2.3 From 13b16460eb9995fe2f21b916b597d047cc4e4c7e Mon Sep 17 00:00:00 2001 From: Peter Ujfalusi Date: Thu, 11 Jul 2013 16:04:48 +0200 Subject: ARM: OMAP2+: Remove legacy device creation for McPDM and DMIC McPDM and DMIC only available on OMAP4/5 which no longer boots in legacy mode. The code to create the devices in legacy mode can be removed. Signed-off-by: Peter Ujfalusi Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/devices.c | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 3c1279f27d1f..73ae7536a32b 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -327,44 +327,6 @@ static void omap_init_audio(void) static inline void omap_init_audio(void) {} #endif -#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \ - defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE) - -static void __init omap_init_mcpdm(void) -{ - struct omap_hwmod *oh; - struct platform_device *pdev; - - oh = omap_hwmod_lookup("mcpdm"); - if (!oh) - return; - - pdev = omap_device_build("omap-mcpdm", -1, oh, NULL, 0); - WARN(IS_ERR(pdev), "Can't build omap_device for omap-mcpdm.\n"); -} -#else -static inline void omap_init_mcpdm(void) {} -#endif - -#if defined(CONFIG_SND_OMAP_SOC_DMIC) || \ - defined(CONFIG_SND_OMAP_SOC_DMIC_MODULE) - -static void __init omap_init_dmic(void) -{ - struct omap_hwmod *oh; - struct platform_device *pdev; - - oh = omap_hwmod_lookup("dmic"); - if (!oh) - return; - - pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0); - WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n"); -} -#else -static inline void omap_init_dmic(void) {} -#endif - #if defined(CONFIG_SND_OMAP_SOC_OMAP_HDMI) || \ defined(CONFIG_SND_OMAP_SOC_OMAP_HDMI_MODULE) @@ -565,8 +527,6 @@ static int __init omap2_init_devices(void) omap_init_mbox(); /* If dtb is there, the devices will be created dynamically */ if (!of_have_populated_dt()) { - omap_init_dmic(); - omap_init_mcpdm(); omap_init_mcspi(); omap_init_sham(); omap_init_aes(); -- cgit v1.2.3 From 1085189ff3f7d00bd006eb490b5a24f42118ca79 Mon Sep 17 00:00:00 2001 From: Ezequiel Garcia Date: Thu, 8 Aug 2013 18:32:08 -0300 Subject: ARM: OMAP2: Use a consistent AM33XX SoC option description Fix the option description to match the other TI SoCs. This is just a cosmetic change. Signed-off-by: Ezequiel Garcia Reviewed-by: Javier Martinez Canillas Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 3eed0006d189..3ed8acd42ecd 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig @@ -65,7 +65,7 @@ config SOC_OMAP5 select ARM_ERRATA_798181 if SMP config SOC_AM33XX - bool "AM33XX support" + bool "TI AM33XX" depends on ARCH_MULTI_V7 select ARCH_OMAP2PLUS select ARM_CPU_SUSPEND if PM -- cgit v1.2.3 From 56cab60600af315b9cbe0be0990a3a86869101c4 Mon Sep 17 00:00:00 2001 From: Matus Ujhelyi Date: Mon, 5 Aug 2013 12:02:24 +0200 Subject: ARM: OMAP2+: am33xx-restart: trigger warm reset on omap2+ boards Currently the cold reset was triggered. It happened due to oposite offsets of cold/warm flags in PRM_RSTST and PRM_RSTCTRL registers. Signed-off-by: Matus Ujhelyi Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/am33xx-restart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/am33xx-restart.c b/arch/arm/mach-omap2/am33xx-restart.c index 1eae96212315..c88d8df753c2 100644 --- a/arch/arm/mach-omap2/am33xx-restart.c +++ b/arch/arm/mach-omap2/am33xx-restart.c @@ -24,8 +24,8 @@ void am33xx_restart(enum reboot_mode mode, const char *cmd) { /* TODO: Handle mode and cmd if necessary */ - am33xx_prm_rmw_reg_bits(AM33XX_GLOBAL_WARM_SW_RST_MASK, - AM33XX_GLOBAL_WARM_SW_RST_MASK, + am33xx_prm_rmw_reg_bits(AM33XX_RST_GLOBAL_WARM_SW_MASK, + AM33XX_RST_GLOBAL_WARM_SW_MASK, AM33XX_PRM_DEVICE_MOD, AM33XX_PRM_RSTCTRL_OFFSET); -- cgit v1.2.3 From 42c604ba7c1cbe0be005d473262b91824e920682 Mon Sep 17 00:00:00 2001 From: Chen Baozi Date: Wed, 7 Aug 2013 22:05:21 +0800 Subject: ARM: OMAP2+: fix wrong address when loading PRM_FRAC_INCREMENTOR_DENUMERATOR_RELOAD The denominator should be load from INCREMENTOR_DENUMERATOR_RELOAD_OFFSET rather than INCREMENTER_NUMERATOR_OFFSET. This is more likely a typo, since INCREMENTER_DENUMERATOR_RELOAD[23:17] is reserved. It seems that it won't make much trouble without this fix, because the useful [11:0] bits are mask and set the right value. Anyway, reading from a right address is better choice. Signed-off-by: Chen Baozi Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index b37e1fcbad56..9265e031fa2f 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c @@ -537,7 +537,7 @@ static void __init realtime_counter_init(void) reg |= num; __raw_writel(reg, base + INCREMENTER_NUMERATOR_OFFSET); - reg = __raw_readl(base + INCREMENTER_NUMERATOR_OFFSET) & + reg = __raw_readl(base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET) & NUMERATOR_DENUMERATOR_MASK; reg |= den; __raw_writel(reg, base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET); -- cgit v1.2.3 From 94b1d617e3ba4e682b8c94b86b65049ed5c810d6 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Tue, 16 Jul 2013 20:10:46 +0800 Subject: ARM: OMAP: dma: fix error return code in omap_system_dma_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun Signed-off-by: Tony Lindgren --- arch/arm/plat-omap/dma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 4d463ca6821f..037660633fa4 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -2083,6 +2083,7 @@ static int omap_system_dma_probe(struct platform_device *pdev) dma_irq = platform_get_irq_byname(pdev, irq_name); if (dma_irq < 0) { dev_err(&pdev->dev, "failed: request IRQ %d", dma_irq); + ret = dma_irq; goto exit_dma_lch_fail; } ret = setup_irq(dma_irq, &omap24xx_dma_irq); -- cgit v1.2.3 From a04feb03419f62b7796feb3d1ae387e45feaeaf0 Mon Sep 17 00:00:00 2001 From: Chen Gang Date: Wed, 21 Aug 2013 16:31:02 +0800 Subject: ARM: OMAP2: remove useless variable 'ret' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove useless variable 'ret', the related warning: arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable ‘ret’ -Wunused-variable] Signed-off-by: Chen Gang Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/board-am3517crane.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c index fc53911d0d13..0d499a1878f6 100644 --- a/arch/arm/mach-omap2/board-am3517crane.c +++ b/arch/arm/mach-omap2/board-am3517crane.c @@ -110,8 +110,6 @@ static void __init am3517_crane_i2c_init(void) static void __init am3517_crane_init(void) { - int ret; - omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); omap_serial_init(); omap_sdrc_init(NULL, NULL); -- cgit v1.2.3 From af0721966195b3966214edd54af0d5f84d65419a Mon Sep 17 00:00:00 2001 From: Chen Gang Date: Thu, 22 Aug 2013 15:47:21 +0800 Subject: ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start' 'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'. Also it will fix the related issue (dummy the real world failure): arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] Signed-off-by: Chen Gang Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/gpmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index f3fdd6afa213..9f4795aff48a 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -149,7 +149,7 @@ struct omap3_gpmc_regs { static struct gpmc_client_irq gpmc_client_irq[GPMC_NR_IRQ]; static struct irq_chip gpmc_irq_chip; -static unsigned gpmc_irq_start; +static int gpmc_irq_start; static struct resource gpmc_mem_root; static struct resource gpmc_cs_mem[GPMC_CS_NUM]; -- cgit v1.2.3