aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnson Huang <b20788@freescale.com>2014-06-25 03:40:38 -0400
committerAnson Huang <b20788@freescale.com>2014-06-26 04:20:29 -0400
commit74d58ed70b16bc54229eed0b39e2b10b781f6686 (patch)
tree19ddcb3877474597950893b1b02bd03da0d04241
parent93510bfa720670b2f80a7f35ffb327f69fcb0f21 (diff)
ENGR00319792 ARM: imx: need to make sure MMDC auto self refresh is enabled
When there is busfreq scaling between low power mode and audio bus mode, the enabling of MMDC auto self-refresh code will be skipped as they are both DLL off mode, it will cause DDR power increase, so we just move the enabling of the MMDC auto self-refresh mode to the end of busfreq change to make sure it is enabled after a DDR freq change. Signed-off-by: Anson Huang <b20788@freescale.com>
-rw-r--r--arch/arm/mach-imx/ddr3_freq_imx6.S15
-rw-r--r--arch/arm/mach-imx/ddr3_freq_imx6sx.S15
2 files changed, 10 insertions, 20 deletions
diff --git a/arch/arm/mach-imx/ddr3_freq_imx6.S b/arch/arm/mach-imx/ddr3_freq_imx6.S
index 25406d45ccb8..8137f513c787 100644
--- a/arch/arm/mach-imx/ddr3_freq_imx6.S
+++ b/arch/arm/mach-imx/ddr3_freq_imx6.S
@@ -623,11 +623,6 @@ update_iomux:
623 orr r0, r0, #(0x1 << 29) 623 orr r0, r0, #(0x1 << 29)
624 str r0, [r5, r2] 624 str r0, [r5, r2]
625 625
626 /* MMDC0_MAPSR adopt power down enable. */
627 ldr r0, [r5, #MMDC0_MAPSR]
628 bic r0, r0, #0x01
629 str r0, [r5, #MMDC0_MAPSR]
630
631 /* frc_msr + mu bypass */ 626 /* frc_msr + mu bypass */
632 ldr r0, =0x00000060 627 ldr r0, =0x00000060
633 str r0, [r5, #MMDC0_MPMUR0] 628 str r0, [r5, #MMDC0_MPMUR0]
@@ -867,11 +862,6 @@ cont15:
867 cmp r1, #0 862 cmp r1, #0
868 bgt delay15 863 bgt delay15
869 864
870 /* MMDC0_MAPSR adopt power down enable. */
871 ldr r0, [r5, #MMDC0_MAPSR]
872 bic r0, r0, #0x01
873 str r0, [r5, #MMDC0_MAPSR]
874
875 /* enable MMDC power down timer. */ 865 /* enable MMDC power down timer. */
876 ldr r0, [r5, #MMDC0_MDPDC] 866 ldr r0, [r5, #MMDC0_MDPDC]
877 orr r0, r0, #(0x55 << 8) 867 orr r0, r0, #(0x55 << 8)
@@ -920,6 +910,11 @@ poll_conreq_clear_2:
920 910
921done: 911done:
922 912
913 /* MMDC0_MAPSR adopt power down enable. */
914 ldr r0, [r5, #MMDC0_MAPSR]
915 bic r0, r0, #0x01
916 str r0, [r5, #MMDC0_MAPSR]
917
923#ifdef CONFIG_CACHE_L2X0 918#ifdef CONFIG_CACHE_L2X0
924 /* Enable L2. */ 919 /* Enable L2. */
925 ldr r7, =IMX_IO_P2V(MX6Q_L2_BASE_ADDR) 920 ldr r7, =IMX_IO_P2V(MX6Q_L2_BASE_ADDR)
diff --git a/arch/arm/mach-imx/ddr3_freq_imx6sx.S b/arch/arm/mach-imx/ddr3_freq_imx6sx.S
index f2e523f47a43..d0f692c39e64 100644
--- a/arch/arm/mach-imx/ddr3_freq_imx6sx.S
+++ b/arch/arm/mach-imx/ddr3_freq_imx6sx.S
@@ -406,11 +406,6 @@ update_iomux:
406 orr r8, r8, #(1 << 29) 406 orr r8, r8, #(1 << 29)
407 str r8, [r4, #MMDC0_MPDGCTRL0] 407 str r8, [r4, #MMDC0_MPDGCTRL0]
408 408
409 /* MMDC0_MAPSR adopt power down enable. */
410 ldr r8, [r4, #MMDC0_MAPSR]
411 bic r8, r8, #0x1
412 str r8, [r4, #MMDC0_MAPSR]
413
414 /* frc_msr + mu bypass */ 409 /* frc_msr + mu bypass */
415 ldr r8, =0x00000160 410 ldr r8, =0x00000160
416 str r8, [r4, #MMDC0_MPMUR0] 411 str r8, [r4, #MMDC0_MPMUR0]
@@ -582,11 +577,6 @@ update_iomux1:
582 ldr r8, =40 577 ldr r8, =40
583 do_delay 578 do_delay
584 579
585 /* MMDC0_MAPSR adopt power down enable. */
586 ldr r8, [r4, #MMDC0_MAPSR]
587 bic r8, r8, #0x01
588 str r8, [r4, #MMDC0_MAPSR]
589
590 /* enable MMDC power down timer. */ 580 /* enable MMDC power down timer. */
591 ldr r8, [r4, #MMDC0_MDPDC] 581 ldr r8, [r4, #MMDC0_MDPDC]
592 orr r8, r8, #(0x55 << 8) 582 orr r8, r8, #(0x55 << 8)
@@ -633,6 +623,11 @@ poll_conreq_clear_2:
633 623
634done: 624done:
635 625
626 /* MMDC0_MAPSR adopt power down enable. */
627 ldr r8, [r4, #MMDC0_MAPSR]
628 bic r8, r8, #0x01
629 str r8, [r4, #MMDC0_MAPSR]
630
636#ifdef CONFIG_CACHE_L2X0 631#ifdef CONFIG_CACHE_L2X0
637 /* Enable L2. */ 632 /* Enable L2. */
638 ldr r8, =IMX_IO_P2V(MX6Q_L2_BASE_ADDR) 633 ldr r8, =IMX_IO_P2V(MX6Q_L2_BASE_ADDR)