[PATCH v2] GPMC: fix device size setup
From: Yegor Yefremov <hidden>
Date: 2012-01-23 07:32:23
Also in:
linux-arm-kernel
From: Yegor Yefremov <hidden>
Date: 2012-01-23 07:32:23
Also in:
linux-arm-kernel
following statement can only change device size from 8-bit(0) to 16-bit(1), but not vice versa: regval |= GPMC_CONFIG1_DEVICESIZE(wval); so as this field has 1 reserved bit, that could be used in future, just clear both bits and then OR with the desired value Signed-off-by: Yegor Yefremov <redacted> --- v2: cc linux-arm-kernel mailing list arch/arm/mach-omap2/gpmc.c | 6 ++++++ 1 file changed, 6 insertions(+) Index: b/arch/arm/mach-omap2/gpmc.c ===================================================================
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c@@ -528,7 +528,13 @@ case GPMC_CONFIG_DEV_SIZE: regval = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1); + + /* clear 2 target bits */ + regval &= ~GPMC_CONFIG1_DEVICESIZE(3); + + /* set the proper value */ regval |= GPMC_CONFIG1_DEVICESIZE(wval); + gpmc_cs_write_reg(cs, GPMC_CS_CONFIG1, regval); break;