diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c index 28bb65a5613fd282dc735b5c516d9d2dabc302cd..1662983943de3c79354367f530ce7dd8cae4d77d 100644 --- a/drivers/bus/imx-weim.c +++ b/drivers/bus/imx-weim.c @@ -15,6 +15,8 @@ #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> #include <linux/regmap.h> +#define WCR_REG_OFFSET 0x90 + struct imx_weim_devtype { unsigned int cs_count; unsigned int cs_regs_count; @@ -131,7 +133,7 @@ static int weim_timing_setup(struct device *dev, const struct imx_weim_devtype *devtype, struct cs_timing_state *ts) { - u32 cs_idx, value[MAX_CS_REGS_COUNT]; + u32 cs_idx, value[MAX_CS_REGS_COUNT], wcr; int i, ret; int reg_idx, num_regs; struct cs_timing *cst; @@ -184,6 +186,12 @@ static int weim_timing_setup(struct device *dev, } } + ret = of_property_read_u32 (np, "fsl,weim-wcr", &wcr); + if ( ret ) + return ret; + + writel(wcr, base + WCR_REG_OFFSET); + return 0; }