1 /*
2  * Copyright (c) 2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <lib/mmio.h>
8 
9 #include <imx_aipstz.h>
10 
imx_aipstz_init(const struct aipstz_cfg * aipstz_cfg)11 void imx_aipstz_init(const struct aipstz_cfg *aipstz_cfg)
12 {
13 	const struct aipstz_cfg *aipstz = aipstz_cfg;
14 
15 	while (aipstz->base != 0U) {
16 		mmio_write_32(aipstz->base + AIPSTZ_MPR0, aipstz->mpr0);
17 		mmio_write_32(aipstz->base + AIPSTZ_MPR1, aipstz->mpr1);
18 
19 		for (int i = 0; i < AIPSTZ_OPACR_NUM; i++)
20 			mmio_write_32(aipstz->base + OPACR_OFFSET(i), aipstz->opacr[i]);
21 
22 		aipstz++;
23 	}
24 }
25