]> git.karo-electronics.de Git - karo-tx-linux.git/commit
soc: imx: gpc: fix the wrong using of regmap cache
authorDong Aisheng <aisheng.dong@nxp.com>
Thu, 23 Mar 2017 04:53:19 +0000 (12:53 +0800)
committerShawn Guo <shawnguo@kernel.org>
Fri, 24 Mar 2017 05:41:51 +0000 (13:41 +0800)
commit3a317f523570adfc9c5bf6d65dc4f831dada97b9
tree81bef9bc3849470b90f6ac85759949ee1cbf6c08
parent55b0baa2542f1dbaf33989eab5a26a23a8aca345
soc: imx: gpc: fix the wrong using of regmap cache

Without providing the proper reg_defaults, the regmap registers first
read out may be always 0 if enabling cache, which results in the
following issue we met.
e.g. During driver probe in imx6_pm_domain_power_on():
regmap_read(pd->regmap, pd->reg_offs + GPC_PGC_PUPSCR_OFFS, &val);
The PGC_PUPSCR register val is always 0 but it's actually 0xf01 in HW.

Since GPC registers are tightly related to CPU bring up and may be
changed in bootloader, we don't want to provide defaults.
And the cache really does not save too much for GPC module.

Therefore, simply disable cache to fix the issue and make life easy.

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Fixes: 721cabf6c660 ("soc: imx: move PGC handling to a new GPC driver")
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/soc/imx/gpc.c