diff options
author | Tom Rini <trini@konsulko.com> | 2015-11-13 10:04:34 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-11-13 10:04:34 -0500 |
commit | 618a51e9aefe1e03f498ea48bfab70a0b2c9be39 (patch) | |
tree | 565050bbf77d0d7f5d041bf490c3b6f8c83f6319 /drivers/net/greth.c | |
parent | b67dfc5a1099eef2a323de23a78ba4e6d9b87633 (diff) | |
parent | e43ce3fca755d79635899b658a97f3c4a7dbf220 (diff) |
Merge branch 'series1_v2' of git://git.denx.de/u-boot-sparc
Diffstat (limited to 'drivers/net/greth.c')
-rw-r--r-- | drivers/net/greth.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/net/greth.c b/drivers/net/greth.c index 9bc8a8d1aa1..0624eb8cac3 100644 --- a/drivers/net/greth.c +++ b/drivers/net/greth.c @@ -20,7 +20,7 @@ #include <ambapp.h> #include <asm/leon.h> -#include "greth.h" +#include <grlib/greth.h> /* Default to 3s timeout on autonegotiation */ #ifndef GRETH_PHY_TIMEOUT_MS @@ -34,6 +34,13 @@ #define GRETH_PHY_ADR_DEFAULT 0 #endif +/* Let board select which GRETH to use as network interface, set + * this to zero if only one GRETH is available. + */ +#ifndef CONFIG_SYS_GRLIB_GRETH_INDEX +#define CONFIG_SYS_GRLIB_GRETH_INDEX 0 +#endif + /* ByPass Cache when reading regs */ #define GRETH_REGLOAD(addr) SPARC_NOCACHE_READ(addr) /* Write-through cache ==> no bypassing needed on writes */ @@ -593,8 +600,12 @@ int greth_initialize(bd_t * bis) debug("Scanning for GRETH\n"); - /* Find Device & IRQ via AMBA Plug&Play information */ - if (ambapp_apb_first(VENDOR_GAISLER, GAISLER_ETHMAC, &apbdev) != 1) { + /* Find Device & IRQ via AMBA Plug&Play information, + * CONFIG_SYS_GRLIB_GRETH_INDEX select which GRETH if multiple + * GRETHs in system. + */ + if (ambapp_apb_find(&ambapp_plb, VENDOR_GAISLER, GAISLER_ETHMAC, + CONFIG_SYS_GRLIB_GRETH_INDEX, &apbdev) != 1) { return -1; /* GRETH not found */ } |