How to Create i.MX6 32bit DDR3 Script Based on 64bit DDR3 Script

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to Create i.MX6 32bit DDR3 Script Based on 64bit DDR3 Script

How to Create i.MX6 32bit DDR3 Script Based on 64bit DDR3 Script

Overview

i.MX6Dual/Quad and i.MX6DualLite supports 32-bit and 64-bit DDR3. Freescale i.MX6 SabreSD board deploys 64bit DDR3 and 64bit DDR3 script is delivered into Linux/Android Software release. This document introduces how to create i.MX6 32bit DDR script based on 64bit DDR script when deploying 32bit DDR on customized board.

Changes

  • Set the DSE field in the following iomux registers to 0 - disable unused IO pad to save power:

IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS4

IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS5

IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS6

IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS7

IOMUXC_SW_PAD_CTL_GRP_B4DS

IOMUXC_SW_PAD_CTL_GRP_B5DS

IOMUXC_SW_PAD_CTL_GRP_B6DS

IOMUXC_SW_PAD_CTL_GRP_B7DS

IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM4

IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM5

IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM6

IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM7

  • Update MMDC registers to reflect 32bit DDR changes:

MMDC0_MDASP: Update CS0_END if CS size is changed.

MMDC0_MDCTL: set DSIZ to 32 bit

MMDC1_MPODTCTRL: Set it as 0 and disable the odt of higher byte

  • Follow "i.MX 6 Series DDR Calibration" Application note to calibrate DDR parameters.

Reference

One example about 32bit DDR script is located under uboot-imx git ( File: board/freescale/mx6q_sabresd/flash_header.S). Open it and you can see the following script:

#if defined CONFIG_MX6DL_DDR3

#if defined CONFIG_DDR_32BIT

...

#endif


You can refer to it and create your 32bit DDR script.

Labels (1)
Tags (3)
%3CLINGO-SUB%20id%3D%22lingo-sub-1108066%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHow%20to%20Create%20i.MX6%2032bit%20DDR3%20Script%20Based%20on%2064bit%20DDR3%20Script%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1108066%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CH1%20id%3D%22toc-hId-380723495%22%20id%3D%22toc-hId-1297666383%22%3EOverview%3C%2FH1%3E%3CP%3Ei.MX6Dual%2FQuad%20and%20i.MX6DualLite%20supports%2032-bit%20and%2064-bit%20DDR3.%20Freescale%20i.MX6%20SabreSD%20board%20deploys%2064bit%20DDR3%20and%2064bit%20DDR3%20script%20is%20delivered%20into%20Linux%2FAndroid%20Software%20release.%20This%20document%20introduces%20how%20to%20create%20i.MX6%2032bit%20DDR%20script%20based%20on%2064bit%20DDR%20script%20when%20deploying%2032bit%20DDR%20on%20customized%20board.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CH1%20id%3D%22toc-hId--1426730968%22%20id%3D%22toc-hId--509788080%22%3EChanges%3C%2FH1%3E%3CUL%3E%3CLI%3E%3CSPAN%20style%3D%22font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3ESet%20%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%22%3Ethe%20DSE%20field%20in%20the%20following%20iomux%20registers%20to%200%20-%20disable%20unused%20IO%20pad%20to%20save%20power%3A%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS4%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS5%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS6%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS7%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_GRP_B4DS%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_GRP_B5DS%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_GRP_B6DS%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_GRP_B7DS%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_DQM4%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_DQM5%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_DQM6%3C%2FP%3E%3CP%3EIOMUXC_SW_PAD_CTL_PAD_DRAM_DQM7%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CUL%3E%3CLI%3EUpdate%20MMDC%20registers%20to%20reflect%2032bit%20DDR%20changes%3A%3C%2FLI%3E%3C%2FUL%3E%3CP%3EMMDC0_MDASP%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3E%3A%20Update%20CS0_END%20if%20CS%20size%20is%20changed.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3EMMDC0_MDCTL%3A%20set%20DSIZ%20to%2032%20bit%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3EMMDC1_MPODTCTRL%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%22%3E%3A%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%22%3E%20Set%20it%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3E%20as%200%20and%20disable%20the%20odt%20of%20higher%20byte%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSPAN%20style%3D%22font-family%3A%20arial%2Chelvetica%2Csans-serif%3B%22%3EFollow%20%22i.MX%206%20Series%20DDR%20Calibration%22%20Application%20note%20to%20calibrate%20DDR%20parameters.%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3C%2FP%3E%3CH1%20id%3D%22toc-hId-1060781865%22%20id%3D%22toc-hId-1977724753%22%3EReference%3C%2FH1%3E%3CP%3EOne%20example%20about%2032bit%20DDR%20script%20is%20located%20under%20uboot-imx%20git%20(%20File%3A%20board%2Ffreescale%2Fmx6q_sabresd%2Fflash_header.S).%20Open%20it%20and%20you%20can%20see%20the%20following%20script%3A%3C%2FP%3E%3CP%3E%23if%20defined%20CONFIG_MX6DL_DDR3%3C%2FP%3E%3CP%3E%23if%20defined%20CONFIG_DDR_32BIT%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3E%23endif%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EYou%20can%20refer%20to%20it%20and%20create%20your%2032bit%20DDR%20script.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1108066%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX6_All%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
No ratings
Version history
Last update:
‎01-15-2013 09:54 PM
Updated by: