summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2016-01-26 15:37:15 +0800
committerAnson Huang <Anson.Huang@nxp.com>2016-01-28 18:54:28 +0800
commit0f1104b78942d48752440d98e70c81c3e799cfa0 (patch)
tree7e93efd1026348b2528ff4f184cc89c3ac9bf238 /arch/arm
parent30392c3e0ec794bff4a0dcbd7c300c826f95e89d (diff)
MLK-12262-3 ARM: imx: reduce DDR3 normal frequency to 400MHz for i.MX7D TO1.1
i.MX7D TO1.1 only supports DDR3 running at max frequency of 400MHz, update busfreq driver accordingly. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-imx/busfreq-imx.c11
-rw-r--r--arch/arm/mach-imx/ddr3_freq_imx7d.S6
2 files changed, 12 insertions, 5 deletions
diff --git a/arch/arm/mach-imx/busfreq-imx.c b/arch/arm/mach-imx/busfreq-imx.c
index 1d8be886e590..49eca5e96db5 100644
--- a/arch/arm/mach-imx/busfreq-imx.c
+++ b/arch/arm/mach-imx/busfreq-imx.c
@@ -1128,9 +1128,16 @@ static int busfreq_probe(struct platform_device *pdev)
TT_ATTRIB_NON_CACHEABLE_1M;
}
- if (cpu_is_imx7d())
+ if (cpu_is_imx7d()) {
+ ddr_type = imx_ddrc_get_ddr_type();
+ /* reduce ddr3 normal rate to 400M due to CKE issue on TO1.1 */
+ if (imx_get_soc_revision() == IMX_CHIP_REVISION_1_1 &&
+ ddr_type == IMX_DDR_TYPE_DDR3) {
+ ddr_normal_rate = 400000000;
+ pr_info("ddr3 normal rate changed to 400MHz for TO1.1.\n");
+ }
err = init_ddrc_ddr_settings(pdev);
- else if (cpu_is_imx6sx() || cpu_is_imx6ul()) {
+ } else if (cpu_is_imx6sx() || cpu_is_imx6ul()) {
ddr_type = imx_mmdc_get_ddr_type();
if (ddr_type == IMX_DDR_TYPE_DDR3)
err = init_mmdc_ddr3_settings_imx6_up(pdev);
diff --git a/arch/arm/mach-imx/ddr3_freq_imx7d.S b/arch/arm/mach-imx/ddr3_freq_imx7d.S
index 6b706f4b46eb..bc132d3fa837 100644
--- a/arch/arm/mach-imx/ddr3_freq_imx7d.S
+++ b/arch/arm/mach-imx/ddr3_freq_imx7d.S
@@ -314,12 +314,12 @@
cmp r7, #0x10
beq 22f
- ldr r7, =0x1d1d1d1d
+ ldr r7, =0x40404040
str r7, [r5, #DDRPHY_CA_WLDSKEW_CON0]
- ldr r7, =0x10101010
+ ldr r7, =0x18181818
str r7, [r5, #DDRPHY_CA_DSKEW_CON0]
str r7, [r5, #DDRPHY_CA_DSKEW_CON1]
- ldr r7, =0x1d1d1010
+ ldr r7, =0x40401818
str r7, [r5, #DDRPHY_CA_DSKEW_CON2]
b 23f
22: