Merge "ti: k3: common: Remove MSMC port definitions" into integration
diff --git a/plat/ti/k3/board/generic/include/board_def.h b/plat/ti/k3/board/generic/include/board_def.h
index 4c8f882..490b975 100644
--- a/plat/ti/k3/board/generic/include/board_def.h
+++ b/plat/ti/k3/board/generic/include/board_def.h
@@ -11,16 +11,9 @@
 
 /* The ports must be in order and contiguous */
 #define K3_CLUSTER0_CORE_COUNT		2
-#define K3_CLUSTER0_MSMC_PORT		0
-
 #define K3_CLUSTER1_CORE_COUNT		2
-#define K3_CLUSTER1_MSMC_PORT		1
-
 #define K3_CLUSTER2_CORE_COUNT		2
-#define K3_CLUSTER2_MSMC_PORT		2
-
 #define K3_CLUSTER3_CORE_COUNT		2
-#define K3_CLUSTER3_MSMC_PORT		3
 
 /*
  * This RAM will be used for the bootloader including code, bss, and stacks.
diff --git a/plat/ti/k3/common/k3_helpers.S b/plat/ti/k3/common/k3_helpers.S
index 3dfdda4..1ab1af5 100644
--- a/plat/ti/k3/common/k3_helpers.S
+++ b/plat/ti/k3/common/k3_helpers.S
@@ -73,21 +73,17 @@
 	lsr	x1, x1, #MPIDR_AFF1_SHIFT
 	and	x0, x0, #MPIDR_CPU_MASK
 
-#if K3_CLUSTER1_MSMC_PORT != UNUSED
-	cmp	x1, #K3_CLUSTER0_MSMC_PORT
+	cmp	x1, 0
 	b.eq out
 	add	x0, x0, #K3_CLUSTER0_CORE_COUNT
-#if K3_CLUSTER2_MSMC_PORT != UNUSED
-	cmp	x1, #K3_CLUSTER1_MSMC_PORT
+
+	cmp	x1, 1
 	b.eq out
 	add	x0, x0, #K3_CLUSTER1_CORE_COUNT
-#if K3_CLUSTER3_MSMC_PORT != UNUSED
-	cmp	x1, #K3_CLUSTER2_MSMC_PORT
+
+	cmp	x1, 2
 	b.eq out
 	add	x0, x0, #K3_CLUSTER2_CORE_COUNT
-#endif /* K3_CLUSTER3_MSMC_PORT != UNUSED */
-#endif /* K3_CLUSTER2_MSMC_PORT != UNUSED */
-#endif /* K3_CLUSTER1_MSMC_PORT != UNUSED */
 
 out:
 	ret
diff --git a/plat/ti/k3/common/k3_topology.c b/plat/ti/k3/common/k3_topology.c
index 2b98acb..139f1fd 100644
--- a/plat/ti/k3/common/k3_topology.c
+++ b/plat/ti/k3/common/k3_topology.c
@@ -13,15 +13,9 @@
 	PLATFORM_SYSTEM_COUNT,
 	PLATFORM_CLUSTER_COUNT,
 	K3_CLUSTER0_CORE_COUNT,
-#if K3_CLUSTER1_MSMC_PORT != UNUSED
 	K3_CLUSTER1_CORE_COUNT,
-#endif /* K3_CLUSTER1_MSMC_PORT != UNUSED */
-#if K3_CLUSTER2_MSMC_PORT != UNUSED
 	K3_CLUSTER2_CORE_COUNT,
-#endif /* K3_CLUSTER2_MSMC_PORT != UNUSED */
-#if K3_CLUSTER3_MSMC_PORT != UNUSED
 	K3_CLUSTER3_CORE_COUNT,
-#endif /* K3_CLUSTER3_MSMC_PORT != UNUSED */
 };
 
 const unsigned char *plat_get_power_domain_tree_desc(void)
