1ca52cbe6SBryan O'Donoghue /* 2ca52cbe6SBryan O'Donoghue * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3ca52cbe6SBryan O'Donoghue * 4ca52cbe6SBryan O'Donoghue * SPDX-License-Identifier: BSD-3-Clause 5ca52cbe6SBryan O'Donoghue */ 6*09d40e0eSAntonio Nino Diaz 7ca52cbe6SBryan O'Donoghue #include <stdint.h> 8*09d40e0eSAntonio Nino Diaz 9*09d40e0eSAntonio Nino Diaz #include <lib/mmio.h> 10*09d40e0eSAntonio Nino Diaz 11ca52cbe6SBryan O'Donoghue #include <imx_caam.h> 12ca52cbe6SBryan O'Donoghue imx_caam_init(void)13ca52cbe6SBryan O'Donoghuevoid imx_caam_init(void) 14ca52cbe6SBryan O'Donoghue { 15ca52cbe6SBryan O'Donoghue struct caam_ctrl *caam = (struct caam_ctrl *)CAAM_AIPS_BASE; 16ca52cbe6SBryan O'Donoghue uint32_t reg; 17ca52cbe6SBryan O'Donoghue int i; 18ca52cbe6SBryan O'Donoghue 19ca52cbe6SBryan O'Donoghue for (i = 0; i < CAAM_NUM_JOB_RINGS; i++) { 20ca52cbe6SBryan O'Donoghue reg = mmio_read_32((uintptr_t)&caam->jr[i].jrmidr_ms); 21ca52cbe6SBryan O'Donoghue reg |= JROWN_NS | JROWN_MID; 22ca52cbe6SBryan O'Donoghue mmio_write_32((uintptr_t)&caam->jr[i].jrmidr_ms, reg); 23ca52cbe6SBryan O'Donoghue } 24ca52cbe6SBryan O'Donoghue } 25