summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/iriver/h10/adc-h10.c7
-rw-r--r--firmware/target/arm/iriver/h10/button-h10.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/firmware/target/arm/iriver/h10/adc-h10.c b/firmware/target/arm/iriver/h10/adc-h10.c
index 8a4e24dd64..df9b16359b 100644
--- a/firmware/target/arm/iriver/h10/adc-h10.c
+++ b/firmware/target/arm/iriver/h10/adc-h10.c
@@ -42,7 +42,12 @@ unsigned short adc_scan(int channel)
42 /* Start? */ 42 /* Start? */
43 ADC_ADDR |= 0x20000000; 43 ADC_ADDR |= 0x20000000;
44 ADC_ADDR |= 0x80000000; 44 ADC_ADDR |= 0x80000000;
45 45
46#if 0
47 /* wait for ADC ready. THIS IS NOT WORKING (locks up) */
48 while(ADC_STATUS & (0x40 << (channel*8))); /* add loop protection here */
49#endif
50
46 /* ADC_DATA_1 and ADC_DATA_2 are both four bytes, one byte per channel. 51 /* ADC_DATA_1 and ADC_DATA_2 are both four bytes, one byte per channel.
47 For each channel, ADC_DATA_1 stores the 8-bit msb, ADC_DATA_2 stores the 52 For each channel, ADC_DATA_1 stores the 8-bit msb, ADC_DATA_2 stores the
48 2-bit lsb (in bits 0 and 1). Each channel is 10 bits total. */ 53 2-bit lsb (in bits 0 and 1). Each channel is 10 bits total. */
diff --git a/firmware/target/arm/iriver/h10/button-h10.c b/firmware/target/arm/iriver/h10/button-h10.c
index 520a616b4c..d8a82cf170 100644
--- a/firmware/target/arm/iriver/h10/button-h10.c
+++ b/firmware/target/arm/iriver/h10/button-h10.c
@@ -98,7 +98,7 @@ int button_read_device(void)
98 if ( GPIOD_INPUT_VAL & 0x20 ) 98 if ( GPIOD_INPUT_VAL & 0x20 )
99 { 99 {
100 GPIOD_OUTPUT_VAL &=~ 0x40; 100 GPIOD_OUTPUT_VAL &=~ 0x40;
101 udelay(50); 101 udelay(250);
102 data = adc_scan(ADC_SCROLLPAD); 102 data = adc_scan(ADC_SCROLLPAD);
103 GPIOD_OUTPUT_VAL |= 0x40; 103 GPIOD_OUTPUT_VAL |= 0x40;
104 104