]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-imx/mach-imx6q.c
Merge branch 'imx/cpuidle' into late/dt
[~andy/linux] / arch / arm / mach-imx / mach-imx6q.c
index 2f974f5096fdf086d9a259e9dcf4b5c54c30a611..6fbf871e061dff60a27f60125fa923d318eab8f6 100644 (file)
@@ -13,7 +13,6 @@
 #include <linux/clk.h>
 #include <linux/clkdev.h>
 #include <linux/cpu.h>
-#include <linux/cpuidle.h>
 #include <linux/delay.h>
 #include <linux/export.h>
 #include <linux/init.h>
 #include <linux/regmap.h>
 #include <linux/micrel_phy.h>
 #include <linux/mfd/syscon.h>
-#include <asm/cpuidle.h>
 #include <asm/smp_twd.h>
 #include <asm/hardware/cache-l2x0.h>
 #include <asm/hardware/gic.h>
 #include <asm/mach/arch.h>
+#include <asm/mach/map.h>
 #include <asm/mach/time.h>
 #include <asm/system_misc.h>
 
@@ -203,14 +202,6 @@ static void __init imx6q_init_machine(void)
        imx6q_1588_init();
 }
 
-static struct cpuidle_driver imx6q_cpuidle_driver = {
-       .name                   = "imx6q_cpuidle",
-       .owner                  = THIS_MODULE,
-       .en_core_tk_irqen       = 1,
-       .states[0]              = ARM_CPUIDLE_WFI_STATE,
-       .state_count            = 1,
-};
-
 #define OCOTP_CFG3                     0x440
 #define OCOTP_CFG3_SPEED_SHIFT         16
 #define OCOTP_CFG3_SPEED_1P2GHZ                0x3
@@ -271,7 +262,12 @@ struct platform_device imx6q_cpufreq_pdev = {
 
 static void __init imx6q_init_late(void)
 {
-       imx_cpuidle_init(&imx6q_cpuidle_driver);
+       /*
+        * WAIT mode is broken on TO 1.0 and 1.1, so there is no point
+        * to run cpuidle on them.
+        */
+       if (imx6q_revision() > IMX_CHIP_REVISION_1_1)
+               imx6q_cpuidle_init();
 
        if (IS_ENABLED(CONFIG_ARM_IMX6Q_CPUFREQ)) {
                imx6q_opp_init(&imx6q_cpufreq_pdev.dev);
@@ -281,9 +277,8 @@ static void __init imx6q_init_late(void)
 
 static void __init imx6q_map_io(void)
 {
-       imx_lluart_map_io();
+       debug_ll_io_init();
        imx_scu_map_io();
-       imx6q_clock_map_io();
 }
 
 static const struct of_device_id imx6q_irq_match[] __initconst = {