diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-05 11:43:13 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-05 11:43:13 +0000 |
commit | d5816c8a838d02755a0b4a4f0bf76d5362a8a946 (patch) | |
tree | e8d70e3fa9827d19a1ce424821199f40844a5c1f /target | |
parent | 5dad28165e5d5f1d84bfba299fb9761878555132 (diff) |
mpc83xx: fix MAC addresses on the RB333
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31588 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/mpc83xx/patches-3.3/200-powerpc-add-rbppc-support.patch | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/target/linux/mpc83xx/patches-3.3/200-powerpc-add-rbppc-support.patch b/target/linux/mpc83xx/patches-3.3/200-powerpc-add-rbppc-support.patch index b78bcf478..b28578c08 100644 --- a/target/linux/mpc83xx/patches-3.3/200-powerpc-add-rbppc-support.patch +++ b/target/linux/mpc83xx/patches-3.3/200-powerpc-add-rbppc-support.patch @@ -594,7 +594,7 @@ + enet0: ucc@2200 { + tx-clock = <0x1a>; + rx-clock = <0x1f>; -+ mac-address = [00 0c 42 1c 29 d2]; ++ local-mac-address = [00 00 00 00 00 00]; + interrupt-parent = <&qeic>; + interrupts = <0x22>; + reg = <0x2200 0x200>; @@ -609,7 +609,7 @@ + enet1: ucc@3200 { + tx-clock = <0x22>; + rx-clock = <0x20>; -+ mac-address = [00 0c 42 1c 29 d1]; ++ local-mac-address = [00 00 00 00 00 00]; + interrupt-parent = <&qeic>; + interrupts = <0x23>; + reg = <0x3200 0x200>; @@ -624,7 +624,7 @@ + enet2: ucc@3000 { + tx-clock = <0x18>; + rx-clock = <0x17>; -+ mac-address = [00 0c 42 1c 29 d0]; ++ local-mac-address = [00 00 00 00 00 00]; + interrupt-parent = <&qeic>; + interrupts = <0x21>; + reg = <0x3000 0x200>; @@ -843,7 +843,7 @@ +}; --- /dev/null +++ b/arch/powerpc/boot/rb333.c -@@ -0,0 +1,73 @@ +@@ -0,0 +1,86 @@ +/* + * The RouterBOARD platform -- for booting RB333 RouterBOARDs. + * @@ -871,7 +871,7 @@ + +static void rb333_fixups(void) +{ -+ const u32 *timebase, *clock; ++ const u32 *reg, *timebase, *clock; + int node, size; + void *chosen; + const char* bootargs; @@ -884,6 +884,19 @@ + clock = fdt_getprop(fw_dtb, node, "clock-frequency", &size); + dt_fixup_cpu_clocks(*clock, *timebase, 0); + ++ /* Set the MAC addresses. */ ++ node = fdt_path_offset(fw_dtb, "/qe@e0100000/ucc@2200"); ++ reg = fdt_getprop(fw_dtb, node, "mac-address", &size); ++ dt_fixup_mac_address_by_alias("ethernet0", (const u8 *)reg); ++ ++ node = fdt_path_offset(fw_dtb, "/qe@e0100000/ucc@3200"); ++ reg = fdt_getprop(fw_dtb, node, "mac-address", &size); ++ dt_fixup_mac_address_by_alias("ethernet1", (const u8 *)reg); ++ ++ node = fdt_path_offset(fw_dtb, "/qe@e0100000/ucc@3000"); ++ reg = fdt_getprop(fw_dtb, node, "mac-address", &size); ++ dt_fixup_mac_address_by_alias("ethernet2", (const u8 *)reg); ++ + /* Fixup chosen + * The bootloader reads the kernelparm segment and adds the content to + * bootargs. This is needed to specify root and other boot flags. |