|
@@ -566,6 +566,8 @@ int sec_init_idx(uint8_t sec_idx)
|
|
{
|
|
{
|
|
ccsr_sec_t *sec = (void *)SEC_ADDR(sec_idx);
|
|
ccsr_sec_t *sec = (void *)SEC_ADDR(sec_idx);
|
|
uint32_t mcr = sec_in32(&sec->mcfgr);
|
|
uint32_t mcr = sec_in32(&sec->mcfgr);
|
|
|
|
+ uint32_t jrown_ns;
|
|
|
|
+ int i;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
#ifdef CONFIG_FSL_CORENET
|
|
#ifdef CONFIG_FSL_CORENET
|
|
@@ -621,6 +623,13 @@ int sec_init_idx(uint8_t sec_idx)
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+ /* Set ownership of job rings to non-TrustZone mode by default */
|
|
|
|
+ for (i = 0; i < ARRAY_SIZE(sec->jrliodnr); i++) {
|
|
|
|
+ jrown_ns = sec_in32(&sec->jrliodnr[i].ms);
|
|
|
|
+ jrown_ns |= JROWN_NS | JRMID_NS;
|
|
|
|
+ sec_out32(&sec->jrliodnr[i].ms, jrown_ns);
|
|
|
|
+ }
|
|
|
|
+
|
|
ret = jr_init(sec_idx);
|
|
ret = jr_init(sec_idx);
|
|
if (ret < 0) {
|
|
if (ret < 0) {
|
|
printf("SEC initialization failed\n");
|
|
printf("SEC initialization failed\n");
|