summaryrefslogtreecommitdiff
path: root/firmware/drivers/mas.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/mas.c')
-rw-r--r--firmware/drivers/mas.c17
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"
28extern bool old_recorder;
29 28
30static int mas_devread(unsigned long *dest, int len); 29static 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