Renesas ARM based SoC fixes for v3.12

* Fix TPU clock name for r8a7740 SoC
 * Update romImage to relocate appended DTB
 * Thumb fixes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR7N/rAAoJENfPZGlqN0++x3kP/AyNLjvA5l1i3dJgqOLKWl0h
 4r4YctfjLIMzyGQRKph7MhxmRGQqebcVLOSY1YkQzLrgl0HRE8xDb/Vs+DD61JoW
 SXRpU3dryMu8XJJQ1A8+HfGwemRgujzBdgt29siWo/K/E6X6KANQprRa245yga4H
 ntzNrGcnjT+BI39Eywsk6NQTfJE8i028qA3CC2wTegnoBtw6nExb80rNwoMds2pS
 43fhbU0CxsOm0YyiUCsP8iGbUOesYLjOvVKhgj+c5uLwEoU8oOKhT5IytMtuJIu3
 fbMOJNZT24Vkt9nkqaoZ06kcNiQaXoeeKShp/FeDe5+YQVw0ScNFCXFRldrSjhCT
 +dlYoSPGNkdV+cgl1UCRNZAQvTXUJurIA6waLALSlExEfwBNsErM7tVjs5gy/dKO
 lIY8mdeRVJB88FHhwv2f9gA00xzgZJiP9w12u2CHeFRvNa2gDd04UQRhQPo8U4qk
 TUudoIq6pASknJ75xJffklAlbU/rKqdLOeoGFxzFZ7L1sRIr6y6qxeHGWIEcF7NV
 tXrj1K/robcQNHcwqxd/qIbvXRhHebJx4gRf+K0g94Q00aaLKB3ncB6TUdwejyhe
 qe66SIP9D/Zp/DXMUelRjChc3vtGKnIZhSDRrvPnNmKe4G0sSWRvl/p/6qqBY44p
 3bUujC0uxXxdZntjEPUi
 =nXZN
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes-for-v3.12' into soc2-base

Renesas ARM based SoC fixes for v3.12

* Fix TPU clock name for r8a7740 SoC
* Update romImage to relocate appended DTB
* Thumb fixes
This commit is contained in:
Simon Horman 2013-08-06 17:56:43 +09:00
commit 21c7a13405
6 changed files with 50 additions and 9 deletions

View File

@ -55,12 +55,47 @@ __tmp_stack:
__continue: __continue:
#endif /* CONFIG_ZBOOT_ROM_MMC || CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI */ #endif /* CONFIG_ZBOOT_ROM_MMC || CONFIG_ZBOOT_ROM_SH_MOBILE_SDHI */
/* Set board ID necessary for boot */ adr r0, dtb_info
ldr r7, 1f @ Set machine type register ldmia r0, {r1, r3, r4, r5, r7}
mov r8, #0 @ pass null pointer as atag
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 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 : 2 :
#endif /* CONFIG_ZBOOT_ROM */ #endif /* CONFIG_ZBOOT_ROM */

View File

@ -596,7 +596,7 @@ static struct clk_lookup lookups[] = {
CLKDEV_DEV_ID("e6bd0000.mmcif", &mstp_clks[MSTP312]), CLKDEV_DEV_ID("e6bd0000.mmcif", &mstp_clks[MSTP312]),
CLKDEV_DEV_ID("r8a7740-gether", &mstp_clks[MSTP309]), CLKDEV_DEV_ID("r8a7740-gether", &mstp_clks[MSTP309]),
CLKDEV_DEV_ID("e9a00000.sh-eth", &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("sh_mobile_sdhi.2", &mstp_clks[MSTP415]),
CLKDEV_DEV_ID("e6870000.sdhi", &mstp_clks[MSTP415]), CLKDEV_DEV_ID("e6870000.sdhi", &mstp_clks[MSTP415]),

View File

@ -38,13 +38,15 @@ ENTRY(shmobile_boot_scu)
lsl r1, r1, #3 @ we will shift by cpu_id * 8 bits lsl r1, r1, #3 @ we will shift by cpu_id * 8 bits
ldr r2, [r0, #8] @ SCU Power Status Register ldr r2, [r0, #8] @ SCU Power Status Register
mov r3, #3 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 str r2, [r0, #8] @ write back
b shmobile_invalidate_start b shmobile_invalidate_start
ENDPROC(shmobile_boot_scu) ENDPROC(shmobile_boot_scu)
.text .text
.align 2
.globl shmobile_scu_base .globl shmobile_scu_base
shmobile_scu_base: shmobile_scu_base:
.space 4 .space 4

View File

@ -26,12 +26,16 @@ ENDPROC(shmobile_invalidate_start)
* This will be mapped at address 0 by SBAR register. * This will be mapped at address 0 by SBAR register.
* We need _long_ jump to the physical address. * We need _long_ jump to the physical address.
*/ */
.arm
.align 12 .align 12
ENTRY(shmobile_boot_vector) ENTRY(shmobile_boot_vector)
ldr r0, 2f ldr r0, 2f
ldr pc, 1f ldr r1, 1f
bx r1
ENDPROC(shmobile_boot_vector) ENDPROC(shmobile_boot_vector)
.align 2
.globl shmobile_boot_fn .globl shmobile_boot_fn
shmobile_boot_fn: shmobile_boot_fn:
1: .space 4 1: .space 4

View File

@ -1,7 +1,6 @@
#ifndef ZBOOT_H #ifndef ZBOOT_H
#define ZBOOT_H #define ZBOOT_H
#include <asm/mach-types.h>
#include <mach/zboot_macros.h> #include <mach/zboot_macros.h>
/************************************************** /**************************************************
@ -11,7 +10,6 @@
**************************************************/ **************************************************/
#ifdef CONFIG_MACH_MACKEREL #ifdef CONFIG_MACH_MACKEREL
#define MACH_TYPE MACH_TYPE_MACKEREL
#define MEMORY_START 0x40000000 #define MEMORY_START 0x40000000
#include "mach/head-mackerel.txt" #include "mach/head-mackerel.txt"
#else #else

View File

@ -41,6 +41,7 @@
sh7372_resume_core_standby_sysc: sh7372_resume_core_standby_sysc:
ldr pc, 1f ldr pc, 1f
.align 2
.globl sh7372_cpu_resume .globl sh7372_cpu_resume
sh7372_cpu_resume: sh7372_cpu_resume:
1: .space 4 1: .space 4
@ -96,6 +97,7 @@ sh7372_do_idle_sysc:
1: 1:
b 1b b 1b
.align 2
kernel_flush: kernel_flush:
.word v7_flush_dcache_all .word v7_flush_dcache_all
#endif #endif