- { 0, 850, 4, 4, 6, 0xff, 2, 0},
- {851, 950, 4, 5, 7, 0xff, 2, 0},
- {951, 1050, 4, 5, 8, 0xff, 2, 0},
- {1051, 1250, 4, 5, 10, 0xff, 2, 0},
- {1251, 1350, 4, 5, 11, 0xff, 2, 0},
- { 0, 850, 2, 5, 6, 0xff, 2, 0},
- {851, 950, 2, 5, 7, 0xff, 2, 0},
- {951, 1050, 2, 5, 7, 0xff, 2, 0},
- {1051, 1250, 2, 4, 6, 0xff, 2, 0},
- {1251, 1350, 2, 5, 7, 0xff, 2, 0},
- },
-
- {
+ {4, 850, 4, 6, 0xff, 2, 0},
+ {4, 950, 5, 7, 0xff, 2, 0},
+ {4, 1050, 5, 8, 0xff, 2, 0},
+ {4, 1250, 5, 10, 0xff, 2, 0},
+ {4, 1350, 5, 11, 0xff, 2, 0},
+ {4, 1666, 5, 12, 0xff, 2, 0},
+ {2, 850, 5, 6, 0xff, 2, 0},
+ {2, 1050, 5, 7, 0xff, 2, 0},
+ {2, 1250, 4, 6, 0xff, 2, 0},
+ {2, 1350, 5, 7, 0xff, 2, 0},
+ {2, 1666, 5, 8, 0xff, 2, 0},
+ {1, 1250, 4, 6, 0xff, 2, 0},
+ {1, 1335, 4, 7, 0xff, 2, 0},
+ {1, 1666, 4, 8, 0xff, 2, 0},
+ {}
+};
+
+/*
+ * The two slots have slightly different timing. The center values are good
+ * for both slots. We use identical speed tables for them. In future use, if
+ * DIMMs have fewer center values that require two separated tables, copy the
+ * udimm0 table to udimm1 and make changes to clk_adjust and wrlvl_start.
+ */
+static const struct board_specific_parameters *udimms[] = {
+ udimm0,
+ udimm0,
+};
+
+static const struct board_specific_parameters rdimm0[] = {