Changeset 716
- Timestamp:
- 01/30/00 02:20:51 (13 years ago)
- Location:
- lm-sensors/trunk
- Files:
-
- 5 modified
-
lib/chips.c (modified) (2 diffs)
-
lib/chips.h (modified) (1 diff)
-
prog/sensors/chips.c (modified) (1 diff)
-
prog/sensors/chips.h (modified) (1 diff)
-
prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/lib/chips.c
r660 r716 1560 1560 }; 1561 1561 1562 static sensors_chip_feature ddcmon_features[] = 1563 { 1564 { SENSORS_DDCMON_ID, "Monitor ID", 1565 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1566 SENSORS_MODE_R, DDCMON_SYSCTL_ID, VALUE(1), 0 }, 1567 { SENSORS_DDCMON_VERSIZE, "Monitor Size (cm)", 1568 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1569 SENSORS_MODE_R, DDCMON_SYSCTL_SIZE, VALUE(1), 0 }, 1570 { SENSORS_DDCMON_HORSIZE, "hsize", 1571 SENSORS_DDCMON_VERSIZE, SENSORS_NO_MAPPING, 1572 SENSORS_MODE_R, DDCMON_SYSCTL_SIZE, VALUE(2), 0 }, 1573 { SENSORS_DDCMON_VERSYNCMIN, "Vertical Sync (Hz)", 1574 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1575 SENSORS_MODE_R, DDCMON_SYSCTL_SYNC, VALUE(1), 0 }, 1576 { SENSORS_DDCMON_VERSYNCMAX, "v_sync_max", 1577 SENSORS_DDCMON_VERSYNCMIN, SENSORS_NO_MAPPING, 1578 SENSORS_MODE_R, DDCMON_SYSCTL_SYNC, VALUE(2), 0 }, 1579 { SENSORS_DDCMON_HORSYNCMIN, "Horizontal Sync (KHz)", 1580 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1581 SENSORS_MODE_R, DDCMON_SYSCTL_SYNC, VALUE(3), 0 }, 1582 { SENSORS_DDCMON_HORSYNCMAX, "h_sync_max", 1583 SENSORS_DDCMON_HORSYNCMIN, SENSORS_NO_MAPPING, 1584 SENSORS_MODE_R, DDCMON_SYSCTL_SYNC, VALUE(4), 0 }, 1585 { SENSORS_DDCMON_TIMINGS, "timings", 1586 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1587 SENSORS_MODE_R, DDCMON_SYSCTL_TIMINGS, VALUE(1), 0 }, 1588 { SENSORS_DDCMON_SERIAL, "Serial number", 1589 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1590 SENSORS_MODE_R, DDCMON_SYSCTL_SERIAL, VALUE(1), 0 }, 1591 { 0 } 1592 }; 1593 1594 static sensors_chip_feature eeprom_features[] = 1595 { 1596 { SENSORS_EEPROM_TYPE, "Memory type", 1597 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1598 SENSORS_MODE_R, EEPROM_SYSCTL1, VALUE(3), 0 }, 1599 { SENSORS_EEPROM_ROWADDR, "SDRAM Size (MB)", 1600 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1601 SENSORS_MODE_R, EEPROM_SYSCTL1, VALUE(4), 0 }, 1602 { SENSORS_EEPROM_COLADDR, "col", 1603 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1604 SENSORS_MODE_R, EEPROM_SYSCTL1, VALUE(5), 0 }, 1605 { SENSORS_EEPROM_NUMROWS, "num rows", 1606 SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1607 SENSORS_MODE_R, EEPROM_SYSCTL1, VALUE(6), 0 }, 1608 { 0 } 1609 }; 1610 1562 1611 sensors_chip_features sensors_chip_features_list[] = 1563 1612 { … … 1596 1645 /* Cheat on ADM1022 for now - no separate #defines */ 1597 1646 { SENSORS_ADM1022_PREFIX, thmc50_features }, 1647 { SENSORS_DDCMON_PREFIX, ddcmon_features }, 1648 { SENSORS_EEPROM_PREFIX, eeprom_features }, 1598 1649 { 0 } 1599 1650 }; -
lm-sensors/trunk/lib/chips.h
r659 r716 725 725 #define SENSORS_THMC50_DIE_CODE 90 /* R */ 726 726 727 /* DDC Monitor */ 728 729 #define SENSORS_DDCMON_PREFIX "ddcmon" 730 731 #define SENSORS_DDCMON_ID 10 732 #define SENSORS_DDCMON_HORSIZE 21 733 #define SENSORS_DDCMON_VERSIZE 22 734 #define SENSORS_DDCMON_HORSYNCMIN 31 735 #define SENSORS_DDCMON_HORSYNCMAX 32 736 #define SENSORS_DDCMON_VERSYNCMIN 33 737 #define SENSORS_DDCMON_VERSYNCMAX 34 738 #define SENSORS_DDCMON_SERIAL 40 739 #define SENSORS_DDCMON_TIMINGS 50 740 741 /* EEPROM (SDRAM DIMM) */ 742 743 #define SENSORS_EEPROM_PREFIX "eeprom" 744 745 #define SENSORS_EEPROM_TYPE 10 746 #define SENSORS_EEPROM_ROWADDR 12 747 #define SENSORS_EEPROM_COLADDR 13 748 #define SENSORS_EEPROM_NUMROWS 14 749 727 750 #endif /* def LIB_SENSORS_CHIPS_H */ -
lm-sensors/trunk/prog/sensors/chips.c
r682 r716 1433 1433 } 1434 1434 1435 void print_ddcmon(const sensors_chip_name *name) 1436 { 1437 char *label = NULL; 1438 double a, b; 1439 int valid, i; 1440 char s[8]; 1441 1442 if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_ID, &label,&valid) && 1443 !sensors_get_feature(*name, SENSORS_DDCMON_ID, &a)) { 1444 if (valid) { 1445 i = (int) a; 1446 s[0] = ((i >> 10) & 0x1f) | 0x40; 1447 s[1] = ((i >> 5) & 0x1f) | 0x40; 1448 s[2] = (i & 0x1f) | 0x40; 1449 s[3] = ((i >> 20) & 0x0f) + '0'; 1450 s[4] = ((i >> 16) & 0x0f) + '0'; 1451 s[5] = ((i >> 28) & 0x0f) + '0'; 1452 s[6] = ((i >> 24) & 0x0f) + '0'; 1453 s[7] = 0; 1454 print_label(label, 24); 1455 printf("%s\n", s); 1456 } 1457 } else 1458 printf("ERROR: data 1\n"); 1459 free_the_label(&label); 1460 1461 if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_SERIAL, &label,&valid) && 1462 !sensors_get_feature(*name, SENSORS_DDCMON_SERIAL, &a)) { 1463 if (valid) { 1464 print_label(label, 24); 1465 printf("%d\n", (int) a); 1466 } 1467 } else 1468 printf("ERROR: data 2\n"); 1469 free_the_label(&label); 1470 1471 if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSIZE, &label,&valid) && 1472 !sensors_get_feature(*name, SENSORS_DDCMON_VERSIZE, &a) && 1473 !sensors_get_feature(*name, SENSORS_DDCMON_HORSIZE, &b)) { 1474 if (valid) { 1475 print_label(label, 24); 1476 printf("%dx%d\n", (int) a, (int) b); 1477 } 1478 } else 1479 printf("ERROR: data 3\n"); 1480 free_the_label(&label); 1481 1482 if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSYNCMIN, &label,&valid) && 1483 !sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMIN, &a) && 1484 !sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMAX, &b)) { 1485 if (valid) { 1486 print_label(label, 24); 1487 printf("%d-%d\n", (int) a, (int) b); 1488 } 1489 } else 1490 printf("ERROR: data 4\n"); 1491 free_the_label(&label); 1492 1493 if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_HORSYNCMIN, &label,&valid) && 1494 !sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMIN, &a) && 1495 !sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMAX, &b)) { 1496 if (valid) { 1497 print_label(label, 24); 1498 printf("%d-%d\n", (int) a, (int) b); 1499 } 1500 } else 1501 printf("ERROR: data 5\n"); 1502 free_the_label(&label); 1503 1504 } 1505 1506 void print_eeprom(const sensors_chip_name *name) 1507 { 1508 char *label = NULL; 1509 double a, b, c; 1510 int valid, i; 1511 1512 if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_TYPE, &label,&valid) && 1513 !sensors_get_feature(*name, SENSORS_EEPROM_TYPE, &a)) { 1514 if (valid) { 1515 if(((int) a) != 4) 1516 return; 1517 print_label(label, 24); 1518 printf("SDRAM DIMM SPD\n"); 1519 } 1520 } else 1521 printf("ERROR: data 1\n"); 1522 free_the_label(&label); 1523 1524 if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_ROWADDR, &label,&valid) && 1525 !sensors_get_feature(*name, SENSORS_EEPROM_ROWADDR, &a) && 1526 !sensors_get_feature(*name, SENSORS_EEPROM_COLADDR, &b) && 1527 !sensors_get_feature(*name, SENSORS_EEPROM_NUMROWS, &c)) { 1528 if (valid) { 1529 print_label(label, 24); 1530 i = (((int) a) & 0x0f) + (((int) b) & 0x0f) + ((int) c) - 16; 1531 if(i > 0 && i <= 10) 1532 printf("%d\n", 1 << i); 1533 else 1534 printf("invalid\n"); 1535 } 1536 } else 1537 printf("ERROR: data 2\n"); 1538 free_the_label(&label); 1539 1540 } 1541 1435 1542 void print_unknown_chip(const sensors_chip_name *name) 1436 1543 { -
lm-sensors/trunk/prog/sensors/chips.h
r438 r716 34 34 extern void print_w83781d(const sensors_chip_name *name); 35 35 extern void print_maxilife(const sensors_chip_name *name); 36 extern void print_ddcmon(const sensors_chip_name *name); 37 extern void print_eeprom(const sensors_chip_name *name); 36 38 37 39 #endif /* def PROG_SENSORS_CHIPS_H */ -
lm-sensors/trunk/prog/sensors/main.c
r636 r716 277 277 !strcmp(name.prefix,"maxilife-as")) 278 278 print_maxilife(&name); 279 else if (!strcmp(name.prefix,"ddcmon")) 280 print_ddcmon(&name); 281 else if (!strcmp(name.prefix,"eeprom")) 282 print_eeprom(&name); 279 283 else 280 284 print_unknown_chip(&name);
