blob: ed531db0bc6db2a47a3e9bf78024ced6ae7efbba [file] [log] [blame]
Stefano Babice1b6f592010-07-06 19:32:09 +02001#
2# (C) Copyright 2009
3# Stefano Babic DENX Software Engineering sbabic@denx.de.
4#
5# (C) Copyright 2010
6# Klaus Steinhammer TTECH Control Gmbh kst@tttech.com
7#
8# See file CREDITS for list of people who contributed to this
9# project.
10#
11# This program is free software; you can redistribute it and/or
12# modify it under the terms of the GNU General Public License as
13# published by the Free Software Foundation; either version 2 of
14# the License or (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not write to the Free Software
23# Foundation Inc. 51 Franklin Street Fifth Floor Boston,
24# MA 02110-1301 USA
25#
26# Refer docs/README.imxmage for more details about how-to configure
27# and create imximage boot image
28#
29# The syntax is taken as close as possible with the kwbimage
30
31# Boot Device : one of
32# spi, nand, onenand, sd
33
34BOOT_FROM spi
35
36# Device Configuration Data (DCD)
37#
38# Each entry must have the format:
39# Addr-type Address Value
40#
41# where:
42# Addr-type register length (1,2 or 4 bytes)
43# Address absolute address of the register
44# value value to be stored in the register
45
46#######################
47### Disable WDOG ###
48#######################
49DATA 2 0x73f98000 0x30
50
51#######################
52### SET DDR Clk ###
53#######################
54
55# CCM: CBMCR - ddr_clk_sel: axi_b (133MHz)
56DATA 4 0x73FD4018 0x000024C0
57
58# DOUBLE SPI CLK (13MHz->26 MHz Clock)
59DATA 4 0x73FD4038 0x2010241
60
61#IOMUXC_SW_PAD_CTL_PAD_CSPI1_MOSI HYS_ENABLE | DRV_MAX | SRE_FAST
62DATA 4 0x73fa8600 0x00000107
63#IOMUXC_SW_PAD_CTL_PAD_CSPI1_MISO HYS_ENABLE | DRV_MAX | SRE_FAST
64DATA 4 0x73fa8604 0x00000107
65#IOMUXC_SW_PAD_CTL_PAD_CSPI1_SS0 HYS_ENABLE | PKE_ENABLE | DRV_MAX | SRE_FAST
66DATA 4 0x73fa8608 0x00000187
67#IOMUXC_SW_PAD_CTL_PAD_CSPI1_SS1 HYS_ENABLE | PKE_ENABLE | DRV_MAX | SRE_FAST
68DATA 4 0x73fa860c 0x00000187
69#IOMUXC_SW_PAD_CTL_PAD_CSPI1_SCLK HYS_ENABLE | DRV_MAX | SRE_FAST
70DATA 4 0x73fa8614 0x00000107
71#IOMUXC_SW_PAD_CTL_PAD_DI1_PIN11 HYS_ENABLE | DRV_MAX | SRE_FAST (CSPI1_SS2)
72DATA 4 0x73fa86a8 0x00000187
73
74#######################
75### Settings IOMUXC ###
76#######################
77
78# DDR IOMUX configuration
79# Control, Data, Address pads are in their default state: HIGH DS, FAST SR.
80# IOMUXC_SW_PAD_CTL_PAD_DRAM_SDCLK MAX DS
81DATA 4 0x73fa84b8 0x000000e7
82# PVTC MAX (at GPC, PGR reg)
83#DATA 4 0x73FD8004 0x1fc00000
84
85#DQM0 DS high slew rate slow
86DATA 4 0x73fa84d4 0x000000e4
87#DQM1 DS high slew rate slow
88DATA 4 0x73fa84d8 0x000000e4
89#DQM2 DS high slew rate slow
90DATA 4 0x73fa84dc 0x000000e4
91#DQM3 DS high slew rate slow
92DATA 4 0x73fa84e0 0x000000e4
93
94#IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS0 DS high & SLEW slow
95DATA 4 0x73fa84bc 0x000000c4
96#IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS1 DS high & SLEW slow
97DATA 4 0x73fa84c0 0x000000c4
98#IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS2 DS high & SLEW slow
99DATA 4 0x73fa84c4 0x000000c4
100#IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS3 DS high & SLEW slow
101DATA 4 0x73fa84c8 0x000000c4
102
103#DRAM_DATA B0
104DATA 4 0x73fa88a4 0x00000004
105#DRAM_DATA B1
106DATA 4 0x73fa88ac 0x00000004
107#DRAM_DATA B2
108DATA 4 0x73fa88b8 0x00000004
109#DRAM_DATA B3
110DATA 4 0x73fa882c 0x00000004
111
112#DRAM_DATA B0 slew rate
113DATA 4 0x73fa8878 0x00000000
114#DRAM_DATA B1 slew rate
115DATA 4 0x73fa8880 0x00000000
116#DRAM_DATA B2 slew rate
117DATA 4 0x73fa888c 0x00000000
118#DRAM_DATA B3 slew rate
119DATA 4 0x73fa889c 0x00000000
120
121#######################
122### Configure SDRAM ###
123#######################
124
125# Configure CS0
126#######################
127
128# ESDCTL0: Enable controller
129DATA 4 0x83fd9000 0x83220000
130
131# Init DRAM on CS0
132# ESDSCR: Precharge command
133DATA 4 0x83fd9014 0x04008008
134# ESDSCR: Refresh command
135DATA 4 0x83fd9014 0x00008010
136# ESDSCR: Refresh command
137DATA 4 0x83fd9014 0x00008010
138# ESDSCR: LMR with CAS=3 and BL=3 (Burst Length = 8)
139DATA 4 0x83fd9014 0x00338018
140# ESDSCR: EMR with half Drive strength (= medium strength @ i.MX51)
141DATA 4 0x83fd9014 0x0020801a
142# ESDSCR
143DATA 4 0x83fd9014 0x00008000
144
145# ESDSCR: EMR with full Drive strength
146#DATA 4 0x83fd9014 0x0000801a
147
148# ESDCTL0: 14 ROW, 10 COL, 32Bit, SREF=8
149DATA 4 0x83fd9000 0xC3220000
150
151# ESDCFG0: tRFC:22clks, tXSR:28clks, tXP:2clks, tWTR:2clk, tRP:3clks, tMRD:2clks
152# tRAS:8clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:11clks
153#DATA 4 0x83fd9004 0xC33574AA
154
155#micron mDDR
156# ESDCFG0: tRFC:11clks, tXSR:19clks, tXP:1clks, tWTR:2clk, tRP:3clks, tMRD:2clks
157# tRAS:7clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:9clks
158#DATA 4 0x83FD9004 0x101564a8
159
160#hynix mDDR
161# ESDCFG0: tRFC:17clks, tXSR:21clks, tXP:3clks, tWTR:1clk, tRP:3clks, tMRD:2clks
162# tRAS:7clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:9clks
163DATA 4 0x83FD9004 0x704564a8
164
165# ESDMISC: AP=10, Bank interleaving on, MIF3 en, RALAT=2
166DATA 4 0x83fd9010 0x000a1700
167
168# Configure CS1
169#######################
170
171# ESDCTL1: Enable controller
172DATA 4 0x83fd9008 0x83220000
173
174# Init DRAM on CS1
175# ESDSCR: Precharge command
176DATA 4 0x83fd9014 0x0400800c
177# ESDSCR: Refresh command
178DATA 4 0x83fd9014 0x00008014
179# ESDSCR: Refresh command
180DATA 4 0x83fd9014 0x00008014
181# ESDSCR: LMR with CAS=3 and BL=3 (Burst Length = 8)
182DATA 4 0x83fd9014 0x0033801c
183# ESDSCR: EMR with half Drive strength (= medium strength @ i.MX51)
184DATA 4 0x83fd9014 0x0020801e
185# ESDSCR
186DATA 4 0x83fd9014 0x00008004
187
188# ESDCTL1: 14 ROW, 10 COL, 32Bit, SREF=8
189DATA 4 0x83fd9008 0xC3220000
190
191# ESDCFG1: tRFC:22clks, tXSR:28clks, tXP:2clks, tWTR:2clk, tRP:3clks, tMRD:2clks
192# tRAS:8clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:11clks
193#DATA 4 0x83fd900c 0xC33574AA
194
195#micron mDDR
196# ESDCFG1: tRFC:11clks, tXSR:19clks, tXP:1clks, tWTR:2clk, tRP:3clks, tMRD:2clks
197# tRAS:7clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:9clks
198#DATA 4 0x83FD900C 0x101564a8
199
200#hynix mDDR
201# ESDCFG0: tRFC:17clks, tXSR:21clks, tXP:3clks, tWTR:1clk, tRP:3clks, tMRD:2clks
202# tRAS:7clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:9clks
203DATA 4 0x83FD900C 0x704564a8
204
205# ESDSCR (mDRAM configuration finished)
206DATA 4 0x83FD9014 0x00000004
207
208# ESDSCR - clear "configuration request" bit
209DATA 4 0x83fd9014 0x00000000