Imported Upstream version 1.30
[platform/upstream/x86info.git] / connector.c
1 /*
2  *  (C) 2001 Dave Jones.
3  *
4  *  Licensed under the terms of the GNU GPL License version 2.
5  *
6  *  Decode and print the name of the connector the CPU plugs into.
7  */
8
9 #include <stdio.h>
10 #include "x86info.h"
11
12 static struct {
13         enum connector id;
14         const char *name;
15 } connector_strings[] = {
16         /* generic sockets */
17         {CONN_SOCKET_3, "Socket 3 (PGA socket)"},
18         {CONN_SOCKET_4, "Socket 4 (273 pin PGA)"},
19         {CONN_SOCKET_5, "Socket 5 (296 pin PGA socket)"},
20         {CONN_SOCKET_7, "Socket 7 (321 pin PGA socket)"},
21         {CONN_SOCKET_370, "Socket 370  (370 Pin PGA)"},
22         {CONN_SOCKET_370_FCPGA, "Socket 370 (FC-PGA) or (PPGA)"},
23         /* AMD specific sockets */
24         {CONN_SOCKET_5_7, "Socket 5/7 (296 Pin PGA)"},
25         {CONN_SUPER_SOCKET_7, "Super Socket 7 (321 Pin PGA)"},
26         {CONN_SLOT_A, "Slot A (242 Contact Cartridge)"},
27         {CONN_SOCKET_A, "Socket A (462 Pin PGA)"},
28         {CONN_SOCKET_A_OR_SLOT_A, "Socket A or Slot A"},
29         {CONN_SOCKET_754, "Socket 754"},
30         {CONN_SOCKET_939, "Socket 939"},
31         {CONN_SOCKET_940, "Socket 940"},
32         {CONN_SOCKET_S1G1, "Socket S1g1"},
33         {CONN_SOCKET_S1G2, "Socket S1g2"},
34         {CONN_SOCKET_S1G3, "Socket S1g3/S1g4"},
35         {CONN_SOCKET_F, "Socket F (1207)"},
36         {CONN_SOCKET_AM2, "Socket AM2"},
37         {CONN_SOCKET_F_R2, "Socket Fr2 (1207)"},
38         {CONN_SOCKET_AM3, "Socket AM2r2/AM3"},
39         {CONN_SOCKET_G34, "Socket G34"},
40         {CONN_SOCKET_ASB2, "Socket ASB2"},
41         {CONN_SOCKET_C32, "Socket C32"},
42         {CONN_SOCKET_FP1, "Socket FP1"},
43         {CONN_SOCKET_FS1, "Socket FS1"},
44         {CONN_SOCKET_FM1, "Socket FM1"},
45         {CONN_SOCKET_FT1, "Socket FT1"},
46         /* Intel specific sockets */
47         {CONN_SOCKET_57B, "Socket 5/7 (320 Pin PGA)"},
48         {CONN_MOBILE_7, "Mobile Module (320 Lead TCP)"},
49         {CONN_SOCKET_8, "Socket 8 (387 pin Dual Cavity PGA)"},
50         {CONN_SLOT_1, "Slot 1 (242 Contact Cartridge)"},
51         {CONN_SLOT_2, "Slot 2 (SEC Cartridge)"},
52         {CONN_SOCKET_423, "Socket423 (PGA423 Socket)"},
53         {CONN_SOCKET_478, "Socket478 (PGA478 Socket)"},
54         {CONN_SOCKET_603, "Socket603 (PGA603 Socket)"},
55         {CONN_MMC, "Mobile Module Connector (BGA)"},
56         {CONN_MMC2, "Mobile Module Connector (MMC-2)"},
57         {CONN_MICROFCBGA, "Micro-FCBGA"},
58         {CONN_LGA775, "LGA775"},
59         /* Transmeta specific sockets */
60         {CONN_BGA474, "474 Pin BGA"},
61         /* natsemi specific (Geode) */
62         {CONN_BGA, "BGA"},      /*  */
63 };
64
65 static const char * get_connector_name(enum connector id)
66 {
67         int i;
68
69         for (i = 0; i < ARRAY_SIZE(connector_strings); i++)
70                 if (id == connector_strings[i].id)
71                         return connector_strings[i].name;
72         return NULL;
73 }
74
75 void decode_connector(enum connector type)
76 {
77         const char *s;
78         if (type == CONN_UNKNOWN)
79                 return;
80
81         s = get_connector_name(type);
82         if (!s)
83                 s = "unknown";
84         printf("Connector type: %s\n\n", s);
85 }