snapshot of my first "working" version from turn-on of Altus Metrum v0.1
[fw/openalt] / i2c / i2cInt.c
index 80f0bdf706e5cb970306d26d77eff8aadd152776..24cb26d6d86908655a6bc5417a021fc915bbdd8c 100644 (file)
@@ -185,8 +185,16 @@ void i2cInit (void)
 
   I2C0_CONCLR = I2C_CONCLR_MASK;
   I2C0_CONSET = I2C_CONSET_I2EN;
+#ifdef FC1025
+  // the Microchip 24FC1025 can handle a 1 Mhz clock
+  // PCLK / (i2c_clock * 2), with 48 Mhz PCLK that's 24...
+  // for AltusMetrum, 14.7456 Mhz xtal, it's 29.4912, use 30.
+  I2C0_SCLL   = 30;
+  I2C0_SCLH   = 30;
+#else
   I2C0_SCLL   = 240;
   I2C0_SCLH   = 240;
+#endif
 
   //
   //  Initialize the interrupt vector