From d6893740c15cc5aeaf2fd891217bef953b6328ed Mon Sep 17 00:00:00 2001 From: Ian Ray Date: Fri, 8 Nov 2024 16:03:54 +0200 Subject: arm: mach-imx: move snvs module Commit 723f8359c1 ("imx: mx7: snvs: Add an SNVS init routine") noted that the init_snvs() call likely applies to other i.MX processors, and this has been found to be true for i.MX8MP. Move snvs module for future re-use. Signed-off-by: Ian Ray --- arch/arm/mach-imx/Makefile | 2 ++ arch/arm/mach-imx/mx7/Makefile | 2 +- arch/arm/mach-imx/mx7/snvs.c | 21 --------------------- arch/arm/mach-imx/snvs.c | 21 +++++++++++++++++++++ arch/arm/mach-imx/snvs.h | 6 ++++++ 5 files changed, 30 insertions(+), 22 deletions(-) delete mode 100644 arch/arm/mach-imx/mx7/snvs.c create mode 100644 arch/arm/mach-imx/snvs.c create mode 100644 arch/arm/mach-imx/snvs.h diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 21d955b4aef..0de207c0681 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -293,3 +293,5 @@ obj-$(CONFIG_ARCH_IMXRT) += imxrt/ obj-$(CONFIG_SPL_BOOTROM_SUPPORT) += spl_imx_romapi.o obj-$(CONFIG_IMX8_ROMAPI) += romapi.o + +obj-$(CONFIG_MX7) += snvs.o diff --git a/arch/arm/mach-imx/mx7/Makefile b/arch/arm/mach-imx/mx7/Makefile index f1436e2d0d7..fec228a616a 100644 --- a/arch/arm/mach-imx/mx7/Makefile +++ b/arch/arm/mach-imx/mx7/Makefile @@ -3,5 +3,5 @@ # (C) Copyright 2015 Freescale Semiconductor, Inc. # -obj-y := soc.o clock.o clock_slice.o ddr.o snvs.o +obj-y := soc.o clock.o clock_slice.o ddr.o obj-$(CONFIG_ARMV7_PSCI) += psci-mx7.o psci-suspend.o diff --git a/arch/arm/mach-imx/mx7/snvs.c b/arch/arm/mach-imx/mx7/snvs.c deleted file mode 100644 index 359bbbb41c7..00000000000 --- a/arch/arm/mach-imx/mx7/snvs.c +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2018 Linaro - */ - -#include -#include -#include - -#define SNVS_HPCOMR 0x04 -#define SNVS_HPCOMR_NPSWA_EN BIT(31) - -void init_snvs(void) -{ - u32 val; - - /* Ensure SNVS HPCOMR sets NPSWA_EN to allow unpriv access to SNVS LP */ - val = readl(SNVS_BASE_ADDR + SNVS_HPCOMR); - val |= SNVS_HPCOMR_NPSWA_EN; - writel(val, SNVS_BASE_ADDR + SNVS_HPCOMR); -} diff --git a/arch/arm/mach-imx/snvs.c b/arch/arm/mach-imx/snvs.c new file mode 100644 index 00000000000..359bbbb41c7 --- /dev/null +++ b/arch/arm/mach-imx/snvs.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2018 Linaro + */ + +#include +#include +#include + +#define SNVS_HPCOMR 0x04 +#define SNVS_HPCOMR_NPSWA_EN BIT(31) + +void init_snvs(void) +{ + u32 val; + + /* Ensure SNVS HPCOMR sets NPSWA_EN to allow unpriv access to SNVS LP */ + val = readl(SNVS_BASE_ADDR + SNVS_HPCOMR); + val |= SNVS_HPCOMR_NPSWA_EN; + writel(val, SNVS_BASE_ADDR + SNVS_HPCOMR); +} diff --git a/arch/arm/mach-imx/snvs.h b/arch/arm/mach-imx/snvs.h new file mode 100644 index 00000000000..4ce9781ca6d --- /dev/null +++ b/arch/arm/mach-imx/snvs.h @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2018 Linaro + */ + +void init_snvs(void); -- cgit v1.3.1