blob: 3b651f3dcb4b7e8fb56bf9b335173f3829ffcf35 [file] [log] [blame]
Nariman Poushinb44cfc62018-02-26 06:52:04 +00001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <bl_common.h>
8#include <debug.h>
9#include <plat_arm.h>
10#include <sgi_plat_config.h>
Sughosh Ganu485fc952018-05-16 17:22:35 +053011#include <sgi_ras.h>
Chandni Cherukurib911ddd2018-10-11 14:08:08 +053012#include "../../css/drivers/scmi/scmi.h"
13#include "../../css/drivers/mhu/css_mhu_doorbell.h"
14
15static scmi_channel_plat_info_t sgi575_scmi_plat_info = {
16 .scmi_mbx_mem = CSS_SCMI_PAYLOAD_BASE,
17 .db_reg_addr = PLAT_CSS_MHU_BASE + CSS_SCMI_MHU_DB_REG_OFF,
18 .db_preserve_mask = 0xfffffffe,
19 .db_modify_mask = 0x1,
20 .ring_doorbell = &mhu_ring_doorbell,
21};
22
23scmi_channel_plat_info_t *plat_css_get_scmi_info()
24{
25 return &sgi575_scmi_plat_info;
26}
Nariman Poushinb44cfc62018-02-26 06:52:04 +000027
28void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
29 u_register_t arg2, u_register_t arg3)
30{
Nariman Poushinb44cfc62018-02-26 06:52:04 +000031 /* Initialize the platform configuration structure */
32 plat_config_init();
33
Nariman Poushinb44cfc62018-02-26 06:52:04 +000034 arm_bl31_early_platform_setup((void *)arg0, arg1, arg2, (void *)arg3);
35}
Sughosh Ganu485fc952018-05-16 17:22:35 +053036
37void bl31_platform_setup(void)
38{
39 arm_bl31_platform_setup();
40
41#if RAS_EXTENSION
42 sgi_ras_intr_handler_setup();
43#endif
44}