mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-14 12:37:32 +00:00
[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 <olaf@aepfle.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
fd0b45dfd1
commit
6f4347c969
1 changed files with 39 additions and 0 deletions
|
@ -2216,6 +2216,45 @@ static void __init fixup_device_tree_efika(void)
|
||||||
prom_printf("fixup_device_tree_efika: ",
|
prom_printf("fixup_device_tree_efika: ",
|
||||||
"skipped entry %x - setprop error\n", i);
|
"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
|
#else
|
||||||
#define fixup_device_tree_efika()
|
#define fixup_device_tree_efika()
|
||||||
|
|
Loading…
Reference in a new issue