1*983e3700STom Rini /* 2*983e3700STom Rini * 3*983e3700STom Rini * DaVinci EMAC initialization. 4*983e3700STom Rini * 5*983e3700STom Rini * (C) Copyright 2011, Ilya Yanok, Emcraft Systems 6*983e3700STom Rini * 7*983e3700STom Rini * SPDX-License-Identifier: GPL-2.0+ 8*983e3700STom Rini */ 9*983e3700STom Rini 10*983e3700STom Rini #include <common.h> 11*983e3700STom Rini #include <netdev.h> 12*983e3700STom Rini #include <asm/io.h> 13*983e3700STom Rini #include <asm/arch/am35x_def.h> 14*983e3700STom Rini 15*983e3700STom Rini /* 16*983e3700STom Rini * Initializes on-chip ethernet controllers. 17*983e3700STom Rini * to override, implement board_eth_init() 18*983e3700STom Rini */ 19*983e3700STom Rini int cpu_eth_init(bd_t *bis) 20*983e3700STom Rini { 21*983e3700STom Rini u32 reset; 22*983e3700STom Rini 23*983e3700STom Rini /* ensure that the module is out of reset */ 24*983e3700STom Rini reset = readl(&am35x_scm_general_regs->ip_sw_reset); 25*983e3700STom Rini reset &= ~CPGMACSS_SW_RST; 26*983e3700STom Rini writel(reset, &am35x_scm_general_regs->ip_sw_reset); 27*983e3700STom Rini 28*983e3700STom Rini return davinci_emac_initialize(); 29*983e3700STom Rini } 30