Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
f60ad9b7
Commit
f60ad9b7
authored
Nov 12, 2019
by
Paul Beesley
Committed by
TrustedFirmware Code Review
Nov 12, 2019
Browse files
Merge "n1sdp: setup multichip gic routing table" into integration
parents
415f67e3
6799a370
Changes
2
Hide whitespace changes
Inline
Side-by-side
plat/arm/board/n1sdp/n1sdp_bl31_setup.c
View file @
f60ad9b7
...
...
@@ -9,6 +9,7 @@
#include <drivers/arm/css/css_mhu_doorbell.h>
#include <drivers/arm/css/scmi.h>
#include <drivers/arm/css/sds.h>
#include <drivers/arm/gic600_multichip.h>
#include <common/debug.h>
#include <lib/mmio.h>
#include <lib/utils.h>
...
...
@@ -53,6 +54,26 @@ static scmi_channel_plat_info_t n1sdp_scmi_plat_info = {
.
ring_doorbell
=
&
mhu_ring_doorbell
};
static
struct
gic600_multichip_data
n1sdp_multichip_data
__init
=
{
.
rt_owner_base
=
PLAT_ARM_GICD_BASE
,
.
rt_owner
=
0
,
.
chip_count
=
1
,
.
chip_addrs
=
{
PLAT_ARM_GICD_BASE
>>
16
,
PLAT_ARM_GICD_BASE
>>
16
},
.
spi_ids
=
{
{
32
,
255
},
{
0
,
0
}
}
};
static
uintptr_t
n1sdp_multichip_gicr_frames
[
3
]
=
{
PLAT_ARM_GICR_BASE
,
PLAT_ARM_GICR_BASE
+
PLAT_ARM_REMOTE_CHIP_OFFSET
,
0
};
scmi_channel_plat_info_t
*
plat_css_get_scmi_info
()
{
return
&
n1sdp_scmi_plat_info
;
...
...
@@ -149,14 +170,18 @@ void copy_bl33(uint32_t src, uint32_t dst, uint32_t size)
}
}
void
n1sdp_bl31_multichip_setup
(
void
)
{
plat_arm_override_gicr_frames
(
n1sdp_multichip_gicr_frames
);
gic600_multichip_init
(
&
n1sdp_multichip_data
);
}
void
bl31_platform_setup
(
void
)
{
int
ret
;
struct
n1sdp_plat_info
plat_info
;
struct
n1sdp_bl33_info
bl33_info
;
arm_bl31_platform_setup
();
ret
=
sds_init
();
if
(
ret
!=
SDS_OK
)
{
ERROR
(
"SDS initialization failed
\n
"
);
...
...
@@ -181,6 +206,12 @@ void bl31_platform_setup(void)
panic
();
}
if
(
plat_info
.
multichip_mode
)
{
n1sdp_multichip_data
.
chip_count
=
plat_info
.
slave_count
+
1
;
n1sdp_bl31_multichip_setup
();
}
arm_bl31_platform_setup
();
dmc_ecc_setup
(
plat_info
.
local_ddr_size
);
/* Check if remote memory is present */
...
...
plat/arm/board/n1sdp/platform.mk
View file @
f60ad9b7
...
...
@@ -18,6 +18,7 @@ N1SDP_CPU_SOURCES := lib/cpus/aarch64/neoverse_n1.S
N1SDP_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gic600_multichip.c
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
\
drivers/arm/gic/v3/gic600.c
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment