1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2001-2015 3*4882a593Smuzhiyun * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*4882a593Smuzhiyun * Joe Hershberger, National Instruments 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __ETH_INTERNAL_H 10*4882a593Smuzhiyun #define __ETH_INTERNAL_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* Do init that is common to driver model and legacy networking */ 13*4882a593Smuzhiyun void eth_common_init(void); 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /** 16*4882a593Smuzhiyun * eth_env_set_enetaddr_by_index() - set the MAC address environment variable 17*4882a593Smuzhiyun * 18*4882a593Smuzhiyun * This sets up an environment variable with the given MAC address (@enetaddr). 19*4882a593Smuzhiyun * The environment variable to be set is defined by <@base_name><@index>addr. 20*4882a593Smuzhiyun * If @index is 0 it is omitted. For common Ethernet this means ethaddr, 21*4882a593Smuzhiyun * eth1addr, etc. 22*4882a593Smuzhiyun * 23*4882a593Smuzhiyun * @base_name: Base name for variable, typically "eth" 24*4882a593Smuzhiyun * @index: Index of interface being updated (>=0) 25*4882a593Smuzhiyun * @enetaddr: Pointer to MAC address to put into the variable 26*4882a593Smuzhiyun * @return 0 if OK, other value on error 27*4882a593Smuzhiyun */ 28*4882a593Smuzhiyun int eth_env_set_enetaddr_by_index(const char *base_name, int index, 29*4882a593Smuzhiyun uchar *enetaddr); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun int eth_mac_skip(int index); 32*4882a593Smuzhiyun void eth_current_changed(void); 33*4882a593Smuzhiyun #ifdef CONFIG_DM_ETH 34*4882a593Smuzhiyun void eth_set_dev(struct udevice *dev); 35*4882a593Smuzhiyun #else 36*4882a593Smuzhiyun void eth_set_dev(struct eth_device *dev); 37*4882a593Smuzhiyun #endif 38*4882a593Smuzhiyun void eth_set_current_to_next(void); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun #endif 41