Index: lm-sensors/trunk/lib/chips.c
===================================================================
--- lm-sensors/trunk/lib/chips.c	(revision 403)
+++ lm-sensors/trunk/lib/chips.c	(revision 406)
@@ -1231,95 +1231,285 @@
   };
 
-static sensors_chip_feature maxi_features[] =
+static sensors_chip_feature maxi_cg_features[] =
   { 
-    { SENSORS_MAXI_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(3), 0 },
-    { SENSORS_MAXI_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(3), 0 },
-    { SENSORS_MAXI_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(3), 0 },
-    { SENSORS_MAXI_FAN1_MIN, "fan1_min", SENSORS_MAXI_FAN1, SENSORS_MAXI_FAN1,
+    { SENSORS_MAXI_CG_FAN1_MIN, "fan1_min", SENSORS_MAXI_CG_FAN1, SENSORS_MAXI_CG_FAN1,
                              SENSORS_MODE_RW, MAXI_SYSCTL_FAN1, VALUE(1), 0 },
-    { SENSORS_MAXI_FAN2_MIN, "fan2_min", SENSORS_MAXI_FAN2, SENSORS_MAXI_FAN2,
+    { SENSORS_MAXI_CG_FAN2_MIN, "fan2_min", SENSORS_MAXI_CG_FAN2, SENSORS_MAXI_CG_FAN2,
                              SENSORS_MODE_RW, MAXI_SYSCTL_FAN2, VALUE(1), 0 },
-    { SENSORS_MAXI_FAN3_MIN, "fan3_min", SENSORS_MAXI_FAN3, SENSORS_MAXI_FAN3,
+    { SENSORS_MAXI_CG_FAN3_MIN, "fan3_min", SENSORS_MAXI_CG_FAN3, SENSORS_MAXI_CG_FAN3,
                              SENSORS_MODE_RW, MAXI_SYSCTL_FAN3, VALUE(1), 0 },
-    { SENSORS_MAXI_FAN1_DIV, "fan1_div", SENSORS_MAXI_FAN1, SENSORS_MAXI_FAN1,
+    { SENSORS_MAXI_CG_FAN1_DIV, "fan1_div", SENSORS_MAXI_CG_FAN1, SENSORS_NO_MAPPING,
                              SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(2), 0 },
-    { SENSORS_MAXI_FAN2_DIV, "fan2_div", SENSORS_MAXI_FAN2, SENSORS_MAXI_FAN2,
+    { SENSORS_MAXI_CG_FAN2_DIV, "fan2_div", SENSORS_MAXI_CG_FAN2, SENSORS_NO_MAPPING,
                              SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(2), 0 },
-    { SENSORS_MAXI_FAN3_DIV, "fan3_div", SENSORS_MAXI_FAN3, SENSORS_MAXI_FAN3,
+    { SENSORS_MAXI_CG_FAN3_DIV, "fan3_div", SENSORS_MAXI_CG_FAN3, SENSORS_NO_MAPPING,
                              SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(2), 0 },
-    { SENSORS_MAXI_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                           SENSORS_MODE_R, MAXI_SYSCTL_TEMP1, VALUE(3), 1 },
-    { SENSORS_MAXI_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                           SENSORS_MODE_R, MAXI_SYSCTL_TEMP2, VALUE(3), 1 },
-    { SENSORS_MAXI_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                           SENSORS_MODE_R, MAXI_SYSCTL_TEMP3, VALUE(3), 1 },
-    { SENSORS_MAXI_TEMP4, "temp4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_TEMP4, "temp4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                           SENSORS_MODE_R, MAXI_SYSCTL_TEMP4, VALUE(3), 1 },
-    { SENSORS_MAXI_TEMP5, "temp5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_TEMP5, "temp5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                           SENSORS_MODE_R, MAXI_SYSCTL_TEMP5, VALUE(3), 1 },
-    { SENSORS_MAXI_TEMP1_MAX, "temp1_max", SENSORS_MAXI_TEMP1,
-                              SENSORS_MAXI_TEMP1, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP1_MAX, "temp1_max", SENSORS_MAXI_CG_TEMP1,
+                              SENSORS_MAXI_CG_TEMP1, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP1, VALUE(1), 1 },
-    { SENSORS_MAXI_TEMP2_MAX, "temp2_max", SENSORS_MAXI_TEMP2,
-                              SENSORS_MAXI_TEMP2, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP2_MAX, "temp2_max", SENSORS_MAXI_CG_TEMP2,
+                              SENSORS_MAXI_CG_TEMP2, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP2, VALUE(1), 1 },
-    { SENSORS_MAXI_TEMP3_MAX, "temp3_max", SENSORS_MAXI_TEMP3,
-                              SENSORS_MAXI_TEMP3, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP3_MAX, "temp3_max", SENSORS_MAXI_CG_TEMP3,
+                              SENSORS_MAXI_CG_TEMP3, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP3, VALUE(1), 1 },
-    { SENSORS_MAXI_TEMP4_MAX, "temp4_max", SENSORS_MAXI_TEMP4,
-                              SENSORS_MAXI_TEMP4, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP4_MAX, "temp4_max", SENSORS_MAXI_CG_TEMP4,
+                              SENSORS_MAXI_CG_TEMP4, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP4, VALUE(1), 1 },
-    { SENSORS_MAXI_TEMP5_MAX, "temp5_max", SENSORS_MAXI_TEMP5,
-                              SENSORS_MAXI_TEMP5, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP5_MAX, "temp5_max", SENSORS_MAXI_CG_TEMP5,
+                              SENSORS_MAXI_CG_TEMP5, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP5, VALUE(1), 1 },
-    { SENSORS_MAXI_TEMP1_HYST, "temp1_hyst", SENSORS_MAXI_TEMP1,
-                              SENSORS_MAXI_TEMP1, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP1_HYST, "temp1_hyst", SENSORS_MAXI_CG_TEMP1,
+                              SENSORS_MAXI_CG_TEMP1, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP1, VALUE(2), 1 },
-    { SENSORS_MAXI_TEMP2_HYST, "temp2_hyst", SENSORS_MAXI_TEMP2,
-                              SENSORS_MAXI_TEMP2, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP2_HYST, "temp2_hyst", SENSORS_MAXI_CG_TEMP2,
+                              SENSORS_MAXI_CG_TEMP2, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP2, VALUE(2), 1 },
-    { SENSORS_MAXI_TEMP3_HYST, "temp3_hyst", SENSORS_MAXI_TEMP3,
-                              SENSORS_MAXI_TEMP3, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP3_HYST, "temp3_hyst", SENSORS_MAXI_CG_TEMP3,
+                              SENSORS_MAXI_CG_TEMP3, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP3, VALUE(2), 1 },
-    { SENSORS_MAXI_TEMP4_HYST, "temp4_hyst", SENSORS_MAXI_TEMP4,
-                              SENSORS_MAXI_TEMP4, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP4_HYST, "temp4_hyst", SENSORS_MAXI_CG_TEMP4,
+                              SENSORS_MAXI_CG_TEMP4, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP4, VALUE(2), 1 },
-    { SENSORS_MAXI_TEMP5_HYST, "temp5_hyst", SENSORS_MAXI_TEMP5,
-                              SENSORS_MAXI_TEMP5, SENSORS_MODE_R, 
+    { SENSORS_MAXI_CG_TEMP5_HYST, "temp5_hyst", SENSORS_MAXI_CG_TEMP5,
+                              SENSORS_MAXI_CG_TEMP5, SENSORS_MODE_R, 
                               MAXI_SYSCTL_TEMP5, VALUE(2), 1 },
-    { SENSORS_MAXI_PLL, "pll", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_PLL, "pll", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                         SENSORS_MODE_R, MAXI_SYSCTL_PLL, VALUE(3), 2 },
-    { SENSORS_MAXI_PLL_MIN, "pll_min", SENSORS_MAXI_PLL, SENSORS_MAXI_PLL,
+    { SENSORS_MAXI_CG_PLL_MIN, "pll_min", SENSORS_MAXI_CG_PLL, SENSORS_MAXI_CG_PLL,
                             SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(1), 2 },
-    { SENSORS_MAXI_PLL_MAX, "pll_max", SENSORS_MAXI_PLL, SENSORS_MAXI_PLL,
+    { SENSORS_MAXI_CG_PLL_MAX, "pll_max", SENSORS_MAXI_CG_PLL, SENSORS_MAXI_CG_PLL,
                             SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(2), 2 },
-    { SENSORS_MAXI_VID1, "vid1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_VID1, "vid1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_VID1, VALUE(3), 4 },
-    { SENSORS_MAXI_VID2, "vid2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_VID2, "vid2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_VID2, VALUE(3), 4 },
-    { SENSORS_MAXI_VID3, "vid3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_VID3, "vid3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_VID3, VALUE(3), 4 },
-    { SENSORS_MAXI_VID4, "vid4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+    { SENSORS_MAXI_CG_VID4, "vid4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
                          SENSORS_MODE_R, MAXI_SYSCTL_VID4, VALUE(3), 4 },
-    { SENSORS_MAXI_VID1_MIN, "vid1_min", SENSORS_MAXI_VID1, SENSORS_MAXI_VID1,
+    { SENSORS_MAXI_CG_VID1_MIN, "vid1_min", SENSORS_MAXI_CG_VID1, SENSORS_MAXI_CG_VID1,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(1), 4 },
-    { SENSORS_MAXI_VID2_MIN, "vid2_min", SENSORS_MAXI_VID2, SENSORS_MAXI_VID2,
+    { SENSORS_MAXI_CG_VID2_MIN, "vid2_min", SENSORS_MAXI_CG_VID2, SENSORS_MAXI_CG_VID2,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(1), 4 },
-    { SENSORS_MAXI_VID3_MIN, "vid3_min", SENSORS_MAXI_VID3, SENSORS_MAXI_VID3,
+    { SENSORS_MAXI_CG_VID3_MIN, "vid3_min", SENSORS_MAXI_CG_VID3, SENSORS_MAXI_CG_VID3,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(1), 4 },
-    { SENSORS_MAXI_VID4_MIN, "vid4_min", SENSORS_MAXI_VID4, SENSORS_MAXI_VID4,
+    { SENSORS_MAXI_CG_VID4_MIN, "vid4_min", SENSORS_MAXI_CG_VID4, SENSORS_MAXI_CG_VID4,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(1), 4 },
-    { SENSORS_MAXI_VID1_MAX, "vid1_max", SENSORS_MAXI_VID1, SENSORS_MAXI_VID1,
+    { SENSORS_MAXI_CG_VID1_MAX, "vid1_max", SENSORS_MAXI_CG_VID1, SENSORS_MAXI_CG_VID1,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(2), 4 },
-    { SENSORS_MAXI_VID2_MAX, "vid2_max", SENSORS_MAXI_VID2, SENSORS_MAXI_VID2,
+    { SENSORS_MAXI_CG_VID2_MAX, "vid2_max", SENSORS_MAXI_CG_VID2, SENSORS_MAXI_CG_VID2,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(2), 4 },
-    { SENSORS_MAXI_VID3_MAX, "vid3_max", SENSORS_MAXI_VID3, SENSORS_MAXI_VID3,
+    { SENSORS_MAXI_CG_VID3_MAX, "vid3_max", SENSORS_MAXI_CG_VID3, SENSORS_MAXI_CG_VID3,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(2), 4 },
-    { SENSORS_MAXI_VID4_MAX, "vid4_max", SENSORS_MAXI_VID4, SENSORS_MAXI_VID4,
+    { SENSORS_MAXI_CG_VID4_MAX, "vid4_max", SENSORS_MAXI_CG_VID4, SENSORS_MAXI_CG_VID4,
                              SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(2), 4 },
-    { SENSORS_MAXI_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
+    { SENSORS_MAXI_CG_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
+                           SENSORS_MODE_R, MAXI_SYSCTL_ALARMS, VALUE(1), 0 },
+    { 0 }
+  };
+
+static sensors_chip_feature maxi_co_features[] =
+  { 
+    { SENSORS_MAXI_CO_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(3), 0 },
+    { SENSORS_MAXI_CO_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(3), 0 },
+    { SENSORS_MAXI_CO_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(3), 0 },
+    { SENSORS_MAXI_CO_FAN1_MIN, "fan1_min", SENSORS_MAXI_CO_FAN1, SENSORS_MAXI_CO_FAN1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN1, VALUE(1), 0 },
+    { SENSORS_MAXI_CO_FAN2_MIN, "fan2_min", SENSORS_MAXI_CO_FAN2, SENSORS_MAXI_CO_FAN2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN2, VALUE(1), 0 },
+    { SENSORS_MAXI_CO_FAN3_MIN, "fan3_min", SENSORS_MAXI_CO_FAN3, SENSORS_MAXI_CO_FAN3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN3, VALUE(1), 0 },
+    { SENSORS_MAXI_CO_FAN1_DIV, "fan1_div", SENSORS_MAXI_CO_FAN1, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(2), 0 },
+    { SENSORS_MAXI_CO_FAN2_DIV, "fan2_div", SENSORS_MAXI_CO_FAN2, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(2), 0 },
+    { SENSORS_MAXI_CO_FAN3_DIV, "fan3_div", SENSORS_MAXI_CO_FAN3, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(2), 0 },
+    { SENSORS_MAXI_CO_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP1, VALUE(3), 1 },
+    { SENSORS_MAXI_CO_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP2, VALUE(3), 1 },
+    { SENSORS_MAXI_CO_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP3, VALUE(3), 1 },
+    { SENSORS_MAXI_CO_TEMP4, "temp4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP4, VALUE(3), 1 },
+    { SENSORS_MAXI_CO_TEMP5, "temp5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP5, VALUE(3), 1 },
+    { SENSORS_MAXI_CO_TEMP1_MAX, "temp1_max", SENSORS_MAXI_CO_TEMP1,
+                              SENSORS_MAXI_CO_TEMP1, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP1, VALUE(1), 1 },
+    { SENSORS_MAXI_CO_TEMP2_MAX, "temp2_max", SENSORS_MAXI_CO_TEMP2,
+                              SENSORS_MAXI_CO_TEMP2, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP2, VALUE(1), 1 },
+    { SENSORS_MAXI_CO_TEMP3_MAX, "temp3_max", SENSORS_MAXI_CO_TEMP3,
+                              SENSORS_MAXI_CO_TEMP3, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP3, VALUE(1), 1 },
+    { SENSORS_MAXI_CO_TEMP4_MAX, "temp4_max", SENSORS_MAXI_CO_TEMP4,
+                              SENSORS_MAXI_CO_TEMP4, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP4, VALUE(1), 1 },
+    { SENSORS_MAXI_CO_TEMP5_MAX, "temp5_max", SENSORS_MAXI_CO_TEMP5,
+                              SENSORS_MAXI_CO_TEMP5, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP5, VALUE(1), 1 },
+    { SENSORS_MAXI_CO_TEMP1_HYST, "temp1_hyst", SENSORS_MAXI_CO_TEMP1,
+                              SENSORS_MAXI_CO_TEMP1, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP1, VALUE(2), 1 },
+    { SENSORS_MAXI_CO_TEMP2_HYST, "temp2_hyst", SENSORS_MAXI_CO_TEMP2,
+                              SENSORS_MAXI_CO_TEMP2, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP2, VALUE(2), 1 },
+    { SENSORS_MAXI_CO_TEMP3_HYST, "temp3_hyst", SENSORS_MAXI_CO_TEMP3,
+                              SENSORS_MAXI_CO_TEMP3, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP3, VALUE(2), 1 },
+    { SENSORS_MAXI_CO_TEMP4_HYST, "temp4_hyst", SENSORS_MAXI_CO_TEMP4,
+                              SENSORS_MAXI_CO_TEMP4, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP4, VALUE(2), 1 },
+    { SENSORS_MAXI_CO_TEMP5_HYST, "temp5_hyst", SENSORS_MAXI_CO_TEMP5,
+                              SENSORS_MAXI_CO_TEMP5, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP5, VALUE(2), 1 },
+    { SENSORS_MAXI_CO_PLL, "pll", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                        SENSORS_MODE_R, MAXI_SYSCTL_PLL, VALUE(3), 2 },
+    { SENSORS_MAXI_CO_PLL_MIN, "pll_min", SENSORS_MAXI_CO_PLL, SENSORS_MAXI_CO_PLL,
+                            SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(1), 2 },
+    { SENSORS_MAXI_CO_PLL_MAX, "pll_max", SENSORS_MAXI_CO_PLL, SENSORS_MAXI_CO_PLL,
+                            SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(2), 2 },
+    { SENSORS_MAXI_CO_VID1, "vid1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID1, VALUE(3), 4 },
+    { SENSORS_MAXI_CO_VID2, "vid2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID2, VALUE(3), 4 },
+    { SENSORS_MAXI_CO_VID3, "vid3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID3, VALUE(3), 4 },
+    { SENSORS_MAXI_CO_VID4, "vid4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID4, VALUE(3), 4 },
+    { SENSORS_MAXI_CO_VID1_MIN, "vid1_min", SENSORS_MAXI_CO_VID1, SENSORS_MAXI_CO_VID1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(1), 4 },
+    { SENSORS_MAXI_CO_VID2_MIN, "vid2_min", SENSORS_MAXI_CO_VID2, SENSORS_MAXI_CO_VID2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(1), 4 },
+    { SENSORS_MAXI_CO_VID3_MIN, "vid3_min", SENSORS_MAXI_CO_VID3, SENSORS_MAXI_CO_VID3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(1), 4 },
+    { SENSORS_MAXI_CO_VID4_MIN, "vid4_min", SENSORS_MAXI_CO_VID4, SENSORS_MAXI_CO_VID4,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(1), 4 },
+    { SENSORS_MAXI_CO_VID1_MAX, "vid1_max", SENSORS_MAXI_CO_VID1, SENSORS_MAXI_CO_VID1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(2), 4 },
+    { SENSORS_MAXI_CO_VID2_MAX, "vid2_max", SENSORS_MAXI_CO_VID2, SENSORS_MAXI_CO_VID2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(2), 4 },
+    { SENSORS_MAXI_CG_VID3_MAX, "vid3_max", SENSORS_MAXI_CO_VID3, SENSORS_MAXI_CO_VID3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(2), 4 },
+    { SENSORS_MAXI_CO_VID4_MAX, "vid4_max", SENSORS_MAXI_CO_VID4, SENSORS_MAXI_CG_VID4,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(2), 4 },
+    { SENSORS_MAXI_CO_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
+                           SENSORS_MODE_R, MAXI_SYSCTL_ALARMS, VALUE(1), 0 },
+    { 0 }
+  };
+
+static sensors_chip_feature maxi_as_features[] =
+  { 
+    { SENSORS_MAXI_AS_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(3), 0 },
+    { SENSORS_MAXI_AS_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(3), 0 },
+    { SENSORS_MAXI_AS_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(3), 0 },
+    { SENSORS_MAXI_AS_FAN1_MIN, "fan1_min", SENSORS_MAXI_AS_FAN1, SENSORS_MAXI_AS_FAN1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN1, VALUE(1), 0 },
+    { SENSORS_MAXI_AS_FAN2_MIN, "fan2_min", SENSORS_MAXI_AS_FAN2, SENSORS_MAXI_AS_FAN2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN2, VALUE(1), 0 },
+    { SENSORS_MAXI_AS_FAN3_MIN, "fan3_min", SENSORS_MAXI_AS_FAN3, SENSORS_MAXI_AS_FAN3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_FAN3, VALUE(1), 0 },
+    { SENSORS_MAXI_AS_FAN1_DIV, "fan1_div", SENSORS_MAXI_AS_FAN1, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN1, VALUE(2), 0 },
+    { SENSORS_MAXI_AS_FAN2_DIV, "fan2_div", SENSORS_MAXI_AS_FAN2, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN2, VALUE(2), 0 },
+    { SENSORS_MAXI_AS_FAN3_DIV, "fan3_div", SENSORS_MAXI_AS_FAN3, SENSORS_NO_MAPPING,
+                             SENSORS_MODE_R, MAXI_SYSCTL_FAN3, VALUE(2), 0 },
+    { SENSORS_MAXI_AS_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP1, VALUE(3), 1 },
+    { SENSORS_MAXI_AS_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP2, VALUE(3), 1 },
+    { SENSORS_MAXI_AS_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP3, VALUE(3), 1 },
+    { SENSORS_MAXI_AS_TEMP4, "temp4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP4, VALUE(3), 1 },
+    { SENSORS_MAXI_AS_TEMP5, "temp5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                          SENSORS_MODE_R, MAXI_SYSCTL_TEMP5, VALUE(3), 1 },
+    { SENSORS_MAXI_AS_TEMP1_MAX, "temp1_max", SENSORS_MAXI_AS_TEMP1,
+                              SENSORS_MAXI_AS_TEMP1, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP1, VALUE(1), 1 },
+    { SENSORS_MAXI_AS_TEMP2_MAX, "temp2_max", SENSORS_MAXI_AS_TEMP2,
+                              SENSORS_MAXI_AS_TEMP2, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP2, VALUE(1), 1 },
+    { SENSORS_MAXI_AS_TEMP3_MAX, "temp3_max", SENSORS_MAXI_AS_TEMP3,
+                              SENSORS_MAXI_AS_TEMP3, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP3, VALUE(1), 1 },
+    { SENSORS_MAXI_AS_TEMP4_MAX, "temp4_max", SENSORS_MAXI_AS_TEMP4,
+                              SENSORS_MAXI_AS_TEMP4, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP4, VALUE(1), 1 },
+    { SENSORS_MAXI_AS_TEMP5_MAX, "temp5_max", SENSORS_MAXI_AS_TEMP5,
+                              SENSORS_MAXI_AS_TEMP5, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP5, VALUE(1), 1 },
+    { SENSORS_MAXI_AS_TEMP1_HYST, "temp1_hyst", SENSORS_MAXI_AS_TEMP1,
+                              SENSORS_MAXI_AS_TEMP1, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP1, VALUE(2), 1 },
+    { SENSORS_MAXI_AS_TEMP2_HYST, "temp2_hyst", SENSORS_MAXI_AS_TEMP2,
+                              SENSORS_MAXI_AS_TEMP2, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP2, VALUE(2), 1 },
+    { SENSORS_MAXI_AS_TEMP3_HYST, "temp3_hyst", SENSORS_MAXI_AS_TEMP3,
+                              SENSORS_MAXI_AS_TEMP3, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP3, VALUE(2), 1 },
+    { SENSORS_MAXI_AS_TEMP4_HYST, "temp4_hyst", SENSORS_MAXI_AS_TEMP4,
+                              SENSORS_MAXI_AS_TEMP4, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP4, VALUE(2), 1 },
+    { SENSORS_MAXI_AS_TEMP5_HYST, "temp5_hyst", SENSORS_MAXI_AS_TEMP5,
+                              SENSORS_MAXI_AS_TEMP5, SENSORS_MODE_R, 
+                              MAXI_SYSCTL_TEMP5, VALUE(2), 1 },
+    { SENSORS_MAXI_AS_PLL, "pll", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                        SENSORS_MODE_R, MAXI_SYSCTL_PLL, VALUE(3), 2 },
+    { SENSORS_MAXI_AS_PLL_MIN, "pll_min", SENSORS_MAXI_AS_PLL, SENSORS_MAXI_AS_PLL,
+                            SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(1), 2 },
+    { SENSORS_MAXI_AS_PLL_MAX, "pll_max", SENSORS_MAXI_AS_PLL, SENSORS_MAXI_AS_PLL,
+                            SENSORS_MODE_RW, MAXI_SYSCTL_PLL, VALUE(2), 2 },
+    { SENSORS_MAXI_AS_VID1, "vid1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID1, VALUE(3), 4 },
+    { SENSORS_MAXI_AS_VID2, "vid2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID2, VALUE(3), 4 },
+    { SENSORS_MAXI_AS_VID3, "vid3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID3, VALUE(3), 4 },
+    { SENSORS_MAXI_AS_VID4, "vid4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
+                         SENSORS_MODE_R, MAXI_SYSCTL_VID4, VALUE(3), 4 },
+    { SENSORS_MAXI_AS_VID1_MIN, "vid1_min", SENSORS_MAXI_AS_VID1, SENSORS_MAXI_AS_VID1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(1), 4 },
+    { SENSORS_MAXI_AS_VID2_MIN, "vid2_min", SENSORS_MAXI_AS_VID2, SENSORS_MAXI_AS_VID2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(1), 4 },
+    { SENSORS_MAXI_AS_VID3_MIN, "vid3_min", SENSORS_MAXI_AS_VID3, SENSORS_MAXI_AS_VID3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(1), 4 },
+    { SENSORS_MAXI_AS_VID4_MIN, "vid4_min", SENSORS_MAXI_AS_VID4, SENSORS_MAXI_AS_VID4,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(1), 4 },
+    { SENSORS_MAXI_AS_VID1_MAX, "vid1_max", SENSORS_MAXI_AS_VID1, SENSORS_MAXI_AS_VID1,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID1, VALUE(2), 4 },
+    { SENSORS_MAXI_AS_VID2_MAX, "vid2_max", SENSORS_MAXI_AS_VID2, SENSORS_MAXI_AS_VID2,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID2, VALUE(2), 4 },
+    { SENSORS_MAXI_AS_VID3_MAX, "vid3_max", SENSORS_MAXI_AS_VID3, SENSORS_MAXI_AS_VID3,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID3, VALUE(2), 4 },
+    { SENSORS_MAXI_AS_VID4_MAX, "vid4_max", SENSORS_MAXI_AS_VID4, SENSORS_MAXI_CG_VID4,
+                             SENSORS_MODE_RW, MAXI_SYSCTL_VID4, VALUE(2), 4 },
+    { SENSORS_MAXI_AS_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
                            SENSORS_MODE_R, MAXI_SYSCTL_ALARMS, VALUE(1), 0 },
     { 0 }
@@ -1344,7 +1534,7 @@
  { SENSORS_MAX1617A_PREFIX, max1617a_features },
  { SENSORS_SIS5595_PREFIX, sis5595_features },
- { SENSORS_MAXI_CG_PREFIX, maxi_features },
- { SENSORS_MAXI_CO_PREFIX, maxi_features },
- { SENSORS_MAXI_AS_PREFIX, maxi_features },
+ { SENSORS_MAXI_CG_PREFIX, maxi_cg_features },
+ { SENSORS_MAXI_CO_PREFIX, maxi_co_features },
+ { SENSORS_MAXI_AS_PREFIX, maxi_as_features },
  { 0 }
 };
