diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/adc.c | 34 | ||||
-rw-r--r-- | firmware/drivers/button.c | 51 | ||||
-rw-r--r-- | firmware/drivers/power.c | 7 |
3 files changed, 2 insertions, 90 deletions
diff --git a/firmware/drivers/adc.c b/firmware/drivers/adc.c index 388ff66d5f..adeace005b 100644 --- a/firmware/drivers/adc.c +++ b/firmware/drivers/adc.c | |||
@@ -155,38 +155,4 @@ void adc_init(void) | |||
155 | sleep(2); /* Ensure valid readings when adc_init returns */ | 155 | sleep(2); /* Ensure valid readings when adc_init returns */ |
156 | } | 156 | } |
157 | 157 | ||
158 | #elif CONFIG_CPU == PNX0101 | ||
159 | |||
160 | static unsigned short adcdata[NUM_ADC_CHANNELS]; | ||
161 | |||
162 | unsigned short adc_read(int channel) | ||
163 | { | ||
164 | return adcdata[channel]; | ||
165 | } | ||
166 | |||
167 | static void adc_tick(void) | ||
168 | { | ||
169 | if (ADCST & 0x10) { | ||
170 | adcdata[0] = ADCCH0 & 0x3ff; | ||
171 | adcdata[1] = ADCCH1 & 0x3ff; | ||
172 | adcdata[2] = ADCCH2 & 0x3ff; | ||
173 | adcdata[3] = ADCCH3 & 0x3ff; | ||
174 | adcdata[4] = ADCCH4 & 0x3ff; | ||
175 | ADCST = 0xa; | ||
176 | } | ||
177 | } | ||
178 | |||
179 | void adc_init(void) | ||
180 | { | ||
181 | ADCR24 = 0xaaaaa; | ||
182 | ADCR28 = 0; | ||
183 | ADCST = 2; | ||
184 | ADCST = 0xa; | ||
185 | |||
186 | while (!(ADCST & 0x10)); | ||
187 | adc_tick(); | ||
188 | |||
189 | tick_add_task(adc_tick); | ||
190 | } | ||
191 | |||
192 | #endif | 158 | #endif |
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 3ae4893290..1cdd8995fe 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -75,10 +75,7 @@ static bool remote_filter_first_keypress; | |||
75 | #define REPEAT_INTERVAL_FINISH 5 | 75 | #define REPEAT_INTERVAL_FINISH 5 |
76 | 76 | ||
77 | /* the power-off button and number of repeated keys before shutting off */ | 77 | /* the power-off button and number of repeated keys before shutting off */ |
78 | #if (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) | 78 | #if !defined(TARGET_TREE) |
79 | #define POWEROFF_BUTTON BUTTON_PLAY | ||
80 | #define POWEROFF_COUNT 40 | ||
81 | #elif !defined(TARGET_TREE) | ||
82 | #define POWEROFF_BUTTON BUTTON_OFF | 79 | #define POWEROFF_BUTTON BUTTON_OFF |
83 | #define POWEROFF_COUNT 10 | 80 | #define POWEROFF_COUNT 10 |
84 | #endif | 81 | #endif |
@@ -506,46 +503,6 @@ static int button_read(void) | |||
506 | || (CONFIG_KEYPAD == IRIVER_H300_PAD) | 503 | || (CONFIG_KEYPAD == IRIVER_H300_PAD) |
507 | btn = button_read_device(); /* temp untill TARGET_TREE is defined */ | 504 | btn = button_read_device(); /* temp untill TARGET_TREE is defined */ |
508 | 505 | ||
509 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD | ||
510 | static bool hold_button = false; | ||
511 | bool hold_button_old; | ||
512 | |||
513 | /* normal buttons */ | ||
514 | hold_button_old = hold_button; | ||
515 | hold_button = button_hold(); | ||
516 | |||
517 | if (hold_button != hold_button_old) | ||
518 | backlight_hold_changed(hold_button); | ||
519 | |||
520 | if (!button_hold()) | ||
521 | { | ||
522 | data = adc_read(ADC_BUTTONS); | ||
523 | if (data < 0x35c) | ||
524 | { | ||
525 | if (data < 0x151) | ||
526 | if (data < 0xc7) | ||
527 | if (data < 0x41) | ||
528 | btn = BUTTON_LEFT; | ||
529 | else | ||
530 | btn = BUTTON_RIGHT; | ||
531 | else | ||
532 | btn = BUTTON_SELECT; | ||
533 | else | ||
534 | if (data < 0x268) | ||
535 | if (data < 0x1d7) | ||
536 | btn = BUTTON_UP; | ||
537 | else | ||
538 | btn = BUTTON_DOWN; | ||
539 | else | ||
540 | if (data < 0x2f9) | ||
541 | btn = BUTTON_EQ; | ||
542 | else | ||
543 | btn = BUTTON_MODE; | ||
544 | } | ||
545 | |||
546 | if (adc_read(ADC_BUTTON_PLAY) < 0x64) | ||
547 | btn |= BUTTON_PLAY; | ||
548 | } | ||
549 | 506 | ||
550 | #elif CONFIG_KEYPAD == RECORDER_PAD | 507 | #elif CONFIG_KEYPAD == RECORDER_PAD |
551 | #ifndef HAVE_FMADC | 508 | #ifndef HAVE_FMADC |
@@ -703,12 +660,6 @@ static int button_read(void) | |||
703 | return retval; | 660 | return retval; |
704 | } | 661 | } |
705 | 662 | ||
706 | #if CONFIG_KEYPAD == IRIVER_IFP7XX_PAD | ||
707 | bool button_hold(void) | ||
708 | { | ||
709 | return (GPIO5_READ & 4) ? false : true; | ||
710 | } | ||
711 | #endif | ||
712 | 663 | ||
713 | int button_status(void) | 664 | int button_status(void) |
714 | { | 665 | { |
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index e48993c2aa..e0a5de4bfb 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c | |||
@@ -144,8 +144,6 @@ void ide_power_enable(bool on) | |||
144 | P1 |= 0x08; | 144 | P1 |= 0x08; |
145 | else | 145 | else |
146 | P1 &= ~0x08; | 146 | P1 &= ~0x08; |
147 | #elif CONFIG_CPU == PNX0101 | ||
148 | /* no ide controller */ | ||
149 | #elif defined(TOSHIBA_GIGABEAT_F) | 147 | #elif defined(TOSHIBA_GIGABEAT_F) |
150 | /* Gigabeat TODO */ | 148 | /* Gigabeat TODO */ |
151 | #else /* SH1 based archos */ | 149 | #else /* SH1 based archos */ |
@@ -222,10 +220,7 @@ bool ide_powered(void) | |||
222 | void power_off(void) | 220 | void power_off(void) |
223 | { | 221 | { |
224 | set_irq_level(HIGHEST_IRQ_LEVEL); | 222 | set_irq_level(HIGHEST_IRQ_LEVEL); |
225 | #if CONFIG_CPU == PNX0101 | 223 | #if defined(GMINI_ARCH) |
226 | GPIO1_CLR = 1 << 16; | ||
227 | GPIO2_SET = 1; | ||
228 | #elif defined(GMINI_ARCH) | ||
229 | P1 &= ~1; | 224 | P1 &= ~1; |
230 | P1CON &= ~1; | 225 | P1CON &= ~1; |
231 | #elif defined(TOSHIBA_GIGABEAT_F) | 226 | #elif defined(TOSHIBA_GIGABEAT_F) |