VF610 broken by pinctrl: freescale: imx: allow mux_reg offset zero
andrew at lunn.ch
Sat Nov 14 18:44:09 PST 2015
Author: Adrian Alonso <aalonso at freescale.com>
Date: Fri Sep 25 16:05:59 2015 -0500
pinctrl: freescale: imx: allow mux_reg offset zero
Allow mux_reg offset zero to be a valid pin_id, on imx7d
mux_conf reg offset is zero for iomuxc-lspr controller
has broken VF610.
It looks like you partially reverted
Author: Stefan Agner <stefan at agner.ch>
Date: Sat Sep 6 18:25:04 2014 +0200
pinctrl: imx: detect uninitialized pins
The pinctrl driver initialized the register offsets for the pins
with 0. On Vybrid an offset of 0 is a valid offset for the pinctrl
mux register. So far, this was solved using the ZERO_OFFSET_VALID
flag which allowed offsets of 0. However, this does not allow to
verify whether a pins struct imx_pmx_func was initialized or not.
Use signed offset values for register offsets and initialize those
with -1 in order to detect uninitialized offset values reliable.
and in the process you have broken VF610, which also uses offset 0.
What i don't yet understand is why you needed to make this change. If
VF610 can already use mux_reg, why cannot imx7d?
Anyway, it looks like -rc1 is going to be broken on VF610 for some
boards, because this pin is the Ethernet clock input/output. Please
can you get it fixed for -rc2?
More information about the linux-arm-kernel