Hi All,
I have noticed that all GPIO pin goes to high state during recovery mode.
Is it normal ? What is the recommendation to keep them in low while performing
recovery ?
Best regards
Hi All,
I have noticed that all GPIO pin goes to high state during recovery mode.
Is it normal ? What is the recommendation to keep them in low while performing
recovery ?
Best regards
Hi @xdaco
Usually during recovery mode, the SOC will reset to serial bootloader mode and the Pins of the SOC will be in Reset state which is usually GPIO with 100k PD as described in the section 4.3 of the Datasheet of Colibri iMX7. There might be some pins which might be not configured as GPIO. Please check the section 4.4 of the Datasheet of Colibri iMX7 and further check also the Reference Manual of iMX7.
Best regards,
Jaski
Hi @jaski.tx
Thanks for your reply. So if I am not wrong, all these pins should be configured as GPIO in the bootloader itself . right ? I am using the Toradex Easy Installer recovery method. Once the bootloader loads the toradex easy installer, all the pins are pulled down. The problem arise for the period when it stays in the serial bootloader mode. Can you please guide me a little further on how to enable these pull down resistors in bootloader mode as well ? Else I have to use external pull down for all these GPIOs which I have used in my custom board.
Hi @xdaco
You are welcome.
So if I am not wrong, all these pins should be configured as GPIO in the bootloader itself . right ?
No, not all Pins. It depends on the Pins.
The problem arise for the period when it stays in the serial bootloader mode. Can you please guide me a little further on how to enable these pull down resistors in bootloader mode as well ?
This is controlled by SOC specific BOOTROM, this cannot be changed. You can only set the Pins once you started U-Boot or Linux Kernel.
Else I have to use external pull down for all these GPIOs which I have used in my custom board.
Can you please guide me a little further on how to enable these pull down resistors in bootloader mode as well ? Else I have to use external pull down for all these GPIOs which I have used in my custom board.
Can you tell us, which SODIMM Pins are you talking about?
Thanks and best regards,
Jaski
These are the pins which I am using as GPIO in device tree.
MX7D_PAD_LCD_DATA00__GPIO3_IO5 0x14
MX7D_PAD_LCD_DATA01__GPIO3_IO6 0x14
MX7D_PAD_LCD_DATA02__GPIO3_IO7 0x14
MX7D_PAD_LCD_DATA03__GPIO3_IO8 0x14
MX7D_PAD_LCD_DATA04__GPIO3_IO9 0x14
MX7D_PAD_LCD_DATA05__GPIO3_IO10 0x14
MX7D_PAD_LCD_DATA06__GPIO3_IO11 0x14
MX7D_PAD_LCD_DATA07__GPIO3_IO12 0x14
MX7D_PAD_LCD_DATA08__GPIO3_IO13 0x14
MX7D_PAD_LCD_DATA09__GPIO3_IO14 0x14
MX7D_PAD_LCD_DATA10__GPIO3_IO15 0x14
MX7D_PAD_LCD_DATA11__GPIO3_IO16 0x14
MX7D_PAD_LCD_DATA12__GPIO3_IO17 0x14
MX7D_PAD_LCD_DATA13__GPIO3_IO18 0x14
MX7D_PAD_LCD_DATA14__GPIO3_IO19 0x14
MX7D_PAD_LCD_DATA15__GPIO3_IO20 0x14
MX7D_PAD_LCD_DATA16__GPIO3_IO21 0x14
MX7D_PAD_LCD_DATA17__GPIO3_IO22 0x14
MX7D_PAD_LCD_HSYNC__GPIO3_IO2 0x14
MX7D_PAD_LCD_VSYNC__GPIO3_IO3 0x14
I am not using any lcd display in my device tree and these pins are purposed as GPIO . The problem goes away once the board is booted up completely.
My best guess is that these pins are configured as LCD data pins in Toradex Easy Installer. And then have not been configured with internal pull down.
Another observation is that pin MX7D_PAD_LCD_HSYNC__GPIO3_IO2 and MX7D_PAD_LCD_VSYNC__GPIO3_IO3 are taking much longer to be initialized as GPIO. These two pins are getting settled once the complete boot sequence is over. My guess is when uboot is active, these pin are being treated as LCD pins and uboot tries to initialize the display.
If this assumptions are correct, can you please guide me how to disable LCD pins inside uboot and Toradex Easy Installer?
Hi @xdaco
If you need to have specific level of GPIOs in recovery mode, then you should not rely on Software. Moreover you should design your custom carrier Board according to the requirement of your End System.
Being said that for changing the device tree of Toradex Easy Installer for the kernel please have a look at this answer.
Changing Pins in U-Boot for Toradex Easy Installer 1.8 would be more tricky, since you would need
compile U-Boot from the branch 2016.11 and from the git hash: 07edca0bb81857a339f26f3465d5c5602705a94d before changing this board file. The compiled U-boot binary, you can integrate in the Toradex Easy Installer Image.
Best regards,
Jaski
Thanks for your reply. In fact, we are using our own carrier board with our customized device tree.
I will have a loot at the Toradex Easy Installer device tree as you have suggested.
Ok, let us know your results.