Commit 3f2d560e authored by Yoichi Yuasa's avatar Yoichi Yuasa Committed by Ralf Baechle

[MIPS] Rework cobalt_board_id

This patch has reworked cobalt_board_id.
The cobalt_board_id is read from PCI config register.
It should be in PCI routine.
Signed-off-by: default avatarYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent b0cc114c
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
* *
*/ */
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/pm.h> #include <linux/pm.h>
...@@ -26,8 +25,6 @@ extern void cobalt_machine_restart(char *command); ...@@ -26,8 +25,6 @@ extern void cobalt_machine_restart(char *command);
extern void cobalt_machine_halt(void); extern void cobalt_machine_halt(void);
extern void cobalt_machine_power_off(void); extern void cobalt_machine_power_off(void);
int cobalt_board_id;
const char *get_system_type(void) const char *get_system_type(void)
{ {
switch (cobalt_board_id) { switch (cobalt_board_id) {
...@@ -92,7 +89,6 @@ static struct resource cobalt_reserved_resources[] = { ...@@ -92,7 +89,6 @@ static struct resource cobalt_reserved_resources[] = {
void __init plat_mem_setup(void) void __init plat_mem_setup(void)
{ {
unsigned int devfn = PCI_DEVFN(COBALT_PCICONF_VIA, 0);
int i; int i;
_machine_restart = cobalt_machine_restart; _machine_restart = cobalt_machine_restart;
...@@ -107,14 +103,6 @@ void __init plat_mem_setup(void) ...@@ -107,14 +103,6 @@ void __init plat_mem_setup(void)
/* These resources have been reserved by VIA SuperI/O chip. */ /* These resources have been reserved by VIA SuperI/O chip. */
for (i = 0; i < ARRAY_SIZE(cobalt_reserved_resources); i++) for (i = 0; i < ARRAY_SIZE(cobalt_reserved_resources); i++)
request_resource(&ioport_resource, cobalt_reserved_resources + i); request_resource(&ioport_resource, cobalt_reserved_resources + i);
/* Read the cobalt id register out of the PCI config space */
PCI_CFG_SET(devfn, (VIA_COBALT_BRD_ID_REG & ~0x3));
cobalt_board_id = GT_READ(GT_PCI0_CFGDATA_OFS);
cobalt_board_id >>= ((VIA_COBALT_BRD_ID_REG & 3) * 8);
cobalt_board_id = VIA_COBALT_BRD_REG_to_ID(cobalt_board_id);
printk("Cobalt board ID: %d\n", cobalt_board_id);
} }
/* /*
......
...@@ -113,6 +113,27 @@ static void qube_raq_galileo_fixup(struct pci_dev *dev) ...@@ -113,6 +113,27 @@ static void qube_raq_galileo_fixup(struct pci_dev *dev)
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_GT64111, DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_GT64111,
qube_raq_galileo_fixup); qube_raq_galileo_fixup);
int cobalt_board_id;
static void qube_raq_via_board_id_fixup(struct pci_dev *dev)
{
u8 id;
int retval;
retval = pci_read_config_byte(dev, VIA_COBALT_BRD_ID_REG, &id);
if (retval) {
panic("Cannot read board ID");
return;
}
cobalt_board_id = VIA_COBALT_BRD_REG_to_ID(id);
printk(KERN_INFO "Cobalt board ID: %d\n", cobalt_board_id);
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0,
qube_raq_via_board_id_fixup);
static char irq_tab_qube1[] __initdata = { static char irq_tab_qube1[] __initdata = {
[COBALT_PCICONF_CPU] = 0, [COBALT_PCICONF_CPU] = 0,
[COBALT_PCICONF_ETH0] = COBALT_QUBE1_ETH0_IRQ, [COBALT_PCICONF_ETH0] = COBALT_QUBE1_ETH0_IRQ,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment