Commit a56585d1 authored by Ulrich Hecht's avatar Ulrich Hecht Committed by Simon Horman

ARM: mach-shmobile: kzm9g: add zboot support

Adds support to run the kernel on the uninitialized KZM9G board, using for
instance the mask ROM boot loader or JTAG. This patch tries to emulate the
style of the corresponding "mackerel" implementation. The DRAM controller
setup code has been adapted from u-boot.
Signed-off-by: default avatarUlrich Hecht <ulrich.hecht@gmail.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent aefe88ba
This diff is collapsed.
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
#ifdef CONFIG_MACH_MACKEREL #ifdef CONFIG_MACH_MACKEREL
#define MEMORY_START 0x40000000 #define MEMORY_START 0x40000000
#include "mach/head-mackerel.txt" #include "mach/head-mackerel.txt"
#elif defined(CONFIG_MACH_KZM9G) || defined(CONFIG_MACH_KZM9G_REFERENCE)
#define MEMORY_START 0x43000000
#include "mach/head-kzm9g.txt"
#else #else
#error "unsupported board." #error "unsupported board."
#endif #endif
......
...@@ -62,4 +62,47 @@ ...@@ -62,4 +62,47 @@
2 : 2 :
.endm .endm
/* loop until a given value has been read (with mask) */
.macro WAIT_MASK, addr, data, cmp
LDR r0, 2f
LDR r1, 3f
LDR r2, 4f
1:
LDR r3, [r0, #0]
AND r3, r1, r3
CMP r2, r3
BNE 1b
B 5f
2: .long \addr
3: .long \data
4: .long \cmp
5:
.endm
/* read 32-bit value from addr, "or" an immediate and write back */
.macro ED_OR, addr, data
LDR r4, 1f
LDR r5, 2f
LDR r6, [r4]
ORR r5, r6, r5
STR r5, [r4]
B 3f
1: .long \addr
2: .long \data
3:
.endm
/* read 32-bit value from addr, "and" an immediate and write back */
.macro ED_AND, addr, data
LDR r4, 1f
LDR r5, 2f
LDR r6, [r4]
AND r5, r6, r5
STR r5, [r4]
B 3f
1: .long \addr
2: .long \data
3:
.endm
#endif /* __ZBOOT_MACRO_H */ #endif /* __ZBOOT_MACRO_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment