diff options
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/iriver/h10/adc-h10.c | 7 | ||||
-rw-r--r-- | firmware/target/arm/iriver/h10/button-h10.c | 2 |
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 | ||