]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: imx: use imx_init_revision_from_anatop() on imx6sl
authorShawn Guo <shawn.guo@linaro.org>
Tue, 13 Aug 2013 08:54:05 +0000 (16:54 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 21 Oct 2013 01:13:13 +0000 (09:13 +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@linaro.org>
arch/arm/boot/dts/imx6sl.dtsi
arch/arm/mach-imx/anatop.c
arch/arm/mach-imx/mach-imx6sl.c

index c46651e4d966769948be53636b6e1653005cda13..177d9e791a0155dd7db082b735baad8a27f6cd9b 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 b2d600f149377a9570014e6b9139860e444239f3..4a40bbb46183a850af387151c58b73569f55182a 100644 (file)
@@ -27,6 +27,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
@@ -83,11 +84,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 21cde21daf9b77ca8ed193f986b699479c1c6371..4ce9ae58ed0c704255e2fee5dc387cfa37c2a9cf 100644 (file)
@@ -45,6 +45,7 @@ static void __init imx6sl_init_machine(void)
 
 static void __init imx6sl_init_irq(void)
 {
+       imx_init_revision_from_anatop();
        imx_init_l2cache();
        imx_src_init();
        imx_gpc_init();