diff options
author | Marek Vasut <marex@denx.de> | 2017-05-02 18:27:42 (GMT) |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-06-29 17:30:28 (GMT) |
commit | 52a557d64c999400971419aed511b831c6a09ab9 (patch) | |
tree | 14d930f7e855b44dd225fafecabd8229df1eba10 | |
parent | ae625ae5a14f63400b8e5ee901a27248037a2339 (diff) | |
download | u-boot-52a557d64c999400971419aed511b831c6a09ab9.tar.xz |
ARM: at91: ma5d4: Reset CAN controllers late
The CAN controllers need slight delay between toggling of their reset
line. Move this action into board_init(), otherwise timer will not be
initialized and the board might hang.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
-rw-r--r-- | board/aries/ma5d4evk/ma5d4evk.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/board/aries/ma5d4evk/ma5d4evk.c b/board/aries/ma5d4evk/ma5d4evk.c index dd74e29..aa02b8a 100644 --- a/board/aries/ma5d4evk/ma5d4evk.c +++ b/board/aries/ma5d4evk/ma5d4evk.c @@ -269,12 +269,6 @@ int board_early_init_f(void) at91_set_pio_output(AT91_PIO_PORTD, 29, 0); at91_set_pio_output(AT91_PIO_PORTD, 30, 0); - /* Reset CAN controllers */ - at91_set_pio_output(AT91_PIO_PORTB, 21, 0); - udelay(100); - at91_set_pio_output(AT91_PIO_PORTB, 21, 1); - at91_pio3_set_pio_pulldown(AT91_PIO_PORTB, 21, 0); - ma5d4evk_serial_hw_init(); return 0; @@ -305,6 +299,12 @@ int board_init(void) at91_udp_hw_init(); #endif + /* Reset CAN controllers */ + at91_set_pio_output(AT91_PIO_PORTB, 21, 0); + udelay(100); + at91_set_pio_output(AT91_PIO_PORTB, 21, 1); + at91_pio3_set_pio_pulldown(AT91_PIO_PORTB, 21, 0); + return 0; } |