1*ac166f64SJacky Bai /* 2*ac166f64SJacky Bai * copyright (c) 2019, arm limited and contributors. all rights reserved. 3*ac166f64SJacky Bai * 4*ac166f64SJacky Bai * spdx-license-identifier: bsd-3-clause 5*ac166f64SJacky Bai */ 6*ac166f64SJacky Bai 7*ac166f64SJacky Bai #include <lib/mmio.h> 8*ac166f64SJacky Bai 9*ac166f64SJacky Bai #include <imx_aipstz.h> 10*ac166f64SJacky Bai 11*ac166f64SJacky Bai void imx_aipstz_init(const struct aipstz_cfg *aipstz_cfg) 12*ac166f64SJacky Bai { 13*ac166f64SJacky Bai const struct aipstz_cfg *aipstz = aipstz_cfg; 14*ac166f64SJacky Bai 15*ac166f64SJacky Bai while (aipstz->base != 0U) { 16*ac166f64SJacky Bai mmio_write_32(aipstz->base + AIPSTZ_MPR0, aipstz->mpr0); 17*ac166f64SJacky Bai mmio_write_32(aipstz->base + AIPSTZ_MPR1, aipstz->mpr1); 18*ac166f64SJacky Bai 19*ac166f64SJacky Bai for (int i = 0; i < AIPSTZ_OPACR_NUM; i++) 20*ac166f64SJacky Bai mmio_write_32(aipstz->base + OPACR_OFFSET(i), aipstz->opacr[i]); 21*ac166f64SJacky Bai 22*ac166f64SJacky Bai aipstz++; 23*ac166f64SJacky Bai } 24*ac166f64SJacky Bai } 25