[U-Boot] Support for reading GPIO's in boot scripts?

Hi folks,
I'm wondering if there is any support in u-boot for reading the state of a GPIO input (i.e. button) to control the sequence of boot events?
i.e. my board has a reset button, can I read its state to determine whether to try to TFTP-boot a new kernel, or to boot the existing one in flash?
I did try to grep the sources for any hints, but did not find anything. I may have been looking in the wrong place, of course!
Thanks,
Rogan

On Mon, Mar 28, 2011 at 4:57 AM, Rogan Dawes wrote:
I'm wondering if there is any support in u-boot for reading the state of a GPIO input (i.e. button) to control the sequence of boot events?
i.e. my board has a reset button, can I read its state to determine whether to try to TFTP-boot a new kernel, or to boot the existing one in flash?
I did try to grep the sources for any hints, but did not find anything. I may have been looking in the wrong place, of course!
i plan on generalizing arch/blackfin/cpu/cmd_gpio.c for all arches in this next cycle (it is mostly done). but that would require your arch to support the generic gpio layer. -mike

On 2011/03/28 11:08 AM, Mike Frysinger wrote:
On Mon, Mar 28, 2011 at 4:57 AM, Rogan Dawes wrote:
I'm wondering if there is any support in u-boot for reading the state of a GPIO input (i.e. button) to control the sequence of boot events?
i.e. my board has a reset button, can I read its state to determine whether to try to TFTP-boot a new kernel, or to boot the existing one in flash?
I did try to grep the sources for any hints, but did not find anything. I may have been looking in the wrong place, of course!
i plan on generalizing arch/blackfin/cpu/cmd_gpio.c for all arches in this next cycle (it is mostly done). but that would require your arch to support the generic gpio layer. -mike
Cool, thanks for the answer, Mike!
I'll wait to see what you do, and whatever needs to be done for my arch/board.
Rogan

Let me add my $.02. I have a request to be able to boot a USB drive. So, reading a GPIO pin and making a decision in a script is a desirable thing. Certainly a 'MD 0x12345678' can read a pin but then making a decision in an environment string chain would help. Can we do this? On Mar 28, 2011 1:57 AM, "Rogan Dawes" rogan@dawes.za.net wrote:
Hi folks,
I'm wondering if there is any support in u-boot for reading the state of a GPIO input (i.e. button) to control the sequence of boot events?
i.e. my board has a reset button, can I read its state to determine whether to try to TFTP-boot a new kernel, or to boot the existing one in flash?
I did try to grep the sources for any hints, but did not find anything. I may have been looking in the wrong place, of course!
Thanks,
Rogan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Dear Charles Krinke,
In message AANLkTind=t82J4w1N+sp8vnFwiF2nXQsgrNFsgfKXjvN@mail.gmail.com you wrote:
Let me add my $.02. I have a request to be able to boot a USB drive. So, reading a GPIO pin and making a decision in a script is a desirable thing. Certainly a 'MD 0x12345678' can read a pin but then making a decision in an environment string chain would help. Can we do this?
Sure we can do this. It's as trivial as for example
setexpr tmpvar *12345678.l "&" 00010000 if itest ${tmpvar} != 0; then do something ; fi
Best regards,
Wolfgang Denk
participants (4)
-
Charles Krinke
-
Mike Frysinger
-
Rogan Dawes
-
Wolfgang Denk