]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00269945: ARM: imx: use imx_init_revision_from_anatop() on imx6sl
authorShawn Guo <shawn.guo@freescale.com>
Tue, 13 Aug 2013 08:54:05 +0000 (16:54 +0800)
committerJason Liu <r64343@freescale.com>
Wed, 30 Oct 2013 01:54:32 +0000 (09:54 +0800)
Add imx6sl support into imx_init_revision_from_anatop(), so that it can
be used to initialize cpu type and revision on imx6sl.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
arch/arm/boot/dts/imx6sl.dtsi
arch/arm/mach-imx/anatop.c
arch/arm/mach-imx/mach-imx6sl.c

index 9c25ce3572603184a01904759f4795a039bca042..5ccfe236490327c6c3fef31fcf30163a27b5e19c 100644 (file)
                        };
 
                        anatop: anatop@020c8000 {
-                               compatible = "fsl,imx6sl-anatop", "syscon", "simple-bus";
+                               compatible = "fsl,imx6sl-anatop",
+                                            "fsl,imx6q-anatop",
+                                            "syscon", "simple-bus";
                                reg = <0x020c8000 0x1000>;
                                interrupts = <0 49 0x04 0 54 0x04 0 127 0x04>;
 
index 03d3d803ab1f0e929e817ffde5f9454bd0cc9915..e4f07180803cbfb8a3871595779d2c6c6b36f7e0 100644 (file)
@@ -29,6 +29,7 @@
 #define ANADIG_USB1_CHRG_DETECT        0x1b0
 #define ANADIG_USB2_CHRG_DETECT        0x210
 #define ANADIG_DIGPROG         0x260
+#define ANADIG_DIGPROG_IMX6SL  0x280
 
 #define BM_ANADIG_REG_2P5_ENABLE_WEAK_LINREG   0x40000
 #define BM_ANADIG_REG_CORE_FET_ODRIVE          0x20000000
@@ -132,11 +133,14 @@ void __init imx_init_revision_from_anatop(void)
        void __iomem *anatop_base;
        unsigned int revision;
        u32 digprog;
+       u16 offset = ANADIG_DIGPROG;
 
        np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
        anatop_base = of_iomap(np, 0);
        WARN_ON(!anatop_base);
-       digprog = readl_relaxed(anatop_base + ANADIG_DIGPROG);
+       if (of_device_is_compatible(np, "fsl,imx6sl-anatop"))
+               offset = ANADIG_DIGPROG_IMX6SL;
+       digprog = readl_relaxed(anatop_base + offset);
        iounmap(anatop_base);
 
        switch (digprog & 0xff) {
index be5249adb37dc1222e5a113e6c57fe1b3a6a04b5..65e9b887e7529342b6f8b2011b5332e7833defe6 100644 (file)
@@ -26,7 +26,7 @@ static void __init imx6sl_init_machine(void)
 
 static void __init imx6sl_init_irq(void)
 {
-       mxc_set_cpu_type(MXC_CPU_IMX6SL);
+       imx_init_revision_from_anatop();
        imx_init_l2cache();
        imx_src_init();
        imx_gpc_init();