diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2015-03-13 09:31:54 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2015-03-13 10:06:35 -0400 |
commit | 8b88f7ef31ddecd943e3312d6b61e1b1c6eab3d0 (patch) | |
tree | e265b117f51f5a58dc2e63b5aff55a37f8122bb5 | |
parent | d8a3beea003b4c162e5713a1a86596e9296da1d7 (diff) |
ARM: mx25: Retrieve IIM base from dt
We should use dt to retrieve the IIM base address.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r-- | arch/arm/mach-imx/cpu-imx25.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/cpu-imx25.c b/arch/arm/mach-imx/cpu-imx25.c index 96ec64b5ff7d..d0ad67e802d3 100644 --- a/arch/arm/mach-imx/cpu-imx25.c +++ b/arch/arm/mach-imx/cpu-imx25.c | |||
@@ -11,6 +11,8 @@ | |||
11 | */ | 11 | */ |
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/io.h> | 13 | #include <linux/io.h> |
14 | #include <linux/of.h> | ||
15 | #include <linux/of_address.h> | ||
14 | 16 | ||
15 | #include "iim.h" | 17 | #include "iim.h" |
16 | #include "hardware.h" | 18 | #include "hardware.h" |
@@ -20,8 +22,15 @@ static int mx25_cpu_rev = -1; | |||
20 | static int mx25_read_cpu_rev(void) | 22 | static int mx25_read_cpu_rev(void) |
21 | { | 23 | { |
22 | u32 rev; | 24 | u32 rev; |
25 | void __iomem *iim_base; | ||
26 | struct device_node *np; | ||
27 | |||
28 | np = of_find_compatible_node(NULL, NULL, "fsl,imx25-iim"); | ||
29 | iim_base = of_iomap(np, 0); | ||
30 | BUG_ON(!iim_base); | ||
31 | rev = readl(iim_base + MXC_IIMSREV); | ||
32 | iounmap(iim_base); | ||
23 | 33 | ||
24 | rev = __raw_readl(MX25_IO_ADDRESS(MX25_IIM_BASE_ADDR + MXC_IIMSREV)); | ||
25 | switch (rev) { | 34 | switch (rev) { |
26 | case 0x00: | 35 | case 0x00: |
27 | return IMX_CHIP_REVISION_1_0; | 36 | return IMX_CHIP_REVISION_1_0; |