Skip to content
Snippets Groups Projects
Commit c1824ea2 authored by Michal Simek's avatar Michal Simek
Browse files

arm: zynq: Do not remap OCM to high address


In case where ps-ddr is not used, do not remap
OCM to high address and keep it from 0x0.
Linux SMP requires to have memory at 0x0.

Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
parent c0e5dd88
No related branches found
No related tags found
No related merge requests found
...@@ -16,13 +16,15 @@ void lowlevel_init(void) ...@@ -16,13 +16,15 @@ void lowlevel_init(void)
int arch_cpu_init(void) int arch_cpu_init(void)
{ {
zynq_slcr_unlock(); zynq_slcr_unlock();
/* remap DDR to zero, FILTERSTART */
writel(0, &scu_base->filter_start);
/* Device config APB, unlock the PCAP */ /* Device config APB, unlock the PCAP */
writel(0x757BDF0D, &devcfg_base->unlock); writel(0x757BDF0D, &devcfg_base->unlock);
writel(0xFFFFFFFF, &devcfg_base->rom_shadow); writel(0xFFFFFFFF, &devcfg_base->rom_shadow);
#if (CONFIG_SYS_SDRAM_BASE == 0)
/* remap DDR to zero, FILTERSTART */
writel(0, &scu_base->filter_start);
/* OCM_CFG, Mask out the ROM, map ram into upper addresses */ /* OCM_CFG, Mask out the ROM, map ram into upper addresses */
writel(0x1F, &slcr_base->ocm_cfg); writel(0x1F, &slcr_base->ocm_cfg);
/* FPGA_RST_CTRL, clear resets on AXI fabric ports */ /* FPGA_RST_CTRL, clear resets on AXI fabric ports */
...@@ -33,6 +35,7 @@ int arch_cpu_init(void) ...@@ -33,6 +35,7 @@ int arch_cpu_init(void)
writel(0x0, &slcr_base->ddr_urgent_sel); writel(0x0, &slcr_base->ddr_urgent_sel);
/* Urgent write, ports S2/S3 */ /* Urgent write, ports S2/S3 */
writel(0xC, &slcr_base->ddr_urgent); writel(0xC, &slcr_base->ddr_urgent);
#endif
zynq_slcr_lock(); zynq_slcr_lock();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment