summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2016-02-11 16:36:43 +0100
committerMarek Vasut <marex@denx.de>2016-02-24 19:13:03 +0100
commite6e34ca3ad43eae88faccb01282385416d23e6e7 (patch)
tree5d7bec3d027ca8a4880aae3d7dd2eca320c82580
parent80da86642b41cad030a9dd249b91b6949f2e1977 (diff)
downloadu-boot-imx-e6e34ca3ad43eae88faccb01282385416d23e6e7.zip
u-boot-imx-e6e34ca3ad43eae88faccb01282385416d23e6e7.tar.gz
u-boot-imx-e6e34ca3ad43eae88faccb01282385416d23e6e7.tar.bz2
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>
-rw-r--r--arch/arm/mach-socfpga/misc.c9
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