diff options
author | David P <megver83@parabola.nu> | 2018-04-01 19:13:44 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2018-04-01 19:13:44 -0300 |
commit | b9af13c20c5be3b964fe8756f240f923fa431f43 (patch) | |
tree | 946c656dd8af8112000ae38467f7683a1348c9a7 /kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch | |
parent | afd0fd4e066f57d1e1c522fe1770cd2df99b0845 (diff) | |
download | abslibre-b9af13c20c5be3b964fe8756f240f923fa431f43.tar.gz abslibre-b9af13c20c5be3b964fe8756f240f923fa431f43.tar.bz2 abslibre-b9af13c20c5be3b964fe8756f240f923fa431f43.zip |
upgpkg: kernels/linux-libre-xtreme 4.15.15_gnu-1
Diffstat (limited to 'kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch')
-rw-r--r-- | kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch b/kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch new file mode 100644 index 000000000..1f782d2b4 --- /dev/null +++ b/kernels/linux-libre-xtreme/linux-libre-xtreme-ng/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch @@ -0,0 +1,47 @@ +From d52721ca6718ac91256b3073dd6a4749940bc0d3 Mon Sep 17 00:00:00 2001 +From: Willy Tarreau <w@xxxxxx> +Date: Sun, 2 Dec 2012 19:56:58 +0100 +Subject: [PATCH 02/14] ARM: atags/fdt: retrieve MAC addresses from Marvell + boot loader + +The atags are parsed and if a Marvell atag is found, up to 4 MAC +addresses are extracted there and assigned to node aliases eth0..3 +with the name "mac-address". + +This was tested on my Mirabox and the two NICs had their correct +address set. + +Signed-off-by: Willy Tarreau <w@xxxxxx> +--- + arch/arm/boot/compressed/atags_to_fdt.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/compressed/atags_to_fdt.c b/arch/arm/boot/compressed/atags_to_fdt.c +index 41fa7316c52b..807ed160a4b9 100644 +--- a/arch/arm/boot/compressed/atags_to_fdt.c ++++ b/arch/arm/boot/compressed/atags_to_fdt.c +@@ -19,7 +19,7 @@ static int node_offset(void *fdt, const char *node_path) + } + + static int setprop(void *fdt, const char *node_path, const char *property, +- uint32_t *val_array, int size) ++ void *val_array, int size) + { + int offset = node_offset(fdt, node_path); + if (offset < 0) +@@ -180,6 +180,12 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space) + initrd_start); + setprop_cell(fdt, "/chosen", "linux,initrd-end", + initrd_start + initrd_size); ++ } else if (atag->hdr.tag == ATAG_MV_UBOOT) { ++ /* This ATAG provides up to 4 MAC addresses */ ++ setprop(fdt, "eth0", "mac-address", atag->u.mv_uboot.macAddr[0], 6); ++ setprop(fdt, "eth1", "mac-address", atag->u.mv_uboot.macAddr[1], 6); ++ setprop(fdt, "eth2", "mac-address", atag->u.mv_uboot.macAddr[2], 6); ++ setprop(fdt, "eth3", "mac-address", atag->u.mv_uboot.macAddr[3], 6); + } + } + +-- +2.16.1 + |