xref: /rk3399_ARM-atf/plat/imx/common/imx_snvs.c (revision f7ea6d52234102b8f67d2d030a860b7a119d8450)
1*f7ea6d52SBryan O'Donoghue /*
2*f7ea6d52SBryan O'Donoghue  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3*f7ea6d52SBryan O'Donoghue  *
4*f7ea6d52SBryan O'Donoghue  * SPDX-License-Identifier: BSD-3-Clause
5*f7ea6d52SBryan O'Donoghue  */
6*f7ea6d52SBryan O'Donoghue 
7*f7ea6d52SBryan O'Donoghue #include <mmio.h>
8*f7ea6d52SBryan O'Donoghue #include <imx_regs.h>
9*f7ea6d52SBryan O'Donoghue #include <imx_snvs.h>
10*f7ea6d52SBryan O'Donoghue 
11*f7ea6d52SBryan O'Donoghue void imx_snvs_init(void)
12*f7ea6d52SBryan O'Donoghue {
13*f7ea6d52SBryan O'Donoghue 	struct snvs *snvs = (struct snvs *)SNVS_BASE;
14*f7ea6d52SBryan O'Donoghue 	uintptr_t addr;
15*f7ea6d52SBryan O'Donoghue 	uint32_t val;
16*f7ea6d52SBryan O'Donoghue 
17*f7ea6d52SBryan O'Donoghue 	addr = (uintptr_t)&snvs->hpcomr;
18*f7ea6d52SBryan O'Donoghue 	val = mmio_read_32(addr);
19*f7ea6d52SBryan O'Donoghue 	val |= HPCOMR_NPSWA_EN;
20*f7ea6d52SBryan O'Donoghue 	mmio_write_32(addr, val);
21*f7ea6d52SBryan O'Donoghue }
22