提交 533b67d4 编写于 作者: D Daniel Hellstrom

GRETH: Added extra RESET, this is needed if GRETH was stopped during an ethernet frame reception.

Signed-off-by: NDaniel Hellstrom <daniel@gaisler.com>
上级 e780d82b
......@@ -152,6 +152,16 @@ int greth_init(struct eth_device *dev, bd_t * bis)
debug("greth_init\n");
/* Reset core */
GRETH_REGSAVE(&regs->control, (GRETH_RESET | (greth->gb << 8) |
(greth->sp << 7) | (greth->fd << 4)));
/* Wait for Reset to complete */
while ( GRETH_REGLOAD(&regs->control) & GRETH_RESET) ;
GRETH_REGSAVE(&regs->control,
((greth->gb << 8) | (greth->sp << 7) | (greth->fd << 4)));
if (!greth->rxbd_base) {
/* allocate descriptors */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册