Przeglądaj źródła

feat(msm8916): add port for MDM9607

The Qualcomm X5 Modem (MDM9607) SoC is very similar to the existing
MSM8916, except for:

  - Single core ARM Cortex-A7
  - No GPU
  - MMU-500 r2p4 instead of r0p0 (need to clear CACHE_LOCK bit)
  - Different default BL31/BL33 address and UART number

Make the existing MSM8916 platform port usable for MDM9607 as well by
adding some minimal if statements where necessary plus the platform
make files for mdm9607.

Change-Id: I4dd02c8e29af6282d8d828c3027c5e333459ba36
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Stephan Gerhold 1 rok temu
rodzic
commit
78aac78ad2

+ 14 - 0
plat/qti/mdm9607/platform.mk

@@ -0,0 +1,14 @@
+#
+# Copyright (c) 2022-2023, Stephan Gerhold <stephan@gerhold.net>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+ARM_ARCH_MAJOR		:= 7
+ARM_CORTEX_A7		:= yes
+
+BL31_BASE		?= 0x87e00000
+PRELOADED_BL33_BASE	?= 0x82900000
+QTI_UART_NUM		?= 5
+
+include plat/qti/msm8916/platform.mk

+ 7 - 0
plat/qti/mdm9607/sp_min/sp_min-mdm9607.mk

@@ -0,0 +1,7 @@
+#
+# Copyright (c) 2022-2023, Stephan Gerhold <stephan@gerhold.net>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+include plat/qti/msm8916/sp_min/sp_min-msm8916.mk

+ 4 - 0
plat/qti/msm8916/include/platform_def.h

@@ -31,7 +31,11 @@
 #else
 #define PLATFORM_CLUSTER_COUNT		U(1)
 #endif
+#if defined(PLAT_mdm9607)
+#define PLATFORM_CPU_PER_CLUSTER_SHIFT	U(0)	/* 1 */
+#else
 #define PLATFORM_CPU_PER_CLUSTER_SHIFT	U(2)	/* 4 */
+#endif
 #define PLATFORM_CPUS_PER_CLUSTER	(1 << PLATFORM_CPU_PER_CLUSTER_SHIFT)
 #define PLATFORM_CORE_COUNT		(PLATFORM_CLUSTER_COUNT * \
 					 PLATFORM_CPUS_PER_CLUSTER)

+ 3 - 0
plat/qti/msm8916/msm8916_setup.c

@@ -51,6 +51,9 @@ static const struct uartdm_gpios uartdm_gpio_map[] = {
 	{4, 5, 0x2}, {20, 21, 0x3},
 #elif defined(PLAT_msm8916) || defined(PLAT_msm8939)
 	{0, 1, 0x2}, {4, 5, 0x2},
+#elif defined(PLAT_mdm9607)
+	{12, 13, 0x2}, {4, 5, 0x2}, {0, 1, 0x1},
+	{16, 17, 0x2}, {8, 9, 0x2}, {20, 21, 0x2},
 #endif
 };