common: Add the i2c module.
[gps-watch.git] / src / common / clock.rs
index 86aa3efb884175e399aa4fe9e9269237f6f3c341..659e572d3fe26d7baaa3547e5c7ac9b00a2e1719 100644 (file)
@@ -78,8 +78,8 @@ const MCG_S_LOCK0: u8 = 1 << 6;
 fn configure_clkdiv() {
     let mut clkdiv1 = Reg32::new(SIM_CLKDIV1);
 
-    clkdiv1.write(1 << SIM_CLKDIV1_OUTDIV4_SHIFT);
-    clkdiv1.modify(|v| v | (1 << SIM_CLKDIV1_OUTDIV1_SHIFT));
+    clkdiv1.write((1 << SIM_CLKDIV1_OUTDIV4_SHIFT)
+                | (1 << SIM_CLKDIV1_OUTDIV1_SHIFT));
 }
 
 fn switch_to_fbe() {
@@ -164,6 +164,11 @@ pub unsafe fn configure() {
     });
 }
 
+pub unsafe fn reset() {
+    switch_to_pbe();
+    switch_to_fbe();
+}
+
 pub unsafe fn configure_usb() {
     let mut scgc4 = Reg32::new(SIM_SCGC4);
     scgc4.modify(|v| v & !SIM_SCGC4_USBOTG);