Tristan Hsieh has uploaded this change for review.

View Change

mediatek: Pass board specific message to BL31

Sometimes we need to pass board specific messages to BL31, so that BL31
can do board specific operation based on common code.

BUG=b:80501386
BRANCH=none
TEST=emerge-kukui coreboot

Change-Id: I60b09423d479b356ac5c04517906042fc8d512ca
Signed-off-by: Tristan Shieh <tristan.shieh@mediatek.com>
---
A src/soc/mediatek/common/bl31_plat_params.c
A src/soc/mediatek/common/include/soc/bl31_plat_params.h
M src/soc/mediatek/mt8183/Makefile.inc
3 files changed, 54 insertions(+), 0 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/31604/1
diff --git a/src/soc/mediatek/common/bl31_plat_params.c b/src/soc/mediatek/common/bl31_plat_params.c
new file mode 100644
index 0000000..eb7477a
--- /dev/null
+++ b/src/soc/mediatek/common/bl31_plat_params.c
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 MediaTek Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <arm_tf.h>
+#include <soc/bl31_plat_params.h>
+
+static struct bl31_plat_param *plat_params;
+
+void register_bl31_param(struct bl31_plat_param *param)
+{
+ param->next = plat_params;
+ plat_params = param;
+}
+
+void *soc_get_bl31_plat_params(bl31_params_t *bl31_params)
+{
+ return plat_params;
+}
diff --git a/src/soc/mediatek/common/include/soc/bl31_plat_params.h b/src/soc/mediatek/common/include/soc/bl31_plat_params.h
new file mode 100644
index 0000000..399b0d5
--- /dev/null
+++ b/src/soc/mediatek/common/include/soc/bl31_plat_params.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 MediaTek Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __BL31_PLAT_PARAMS_H__
+#define __BL31_PLAT_PARAMS_H__
+
+#include <arm-trusted-firmware/plat/mediatek/common/plat_params.h>
+
+void register_bl31_param(struct bl31_plat_param *param);
+
+#endif
diff --git a/src/soc/mediatek/mt8183/Makefile.inc b/src/soc/mediatek/mt8183/Makefile.inc
index 8af3d68..fc2bbe2 100644
--- a/src/soc/mediatek/mt8183/Makefile.inc
+++ b/src/soc/mediatek/mt8183/Makefile.inc
@@ -50,6 +50,7 @@
ramstage-y += ../common/usb.c
ramstage-y += ../common/wdt.c

+ramstage-y += ../common/bl31_plat_params.c
BL31_MAKEARGS += PLAT=mt8183

CPPFLAGS_common += -Isrc/soc/mediatek/mt8183/include

To view, visit change 31604. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I60b09423d479b356ac5c04517906042fc8d512ca
Gerrit-Change-Number: 31604
Gerrit-PatchSet: 1
Gerrit-Owner: Tristan Hsieh <tristan.shieh@mediatek.com>
Gerrit-MessageType: newchange