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 */ 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