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