Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
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
5 years ago
by
Paul Beesley
Committed by
TrustedFirmware Code Review
5 years ago
Browse files
Options
Download
Plain Diff
Merge "n1sdp: setup multichip gic routing table" into integration
parents
415f67e3
6799a370
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
plat/arm/board/n1sdp/n1sdp_bl31_setup.c
+33
-2
plat/arm/board/n1sdp/n1sdp_bl31_setup.c
plat/arm/board/n1sdp/platform.mk
+1
-0
plat/arm/board/n1sdp/platform.mk
with
34 additions
and
2 deletions
+34
-2
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 */
...
...
This diff is collapsed.
Click to expand it.
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
...
...
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help