From 88bcc6fde546f12a31f46b5c8b77631b0c648638 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 18 Mar 2013 17:27:18 +0000
Subject: [PATCH] Speed up Mass Storage bootloader by turning off the internal
 clock divider, as there is enough FLASH space to do so.

---
 Bootloaders/MassStorage/BootloaderMassStorage.c | 3 +++
 Bootloaders/MassStorage/BootloaderMassStorage.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/Bootloaders/MassStorage/BootloaderMassStorage.c b/Bootloaders/MassStorage/BootloaderMassStorage.c
index a5e953a5b..c891f8516 100644
--- a/Bootloaders/MassStorage/BootloaderMassStorage.c
+++ b/Bootloaders/MassStorage/BootloaderMassStorage.c
@@ -104,6 +104,9 @@ static void SetupHardware(void)
 	MCUSR &= ~(1 << WDRF);
 	wdt_disable();
 
+	/* Disable clock division */
+	clock_prescale_set(clock_div_1);
+
 	/* Relocate the interrupt vector table to the bootloader section */
 	MCUCR = (1 << IVCE);
 	MCUCR = (1 << IVSEL);
diff --git a/Bootloaders/MassStorage/BootloaderMassStorage.h b/Bootloaders/MassStorage/BootloaderMassStorage.h
index dd67381f7..05b0eedfe 100644
--- a/Bootloaders/MassStorage/BootloaderMassStorage.h
+++ b/Bootloaders/MassStorage/BootloaderMassStorage.h
@@ -39,6 +39,7 @@
 	/* Includes: */
 		#include <avr/io.h>
 		#include <avr/wdt.h>
+		#include <avr/power.h>
 		#include <avr/interrupt.h>
 		#include <string.h>
 
-- 
GitLab