Skip to content

Commit 8922afb

Browse files
EvgeniiDidinnashif
authored andcommitted
arc: hsdk: Set SRAM_BASE_ADDRESS in defconfig
On power-on boot-ROM is mapped to address 0 in HSDK board. Normally later when U-Boot gets started by boot-ROM we change mappings so that real DDR is mapped to entire address space including 0: https://elixir.bootlin.com/u-boot/latest/source/board/synopsys/hsdk/hsdk.c#L474 But if U-Boot is not started (which is controlled by the BIM dip-switch on the board) boot-ROM remains mapped to 0, and essentially any attempt to write to that location fails, thus we cannot upload contents of our target Elf there even with JTAG. The next logical option is to use beginning of the non-translated memory region 0x8000_0000 which we typically use for loading U-Boot & Linux kernel on ARC boards. But in case of HSDK we have DCCM (Data Closely-Coupled MEmory - fast on-chip SRAM) mapped there and since we cannot execute code from DCCM we need to skip that region as well which gives us the next option being 0x9000_0000 . That's because DCCM owns entire 256 MiB "aperture" even though it may have much smaller size up-to 8 MiB. We are mapping only 5 apertures because the last two (0xe000_0000-0xffff_ffff) are used for peripherals and AXI. Signed-off-by: Evgeniy Didin <[email protected]> Signed-off-by: Alexey Brodkin <[email protected]>
1 parent 2f691d2 commit 8922afb

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

dts/arc/arc_hsdk.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@
6161
interrupt-parent = <&idu_intc>;
6262
ranges;
6363

64-
ddr0: memory@0 {
64+
ddr0: memory@90000000 {
6565
device_type = "memory";
6666
compatible = "mmio-sram";
67-
reg = <0x0 0x80000000>;
67+
reg = <0x90000000 0x50000000>;
6868
};
6969

7070
uart0: uart@f0005000 {
@@ -186,4 +186,4 @@
186186
};
187187

188188
};
189-
};
189+
};

0 commit comments

Comments
 (0)