summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-05-13 12:21:24 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-05-17 11:03:59 +0200
commitaee7f5c5617dcde0c932bf1caf2b9d77877b66a1 (patch)
tree19a117a4f101aae464561352e3ff9df1862889d4 /arch
parent11e32a5a46c5910a1ad133fb5a8b9e44d8d284d3 (diff)
downloadbarebox-aee7f5c5617dcde0c932bf1caf2b9d77877b66a1.tar.gz
barebox-aee7f5c5617dcde0c932bf1caf2b9d77877b66a1.tar.xz
ARM: i.MX: IIM: Add function to enable permanent write
This adds a function to enable/disable permanent write for the IIM module so that C users no longer have to fiddle with device parameters. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/iim.c10
-rw-r--r--arch/arm/mach-imx/include/mach/iim.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/iim.c b/arch/arm/mach-imx/iim.c
index 3aba02fc79..2e25f69601 100644
--- a/arch/arm/mach-imx/iim.c
+++ b/arch/arm/mach-imx/iim.c
@@ -122,6 +122,16 @@ int imx_iim_write_field(uint32_t field, unsigned value)
return regmap_write(imx_iim->bank[bank]->map, byte, value);
}
+int imx_iim_permanent_write(int enable)
+{
+ if (!imx_iim)
+ return -ENODEV;
+
+ imx_iim->write_enable = enable;
+
+ return 0;
+}
+
static int imx_iim_fuse_sense(struct iim_bank *bank, unsigned int row)
{
struct iim_priv *iim = bank->iim;
diff --git a/arch/arm/mach-imx/include/mach/iim.h b/arch/arm/mach-imx/include/mach/iim.h
index f63712e14f..2161809d4d 100644
--- a/arch/arm/mach-imx/include/mach/iim.h
+++ b/arch/arm/mach-imx/include/mach/iim.h
@@ -99,5 +99,6 @@ static inline int imx25_iim_register_fec_ethaddr(void)
int imx_iim_read_field(uint32_t field, unsigned *value);
int imx_iim_write_field(uint32_t field, unsigned value);
+int imx_iim_permanent_write(int enable);
#endif /* __MACH_IMX_IIM_H */