@@ -31,42 +25,22 @@
 
 int plat_core_pos_by_mpidr(u_register_t mpidr)
 {
-	unsigned int cpu_id;
+	unsigned int cluster = MPIDR_AFFLVL1_VAL(mpidr);
+	unsigned int core = MPIDR_AFFLVL0_VAL(mpidr);
 
-	mpidr &= MPIDR_AFFINITY_MASK;
-
-	if (mpidr & ~(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK))
+	if (MPIDR_AFFLVL3_VAL(mpidr) > 0 ||
+	    MPIDR_AFFLVL2_VAL(mpidr) > 0) {
 		return -1;
-
-	cpu_id = MPIDR_AFFLVL0_VAL(mpidr);
+	}
 
-	switch (MPIDR_AFFLVL1_VAL(mpidr)) {
-	case K3_CLUSTER0_MSMC_PORT:
-		if (cpu_id < K3_CLUSTER0_CORE_COUNT)
-			return cpu_id;
+	if (cluster > 0)
+		core += K3_CLUSTER0_CORE_COUNT;
+	if (cluster > 1)
+		core += K3_CLUSTER1_CORE_COUNT;
+	if (cluster > 2)
+		core += K3_CLUSTER2_CORE_COUNT;
+	if (cluster > 3)
 		return -1;
-#if K3_CLUSTER1_MSMC_PORT != UNUSED
-	case K3_CLUSTER1_MSMC_PORT:
-		if (cpu_id < K3_CLUSTER1_CORE_COUNT)
-			return K3_CLUSTER0_CORE_COUNT + cpu_id;
-		return -1;
-#endif /* K3_CLUSTER1_MSMC_PORT != UNUSED */
-#if K3_CLUSTER2_MSMC_PORT != UNUSED
-	case K3_CLUSTER2_MSMC_PORT:
-		if (cpu_id < K3_CLUSTER2_CORE_COUNT)
-			return K3_CLUSTER0_CORE_COUNT +
-			       K3_CLUSTER1_CORE_COUNT + cpu_id;
-		return -1;
-#endif /* K3_CLUSTER2_MSMC_PORT != UNUSED */
-#if K3_CLUSTER3_MSMC_PORT != UNUSED
-	case K3_CLUSTER3_MSMC_PORT:
-		if (cpu_id < K3_CLUSTER3_CORE_COUNT)
-			return K3_CLUSTER0_CORE_COUNT +
-			       K3_CLUSTER1_CORE_COUNT +
-			       K3_CLUSTER2_CORE_COUNT + cpu_id;
-		return -1;
-#endif /* K3_CLUSTER3_MSMC_PORT != UNUSED */
-	default:
-		return -1;
-	}
+
+	return core;
 }
diff --git a/plat/ti/k3/include/platform_def.h b/plat/ti/k3/include/platform_def.h
index 68fdae7..690c68e 100644
--- a/plat/ti/k3/include/platform_def.h
+++ b/plat/ti/k3/include/platform_def.h
@@ -29,39 +29,10 @@
 					K3_CLUSTER2_CORE_COUNT + \
 					K3_CLUSTER3_CORE_COUNT)
 
-#define PLATFORM_CLUSTER_COUNT		((K3_CLUSTER0_MSMC_PORT != UNUSED) + \
-					(K3_CLUSTER1_MSMC_PORT != UNUSED) + \
-					(K3_CLUSTER2_MSMC_PORT != UNUSED) + \
-					(K3_CLUSTER3_MSMC_PORT != UNUSED))
-
-#define UNUSED				-1
-
-#if !defined(K3_CLUSTER1_CORE_COUNT) || !defined(K3_CLUSTER1_MSMC_PORT)
-#define K3_CLUSTER1_CORE_COUNT		0
-#define K3_CLUSTER1_MSMC_PORT		UNUSED
-#endif
-
-#if !defined(K3_CLUSTER2_CORE_COUNT) || !defined(K3_CLUSTER2_MSMC_PORT)
-#define K3_CLUSTER2_CORE_COUNT		0
-#define K3_CLUSTER2_MSMC_PORT		UNUSED
-#endif
-
-#if !defined(K3_CLUSTER3_CORE_COUNT) || !defined(K3_CLUSTER3_MSMC_PORT)
-#define K3_CLUSTER3_CORE_COUNT		0
-#define K3_CLUSTER3_MSMC_PORT		UNUSED
-#endif
-
-#if K3_CLUSTER0_MSMC_PORT == UNUSED
-#error "ARM cluster 0 must be used"
-#endif
-
-#if ((K3_CLUSTER1_MSMC_PORT == UNUSED) && (K3_CLUSTER1_CORE_COUNT != 0)) || \
-    ((K3_CLUSTER2_MSMC_PORT == UNUSED) && (K3_CLUSTER2_CORE_COUNT != 0)) || \
-    ((K3_CLUSTER3_MSMC_PORT == UNUSED) && (K3_CLUSTER3_CORE_COUNT != 0))
-#error "Unused ports must have 0 ARM cores"
-#endif
-
-#define PLATFORM_CLUSTER_OFFSET		K3_CLUSTER0_MSMC_PORT
+#define PLATFORM_CLUSTER_COUNT		((K3_CLUSTER0_CORE_COUNT != 0) + \
+					(K3_CLUSTER1_CORE_COUNT != 0) + \
+					(K3_CLUSTER2_CORE_COUNT != 0) + \
+					(K3_CLUSTER3_CORE_COUNT != 0))
 
 #define PLAT_NUM_PWR_DOMAINS		(PLATFORM_SYSTEM_COUNT + \
 					PLATFORM_CLUSTER_COUNT + \