summaryrefslogtreecommitdiff
path: root/firmware/target/mips
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c4
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-sd-jz4760.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
index 4de35367ba..f7754426b4 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
@@ -612,8 +612,10 @@ static inline unsigned int jz_sd_calc_clkrt(unsigned int rate)
612static inline void cpm_select_msc_clk(unsigned int rate) 612static inline void cpm_select_msc_clk(unsigned int rate)
613{ 613{
614 unsigned int div = __cpm_get_pllout2() / rate; 614 unsigned int div = __cpm_get_pllout2() / rate;
615 if (div == 0)
616 div = 1;
615 617
616 REG_CPM_MSCCDR = div - 1; 618 REG_CPM_MSCCDR = MSCCDR_MCS | (div - 1);
617} 619}
618 620
619/* Set the MMC clock frequency */ 621/* Set the MMC clock frequency */
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4760.c b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4760.c
index a80e3ec919..93426157b7 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4760.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4760.c
@@ -647,8 +647,11 @@ static inline unsigned int jz_sd_calc_clkrt(const int drive, unsigned int rate)
647static inline void cpm_select_msc_clk(unsigned int rate) 647static inline void cpm_select_msc_clk(unsigned int rate)
648{ 648{
649 unsigned int div = __cpm_get_pllout2() / rate; 649 unsigned int div = __cpm_get_pllout2() / rate;
650 if (div == 0)
651 div = 1;
650 652
651 REG_CPM_MSCCDR = div - 1; 653 REG_CPM_MSCCDR = MSCCDR_MCS | (div - 1);
654 DEBUG("MSCCLK == %x\n", REG_CPM_MSCCDR);
652} 655}
653 656
654/* Set the MMC clock frequency */ 657/* Set the MMC clock frequency */