xref: /openbmc/u-boot/arch/arm/mach-omap2/omap3/emac.c (revision e8f80a5a)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
2983e3700STom Rini /*
3983e3700STom Rini  *
4983e3700STom Rini  * DaVinci EMAC initialization.
5983e3700STom Rini  *
6983e3700STom Rini  * (C) Copyright 2011, Ilya Yanok, Emcraft Systems
7983e3700STom Rini  */
8983e3700STom Rini 
9983e3700STom Rini #include <common.h>
10983e3700STom Rini #include <netdev.h>
11983e3700STom Rini #include <asm/io.h>
12983e3700STom Rini #include <asm/arch/am35x_def.h>
13983e3700STom Rini 
14983e3700STom Rini /*
15983e3700STom Rini  * Initializes on-chip ethernet controllers.
16983e3700STom Rini  * to override, implement board_eth_init()
17983e3700STom Rini  */
cpu_eth_init(bd_t * bis)18983e3700STom Rini int cpu_eth_init(bd_t *bis)
19983e3700STom Rini {
20983e3700STom Rini 	u32 reset;
21983e3700STom Rini 
22983e3700STom Rini 	/* ensure that the module is out of reset */
23983e3700STom Rini 	reset = readl(&am35x_scm_general_regs->ip_sw_reset);
24983e3700STom Rini 	reset &= ~CPGMACSS_SW_RST;
25983e3700STom Rini 	writel(reset, &am35x_scm_general_regs->ip_sw_reset);
26983e3700STom Rini 
27983e3700STom Rini 	return davinci_emac_initialize();
28983e3700STom Rini }
29