[U-Boot] replacing do_reset with a custom one
Mike Frysinger
vapier at gentoo.org
Sat Oct 24 08:19:25 CEST 2009
On Friday 23 October 2009 17:43:18 Richard Retanubun wrote:
> I am sorry if this has been asked before, It does not appear so on the
> mailing list archive.
>
> I'd like to replace do_reset function with my own custom one, (i.e.
> resetting by not petting an external hw watchdog).
>
> In previous discussion,
> http://lists.denx.de/pipermail/u-boot/2007-January/018848.html
>
> Wolfgang seems to favor creating a custom-board specific command (e.g.
> wdreset) and calling that but If I do that, I have to replace all
> instances of do_reset that matters to my board. It seems simpler to simply
> 'hijack and replace/enhance' the existing 'do_reset' to do my bidding.
>
> Is there a recommended way of doing this? Any chance of adding something
> like this:
>
> /cpu/$some-cpu/cpu.c
>
> do_reset()
> {
>
> #ifdef CUSTOM_BOARD_RESET
> custom_board_reset();
> #endif;
>
> <normal do_reset command>
> }
>
> This way each board can define their own "call_custom_board" function.
#ifdef's are the past. weaks are in!
the Blackfin port already does:
void board_reset(void) __attribute__((__weak__));
...
if (board_reset)
board_reset();
...
the bf537-stamp uses this to make sure some pins are driven low to workaround
weak pull ups in the hardware
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20091024/1e4224cf/attachment.pgp
More information about the U-Boot
mailing list