Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
9a25f982
Commit
9a25f982
authored
5 years ago
by
Soby Mathew
Committed by
TrustedFirmware Code Review
5 years ago
Browse files
Options
Download
Plain Diff
Merge "ti: k3: common: Remove MSMC port definitions" into integration
parents
29162843
a82bf5ad
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
plat/ti/k3/board/generic/include/board_def.h
+0
-7
plat/ti/k3/board/generic/include/board_def.h
plat/ti/k3/common/k3_helpers.S
+5
-9
plat/ti/k3/common/k3_helpers.S
plat/ti/k3/common/k3_topology.c
+14
-40
plat/ti/k3/common/k3_topology.c
plat/ti/k3/include/platform_def.h
+4
-33
plat/ti/k3/include/platform_def.h
with
23 additions
and
89 deletions
+23
-89
plat/ti/k3/board/generic/include/board_def.h
View file @
9a25f982
...
...
@@ -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.
...
...
This diff is collapsed.
Click to expand it.
plat/ti/k3/common/k3_helpers.S
View file @
9a25f982
...
...
@@ -73,21 +73,17 @@ func plat_my_core_pos
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
...
...
This diff is collapsed.
Click to expand it.
plat/ti/k3/common/k3_topology.c
View file @
9a25f982
...
...
@@ -13,15 +13,9 @@ static unsigned char power_domain_tree_desc[] = {
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 @@ const unsigned char *plat_get_power_domain_tree_desc(void)
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
;
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
;
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
;
#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
;
}
This diff is collapsed.
Click to expand it.
plat/ti/k3/include/platform_def.h
View file @
9a25f982
...
...
@@ -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 + \
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help