summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorDino Li <dino.li@ite.com.tw>2014-03-17 15:01:55 +0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-03-18 11:24:24 +0000
commitfa9f407a66e10b4871d02b118952a9b0ac7e3263 (patch)
tree53c0a4d4910206a61fe1c128c984bb501205f8fb /core
parent24417669a626fcda285c79aa8fa54268683d695a (diff)
downloadchrome-ec-fa9f407a66e10b4871d02b118952a9b0ac7e3263.tar.gz
it8380dev: fix firmware can't startup (re-generate)
Some section(entry point, interrupt vector, e-flash signature and so on) of linker script file are not linked. The start address of e-flash signature should always at 00000080h. Default firmware treats VCC logic high to prevent pin 11 logic low but use following functions. (EC2I, KBC, SWUC, PMC, CIR, SSPI, UART, BRAM, and PECI) Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=Firmware can startup on IT8380 emulation board. Change-Id: I9860ac5b99dcc6e9e00dbc9d1e79a141237b7789 Reviewed-on: https://chromium-review.googlesource.com/190008 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Tested-by: Dino Li <dino.li@ite.com.tw> Commit-Queue: Dino Li <dino.li@ite.com.tw>
Diffstat (limited to 'core')
-rw-r--r--core/nds32/ec.lds.S8
-rw-r--r--core/nds32/init.S1
2 files changed, 5 insertions, 4 deletions
diff --git a/core/nds32/ec.lds.S b/core/nds32/ec.lds.S
index 84e08d34bc..f66412cd6d 100644
--- a/core/nds32/ec.lds.S
+++ b/core/nds32/ec.lds.S
@@ -22,7 +22,7 @@ MEMORY
SECTIONS
{
.text : {
- OUTDIR/core/CORE/init.o (.text.vecttable)
+ KEEP(OUTDIR/core/CORE/init.o (.text.vecttable))
. = ALIGN(4);
__version_struct_offset = .;
KEEP(*(.rodata.ver))
@@ -31,8 +31,8 @@ SECTIONS
#else
. = ALIGN(4);
#endif
- OUTDIR/core/CORE/init.o (.text.vectirq)
- OUTDIR/core/CORE/init.o (.text)
+ KEEP(OUTDIR/core/CORE/init.o (.text.vectirq))
+ KEEP(OUTDIR/core/CORE/init.o (.text))
*(.text*)
#ifdef COMPILE_FOR_RAM
} > IRAM
@@ -48,7 +48,7 @@ SECTIONS
. = ALIGN(4);
__irqhandler = .;
- OUTDIR/core/CORE/init.o (.rodata.vecthandlers)
+ KEEP(OUTDIR/core/CORE/init.o (.rodata.vecthandlers))
. = ALIGN(4);
__cmds = .;
diff --git a/core/nds32/init.S b/core/nds32/init.S
index bd166ef668..0f2c0710d6 100644
--- a/core/nds32/init.S
+++ b/core/nds32/init.S
@@ -73,6 +73,7 @@ vector irq_14 /* HW 14 */
vector irq_15 /* HW 15 */
/* E-flash signature */
+.org 0x80
.balign 16
.global eflash_sig
eflash_sig: