diff options
Diffstat (limited to 'firmware/target/arm/sandisk/ata-c200_e200.c')
-rw-r--r-- | firmware/target/arm/sandisk/ata-c200_e200.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/firmware/target/arm/sandisk/ata-c200_e200.c b/firmware/target/arm/sandisk/ata-c200_e200.c index a61e2ab610..addc490417 100644 --- a/firmware/target/arm/sandisk/ata-c200_e200.c +++ b/firmware/target/arm/sandisk/ata-c200_e200.c | |||
@@ -519,6 +519,7 @@ static int sd_select_bank(unsigned char bank) | |||
519 | static void sd_card_mux(int card_no) | 519 | static void sd_card_mux(int card_no) |
520 | { | 520 | { |
521 | /* Set the current card mux */ | 521 | /* Set the current card mux */ |
522 | #ifdef SANSA_E200 | ||
522 | if (card_no == 0) | 523 | if (card_no == 0) |
523 | { | 524 | { |
524 | outl(inl(0x70000080) | 0x4, 0x70000080); | 525 | outl(inl(0x70000080) | 0x4, 0x70000080); |
@@ -543,6 +544,32 @@ static void sd_card_mux(int card_no) | |||
543 | 544 | ||
544 | outl(inl(0x70000014) & ~(0x3ffff), 0x70000014); | 545 | outl(inl(0x70000014) & ~(0x3ffff), 0x70000014); |
545 | } | 546 | } |
547 | #else /* SANSA_C200 */ | ||
548 | if (card_no == 0) | ||
549 | { | ||
550 | outl(inl(0x70000080) | 0x4, 0x70000080); | ||
551 | |||
552 | GPIOD_ENABLE &= ~0x1f; | ||
553 | GPIOD_OUTPUT_EN &= ~0x1f; | ||
554 | GPIOA_ENABLE |= 0x7a; | ||
555 | GPIOA_OUTPUT_VAL |= 0x7a; | ||
556 | GPIOA_OUTPUT_EN |= 0x7a; | ||
557 | |||
558 | outl(inl(0x70000014) & ~(0x3ffff), 0x70000014); | ||
559 | } | ||
560 | else | ||
561 | { | ||
562 | outl(inl(0x70000080) & ~0x4, 0x70000080); | ||
563 | |||
564 | GPIOA_ENABLE &= ~0x7a; | ||
565 | GPIOA_OUTPUT_EN &= ~0x7a; | ||
566 | GPIOD_ENABLE |= 0x1f; | ||
567 | GPIOD_OUTPUT_VAL |= 0x1f; | ||
568 | GPIOD_OUTPUT_EN |= 0x1f; | ||
569 | |||
570 | outl((inl(0x70000014) & ~(0x3ffff)) | 0x255aa, 0x70000014); | ||
571 | } | ||
572 | #endif | ||
546 | } | 573 | } |
547 | 574 | ||
548 | static void sd_init_device(int card_no) | 575 | static void sd_init_device(int card_no) |