diff options
author | Marek Vasut <marex@denx.de> | 2016-02-11 15:36:43 (GMT) |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2016-02-24 18:13:03 (GMT) |
commit | e6e34ca3ad43eae88faccb01282385416d23e6e7 (patch) | |
tree | 5d7bec3d027ca8a4880aae3d7dd2eca320c82580 /arch/arm | |
parent | 80da86642b41cad030a9dd249b91b6949f2e1977 (diff) | |
download | u-boot-e6e34ca3ad43eae88faccb01282385416d23e6e7.tar.xz |
arm: socfpga: Fix ethernet reset handling
The following patch caused cpu_eth_init() to not be called anymore
for DM-capable boards:
commit c32a6fd07b1839e4a45729587ebc8e1c55601a4d
Date: Sun Jan 17 14:51:56 2016 -0700
net: Don't call board/cpu_eth_init() with driver model
This breaks ethernet on SoCFPGA, since we use that function to un-reset
the ethernet blocks. Invoke the ethernet reset function from arch_misc_init()
instead to fix the breakage.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-socfpga/misc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach-socfpga/misc.c index 9b43b92..ce3ff0a 100644 --- a/arch/arm/mach-socfpga/misc.c +++ b/arch/arm/mach-socfpga/misc.c @@ -104,7 +104,7 @@ static void dwmac_deassert_reset(const unsigned int of_reset_id) socfpga_per_reset(reset, 0); } -int cpu_eth_init(bd_t *bis) +static int socfpga_eth_reset(void) { const void *fdt = gd->fdt_blob; struct fdtdec_phandle_args args; @@ -137,6 +137,11 @@ int cpu_eth_init(bd_t *bis) return 0; } +#else +static int socfpga_eth_reset(void) +{ + return 0 +}; #endif struct { @@ -232,7 +237,7 @@ int arch_misc_init(void) setenv("bootmode", bsel_str[bsel].mode); if (fpga_id >= 0) setenv("fpgatype", socfpga_fpga_model[fpga_id].var); - return 0; + return socfpga_eth_reset(); } #endif |