Skip to content

Commit 2c42887

Browse files
Thomas Bogendoerferpaulburton
authored andcommitted
MIPS: PCI: Add detection of IOC3 on IO7, IO8, IO9 and Fuel
Add detection for IOC3 chips in IP35 machines. Signed-off-by: Thomas Bogendoerfer <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected]
1 parent 1306cc0 commit 2c42887

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

arch/mips/include/asm/sn/ioc3.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,5 +598,9 @@ struct ioc3_etxd {
598598
#define IOC3_SUBSYS_IP30_SYSBOARD 0xc304
599599
#define IOC3_SUBSYS_MENET 0xc305
600600
#define IOC3_SUBSYS_MENET4 0xc306
601+
#define IOC3_SUBSYS_IO7 0xc307
602+
#define IOC3_SUBSYS_IO8 0xc308
603+
#define IOC3_SUBSYS_IO9 0xc309
604+
#define IOC3_SUBSYS_IP34_SYSBOARD 0xc30A
601605

602606
#endif /* MIPS_SN_IOC3_H */

arch/mips/pci/pci-xtalk-bridge.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,26 @@ static void bridge_setup_menet(struct bridge_controller *bc)
499499
bc->ioc3_sid[3] = IOC3_SID(IOC3_SUBSYS_MENET4);
500500
}
501501

502+
static void bridge_setup_io7(struct bridge_controller *bc)
503+
{
504+
bc->ioc3_sid[4] = IOC3_SID(IOC3_SUBSYS_IO7);
505+
}
506+
507+
static void bridge_setup_io8(struct bridge_controller *bc)
508+
{
509+
bc->ioc3_sid[4] = IOC3_SID(IOC3_SUBSYS_IO8);
510+
}
511+
512+
static void bridge_setup_io9(struct bridge_controller *bc)
513+
{
514+
bc->ioc3_sid[1] = IOC3_SID(IOC3_SUBSYS_IO9);
515+
}
516+
517+
static void bridge_setup_ip34_fuel_sysboard(struct bridge_controller *bc)
518+
{
519+
bc->ioc3_sid[4] = IOC3_SID(IOC3_SUBSYS_IP34_SYSBOARD);
520+
}
521+
502522
#define BRIDGE_BOARD_SETUP(_partno, _setup) \
503523
{ .match = _partno, .setup = _setup }
504524

@@ -516,6 +536,10 @@ static const struct {
516536
BRIDGE_BOARD_SETUP("030-0887-", bridge_setup_ip30_sysboard),
517537
BRIDGE_BOARD_SETUP("030-1467-", bridge_setup_ip30_sysboard),
518538
BRIDGE_BOARD_SETUP("030-0873-", bridge_setup_menet),
539+
BRIDGE_BOARD_SETUP("030-1557-", bridge_setup_io7),
540+
BRIDGE_BOARD_SETUP("030-1673-", bridge_setup_io8),
541+
BRIDGE_BOARD_SETUP("030-1771-", bridge_setup_io9),
542+
BRIDGE_BOARD_SETUP("030-1707-", bridge_setup_ip34_fuel_sysboard),
519543
};
520544

521545
static void bridge_setup_board(struct bridge_controller *bc, char *partnum)

0 commit comments

Comments
 (0)