i.MX6 Can't toggle GPIO1_IO28 in uboot

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX6 Can't toggle GPIO1_IO28 in uboot

1,014 次查看
xauser
Contributor I

Hello

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?

0 项奖励
回复
3 回复数

1,007 次查看
igorpadykov
NXP Employee
NXP Employee

Hi xauser

 

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.

 

Best regards
igor

0 项奖励
回复

999 次查看
xauser
Contributor I

Hello Igor,

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),

imx_iomux_v3_setup_multiple_pads

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.

 

 

0 项奖励
回复

986 次查看
igorpadykov
NXP Employee
NXP Employee

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.

 

Best regards
igor

 

0 项奖励
回复