summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRavi Kumar Bokka <rbokka@codeaurora.org>2021-10-15 23:02:41 +0530
committerShelley Chen <shchen@google.com>2021-10-25 21:14:22 +0000
commit64f7eaafa7ca8e5908e6e1dd1be6f6df6cae06d9 (patch)
tree406654dd76cc68875f423e4adaf400269a415c34 /src
parentf8e4ba0085cb8f0d54236825abe0487c733bb25d (diff)
soc/qualcomm: Commonize AOP firmware support
Move AOP firmware support from qualcomm/sc7180 into qualcomm/common BUG=b:182963902 TEST=Validated on qualcomm sc7180 development board Change-Id: I90b0f48e15df390970e027bff2065b7a89b14cec Signed-off-by: Ravi Kumar Bokka <rbokka@codeaurora.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49767 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Shelley Chen <shchen@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/soc/qualcomm/common/aop_load_reset.c (renamed from src/soc/qualcomm/sc7180/aop_load_reset.c)11
-rw-r--r--src/soc/qualcomm/common/include/soc/aop_common.h8
-rw-r--r--src/soc/qualcomm/common/mmu.c8
-rw-r--r--src/soc/qualcomm/sc7180/Makefile.inc2
-rw-r--r--src/soc/qualcomm/sc7180/include/soc/aop.h8
-rw-r--r--src/soc/qualcomm/sc7180/mmu.c6
-rw-r--r--src/soc/qualcomm/sc7180/soc.c2
7 files changed, 20 insertions, 25 deletions
diff --git a/src/soc/qualcomm/sc7180/aop_load_reset.c b/src/soc/qualcomm/common/aop_load_reset.c
index d48a422991..1b3a1d50ab 100644
--- a/src/soc/qualcomm/sc7180/aop_load_reset.c
+++ b/src/soc/qualcomm/common/aop_load_reset.c
@@ -1,23 +1,20 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <cbfs.h>
#include <console/console.h>
-#include <program_loading.h>
#include <soc/mmu.h>
-#include <soc/aop.h>
+#include <soc/aop_common.h>
#include <soc/clock.h>
void aop_fw_load_reset(void)
{
- bool aop_fw_entry;
-
struct prog aop_fw_prog =
PROG_INIT(PROG_PAYLOAD, CONFIG_CBFS_PREFIX "/aop");
- aop_fw_entry = selfload(&aop_fw_prog);
- if (!aop_fw_entry)
+ if (!selfload(&aop_fw_prog))
die("SOC image: AOP load failed");
clock_reset_aop();
- printk(BIOS_DEBUG, "\nSOC:AOP brought out of reset.\n");
+ printk(BIOS_DEBUG, "SOC:AOP brought out of reset.\n");
}
diff --git a/src/soc/qualcomm/common/include/soc/aop_common.h b/src/soc/qualcomm/common/include/soc/aop_common.h
new file mode 100644
index 0000000000..5b0de4eb67
--- /dev/null
+++ b/src/soc/qualcomm/common/include/soc/aop_common.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _SOC_QUALCOMM_COMMON_AOP_H__
+#define _SOC_QUALCOMM_COMMON_AOP_H__
+
+void aop_fw_load_reset(void);
+
+#endif // _SOC_QUALCOMM_COMMON_AOP_H__
diff --git a/src/soc/qualcomm/common/mmu.c b/src/soc/qualcomm/common/mmu.c
index ba1173edf9..0f12555a7f 100644
--- a/src/soc/qualcomm/common/mmu.c
+++ b/src/soc/qualcomm/common/mmu.c
@@ -3,9 +3,9 @@
#include <arch/mmu.h>
#include <soc/mmu.h>
#include <soc/mmu_common.h>
+#include <soc/symbols_common.h>
__weak bool soc_modem_carve_out(void **start, void **end) { return false; }
-__weak void soc_mmu_dram_config_post_dram_init(void) { /* no-op */ }
void qc_mmu_dram_config_post_dram_init(void *ddr_base, size_t ddr_size)
{
@@ -18,5 +18,9 @@ void qc_mmu_dram_config_post_dram_init(void *ddr_base, size_t ddr_size)
mmu_config_range(ddr_base, start - ddr_base, CACHED_RAM);
mmu_config_range(end, ddr_base + ddr_size - end, CACHED_RAM);
}
- soc_mmu_dram_config_post_dram_init();
+
+ mmu_config_range((void *)_aop_code_ram, REGION_SIZE(aop_code_ram),
+ CACHED_RAM);
+ mmu_config_range((void *)_aop_data_ram, REGION_SIZE(aop_data_ram),
+ CACHED_RAM);
}
diff --git a/src/soc/qualcomm/sc7180/Makefile.inc b/src/soc/qualcomm/sc7180/Makefile.inc
index 7c393b3fac..df565b4c0e 100644
--- a/src/soc/qualcomm/sc7180/Makefile.inc
+++ b/src/soc/qualcomm/sc7180/Makefile.inc
@@ -36,7 +36,7 @@ romstage-$(CONFIG_DRIVERS_UART) += ../common/qupv3_uart.c
################################################################################
ramstage-y += soc.c
ramstage-y += carve_out.c
-ramstage-y += aop_load_reset.c
+ramstage-y += ../common/aop_load_reset.c
ramstage-y += usb.c
ramstage-$(CONFIG_DRIVERS_UART) += ../common/qupv3_uart.c
ramstage-$(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) += display/dsi_phy_pll.c
diff --git a/src/soc/qualcomm/sc7180/include/soc/aop.h b/src/soc/qualcomm/sc7180/include/soc/aop.h
deleted file mode 100644
index bdf3f83cbd..0000000000
--- a/src/soc/qualcomm/sc7180/include/soc/aop.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef _SOC_QUALCOMM_SC7180_AOP_H__
-#define _SOC_QUALCOMM_SC7180_AOP_H__
-
-void aop_fw_load_reset(void);
-
-#endif // _SOC_QUALCOMM_SC7180_AOP_H__
diff --git a/src/soc/qualcomm/sc7180/mmu.c b/src/soc/qualcomm/sc7180/mmu.c
index 03e62e507e..6aff9a99f4 100644
--- a/src/soc/qualcomm/sc7180/mmu.c
+++ b/src/soc/qualcomm/sc7180/mmu.c
@@ -19,9 +19,3 @@ void sc7180_mmu_init(void)
mmu_enable();
}
-
-void soc_mmu_dram_config_post_dram_init(void)
-{
- mmu_config_range((void *)_aop_code_ram, REGION_SIZE(aop_code_ram), CACHED_RAM);
- mmu_config_range((void *)_aop_data_ram, REGION_SIZE(aop_data_ram), CACHED_RAM);
-}
diff --git a/src/soc/qualcomm/sc7180/soc.c b/src/soc/qualcomm/sc7180/soc.c
index e7efff45a3..af274d2013 100644
--- a/src/soc/qualcomm/sc7180/soc.c
+++ b/src/soc/qualcomm/sc7180/soc.c
@@ -5,7 +5,7 @@
#include <soc/mmu.h>
#include <soc/mmu_common.h>
#include <soc/symbols_common.h>
-#include <soc/aop.h>
+#include <soc/aop_common.h>
static void soc_read_resources(struct device *dev)
{