Hello.
I need MX6QDL_PAD_SD1_DAT1 and MX6QDL_PAD_SD1_CLK pins configured as GPIO outputs.
To do this, I disabled usdhc1 in the device tree and declared them in the pinctrl_gpio_1 node with the value PAD_CTRL_HYS_PU.
&usdhc1 {
status = "disabled";
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
// MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071
// MX6QDL_PAD_SD1_CLK__SD1_CLK 0x17071
// MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17071
// MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17071
// MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17071
// MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17071
>;
};
pinctrl_gpio_1: gpio-1 {
fsl,pins = <
MX6QDL_PAD_SD1_CLK__GPIO1_IO20 PAD_CTRL_HYS_PU
MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 PAD_CTRL_HYS_PU
>;
};
During kernel loading, I see on the oscilloscope that the value of these pins is 1, but as soon as the file system starts to mount, the value drops to 0.
I configure these pins as GPIO outputs with commands, but the oscilloscope shows that the value does not change
echo 20 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio20/direction
echo 1 > /sys/class/gpio/gpio20/value
echo 17 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
echo 1 > /sys/class/gpio/gpio17/value
P.S. In bsp 2.8, with the same settings, the pin value changes.