summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2016-04-18 14:40:47 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2016-06-24 14:46:27 +0200
commit6fb50536cc5b556ed760bd332d254df199937e27 (patch)
tree233e1072a141a363d7ea4877149f88f0aab3c8d7
parent2edf8849629bf2df73d3fec4dbe9f744db883095 (diff)
MLK-12671 ARM: imx: support single soc config
Need to make sure build pass with single SOC config, in current build for single SOC config, if both SOC_IMX7D and SOC_IMX6SX are NOT selected, below build error will occur, add MU module config to fix this build issue. LD init/built-in.o arch/arm/mach-imx/built-in.o: In function `busfreq_probe': :(.text+0x5370): undefined reference to `imx_mu_lpm_ready' arch/arm/mach-imx/built-in.o: In function `bus_freq_pm_notify': :(.text+0x5d50): undefined reference to `imx_mu_lpm_ready' :(.text+0x5d68): undefined reference to `imx_mu_lpm_ready' make: *** [vmlinux] Error 1 Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
-rw-r--r--arch/arm/mach-imx/Kconfig5
-rw-r--r--arch/arm/mach-imx/Makefile5
-rw-r--r--arch/arm/mach-imx/common.h4
3 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index f834eda794fa..dba87a40310d 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -69,6 +69,9 @@ config HAVE_IMX_AMP
config HAVE_IMX_DDRC
bool
+config HAVE_IMX_MU
+ bool
+
config HAVE_IMX_RPMSG
bool
@@ -597,6 +600,7 @@ config SOC_IMX6SX
select PINCTRL_IMX6SX
select HAVE_IMX_AMP
select SOC_IMX6
+ select HAVE_IMX_MU
select HAVE_IMX_RPMSG
select RPMSG
select IMX_SEMA4
@@ -632,6 +636,7 @@ config SOC_IMX7D
select SOC_IMX7
select PCI_DOMAINS if PCI
select PINCTRL_IMX7D
+ select HAVE_IMX_MU
select HAVE_IMX_RPMSG
select RPMSG
select KEYBOARD_SNVS_PWRKEY
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index d32d2aae1492..d973b16f99b8 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_HAVE_IMX_GPCV2) += gpcv2.o
obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o
obj-$(CONFIG_HAVE_IMX_DDRC) += ddrc.o
obj-$(CONFIG_HAVE_IMX_SRC) += src.o
+obj-$(CONFIG_HAVE_IMX_MU) += mu.o
obj-$(CONFIG_HAVE_IMX_RPMSG) += imx_rpmsg.o
ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_IMX7)$(CONFIG_SOC_LS1021A),)
AFLAGS_headsmp.o :=-Wa,-march=armv7-a
@@ -107,10 +108,10 @@ obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o lpddr2_freq_imx6.o
AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a
AFLAGS_lpddr2_freq_imx6sx.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o mach-imx6sx.o ddr3_freq_imx6sx.o \
- lpddr2_freq_imx6sx.o mu.o
+ lpddr2_freq_imx6sx.o
obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o mach-imx6ul.o ddr3_freq_imx6sx.o \
lpddr2_freq_imx6sx.o
-obj-$(CONFIG_SOC_IMX7D) += clk-imx7d.o mach-imx7d.o mu.o
+obj-$(CONFIG_SOC_IMX7D) += clk-imx7d.o mach-imx7d.o
ifeq ($(CONFIG_SUSPEND),y)
AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index d8d2620f1ac6..3872420981ea 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -91,7 +91,11 @@ void mcc_send_via_mu_buffer(unsigned int index, unsigned int data);
bool imx_mu_is_m4_in_low_freq(void);
bool imx_mu_is_m4_in_stop(void);
void imx_mu_set_m4_run_mode(void);
+#ifdef CONFIG_HAVE_IMX_MU
int imx_mu_lpm_ready(bool ready);
+#else
+static inline int imx_mu_lpm_ready(bool ready) { return 0; }
+#endif
enum mxc_cpu_pwr_mode {
WAIT_CLOCKED, /* wfi only */