]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
authorJoshua Kinard <kumba@gentoo.org>
Mon, 25 May 2015 18:15:10 +0000 (14:15 -0400)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 21 Jun 2015 19:54:21 +0000 (21:54 +0200)
This is the first patch of two to clean up/update the Xtalk detection
code used by IP27 with some of the code used in the IP30 port.

This specific patch adds Xtalk widget manufacturer and widget device
numbers to arch/mips/include/asm/xtalk/widget.h

Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Cc: Linux MIPS List <linux-mips@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/10174/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/xtalk/xwidget.h

index 32e4e884f9b9ee6fbe40cf2b5af05f0bc511330c..24f121da6a1d97229b45498f589f4d3ced93a1ce 100644 (file)
 #define WIDGET_LLP_MAXBURST            0x000003ff
 #define WIDGET_LLP_MAXBURST_SHFT       0
 
+/* Xtalk Widget Device Mfgr Nums */
+#define WIDGET_XBOW_MFGR_NUM   0x0      /* IP30 XBow Chip */
+#define WIDGET_XXBOW_MFGR_NUM  0x0      /* IP35 Xbow + XBridge Chip */
+#define WIDGET_ODYS_MFGR_NUM   0x023    /* Odyssey / VPro GFX */
+#define WIDGET_TPU_MFGR_NUM    0x024    /* Tensor Processor Unit */
+#define WIDGET_XBRDG_MFGR_NUM  0x024    /* IP35 XBridge Chip */
+#define WIDGET_HEART_MFGR_NUM  0x036    /* IP30 HEART Chip */
+#define WIDGET_BRIDG_MFGR_NUM  0x036    /* PCI Bridge */
+#define WIDGET_HUB_MFGR_NUM    0x036    /* IP27 Hub Chip */
+#define WIDGET_BDRCK_MFGR_NUM  0x036    /* IP35 Bedrock Chip */
+#define WIDGET_IMPCT_MFGR_NUM  0x2aa    /* HQ4 / Impact GFX */
+#define WIDGET_KONA_MFGR_NUM   0x2aa    /* InfiniteReality3 / Kona GFX */
+#define WIDGET_NULL_MFGR_NUM   -1       /* NULL */
+
+/* Xtalk Widget Device Part Nums */
+#define WIDGET_XBOW_PART_NUM   0x0000
+#define WIDGET_HEART_PART_NUM  0xc001
+#define WIDGET_BRIDG_PART_NUM  0xc002
+#define WIDGET_IMPCT_PART_NUM  0xc003
+#define WIDGET_ODYS_PART_NUM   0xc013
+#define WIDGET_HUB_PART_NUM    0xc101
+#define WIDGET_KONA_PART_NUM   0xc102
+#define WIDGET_BDRCK_PART_NUM  0xc110
+#define WIDGET_TPU_PART_NUM    0xc202
+#define WIDGET_XXBOW_PART_NUM  0xd000
+#define WIDGET_XBRDG_PART_NUM  0xd002
+#define WIDGET_NULL_PART_NUM   -1
+
+/* For Xtalk Widget identification */
+struct widget_ident {
+       u32 mfgr;
+       u32 part;
+       char *name;
+       char *revs[16];
+};
+
+/* Known Xtalk Widgets */
+static const struct widget_ident __initconst widget_idents[] = {
+       {
+               WIDGET_XBOW_MFGR_NUM,
+               WIDGET_XBOW_PART_NUM,
+               "xbow",
+               {NULL, "1.0", "1.1", "1.2", "1.3", "2.0", NULL},
+       },
+       {
+               WIDGET_HEART_MFGR_NUM,
+               WIDGET_HEART_PART_NUM,
+               "heart",
+               {NULL, "A", "B", "C", "D", "E", "F", NULL},
+       },
+       {
+               WIDGET_BRIDG_MFGR_NUM,
+               WIDGET_BRIDG_PART_NUM,
+               "bridge",
+               {NULL, "A", "B", "C", "D", NULL},
+       },
+       {
+               WIDGET_IMPCT_MFGR_NUM,
+               WIDGET_IMPCT_PART_NUM,
+               "impact",
+               {NULL, "A", "B", NULL},
+       },
+       {
+               WIDGET_ODYS_MFGR_NUM,
+               WIDGET_ODYS_PART_NUM,
+               "odyssey",
+               {NULL, "A", "B", NULL},
+       },
+       {
+               WIDGET_HUB_MFGR_NUM,
+               WIDGET_HUB_PART_NUM,
+               "hub",
+               {NULL, "1.0", "2.0", "2.1", "2.2", "2.3", "2.4", NULL},
+       },
+       {
+               WIDGET_KONA_MFGR_NUM,
+               WIDGET_KONA_PART_NUM,
+               "kona",
+               {NULL},
+       },
+       {
+               WIDGET_BDRCK_MFGR_NUM,
+               WIDGET_BDRCK_PART_NUM,
+               "bedrock",
+               {NULL, "1.0", "1.1", NULL},
+       },
+       {
+               WIDGET_TPU_MFGR_NUM,
+               WIDGET_TPU_PART_NUM,
+               "tpu",
+               {"0", NULL},
+       },
+       {
+               WIDGET_XXBOW_MFGR_NUM,
+               WIDGET_XXBOW_PART_NUM,
+               "xxbow",
+               {NULL, "1.0", "2.0", NULL},
+       },
+       {
+               WIDGET_XBRDG_MFGR_NUM,
+               WIDGET_XBRDG_PART_NUM,
+               "xbridge",
+               {NULL, "A", "B", NULL},
+       },
+       {
+               WIDGET_NULL_MFGR_NUM,
+               WIDGET_NULL_PART_NUM,
+               NULL,
+               {NULL},
+       }
+};
+
 /*
  * according to the crosstalk spec, only 32-bits access to the widget
  * configuration registers is allowed. some widgets may allow 64-bits