|
@@ -102,8 +102,8 @@ static unsigned int gef_ppc9a_get_pcb_rev(void)
|
|
|
{
|
|
|
unsigned int reg;
|
|
|
|
|
|
- reg = ioread32(ppc9a_regs);
|
|
|
- return (reg >> 8) & 0xff;
|
|
|
+ reg = ioread32be(ppc9a_regs);
|
|
|
+ return (reg >> 16) & 0xff;
|
|
|
}
|
|
|
|
|
|
/* Return the board (software) revision */
|
|
@@ -111,8 +111,8 @@ static unsigned int gef_ppc9a_get_board_rev(void)
|
|
|
{
|
|
|
unsigned int reg;
|
|
|
|
|
|
- reg = ioread32(ppc9a_regs);
|
|
|
- return (reg >> 16) & 0xff;
|
|
|
+ reg = ioread32be(ppc9a_regs);
|
|
|
+ return (reg >> 8) & 0xff;
|
|
|
}
|
|
|
|
|
|
/* Return the FPGA revision */
|
|
@@ -120,8 +120,26 @@ static unsigned int gef_ppc9a_get_fpga_rev(void)
|
|
|
{
|
|
|
unsigned int reg;
|
|
|
|
|
|
- reg = ioread32(ppc9a_regs);
|
|
|
- return (reg >> 24) & 0xf;
|
|
|
+ reg = ioread32be(ppc9a_regs);
|
|
|
+ return reg & 0xf;
|
|
|
+}
|
|
|
+
|
|
|
+/* Return VME Geographical Address */
|
|
|
+static unsigned int gef_ppc9a_get_vme_geo_addr(void)
|
|
|
+{
|
|
|
+ unsigned int reg;
|
|
|
+
|
|
|
+ reg = ioread32be(ppc9a_regs + 0x4);
|
|
|
+ return reg & 0x1f;
|
|
|
+}
|
|
|
+
|
|
|
+/* Return VME System Controller Status */
|
|
|
+static unsigned int gef_ppc9a_get_vme_is_syscon(void)
|
|
|
+{
|
|
|
+ unsigned int reg;
|
|
|
+
|
|
|
+ reg = ioread32be(ppc9a_regs + 0x4);
|
|
|
+ return (reg >> 9) & 0x1;
|
|
|
}
|
|
|
|
|
|
static void gef_ppc9a_show_cpuinfo(struct seq_file *m)
|
|
@@ -131,10 +149,15 @@ static void gef_ppc9a_show_cpuinfo(struct seq_file *m)
|
|
|
seq_printf(m, "Vendor\t\t: GE Fanuc Intelligent Platforms\n");
|
|
|
|
|
|
seq_printf(m, "Revision\t: %u%c\n", gef_ppc9a_get_pcb_rev(),
|
|
|
- ('A' + gef_ppc9a_get_board_rev() - 1));
|
|
|
+ ('A' + gef_ppc9a_get_board_rev()));
|
|
|
seq_printf(m, "FPGA Revision\t: %u\n", gef_ppc9a_get_fpga_rev());
|
|
|
|
|
|
seq_printf(m, "SVR\t\t: 0x%x\n", svid);
|
|
|
+
|
|
|
+ seq_printf(m, "VME geo. addr\t: %u\n", gef_ppc9a_get_vme_geo_addr());
|
|
|
+
|
|
|
+ seq_printf(m, "VME syscon\t: %s\n",
|
|
|
+ gef_ppc9a_get_vme_is_syscon() ? "yes" : "no");
|
|
|
}
|
|
|
|
|
|
static void __init gef_ppc9a_nec_fixup(struct pci_dev *pdev)
|