diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/ipod/button-clickwheel.c | 4 | ||||
-rw-r--r-- | firmware/target/arm/ipod/button-target.h | 15 | ||||
-rw-r--r-- | firmware/target/arm/system-pp502x.c | 6 |
3 files changed, 25 insertions, 0 deletions
diff --git a/firmware/target/arm/ipod/button-clickwheel.c b/firmware/target/arm/ipod/button-clickwheel.c index e36c928fb0..21bbca62f0 100644 --- a/firmware/target/arm/ipod/button-clickwheel.c +++ b/firmware/target/arm/ipod/button-clickwheel.c | |||
@@ -316,7 +316,11 @@ int button_read_device(void) | |||
316 | } | 316 | } |
317 | 317 | ||
318 | /* The int_btn variable is set in the button interrupt handler */ | 318 | /* The int_btn variable is set in the button interrupt handler */ |
319 | #ifdef IPOD_ACCESSORY_PROTOCOL | ||
320 | return int_btn | remote_control_rx(); | ||
321 | #else | ||
319 | return int_btn; | 322 | return int_btn; |
323 | #endif | ||
320 | } | 324 | } |
321 | 325 | ||
322 | bool button_hold(void) | 326 | bool button_hold(void) |
diff --git a/firmware/target/arm/ipod/button-target.h b/firmware/target/arm/ipod/button-target.h index a0ac372839..67bdc72955 100644 --- a/firmware/target/arm/ipod/button-target.h +++ b/firmware/target/arm/ipod/button-target.h | |||
@@ -50,7 +50,22 @@ void ipod_4g_button_int(void); | |||
50 | |BUTTON_LEFT|BUTTON_RIGHT|BUTTON_SCROLL_FWD\ | 50 | |BUTTON_LEFT|BUTTON_RIGHT|BUTTON_SCROLL_FWD\ |
51 | |BUTTON_SCROLL_BACK|BUTTON_PLAY) | 51 | |BUTTON_SCROLL_BACK|BUTTON_PLAY) |
52 | 52 | ||
53 | /* Remote control's buttons */ | ||
54 | #ifdef IPOD_ACCESSORY_PROTOCOL | ||
55 | #define BUTTON_RC_PLAY 0x00100000 | ||
56 | #define BUTTON_RC_STOP 0x00080000 | ||
57 | |||
58 | #define BUTTON_RC_LEFT 0x00040000 | ||
59 | #define BUTTON_RC_RIGHT 0x00020000 | ||
60 | #define BUTTON_RC_VOL_UP 0x00010000 | ||
61 | #define BUTTON_RC_VOL_DOWN 0x00008000 | ||
62 | |||
63 | #define BUTTON_REMOTE (BUTTON_RC_PLAY|BUTTON_RC_STOP\ | ||
64 | |BUTTON_RC_LEFT|BUTTON_RC_RIGHT\ | ||
65 | |BUTTON_RC_VOL_UP|BUTTON_RC_VOL_DOWN) | ||
66 | #else | ||
53 | #define BUTTON_REMOTE 0 | 67 | #define BUTTON_REMOTE 0 |
68 | #endif | ||
54 | 69 | ||
55 | /* This is for later | 70 | /* This is for later |
56 | #define BUTTON_SCROLL_TOUCH 0x00000200 | 71 | #define BUTTON_SCROLL_TOUCH 0x00000200 |
diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c index d683b3a561..b1f178c8d5 100644 --- a/firmware/target/arm/system-pp502x.c +++ b/firmware/target/arm/system-pp502x.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #ifndef BOOTLOADER | 32 | #ifndef BOOTLOADER |
33 | extern void TIMER1(void); | 33 | extern void TIMER1(void); |
34 | extern void TIMER2(void); | 34 | extern void TIMER2(void); |
35 | extern void SERIAL0(void); | ||
35 | extern void ipod_mini_button_int(void); /* iPod Mini 1st gen only */ | 36 | extern void ipod_mini_button_int(void); /* iPod Mini 1st gen only */ |
36 | extern void ipod_4g_button_int(void); /* iPod 4th gen and higher only */ | 37 | extern void ipod_4g_button_int(void); /* iPod 4th gen and higher only */ |
37 | 38 | ||
@@ -78,6 +79,11 @@ void irq(void) | |||
78 | button_int(); | 79 | button_int(); |
79 | } | 80 | } |
80 | #endif | 81 | #endif |
82 | #ifdef IPOD_ACCESSORY_PROTOCOL | ||
83 | else if (CPU_HI_INT_STAT & SER0_MASK) { | ||
84 | SERIAL0(); | ||
85 | } | ||
86 | #endif | ||
81 | #ifdef HAVE_USBSTACK | 87 | #ifdef HAVE_USBSTACK |
82 | else if (CPU_INT_STAT & USB_MASK) { | 88 | else if (CPU_INT_STAT & USB_MASK) { |
83 | usb_drv_int(); | 89 | usb_drv_int(); |