Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f4347c969674ed45de7d08d4b26d6326a95b959
Commit:     6f4347c969674ed45de7d08d4b26d6326a95b959
Parent:     fd0b45dfd1858c6b49d06355a460bcf36d654c06
Author:     Olaf Hering <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 10 01:06:08 2008 +1100
Committer:  Grant Likely <[EMAIL PROTECTED]>
CommitDate: Thu Jan 10 08:12:59 2008 -0700

    [POWERPC] efika: add phy-handle property for fec_mpc52xx
    
    The new network driver fec_mpc52xx will not work on efika because the
    firmware does not provide all required properties.
    http://www.powerdeveloper.org/asset/by-id/46 has a Forth script to
    create more properties. But only the phy stuff is required to get a
    working network.
    
    This should go into the kernel because its appearently
    impossible to boot the script via tftp and then load the real boot
    binary (yaboot or zimage).
    
    Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
    Signed-off-by: Grant Likely <[EMAIL PROTECTED]>
    Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---
 arch/powerpc/kernel/prom_init.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 1add6ef..5d89a21 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -2216,6 +2216,45 @@ static void __init fixup_device_tree_efika(void)
                        prom_printf("fixup_device_tree_efika: ",
                                "skipped entry %x - setprop error\n", i);
        }
+
+       /* Make sure ethernet mdio bus node exists */
+       node = call_prom("finddevice", 1, 1, ADDR("/builtin/mdio"));
+       if (!PHANDLE_VALID(node)) {
+               prom_printf("Adding Ethernet MDIO node\n");
+               call_prom("interpret", 1, 1,
+                       " s\" /builtin\" find-device"
+                       " new-device"
+                               " 1 encode-int s\" #address-cells\" property"
+                               " 0 encode-int s\" #size-cells\" property"
+                               " s\" mdio\" 2dup device-name device-type"
+                               " s\" mpc5200b-fec-phy\" encode-string"
+                               " s\" compatible\" property"
+                               " 0xf0003000 0x400 reg"
+                               " 0x2 encode-int"
+                               " 0x5 encode-int encode+"
+                               " 0x3 encode-int encode+"
+                               " s\" interrupts\" property"
+                       " finish-device");
+       };
+
+       /* Make sure ethernet phy device node exist */
+       node = call_prom("finddevice", 1, 1, 
ADDR("/builtin/mdio/ethernet-phy"));
+       if (!PHANDLE_VALID(node)) {
+               prom_printf("Adding Ethernet PHY node\n");
+               call_prom("interpret", 1, 1,
+                       " s\" /builtin/mdio\" find-device"
+                       " new-device"
+                               " s\" ethernet-phy\" device-name"
+                               " 0x10 encode-int s\" reg\" property"
+                               " my-self"
+                               " ihandle>phandle"
+                       " finish-device"
+                       " s\" /builtin/ethernet\" find-device"
+                               " encode-int"
+                               " s\" phy-handle\" property"
+                       " device-end");
+       }
+
 }
 #else
 #define fixup_device_tree_efika()
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to