drivers/net/rt8168: Add a macaddress cbfsfile using Kconfig
The default macaddress in rt8168.c can be changed with a cbfsfile called macaddress. This patch makes it possible to add such a file using Kconfig at build time. This also changes the name of the cbfsfile from "macaddress" to "rt8168-macaddress" to avoid confusion. Change-Id: I24674d8df11845167b837b79344427ce0c67f4fb Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/18088 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
f6776fa62c
commit
ec74f45e72
|
@ -3,3 +3,13 @@ config REALTEK_8168_RESET
|
||||||
help
|
help
|
||||||
This forces a realtek 10ec:8168 card to reset to ensure power state
|
This forces a realtek 10ec:8168 card to reset to ensure power state
|
||||||
is correct at boot.
|
is correct at boot.
|
||||||
|
|
||||||
|
config REALTEK_8168_MACADDRESS
|
||||||
|
string "Realtek rt8168 mac address"
|
||||||
|
depends on REALTEK_8168_RESET
|
||||||
|
default "00:e0:4c:00:c0:b0"
|
||||||
|
help
|
||||||
|
This is a string to set the mac address on a Realtek rt8168 card.
|
||||||
|
It must be in the form of "xx:xx:xx:xx:xx:xx", where x is a
|
||||||
|
hexadecimal number for it to be valid. Failing to do so will
|
||||||
|
result in the default macaddress being used.
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
romstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
|
romstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
|
||||||
ramstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
|
ramstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
|
||||||
ramstage-$(CONFIG_REALTEK_8168_RESET) += r8168.c
|
ramstage-$(CONFIG_REALTEK_8168_RESET) += r8168.c
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_REALTEK_8168_MACADDRESS),"")
|
||||||
|
$(obj)/rt8168-macaddress: $(DOTCONFIG)
|
||||||
|
echo " Creating a file holding the rt8168 macaddress"
|
||||||
|
printf %s $(CONFIG_REALTEK_8168_MACADDRESS) > $@
|
||||||
|
|
||||||
|
cbfs-files-$(CONFIG_REALTEK_8168_RESET) += rt8168-macaddress
|
||||||
|
rt8168-macaddress-file := $(obj)/rt8168-macaddress
|
||||||
|
rt8168-macaddress-type := raw
|
||||||
|
endif
|
||||||
|
|
|
@ -88,14 +88,14 @@ static void program_mac_address(struct device *dev, u16 io_base)
|
||||||
int i = 0;
|
int i = 0;
|
||||||
u8 mac[6] = { 0x00, 0xe0, 0x4c, 0x00, 0xc0, 0xb0 };
|
u8 mac[6] = { 0x00, 0xe0, 0x4c, 0x00, 0xc0, 0xb0 };
|
||||||
|
|
||||||
if (!cbfs_boot_locate(&fh, "macaddress", &matchraw)) {
|
if (!cbfs_boot_locate(&fh, "rt8168-macaddress", &matchraw)) {
|
||||||
if (rdev_readat(&fh.data, macstrbuf, 0, MACLEN) == MACLEN)
|
if (rdev_readat(&fh.data, macstrbuf, 0, MACLEN) == MACLEN)
|
||||||
get_mac_address(mac, macstrbuf);
|
get_mac_address(mac, macstrbuf);
|
||||||
else
|
else
|
||||||
printk(BIOS_ERR, "r8168: Error reading MAC from CBFS\n");
|
printk(BIOS_ERR, "r8168: Error reading MAC from CBFS\n");
|
||||||
} else {
|
} else {
|
||||||
printk(BIOS_ERR, "r8168: 'macaddress' not found in CBFS, "
|
printk(BIOS_ERR, "r8168: 'rt8168-macaddress' not found in CBFS,"
|
||||||
"using default 00:e0:4c:00:c0:b0\n");
|
" using default 00:e0:4c:00:c0:b0\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset NIC */
|
/* Reset NIC */
|
||||||
|
|
Loading…
Reference in New Issue