From 4cadfa2169d12bd42416714bd0f79617020917d9 Mon Sep 17 00:00:00 2001 From: David P Date: Fri, 20 Oct 2017 17:46:45 -0300 Subject: updpkg: kernels/linux-libre-lts-apparmor 4.9.57_gnu-1 kernels/linux-libre-lts-knock 4.9.57_gnu-1 kernels/linux-libre-apparmor 4.13.8_gnu-1 kernels/linux-libre-pae 4.13.8_gnu-1 --- ...trieve-MAC-addresses-from-Marvell-bo.patch.orig | 47 ++++++++++++++++++++++ ...etrieve-MAC-addresses-from-Marvell-bo.patch.rej | 33 +++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.orig create mode 100644 libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.rej (limited to 'libre/linux-libre') diff --git a/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.orig b/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.orig new file mode 100644 index 000000000..ccc42d67e --- /dev/null +++ b/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.orig @@ -0,0 +1,47 @@ +From e62b74b84f4b146e0b82d6acf1c043dc599ea884 Mon Sep 17 00:00:00 2001 +From: Willy Tarreau +Date: Sun, 2 Dec 2012 19:56:58 +0100 +Subject: [PATCH 2/9] 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 +--- + 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 9448aa0c6686..ac7b6ae6c00f 100644 +--- a/arch/arm/boot/compressed/atags_to_fdt.c ++++ b/arch/arm/boot/compressed/atags_to_fdt.c +@@ -18,7 +18,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) +@@ -179,6 +179,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.13.0 + diff --git a/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.rej b/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.rej new file mode 100644 index 000000000..6f29d90b5 --- /dev/null +++ b/libre/linux-libre/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch.rej @@ -0,0 +1,33 @@ +--- arch/arm/include/uapi/asm/setup.h ++++ arch/arm/include/uapi/asm/setup.h +@@ -143,18 +143,6 @@ struct tag_memclk { + __u32 fmemclk; + }; + +-/* Marvell uboot parameters */ +-#define ATAG_MV_UBOOT 0x41000403 +-struct tag_mv_uboot { +- __u32 uboot_version; +- __u32 tclk; +- __u32 sysclk; +- __u32 isUsbHost; +- __u8 macAddr[4][6]; +- __u16 mtu[4]; +- __u32 nand_ecc; +-}; +- + struct tag { + struct tag_header hdr; + union { +@@ -177,11 +165,6 @@ struct tag { + * DC21285 specific + */ + struct tag_memclk memclk; +- +- /* +- * Marvell specific +- */ +- struct tag_mv_uboot mv_uboot; + } u; + }; + -- cgit v1.2.3