On Sun, Jun 10, 2018 at 07:04:08AM +0000, Alexander Kurz wrote: > A NO_PAD_CTRL flag used to keep a pad configuration untouched. > With commit 094820a63bfd ("i.MX: iomuxv3: Use helper functions in iomux-v3.h") > the NO_PAD_CTRL semantic changed to set a pad configurations to zero, which > breaks non-DT boards, where NO_PAD_CTRL is freqently used to keep a boot-up > default pad configuration, which often is non zero. > > Restore the old semantic, dont write PAD_CTRL when NO_PAD_CTRL is set. > > Signed-off-by: Alexander Kurz <akurz@xxxxxxxx> > --- > arch/arm/mach-imx/include/mach/iomux-v3.h | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) Applied, thanks Sascha > > diff --git a/arch/arm/mach-imx/include/mach/iomux-v3.h b/arch/arm/mach-imx/include/mach/iomux-v3.h > index 994c15c04..d1a72a2cf 100644 > --- a/arch/arm/mach-imx/include/mach/iomux-v3.h > +++ b/arch/arm/mach-imx/include/mach/iomux-v3.h > @@ -159,14 +159,16 @@ static inline void iomux_v3_setup_pad(void __iomem *iomux, unsigned int flags, > > static inline void imx_setup_pad(void __iomem *iomux, iomux_v3_cfg_t pad) > { > - uint32_t pad_ctrl; > + uint32_t conf_reg, pad_ctrl; > > + /* dont write PAD_CTRL when NO_PAD_CTRL is set */ > pad_ctrl = IOMUX_PAD_CTRL(pad); > - pad_ctrl = (pad_ctrl & NO_PAD_CTRL) ? 0 : pad_ctrl, > + conf_reg = IOMUX_PAD_CTRL_OFS(pad); > + conf_reg = (pad_ctrl & NO_PAD_CTRL) ? 0 : conf_reg, > > iomux_v3_setup_pad(iomux, 0, > IOMUX_CTRL_OFS(pad), > - IOMUX_PAD_CTRL_OFS(pad), > + conf_reg, > IOMUX_SEL_INPUT_OFS(pad), > IOMUX_MODE(pad), > pad_ctrl, > -- > 2.11.0 > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox