+
+pub unsafe fn reset() {
+ switch_to_pbe();
+ switch_to_fbe();
+}
+
+pub unsafe fn enable_osc0() {
+ Reg8::new(OSC0_CR).write(OSC_CR_ERCLKEN);
+}
+
+pub unsafe fn configure_usb() {
+ let mut scgc4 = Reg32::new(SIM_SCGC4);
+ scgc4.modify(|v| v & !SIM_SCGC4_USBOTG);
+
+ let mut sopt1 = Reg32::new(SIM_SOPT1);
+ sopt1.modify(|v| v | SIM_SOPT1_USBREGEN);
+
+ let mut sopt2 = Reg32::new(SIM_SOPT2);
+ sopt2.modify(|v| v | SIM_SOPT2_USBSRC);
+
+ scgc4.modify(|v| v | SIM_SCGC4_USBOTG);
+}