summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2017-05-02 18:27:42 (GMT)
committerTom Rini <trini@konsulko.com>2017-06-29 17:30:28 (GMT)
commit52a557d64c999400971419aed511b831c6a09ab9 (patch)
tree14d930f7e855b44dd225fafecabd8229df1eba10 /board
parentae625ae5a14f63400b8e5ee901a27248037a2339 (diff)
downloadu-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>
Diffstat (limited to 'board')
-rw-r--r--board/aries/ma5d4evk/ma5d4evk.c12
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;
}