summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/anatop.c
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2014-04-07 23:49:35 (GMT)
committerScott Wood <scottwood@freescale.com>2014-04-07 23:49:35 (GMT)
commit62b8c978ee6b8d135d9e7953221de58000dba986 (patch)
tree683b04b2e627f6710c22c151b23c8cc9a165315e /arch/arm/mach-imx/anatop.c
parent78fd82238d0e5716578c326404184a27ba67fd6e (diff)
downloadlinux-fsl-qoriq-62b8c978ee6b8d135d9e7953221de58000dba986.tar.xz
Rewind v3.13-rc3+ (78fd82238d0e5716) to v3.12
Diffstat (limited to 'arch/arm/mach-imx/anatop.c')
-rw-r--r--arch/arm/mach-imx/anatop.c33
1 files changed, 7 insertions, 26 deletions
diff --git a/arch/arm/mach-imx/anatop.c b/arch/arm/mach-imx/anatop.c
index 4a40bbb..ad3b755 100644
--- a/arch/arm/mach-imx/anatop.c
+++ b/arch/arm/mach-imx/anatop.c
@@ -16,7 +16,6 @@
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include "common.h"
-#include "hardware.h"
#define REG_SET 0x4
#define REG_CLR 0x8
@@ -27,7 +26,6 @@
#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
@@ -78,38 +76,21 @@ static void imx_anatop_usb_chrg_detect_disable(void)
BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B);
}
-void __init imx_init_revision_from_anatop(void)
+u32 imx_anatop_get_digprog(void)
{
struct device_node *np;
void __iomem *anatop_base;
- unsigned int revision;
- u32 digprog;
- u16 offset = ANADIG_DIGPROG;
+ static u32 digprog;
+
+ if (digprog)
+ return digprog;
np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
anatop_base = of_iomap(np, 0);
WARN_ON(!anatop_base);
- 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) {
- case 0:
- revision = IMX_CHIP_REVISION_1_0;
- break;
- case 1:
- revision = IMX_CHIP_REVISION_1_1;
- break;
- case 2:
- revision = IMX_CHIP_REVISION_1_2;
- break;
- default:
- revision = IMX_CHIP_REVISION_UNKNOWN;
- }
+ digprog = readl_relaxed(anatop_base + ANADIG_DIGPROG);
- mxc_set_cpu_type(digprog >> 16 & 0xff);
- imx_set_soc_revision(revision);
+ return digprog;
}
void __init imx_anatop_init(void)