diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2013-03-28 21:59:28 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-04-01 08:42:16 -0400 |
commit | 69d75a02db28c8bb04a4a70b1a577d571fc8e800 (patch) | |
tree | 2e721b28b48bae1ebad9026efb01e11cfa8500ad /arch/arm/mach-mxs | |
parent | 974a9af5320028bad0c4c17a67353edc4e5a1997 (diff) |
ARM: mxs: get ocotp base address from device tree
Instead of using the static definitions, get ocotp base address from
device tree with mapping.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-mxs')
-rw-r--r-- | arch/arm/mach-mxs/ocotp.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-mxs/ocotp.c b/arch/arm/mach-mxs/ocotp.c index 1dff46703753..c2002eb2655e 100644 --- a/arch/arm/mach-mxs/ocotp.c +++ b/arch/arm/mach-mxs/ocotp.c | |||
@@ -15,6 +15,8 @@ | |||
15 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
16 | #include <linux/err.h> | 16 | #include <linux/err.h> |
17 | #include <linux/mutex.h> | 17 | #include <linux/mutex.h> |
18 | #include <linux/of.h> | ||
19 | #include <linux/of_address.h> | ||
18 | 20 | ||
19 | #include <asm/processor.h> /* for cpu_relax() */ | 21 | #include <asm/processor.h> /* for cpu_relax() */ |
20 | 22 | ||
@@ -33,7 +35,8 @@ static u32 ocotp_words[OCOTP_WORD_COUNT]; | |||
33 | 35 | ||
34 | const u32 *mxs_get_ocotp(void) | 36 | const u32 *mxs_get_ocotp(void) |
35 | { | 37 | { |
36 | void __iomem *ocotp_base = MXS_IO_ADDRESS(MXS_OCOTP_BASE_ADDR); | 38 | struct device_node *np; |
39 | void __iomem *ocotp_base; | ||
37 | int timeout = 0x400; | 40 | int timeout = 0x400; |
38 | size_t i; | 41 | size_t i; |
39 | static int once = 0; | 42 | static int once = 0; |
@@ -41,6 +44,10 @@ const u32 *mxs_get_ocotp(void) | |||
41 | if (once) | 44 | if (once) |
42 | return ocotp_words; | 45 | return ocotp_words; |
43 | 46 | ||
47 | np = of_find_compatible_node(NULL, NULL, "fsl,ocotp"); | ||
48 | ocotp_base = of_iomap(np, 0); | ||
49 | WARN_ON(!ocotp_base); | ||
50 | |||
44 | mutex_lock(&ocotp_mutex); | 51 | mutex_lock(&ocotp_mutex); |
45 | 52 | ||
46 | /* | 53 | /* |