diff options
Diffstat (limited to 'firmware/drivers/mas.c')
-rw-r--r-- | firmware/drivers/mas.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/firmware/drivers/mas.c b/firmware/drivers/mas.c index 1630255348..a8f910a426 100644 --- a/firmware/drivers/mas.c +++ b/firmware/drivers/mas.c | |||
@@ -24,8 +24,7 @@ | |||
24 | #include "mas.h" | 24 | #include "mas.h" |
25 | #include "kernel.h" | 25 | #include "kernel.h" |
26 | #include "system.h" | 26 | #include "system.h" |
27 | 27 | #include "hwcompat.h" | |
28 | extern bool old_recorder; | ||
29 | 28 | ||
30 | static int mas_devread(unsigned long *dest, int len); | 29 | static int mas_devread(unsigned long *dest, int len); |
31 | 30 | ||
@@ -287,21 +286,21 @@ void mas_reset(void) | |||
287 | or_b(0x01, &PADRH); | 286 | or_b(0x01, &PADRH); |
288 | sleep(HZ/5); | 287 | sleep(HZ/5); |
289 | #elif (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | 288 | #elif (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
290 | if(old_recorder) | 289 | if (read_hw_mask() & ATA_ADDRESS_200) |
291 | { | 290 | { |
292 | /* Older recorder models don't invert the POR signal */ | ||
293 | or_b(0x01, &PADRH); | ||
294 | sleep(HZ/100); | ||
295 | and_b(~0x01, &PADRH); | 291 | and_b(~0x01, &PADRH); |
292 | sleep(HZ/100); | ||
293 | or_b(0x01, &PADRH); | ||
296 | sleep(HZ/5); | 294 | sleep(HZ/5); |
297 | } | 295 | } |
298 | else | 296 | else |
299 | { | 297 | { |
300 | and_b(~0x01, &PADRH); | 298 | /* Older recorder models don't invert the POR signal */ |
301 | sleep(HZ/100); | ||
302 | or_b(0x01, &PADRH); | 299 | or_b(0x01, &PADRH); |
300 | sleep(HZ/100); | ||
301 | and_b(~0x01, &PADRH); | ||
303 | sleep(HZ/5); | 302 | sleep(HZ/5); |
304 | } | 303 | } |
305 | #endif | 304 | #endif |
306 | } | 305 | } |
307 | 306 | ||