1 // SPDX-License-Identifier: BSD-2-Clause 2 /* 3 * Copyright 2024 NXP 4 * 5 * Brief CAAM Configuration. 6 */ 7 #include <caam_hal_cfg.h> 8 #include <caam_hal_jr.h> 9 #include <kernel/dt.h> 10 #include <registers/jr_regs.h> 11 caam_hal_cfg_hab_jr_mgmt(struct caam_jrcfg * jrcfg)12void caam_hal_cfg_hab_jr_mgmt(struct caam_jrcfg *jrcfg) 13 { 14 void *fdt = NULL; 15 struct caam_jrcfg tmp_jrcfg = { 16 .offset = (CFG_JR_HAB_INDEX + 1) * JRX_BLOCK_SIZE, 17 }; 18 19 fdt = get_dt(); 20 if (fdt) { 21 /* Ensure Secure Job Ring is secure only into DTB */ 22 caam_hal_cfg_disable_jobring_dt(fdt, &tmp_jrcfg); 23 } 24 25 caam_hal_jr_prepare_backup(jrcfg->base, tmp_jrcfg.offset); 26 } 27 caam_hal_cfg_is_hab_jr(paddr_t jr_offset)28bool caam_hal_cfg_is_hab_jr(paddr_t jr_offset) 29 { 30 unsigned int jr_idx = JRX_IDX(jr_offset); 31 32 return jr_idx == CFG_JR_HAB_INDEX; 33 } 34