config EXYNOS_ASV
bool "Exynos Adaptive Supply Voltage support" if COMPILE_TEST
- depends on ARCH_EXYNOS || COMPILE_TEST
+ depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST)
depends on EXYNOS_CHIPID
+ select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS
+ select EXYNOS_ASV_ARM64 if ARM64 && ARCH_EXYNOS && MTD
+
+# There is no need to enable these drivers for ARMv8
+config EXYNOS_ASV_ARM
+ bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST
+ depends on EXYNOS_ASV
+
+# There is no need to enable these drivers for ARMv7
+config EXYNOS_ASV_ARM64
+ bool "Exynos ASV ARMv8-specific driver extensions" if COMPILE_TEST
+ depends on EXYNOS_ASV
config EXYNOS_CHIPID
bool "Exynos Chipid controller driver" if COMPILE_TEST
-obj-$(CONFIG_EXYNOS_CHIPID) += exynos-chipid.o
-obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o exynos-sysram.o
+obj-$(CONFIG_EXYNOS_ASV) += exynos-asv.o
+obj-$(CONFIG_EXYNOS_ASV_ARM) += exynos5422-asv.o
+obj-$(CONFIG_EXYNOS_ASV_ARM64) += exynos5433-asv.o
-obj-$(CONFIG_EXYNOS_ASV) += exynos-asv.o exynos5422-asv.o \
- exynos5433-asv.o
+obj-$(CONFIG_EXYNOS_CHIPID) += exynos-chipid.o
+obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o exynos-sysram.o
obj-$(CONFIG_EXYNOS_PMU_ARM_DRIVERS) += exynos3250-pmu.o exynos4-pmu.o \
exynos5250-pmu.o exynos5420-pmu.o
obj-$(CONFIG_EXYNOS_PMU_ARM64_DRIVERS) += exynos-pm.o exynos5433-pmu.o
#ifndef __EXYNOS5422_ASV_H
#define __EXYNOS5422_ASV_H
+#include <linux/errno.h>
+
struct exynos_asv;
+
+#ifdef CONFIG_EXYNOS_ASV_ARM
int exynos5422_asv_init(struct exynos_asv *asv);
+#else
+static inline int exynos5422_asv_init(struct exynos_asv *asv)
+{
+ return -ENOTSUPP;
+}
+#endif
#endif /* __EXYNOS5422_ASV_H */
#ifndef EXYNOS5433_ASV_H__
#define EXYNOS5433_ASV_H__
+#include <linux/errno.h>
+
struct exynos_asv;
+#ifdef CONFIG_EXYNOS_ASV_ARM64
int exynos5433_asv_init(struct exynos_asv *asv);
+#else
+static inline int exynos5433_asv_init(struct exynos_asv *asv)
+{
+ return -ENOTSUPP;
+}
+#endif
enum sysc_dvfs_level {
SYSC_DVFS_L0 = 0,