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