On Thu, 14 Feb 2019, Tony Lindgren wrote: > I noticed that we can get a -EREMOTEIO errors on at least omap4 duovero: > > twl6040 0-004b: Failed to write 2d = 19: -121 > > And then any following register access will produce errors. > > There 2d offset above is register ACCCTL that gets written on twl6040 > powerup. With error checking added to the related regcache_sync() call, > the -EREMOTEIO error is reproducable on twl6040 powerup at least > duovero. > > To fix the error, we need to wait until twl6040 is accessible after the > powerup. Based on tests on omap4 duovero, we need to wait over 8ms after > powerup before register write will complete without failures. Let's also > make sure we warn about possible errors too. > > Note that we have twl6040_patch[] reg_sequence with the ACCCTL register > configuration and regcache_sync() will write the new value to ACCCTL. > > Cc: Florian Vaussard <florian.vaussard@xxxxxxx> > Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > > Changes since v1: > > - Cosmetic change to improve error message as suggested by Lee > > --- > drivers/mfd/twl6040.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) Applied, thanks. -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog