diff --git a/flash/bootloader/Makefile b/flash/bootloader/Makefile index ae56cf9425..3c7171cfb8 100644 --- a/flash/bootloader/Makefile +++ b/flash/bootloader/Makefile @@ -23,7 +23,7 @@ LDS := $(TARGET).lds ifndef PLATFORM not_configured: @echo "No platform given." - @echo "Use make PLATFORM=PLAYER|RECORDER|RECORDER|FM {NO_ROM=1}" + @echo "Use make PLATFORM=PLAYER|RECORDER|RECORDER|FM|ONDIO {NO_ROM=1}" ##else ##configured: ## @echo "Building bootloader for platform "$(PLATFORM) diff --git a/flash/bootloader/bootloader.c b/flash/bootloader/bootloader.c index 543a950129..a6fe91d283 100644 --- a/flash/bootloader/bootloader.c +++ b/flash/bootloader/bootloader.c @@ -143,6 +143,10 @@ void PlatformInit(void) PACR2 &= 0xFBFF; // GPIO for PA5 PAIOR |= 0x20; // make PA5 an output (low by default) } +#elif defined PLATFORM_ONDIO + BRR1 = 0x0019; // 14400 Baud for monitor + PBDR |= 0x20; // set PB5 to keep power (fixes the ON-holding problem) + PBIOR |= 0x20; // make PB5 an output #endif // platform-independent inits diff --git a/flash/bootloader/bootloader.h b/flash/bootloader/bootloader.h index eee61c4809..342ebb4991 100644 --- a/flash/bootloader/bootloader.h +++ b/flash/bootloader/bootloader.h @@ -57,6 +57,14 @@ typedef struct #define F2_UPPER 544 #define F3_LOWER 700 #define F3_UPPER 1023 +#elif defined PLATFORM_ONDIO +#define CHANNEL 4 +#define F1_LOWER 0x2EF // Ondio has no F1 button, +#define F1_UPPER 0x3FF // so we use "Right". +#define F2_LOWER 0x19D // Ondio has no F2 button, +#define F2_UPPER 0x245 // so we use "Up". +#define F3_LOWER 0x246 // Ondio has no F3 button, +#define F3_UPPER 0x2EE // so we use "Left". #else #error ("No platform given!") #endif