
27 Oct
2010
27 Oct
'10
10:23 a.m.
Signed-off-by: Daniel Hellstrom daniel@gaisler.com --- drivers/net/greth.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/net/greth.c b/drivers/net/greth.c index cb68d45..f081855 100644 --- a/drivers/net/greth.c +++ b/drivers/net/greth.c @@ -152,6 +152,16 @@ int greth_init(struct eth_device *dev, bd_t * bis)
debug("greth_init\n");
+ /* Reset core */ + GRETH_REGSAVE(®s->control, (GRETH_RESET | (greth->gb << 8) | + (greth->sp << 7) | (greth->fd << 4))); + + /* Wait for Reset to complete */ + while ( GRETH_REGLOAD(®s->control) & GRETH_RESET) ; + + GRETH_REGSAVE(®s->control, + ((greth->gb << 8) | (greth->sp << 7) | (greth->fd << 4))); + if (!greth->rxbd_base) {
/* allocate descriptors */
--
1.5.4