The generic answer to this is as follows:
The i.MX 6 during reset configures it’s pins to the reset setting of the IOMUXC_SW_MUX_CTL_PAD_xxxxx and IOMUXC_SW_PAD_CTL_PAD_xxxxx reset settings.
U-Boot then configures some of the pins to what it needs in colibri_imx.c which is one of the earliest places you can influence a pin state in SW.
Wenn Linux starts the pins are configured as set in the device tree. Later on when the driver which claims a pin takes control of the pin.
So in your case it looks like the pin defaults to input with a pullup or pulldown. The external HW seems the have a pulldown or pullup of similar resistance pulling in the opposite direction resulting in the 1.5V.
Then when the kernel boots the device tree and possibly a driver changes the pin’s muxing and state.
You will likely have to alter the device tree in a way that muxes the pin to gpio with pulldown plus makes sure that the pin is not assigned to any driver.
If you need to control the pin as early as possible you would set the pin also in U-Boot, a setting which would be in effect from the start of U-Boot until the kernel changes the pinmuxing as set in the device tree.