-#include <at91sam7s512.h>
-#include <config_gpio.h>
-
-#define WDT_HIT() AT91C_BASE_WDTC->WDTC_WDCR = 0xa5000001
-
-#define PWM_CH_MODE_PRESCALER(x) ((x)<<0)
-#define PWM_CHANNEL(x) (1<<(x))
-
-#define TC_CMR_TCCLKS_TIMER_CLOCK1 (0<<0)
-#define TC_CMR_TCCLKS_TIMER_CLOCK2 (1<<0)
-#define TC_CMR_TCCLKS_TIMER_CLOCK3 (2<<0)
-#define TC_CMR_TCCLKS_TIMER_CLOCK4 (3<<0)
-#define TC_CMR_TCCLKS_TIMER_CLOCK5 (4<<0)
-
-#define ADC_CHAN_LF 4
-#define ADC_CHAN_HF 5
-#define ADC_MODE_PRESCALE(x) ((x)<<8)
-#define ADC_MODE_STARTUP_TIME(x) ((x)<<16)
-#define ADC_MODE_SAMPLE_HOLD_TIME(x) ((x)<<24)
-#define ADC_CHANNEL(x) (1<<(x))
-#define ADC_END_OF_CONVERSION(x) (1<<(x))
-
-#define SSC_CLOCK_MODE_START(x) ((x)<<8)
-#define SSC_FRAME_MODE_WORDS_PER_TRANSFER(x) ((x)<<8)
-#define SSC_CLOCK_MODE_SELECT(x) ((x)<<0)
-#define SSC_FRAME_MODE_BITS_IN_WORD(x) (((x)-1)<<0)
-
-#define MC_FLASH_COMMAND_KEY ((0x5a)<<24)
-#define MC_FLASH_STATUS_READY (1<<0)
-#define MC_FLASH_STATUS_LOCKE (1<<2)
-#define MC_FLASH_STATUS_PROGE (1<<3)
-#define MC_FLASH_MODE_FLASH_WAIT_STATES(x) ((x)<<8)
-#define MC_FLASH_MODE_MASTER_CLK_IN_MHZ(x) ((x)<<16)
-#define MC_FLASH_COMMAND_PAGEN(x) ((x)<<8)
-
-#define RST_CONTROL_KEY (0xa5<<24)
-
-#define PMC_MAIN_OSC_ENABLE (1<<0)
-#define PMC_MAIN_OSC_STABILIZED (1<<0)
-#define PMC_MAIN_OSC_PLL_LOCK (1<<2)
-#define PMC_MAIN_OSC_MCK_READY (1<<3)
-
-#define PMC_MAIN_OSC_STARTUP_DELAY(x) ((x)<<8)
-#define PMC_PLL_DIVISOR(x) (x)
-#define PMC_CLK_PRESCALE_DIV_2 (1<<2)
-#define PMC_PLL_MULTIPLIER(x) (((x)-1)<<16)
-#define PMC_PLL_COUNT_BEFORE_LOCK(x) ((x)<<8)
-#define PMC_PLL_FREQUENCY_RANGE(x) ((x)<<14)
-#define PMC_PLL_USB_DIVISOR(x) ((x)<<28)
-
-#define UDP_INTERRUPT_ENDPOINT(x) (1<<(x))
-#define UDP_CSR_BYTES_RECEIVED(x) (((x) >> 16) & 0x7ff)
+#include "at91sam7s512.h"
+#include "config_gpio.h"
+#include "usb_cmd.h"
+
+#define WDT_HIT() AT91C_BASE_WDTC->WDTC_WDCR = 0xa5000001
+
+#define PWM_CH_MODE_PRESCALER(x) ((x)<<0)
+#define PWM_CHANNEL(x) (1<<(x))
+
+#define ADC_CHAN_LF 4
+#define ADC_CHAN_HF_LOW 5
+#define ADC_CHAN_HF_HIGH 7
+#define ADC_MODE_PRESCALE(x) ((x)<<8)
+#define ADC_MODE_STARTUP_TIME(x) ((x)<<16)
+#define ADC_MODE_SAMPLE_HOLD_TIME(x) ((x)<<24)
+#define ADC_CHANNEL(x) (1<<(x))
+#define ADC_END_OF_CONVERSION(x) (1<<(x))
+
+#define SSC_CLOCK_MODE_START(x) ((x)<<8)
+#define SSC_FRAME_MODE_WORDS_PER_TRANSFER(x) ((x)<<8)
+#define SSC_CLOCK_MODE_SELECT(x) ((x)<<0)
+#define SSC_FRAME_MODE_BITS_IN_WORD(x) (((x)-1)<<0)
+
+#define MC_FLASH_COMMAND_KEY ((0x5a)<<24)
+#define MC_FLASH_MODE_FLASH_WAIT_STATES(x) ((x)<<8)
+#define MC_FLASH_MODE_MASTER_CLK_IN_MHZ(x) (((x)+((x)/2))<<16)
+#define MC_FLASH_COMMAND_PAGEN(x) ((x)<<8)
+
+#define RST_CONTROL_KEY (0xa5<<24)
+
+#define PMC_MAIN_OSC_STARTUP_DELAY(x) ((x)<<8)
+#define PMC_PLL_DIVISOR(x) (x)
+#define PMC_PLL_MULTIPLIER(x) (((x)-1)<<16)
+#define PMC_PLL_COUNT_BEFORE_LOCK(x) ((x)<<8)
+#define PMC_PLL_FREQUENCY_RANGE(x) ((x)<<14)
+#define PMC_PLL_USB_DIVISOR(x) ((x)<<28)
+
+#define UDP_INTERRUPT_ENDPOINT(x) (1<<(x))
+#define UDP_CSR_BYTES_RECEIVED(x) (((x) >> 16) & 0x7ff)