1 // SPDX-License-Identifier: BSD-2-Clause
2 /*
3  * Copyright 2019 NXP
4  */
5 
6 #include <imx.h>
7 #include <io.h>
8 #include <mm/core_mmu.h>
9 #include <mm/core_memprot.h>
10 
imx_get_src_gpr(int cpu)11 uint32_t imx_get_src_gpr(int cpu)
12 {
13 	vaddr_t va = core_mmu_get_va(SRC_BASE, MEM_AREA_IO_SEC, 1);
14 
15 	if (soc_is_imx7ds())
16 		return io_read32(va + SRC_GPR1_MX7 + cpu * 8 + 4);
17 	else
18 		return io_read32(va + SRC_GPR1 + cpu * 8 + 4);
19 }
20 
imx_set_src_gpr(int cpu,uint32_t val)21 void imx_set_src_gpr(int cpu, uint32_t val)
22 {
23 	vaddr_t va = core_mmu_get_va(SRC_BASE, MEM_AREA_IO_SEC, 1);
24 
25 	if (soc_is_imx7ds())
26 		io_write32(va + SRC_GPR1_MX7 + cpu * 8 + 4, val);
27 	else
28 		io_write32(va + SRC_GPR1 + cpu * 8 + 4, val);
29 }
30