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>
This commit is contained in:
parent
ae625ae5a1
commit
52a557d64c
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user