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