xref: /rk3399_ARM-atf/plat/imx/common/imx_caam.c (revision 9a207532f8216bf83fed0891fed9ed0bc72ca450)
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'Donoghue void 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