summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/adc.c34
-rw-r--r--firmware/drivers/button.c51
-rw-r--r--firmware/drivers/power.c7
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
160static unsigned short adcdata[NUM_ADC_CHANNELS];
161
162unsigned short adc_read(int channel)
163{
164 return adcdata[channel];
165}
166
167static 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
179void 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
707bool button_hold(void)
708{
709 return (GPIO5_READ & 4) ? false : true;
710}
711#endif
712 663
713int button_status(void) 664int 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)
222void power_off(void) 220void 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)