Skip to content

Commit a8d0f11

Browse files
Thomas Bogendoerferpaulburton
authored andcommitted
MIPS: SGI-IP27: Enable ethernet phy on second Origin 200 module
PROM only enables ethernet PHY on first Origin 200 module, so we must do it ourselves for the second module. Signed-off-by: Thomas Bogendoerfer <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: Jakub Kicinski <[email protected]> Cc: Jonathan Corbet <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: Paul Burton <[email protected]> Cc: James Hogan <[email protected]> Cc: Lee Jones <[email protected]> Cc: David S. Miller <[email protected]> Cc: Srinivas Kandagatla <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Alexandre Belloni <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Jiri Slaby <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected]
1 parent 29b261f commit a8d0f11

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

arch/mips/pci/pci-ip27.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
* Copyright (C) 1999, 2000, 04 Ralf Baechle ([email protected])
88
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
99
*/
10+
#include <asm/sn/addrs.h>
11+
#include <asm/sn/types.h>
12+
#include <asm/sn/klconfig.h>
13+
#include <asm/sn/hub.h>
14+
#include <asm/sn/ioc3.h>
1015
#include <asm/pci/bridge.h>
1116

1217
#ifdef CONFIG_NUMA
@@ -18,3 +23,20 @@ int pcibus_to_node(struct pci_bus *bus)
1823
}
1924
EXPORT_SYMBOL(pcibus_to_node);
2025
#endif /* CONFIG_NUMA */
26+
27+
static void ip29_fixup_phy(struct pci_dev *dev)
28+
{
29+
int nasid = pcibus_to_node(dev->bus);
30+
u32 sid;
31+
32+
if (nasid != 1)
33+
return; /* only needed on second module */
34+
35+
/* enable ethernet PHY on IP29 systemboard */
36+
pci_read_config_dword(dev, PCI_SUBSYSTEM_VENDOR_ID, &sid);
37+
if (sid == (PCI_VENDOR_ID_SGI | (IOC3_SUBSYS_IP29_SYSBOARD) << 16))
38+
REMOTE_HUB_S(nasid, MD_LED0, 0x09);
39+
}
40+
41+
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC3,
42+
ip29_fixup_phy);

0 commit comments

Comments
 (0)