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:
commit
21c7a13405
|
@ -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 */
|
||||||
|
|
|
@ -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]),
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue