summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/target/coldfire/iaudio/x5/button-x5.c8
-rw-r--r--firmware/target/coldfire/iaudio/x5/lcd-as-x5.S12
2 files changed, 13 insertions, 7 deletions
diff --git a/firmware/target/coldfire/iaudio/x5/button-x5.c b/firmware/target/coldfire/iaudio/x5/button-x5.c
index e1f68de36b..b94a0de678 100644
--- a/firmware/target/coldfire/iaudio/x5/button-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/button-x5.c
@@ -60,14 +60,18 @@ bool remote_button_hold(void)
int button_read_device(void)
{
int btn = BUTTON_NONE;
+#ifndef BOOTLOADER
bool hold_button_old;
bool remote_hold_button_old;
+#endif
static int prev_data = 0xff;
static int last_valid = 0xff;
int data;
/* normal buttons */
+#ifndef BOOTLOADER
hold_button_old = hold_button;
+#endif
hold_button = button_hold();
#ifndef BOOTLOADER
@@ -86,7 +90,7 @@ int button_read_device(void)
last_valid = data;
prev_data = data;
data = last_valid;
-
+
if (data < 0xf0)
{
if(data < 0x7c)
@@ -114,7 +118,9 @@ int button_read_device(void)
/* remote buttons */
data = remote_detect() ? adc_scan(ADC_REMOTE) : 0xff;
+#ifndef BOOTLOADER
remote_hold_button_old = remote_hold_button;
+#endif
remote_hold_button = data < 0x17;
#ifndef BOOTLOADER
diff --git a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S
index c49d33ce84..e6621e1dea 100644
--- a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S
+++ b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S
@@ -134,7 +134,7 @@ lcd_write_yuv420_lines:
mac.l %a5, %d0, %acc0
mac.l %a5, %d0, %acc1
mac.l %a5, %d0, %acc2
-
+
move.w %d4, (%a0)
/* 2nd LCD write is delayed one pixel to use it for filling the EMAC latency */
@@ -147,7 +147,7 @@ lcd_write_yuv420_lines:
lsr.l %d0, %d4
lsr.l %d0, %d3
lsr.l %d0, %d2
-
+
lsl.l #6, %d2
or.l %d3, %d2 /* |00000000|00000000|0000Rrrr|rrGggggg| */
lsl.l #7, %d2
@@ -190,7 +190,7 @@ lcd_write_yuv420_lines:
swap %d4
move.w %d4, (%a0)
swap %d4
-
+
/* luma for third pixel (top right) as delta from the second */
clr.l %d1
move.b (%a1, %a3*2), %d1
@@ -199,7 +199,7 @@ lcd_write_yuv420_lines:
mac.l %a5, %d0, %acc0
mac.l %a5, %d0, %acc1
mac.l %a5, %d0, %acc2
-
+
move.w %d4, (%a0)
/* 2nd LCD write is delayed one pixel to use it for filling the EMAC latency */
@@ -211,7 +211,7 @@ lcd_write_yuv420_lines:
lsr.l %d0, %d4
lsr.l %d0, %d3
lsr.l %d0, %d2
-
+
lsl.l #6, %d2
or.l %d3, %d2 /* |00000000|00000000|0000Rrrr|rrGggggg| */
lsl.l #7, %d2
@@ -264,7 +264,7 @@ lcd_write_yuv420_lines:
lea.l (44, %sp), %sp /* restore registers */
rts
.yuv_end:
- .size lcd_write_yuv420_lines, yuv_end - lcd_write_yuv420_lines
+ .size lcd_write_yuv420_lines, .yuv_end - lcd_write_yuv420_lines
/* begin lcd_write_data */