aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLokesh Vutla2020-04-10 05:43:33 -0500
committerLokesh Vutla2020-04-14 22:29:23 -0500
commit88e949f1fbc68da8347d2b4bde75394a72d13939 (patch)
tree8473df01aa28b1e568abce551faab2ae28174ed0
parent6f019ccf5c2f74f1205a0da730222860b344056a (diff)
downloadk3conf-88e949f1fbc68da8347d2b4bde75394a72d13939.tar.gz
k3conf-88e949f1fbc68da8347d2b4bde75394a72d13939.tar.xz
k3conf-88e949f1fbc68da8347d2b4bde75394a72d13939.zip
soc: am65x_sr2: Add sec proxy info
Add TISCI Secure proxy info for AM65x sr2 devices. Data derived from sysfw 2020.02 Documentation. Tested-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
-rw-r--r--Makefile3
-rw-r--r--common/socinfo.c5
-rw-r--r--soc/am65x_sr2/am65x_sr2_sec_proxy_info.c127
-rw-r--r--soc/am65x_sr2/am65x_sr2_sec_proxy_info.h44
4 files changed, 178 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index f4fec0c..6a6c52d 100644
--- a/Makefile
+++ b/Makefile
@@ -79,7 +79,8 @@ AM65XSOURCES =\
79 soc/am65x/am65x_processors_info.c \ 79 soc/am65x/am65x_processors_info.c \
80 soc/am65x/am65x_devices_info.c \ 80 soc/am65x/am65x_devices_info.c \
81 soc/am65x/am65x_clocks_info.c \ 81 soc/am65x/am65x_clocks_info.c \
82 soc/am65x_sr2/am65x_sr2_host_info.c 82 soc/am65x_sr2/am65x_sr2_host_info.c \
83 soc/am65x_sr2/am65x_sr2_sec_proxy_info.c
83 84
84J721ESOURCES =\ 85J721ESOURCES =\
85 soc/j721e/j721e_host_info.c \ 86 soc/j721e/j721e_host_info.c \
diff --git a/common/socinfo.c b/common/socinfo.c
index fb0cbaf..dc26cf8 100644
--- a/common/socinfo.c
+++ b/common/socinfo.c
@@ -43,6 +43,7 @@
43#include <soc/am65x/am65x_devices_info.h> 43#include <soc/am65x/am65x_devices_info.h>
44#include <soc/am65x/am65x_clocks_info.h> 44#include <soc/am65x/am65x_clocks_info.h>
45#include <soc/am65x_sr2/am65x_sr2_host_info.h> 45#include <soc/am65x_sr2/am65x_sr2_host_info.h>
46#include <soc/am65x_sr2/am65x_sr2_sec_proxy_info.h>
46#include <soc/j721e/j721e_host_info.h> 47#include <soc/j721e/j721e_host_info.h>
47#include <soc/j721e/j721e_sec_proxy_info.h> 48#include <soc/j721e/j721e_sec_proxy_info.h>
48#include <soc/j721e/j721e_processors_info.h> 49#include <soc/j721e/j721e_processors_info.h>
@@ -111,6 +112,10 @@ static void am654_sr2_init(void)
111 112
112 sci_info->host_info = am65x_sr2_host_info; 113 sci_info->host_info = am65x_sr2_host_info;
113 sci_info->num_hosts = AM65X_SR2_MAX_HOST_IDS; 114 sci_info->num_hosts = AM65X_SR2_MAX_HOST_IDS;
115 sci_info->sp_info[MAIN_SEC_PROXY] = am65x_sr2_main_sp_info;
116 sci_info->num_sp_threads[MAIN_SEC_PROXY] = AM65X_SR2_MAIN_SEC_PROXY_THREADS;
117 sci_info->sp_info[MCU_SEC_PROXY] = am65x_sr2_mcu_sp_info;
118 sci_info->num_sp_threads[MCU_SEC_PROXY] = AM65X_SR2_MCU_SEC_PROXY_THREADS;
114} 119}
115 120
116static void j721e_init(void) 121static void j721e_init(void)
diff --git a/soc/am65x_sr2/am65x_sr2_sec_proxy_info.c b/soc/am65x_sr2/am65x_sr2_sec_proxy_info.c
new file mode 100644
index 0000000..7af4796
--- /dev/null
+++ b/soc/am65x_sr2/am65x_sr2_sec_proxy_info.c
@@ -0,0 +1,127 @@
1/*
2 * AM65X_SR2 Sec Proxy Info
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#include <tisci.h>
36#include <socinfo.h>
37
38struct ti_sci_sec_proxy_info am65x_sr2_main_sp_info[] = {
39 [0] = {0, "read", 2, "A53_0", "notify"},
40 [1] = {1, "read", 30, "A53_0", "response"},
41 [2] = {2, "write", 10, "A53_0", "high_priority"},
42 [3] = {3, "write", 20, "A53_0", "low_priority"},
43 [4] = {4, "write", 2, "A53_0", "notify_resp"},
44 [5] = {5, "read", 2, "A53_1", "notify"},
45 [6] = {6, "read", 30, "A53_1", "response"},
46 [7] = {7, "write", 10, "A53_1", "high_priority"},
47 [8] = {8, "write", 20, "A53_1", "low_priority"},
48 [9] = {9, "write", 2, "A53_1", "notify_resp"},
49 [10] = {10, "read", 2, "A53_2", "notify"},
50 [11] = {11, "read", 22, "A53_2", "response"},
51 [12] = {12, "write", 2, "A53_2", "high_priority"},
52 [13] = {13, "write", 20, "A53_2", "low_priority"},
53 [14] = {14, "write", 2, "A53_2", "notify_resp"},
54 [15] = {15, "read", 2, "A53_3", "notify"},
55 [16] = {16, "read", 7, "A53_3", "response"},
56 [17] = {17, "write", 2, "A53_3", "high_priority"},
57 [18] = {18, "write", 5, "A53_3", "low_priority"},
58 [19] = {19, "write", 2, "A53_3", "notify_resp"},
59 [20] = {20, "read", 2, "A53_4", "notify"},
60 [21] = {21, "read", 5, "A53_4", "response"},
61 [22] = {22, "write", 2, "A53_4", "high_priority"},
62 [23] = {23, "write", 5, "A53_4", "low_priority"},
63 [24] = {24, "write", 2, "A53_4", "notify_resp"},
64 [25] = {25, "read", 2, "A53_5", "notify"},
65 [26] = {26, "read", 5, "A53_5", "response"},
66 [27] = {27, "write", 2, "A53_5", "high_priority"},
67 [28] = {28, "write", 5, "A53_5", "low_priority"},
68 [29] = {29, "write", 2, "A53_5", "notify_resp"},
69 [30] = {30, "read", 2, "A53_6", "notify"},
70 [31] = {31, "read", 5, "A53_6", "response"},
71 [32] = {32, "write", 2, "A53_6", "high_priority"},
72 [33] = {33, "write", 5, "A53_6", "low_priority"},
73 [34] = {34, "write", 2, "A53_6", "notify_resp"},
74 [35] = {35, "read", 2, "A53_7", "notify"},
75 [36] = {36, "read", 5, "A53_7", "response"},
76 [37] = {37, "write", 2, "A53_7", "high_priority"},
77 [38] = {38, "write", 5, "A53_7", "low_priority"},
78 [39] = {39, "write", 2, "A53_7", "notify_resp"},
79 [40] = {40, "read", 2, "ICSSG_0", "notify"},
80 [41] = {41, "read", 7, "ICSSG_0", "response"},
81 [42] = {42, "write", 2, "ICSSG_0", "high_priority"},
82 [43] = {43, "write", 5, "ICSSG_0", "low_priority"},
83 [44] = {44, "write", 2, "ICSSG_0", "notify_resp"},
84 [45] = {45, "read", 2, "ICSSG_1", "notify"},
85 [46] = {46, "read", 4, "ICSSG_1", "response"},
86 [47] = {47, "write", 2, "ICSSG_1", "high_priority"},
87 [48] = {48, "write", 2, "ICSSG_1", "low_priority"},
88 [49] = {49, "write", 2, "ICSSG_1", "notify_resp"},
89 [50] = {50, "read", 2, "ICSSG_2", "notify"},
90 [51] = {51, "read", 4, "ICSSG_2", "response"},
91 [52] = {52, "write", 2, "ICSSG_2", "high_priority"},
92 [53] = {53, "write", 2, "ICSSG_2", "low_priority"},
93 [54] = {54, "write", 2, "ICSSG_2", "notify_resp"},
94 [55] = {55, "read", 2, "GPU_0", "notify"},
95 [56] = {56, "read", 7, "GPU_0", "response"},
96 [57] = {57, "write", 2, "GPU_0", "high_priority"},
97 [58] = {58, "write", 5, "GPU_0", "low_priority"},
98 [59] = {59, "write", 2, "GPU_0", "notify_resp"},
99 [60] = {60, "read", 2, "GPU_1", "notify"},
100 [61] = {61, "read", 5, "GPU_1", "response"},
101 [62] = {62, "write", 2, "GPU_1", "high_priority"},
102 [63] = {63, "write", 3, "GPU_1", "low_priority"},
103 [64] = {64, "write", 2, "GPU_1", "notify_resp"},
104};
105
106struct ti_sci_sec_proxy_info am65x_sr2_mcu_sp_info[] = {
107 [0] = {0, "read", 2, "R5_0", "notify"},
108 [1] = {1, "read", 7, "R5_0", "response"},
109 [2] = {2, "write", 2, "R5_0", "high_priority"},
110 [3] = {3, "write", 5, "R5_0", "low_priority"},
111 [4] = {4, "write", 2, "R5_0", "notify_resp"},
112 [5] = {5, "read", 2, "R5_1", "notify"},
113 [6] = {6, "read", 7, "R5_1", "response"},
114 [7] = {7, "write", 2, "R5_1", "high_priority"},
115 [8] = {8, "write", 5, "R5_1", "low_priority"},
116 [9] = {9, "write", 2, "R5_1", "notify_resp"},
117 [10] = {10, "read", 1, "R5_2", "notify"},
118 [11] = {11, "read", 2, "R5_2", "response"},
119 [12] = {12, "write", 1, "R5_2", "high_priority"},
120 [13] = {13, "write", 1, "R5_2", "low_priority"},
121 [14] = {14, "write", 1, "R5_2", "notify_resp"},
122 [15] = {15, "read", 1, "R5_3", "notify"},
123 [16] = {16, "read", 2, "R5_3", "response"},
124 [17] = {17, "write", 1, "R5_3", "high_priority"},
125 [18] = {18, "write", 1, "R5_3", "low_priority"},
126 [19] = {19, "write", 1, "R5_3", "notify_resp"},
127};
diff --git a/soc/am65x_sr2/am65x_sr2_sec_proxy_info.h b/soc/am65x_sr2/am65x_sr2_sec_proxy_info.h
new file mode 100644
index 0000000..9da12bd
--- /dev/null
+++ b/soc/am65x_sr2/am65x_sr2_sec_proxy_info.h
@@ -0,0 +1,44 @@
1/*
2 * AM65X_SR2 Sec Proxy Info
3 *
4 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef __AM65X_SR2_SEC_PROXY_INFO_H
36#define __AM65X_SR2_SEC_PROXY_INFO_H
37
38#define AM65X_SR2_MAIN_SEC_PROXY_THREADS 65
39#define AM65X_SR2_MCU_SEC_PROXY_THREADS 20
40
41extern struct ti_sci_sec_proxy_info am65x_sr2_main_sp_info[];
42extern struct ti_sci_sec_proxy_info am65x_sr2_mcu_sp_info[];
43
44#endif /* __AM65X_SR2_SEC_PROXY_INFO_H */ \ No newline at end of file