2016-05-21 11:59:25 +08:00
|
|
|
/*
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
* Copyright (c) 2018 Synopsys, Inc. All rights reserved.
|
2016-05-21 11:59:25 +08:00
|
|
|
*
|
2017-01-19 09:01:01 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2016-05-21 11:59:25 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
* @brief Linker script for the Synopsys EM Starterkit platform.
|
2016-05-21 11:59:25 +08:00
|
|
|
*/
|
|
|
|
|
2020-01-16 20:29:53 +08:00
|
|
|
#include <devicetree.h>
|
2018-12-15 05:28:14 +08:00
|
|
|
#include <autoconf.h>
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
|
2016-05-21 11:59:25 +08:00
|
|
|
/*
|
|
|
|
* DRAM base address and size
|
|
|
|
*
|
|
|
|
* DRAM includes the exception vector table at reset, which is at
|
|
|
|
* the beginning of the region.
|
|
|
|
*/
|
2020-04-30 22:34:04 +08:00
|
|
|
#if DT_NODE_HAS_PROP(DT_NODELABEL(ddr0), reg) && \
|
|
|
|
(DT_REG_SIZE(DT_NODELABEL(ddr0)) > 0)
|
|
|
|
#define SRAM_START DT_REG_ADDR(DT_NODELABEL(ddr0))
|
|
|
|
#define SRAM_SIZE DT_REG_SIZE(DT_NODELABEL(ddr0))
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
#endif
|
2016-05-21 11:59:25 +08:00
|
|
|
|
|
|
|
/* Instruction Closely Coupled Memory (ICCM) base address and size */
|
2020-04-30 22:34:04 +08:00
|
|
|
#if DT_NODE_HAS_PROP(DT_INST(0, arc_iccm), reg) && \
|
|
|
|
(DT_REG_SIZE(DT_INST(0, arc_iccm)) > 0)
|
|
|
|
#define ICCM_START DT_REG_ADDR(DT_INST(0, arc_iccm))
|
|
|
|
#define ICCM_SIZE DT_REG_SIZE(DT_INST(0, arc_iccm))
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
#endif
|
2016-05-21 11:59:25 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* DCCM base address and size. DCCM is the data memory.
|
|
|
|
*/
|
|
|
|
/* Data Closely Coupled Memory (DCCM) base address and size */
|
2020-04-30 22:34:04 +08:00
|
|
|
#if DT_NODE_HAS_PROP(DT_INST(0, arc_dccm), reg) && \
|
|
|
|
(DT_REG_SIZE(DT_INST(0, arc_dccm)) > 0)
|
|
|
|
#define DCCM_START DT_REG_ADDR(DT_INST(0, arc_dccm))
|
|
|
|
#define DCCM_SIZE DT_REG_SIZE(DT_INST(0, arc_dccm))
|
arch: arc: refactor the soc part of em_starterkit
The original em7d, em9d and em11d are different configurations of
em_starterkit. They have the same peripherals, e.g. uart, spi, gpio
, ddr. The differences of them are in arc core configurations, interrupt
number assignment.
So em7d, em9d and em11d can be viewed in the same SoC family or SoC
series.
Referring other arch's implementation, this commit merges em7d, em9d
and em11d into the same SoC, named snps_emsk. This will eliminate
unnecessary duplication and make it easier for future maintainment.
Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-28 10:10:15 +08:00
|
|
|
#endif
|
2016-05-21 11:59:25 +08:00
|
|
|
|
|
|
|
#include <arch/arc/v2/linker.ld>
|