I can't set GPIO1_IO28 (ENET_TX_EN) from uboot prompt.
On uboot prompt I checked pin mux of register 0x020E01E8 which is already 0x5. So GPIO mode is set.
I do 'gpio set 28' and can confirm that GPIO1 data register has changed (4fcc6246 -> 5fcc6246). Yet I don't see a changed voltage level on the track that goes to ENET_TX_EN. What am I missing?
reason may be that this line is broken or connected to other signal, one
can attach jtag and write to gpio registers directly. Also may be useful to check
if uboot procedure is working for other pins.
I have a user led connected to ENET_TXD0 and can control it from uboot prompt with no issues. So I can control ENET_TXD0 from uboot prompt but can't control ENET_TX_EN.
In board_init() method of uboot in file mx6qsabreauto.c I tried a gpio pin mux for KEY_COL1 like this.
MX6_PAD_KEY_COL1__GPIO4_IO08 | MUX_PAD_CTRL(ENET_PAD_CTRL),
I expected to see the pin mux of 0x5 in register 0x020E0200 but it's at 0x1. If I do a 'mw 0x020E0200 0x5' from uboot prompt the register values changes.
one can check ENET_TX_EN signal with oscilloscope,
set it as input and try pull resitors : pull-up, then pull-down,
observing with oscilloscope if signal level changes.