diff options
author | Dave Gerlach | 2020-09-24 17:37:03 -0500 |
---|---|---|
committer | Dave Gerlach | 2020-10-16 13:05:46 -0500 |
commit | 8ca1ad4cffaa7516857e85883cb5731edd2a179f (patch) | |
tree | fe315303349cdd2db818d2075a53c7ef3930b036 | |
parent | c11c788cf8066d47ce37b668fb0d607c52c3f272 (diff) | |
download | k3-image-gen-8ca1ad4cffaa7516857e85883cb5731edd2a179f.tar.gz k3-image-gen-8ca1ad4cffaa7516857e85883cb5731edd2a179f.tar.xz k3-image-gen-8ca1ad4cffaa7516857e85883cb5731edd2a179f.zip |
sec-cfg: Add secure_handover_config section
Update the common.h headers to add new defines from
SYSFW 2020.08.
Starting from SYSFW v2020.08, a secure_handover_config section
is mandatory in the security config. Otherwise the boot fails
on all SoCs.
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
-rw-r--r-- | include/common.h | 9 | ||||
-rw-r--r-- | soc/am65x/evm/sec-cfg.c | 11 | ||||
-rw-r--r-- | soc/am65x_sr2/evm/sec-cfg.c | 11 | ||||
-rw-r--r-- | soc/j7200/evm/sec-cfg.c | 11 | ||||
-rw-r--r-- | soc/j721e/evm/sec-cfg.c | 11 |
5 files changed, 53 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h index 382b6c422..2a012211a 100644 --- a/include/common.h +++ b/include/common.h | |||
@@ -83,6 +83,7 @@ typedef u8 ftbool; | |||
83 | #define BOARDCFG_DKEK_CFG_MAGIC_NUM 0x5170 | 83 | #define BOARDCFG_DKEK_CFG_MAGIC_NUM 0x5170 |
84 | #define BOARDCFG_SA2UL_CFG_MAGIC_NUM_RSVD 0x23BE | 84 | #define BOARDCFG_SA2UL_CFG_MAGIC_NUM_RSVD 0x23BE |
85 | #define BOARDCFG_SEC_DBG_CTRL_MAGIC_NUM 0x42AF | 85 | #define BOARDCFG_SEC_DBG_CTRL_MAGIC_NUM 0x42AF |
86 | #define BOARDCFG_SEC_HANDOVER_CFG_MAGIC_NUM 0x608F | ||
86 | 87 | ||
87 | struct boardcfg_substructure_header { | 88 | struct boardcfg_substructure_header { |
88 | u16 magic; | 89 | u16 magic; |
@@ -260,6 +261,13 @@ struct boardcfg_secure_debug_config { | |||
260 | u8 jtag_unlock_hosts[BOARDCFG_SEC_MAX_NUM_JTAG_UNLOCK_HOSTS]; | 261 | u8 jtag_unlock_hosts[BOARDCFG_SEC_MAX_NUM_JTAG_UNLOCK_HOSTS]; |
261 | } __attribute__((__packed__)); | 262 | } __attribute__((__packed__)); |
262 | 263 | ||
264 | struct boardcfg_sec_handover { | ||
265 | struct boardcfg_substructure_header subhdr; | ||
266 | u8 handover_msg_sender; | ||
267 | u8 handover_to_host_id; | ||
268 | u8 rsvd[4]; | ||
269 | }; | ||
270 | |||
263 | struct boardcfg_security { | 271 | struct boardcfg_security { |
264 | struct boardcfg_abi_rev rev; | 272 | struct boardcfg_abi_rev rev; |
265 | struct boardcfg_proc_acl processor_acl_list; | 273 | struct boardcfg_proc_acl processor_acl_list; |
@@ -268,6 +276,7 @@ struct boardcfg_security { | |||
268 | struct boardcfg_dkek dkek_config; | 276 | struct boardcfg_dkek dkek_config; |
269 | struct boardcfg_sa2ul_cfg sa2ul_cfg; | 277 | struct boardcfg_sa2ul_cfg sa2ul_cfg; |
270 | struct boardcfg_secure_debug_config sec_dbg_config; | 278 | struct boardcfg_secure_debug_config sec_dbg_config; |
279 | struct boardcfg_sec_handover sec_handover_cfg; | ||
271 | } __attribute__((__packed__)); | 280 | } __attribute__((__packed__)); |
272 | 281 | ||
273 | /** | 282 | /** |
diff --git a/soc/am65x/evm/sec-cfg.c b/soc/am65x/evm/sec-cfg.c index 13007cd6f..500fd762c 100644 --- a/soc/am65x/evm/sec-cfg.c +++ b/soc/am65x/evm/sec-cfg.c | |||
@@ -103,4 +103,15 @@ const struct boardcfg_security am65_boardcfg_security_data = { | |||
103 | .min_cert_rev = 0x0, | 103 | .min_cert_rev = 0x0, |
104 | .jtag_unlock_hosts = {0, 0, 0, 0}, | 104 | .jtag_unlock_hosts = {0, 0, 0, 0}, |
105 | }, | 105 | }, |
106 | |||
107 | /* Secure Handover Configuration */ | ||
108 | .sec_handover_cfg = { | ||
109 | .subhdr = { | ||
110 | .magic = BOARDCFG_SEC_HANDOVER_CFG_MAGIC_NUM, | ||
111 | .size = sizeof(struct boardcfg_sec_handover), | ||
112 | }, | ||
113 | .handover_msg_sender = 0, | ||
114 | .handover_to_host_id = 0, | ||
115 | .rsvd = {0,0,0,0}, | ||
116 | }, | ||
106 | }; | 117 | }; |
diff --git a/soc/am65x_sr2/evm/sec-cfg.c b/soc/am65x_sr2/evm/sec-cfg.c index 486036fca..f51d5bbe9 100644 --- a/soc/am65x_sr2/evm/sec-cfg.c +++ b/soc/am65x_sr2/evm/sec-cfg.c | |||
@@ -102,4 +102,15 @@ const struct boardcfg_security am65_boardcfg_security_data = { | |||
102 | .min_cert_rev = 0x0, | 102 | .min_cert_rev = 0x0, |
103 | .jtag_unlock_hosts = {0, 0, 0, 0}, | 103 | .jtag_unlock_hosts = {0, 0, 0, 0}, |
104 | }, | 104 | }, |
105 | |||
106 | /* Secure Handover Configuration */ | ||
107 | .sec_handover_cfg = { | ||
108 | .subhdr = { | ||
109 | .magic = BOARDCFG_SEC_HANDOVER_CFG_MAGIC_NUM, | ||
110 | .size = sizeof(struct boardcfg_sec_handover), | ||
111 | }, | ||
112 | .handover_msg_sender = 0, | ||
113 | .handover_to_host_id = 0, | ||
114 | .rsvd = {0,0,0,0}, | ||
115 | }, | ||
105 | }; | 116 | }; |
diff --git a/soc/j7200/evm/sec-cfg.c b/soc/j7200/evm/sec-cfg.c index 74b393891..a084939cf 100644 --- a/soc/j7200/evm/sec-cfg.c +++ b/soc/j7200/evm/sec-cfg.c | |||
@@ -102,4 +102,15 @@ const struct boardcfg_security j7200_boardcfg_security_data = { | |||
102 | .min_cert_rev = 0x0, | 102 | .min_cert_rev = 0x0, |
103 | .jtag_unlock_hosts = {0, 0, 0, 0}, | 103 | .jtag_unlock_hosts = {0, 0, 0, 0}, |
104 | }, | 104 | }, |
105 | |||
106 | /* Secure Handover Configuration */ | ||
107 | .sec_handover_cfg = { | ||
108 | .subhdr = { | ||
109 | .magic = BOARDCFG_SEC_HANDOVER_CFG_MAGIC_NUM, | ||
110 | .size = sizeof(struct boardcfg_sec_handover), | ||
111 | }, | ||
112 | .handover_msg_sender = 0, | ||
113 | .handover_to_host_id = 0, | ||
114 | .rsvd = {0,0,0,0}, | ||
115 | }, | ||
105 | }; | 116 | }; |
diff --git a/soc/j721e/evm/sec-cfg.c b/soc/j721e/evm/sec-cfg.c index 8391d276c..1ddb539e0 100644 --- a/soc/j721e/evm/sec-cfg.c +++ b/soc/j721e/evm/sec-cfg.c | |||
@@ -103,4 +103,15 @@ const struct boardcfg_security j721e_boardcfg_security_data = { | |||
103 | .min_cert_rev = 0x0, | 103 | .min_cert_rev = 0x0, |
104 | .jtag_unlock_hosts = {0, 0, 0, 0}, | 104 | .jtag_unlock_hosts = {0, 0, 0, 0}, |
105 | }, | 105 | }, |
106 | |||
107 | /* Secure Handover Configuration */ | ||
108 | .sec_handover_cfg = { | ||
109 | .subhdr = { | ||
110 | .magic = BOARDCFG_SEC_HANDOVER_CFG_MAGIC_NUM, | ||
111 | .size = sizeof(struct boardcfg_sec_handover), | ||
112 | }, | ||
113 | .handover_msg_sender = 0, | ||
114 | .handover_to_host_id = 0, | ||
115 | .rsvd = {0,0,0,0}, | ||
116 | }, | ||
106 | }; | 117 | }; |