diff options
author | Anson Huang <b20788@freescale.com> | 2014-06-25 03:40:38 -0400 |
---|---|---|
committer | Anson Huang <b20788@freescale.com> | 2014-06-26 04:20:29 -0400 |
commit | 74d58ed70b16bc54229eed0b39e2b10b781f6686 (patch) | |
tree | 19ddcb3877474597950893b1b02bd03da0d04241 | |
parent | 93510bfa720670b2f80a7f35ffb327f69fcb0f21 (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.S | 15 | ||||
-rw-r--r-- | arch/arm/mach-imx/ddr3_freq_imx6sx.S | 15 |
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 | ||
921 | done: | 911 | done: |
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 | ||
634 | done: | 624 | done: |
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) |