summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/kindle-mx50/flash-header-kindle-lpddr2.imxcfg
blob: 527d91dc78c026e1c32406c8557cb09b169316f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# DCD i.MX50 SoC setup using 256MiB LPDDR2
# Copyright (C) 2017 Alexander Kurz <akurz@blala.de>
#
# Initial DCD setup according to Freescale ENGR00124359 with adaption from
# Kindle_src_5.6.1.1_2634130033 uboot_2009.08 imx50_yoshi flash_header.
# Copyright (C) 2010 Freescale Semiconductor, Inc.

soc imx50
loadaddr 0x70020000

ivtofs 0x400

# Switch pll1_sw_clk to step_clk
wm 32 0x53fd400c 0x00000004
# Setup PLL1 to 800MHz
wm 32 0x63f80000 0x00001236
wm 32 0x63f80004 0x00000002
wm 32 0x63f80008 0x00000080
wm 32 0x63f8000c 0x000000b3
wm 32 0x63f80010 0x000000b4
wm 32 0x63f8001c 0x00000080
wm 32 0x63f80020 0x000000b3
wm 32 0x63f80024 0x000000b4
wm 32 0x63f80000 0x00001236
check 8 until_any_bit_set 0x63f80000 0x01
# Switch pll1_sw_clk to pll1
wm 32 0x53fd400c 0x00000000

# CGR
wm 32 0x53fd4068 0xffffffff
wm 32 0x53fd406c 0xffffffff
wm 32 0x53fd4070 0xffffffff
wm 32 0x53fd4074 0xffffffff
wm 32 0x53fd4078 0xffffffff
wm 32 0x53fd407c 0xffffffff
wm 32 0x53fd4080 0xffffffff
wm 32 0x53fd4084 0xffffffff
wm 32 0x53FD4098 0x80000004

# CCM DDR div 3 / 266MHz
wm 32 0x53fd4098 0x80000003
check 32 until_all_bits_clear 0x53fd408c 0x00000004

# IOMUX
wm 32 0x53fa86ac 0x04000000
wm 32 0x53fa8668 0x00200000
wm 32 0x53fa866c 0x00000200
wm 32 0x53fa8670 0x00000000
wm 32 0x53fa868c 0x00000000
wm 32 0x53fa8698 0x00200000
wm 32 0x53fa86a0 0x00200000
wm 32 0x53fa86a4 0x00200000
wm 32 0x53fa86a8 0x00200000
wm 32 0x53fa86b4 0x00200000

# set SW_PAD_CTL_GRP_NANDF to Low output voltage
wm 32 0x53fa86c0 0x2000

wm 32 0x53fa8490 0x00200000
wm 32 0x53fa8494 0x00200000
wm 32 0x53fa8498 0x00200000
wm 32 0x53fa849c 0x00200000
wm 32 0x53fa84c8 0x00200000
wm 32 0x53fa84cc 0x00200000
wm 32 0x53fa84f0 0x00200000
wm 32 0x53fa84f4 0x00200000
wm 32 0x53fa84fc 0x00200000
wm 32 0x53fa8500 0x00200000
wm 32 0x53fa8524 0x00200000
wm 32 0x53fa8528 0x00200000

# ZQ Load
wm 32 0x1400012C 0x00000817
wm 32 0x14000128 0x09180000
wm 32 0x14000124 0x00310000
wm 32 0x14000124 0x00200000
wm 32 0x14000128 0x09180010
wm 32 0x14000124 0x00310000
wm 32 0x14000124 0x00200000

# DRAM_CTL
wm 32 0x14000000 0x00000500
wm 32 0x14000008 0x0000001b
wm 32 0x1400000c 0x0000d056
wm 32 0x14000010 0x0000010b
wm 32 0x14000014 0x00000a6b
wm 32 0x14000018 0x02020d0c
wm 32 0x1400001c 0x0c110302
wm 32 0x14000020 0x05020503
wm 32 0x14000024 0x0048eb05
wm 32 0x14000028 0x00000606
wm 32 0x1400002c 0x09040501
wm 32 0x14000030 0x02000000
wm 32 0x14000034 0x00000e02
wm 32 0x14000038 0x00000006
wm 32 0x1400003c 0x00002301
wm 32 0x14000040 0x00050408
wm 32 0x14000044 0x00000300
wm 32 0x14000048 0x00260026
wm 32 0x1400004c 0x00010000
wm 32 0x14000050 0x00000000
wm 32 0x14000054 0x00000000
wm 32 0x14000058 0x00000000
wm 32 0x1400005c 0x02000000
wm 32 0x14000060 0x00000002
wm 32 0x14000064 0x00000000
wm 32 0x14000068 0x00000000
wm 32 0x1400006c 0x00040042
wm 32 0x14000070 0x00000001
wm 32 0x14000074 0x00000000
wm 32 0x14000078 0x00040042
wm 32 0x1400007c 0x00000001
wm 32 0x14000080 0x010b0000
wm 32 0x14000084 0x00000060
wm 32 0x14000088 0x02400018
wm 32 0x1400008c 0x01000e00
wm 32 0x14000090 0x0a010101
wm 32 0x14000094 0x01011f1f
wm 32 0x14000098 0x01010101
wm 32 0x1400009c 0x00030101
wm 32 0x140000a0 0x00010000
wm 32 0x140000a4 0x00010000
wm 32 0x140000a8 0x00000000
wm 32 0x140000ac 0x0000ffff
wm 32 0x140000c8 0x02020101
wm 32 0x140000cc 0x01000000
wm 32 0x140000d0 0x01000201
wm 32 0x140000d4 0x00000200
wm 32 0x140000d8 0x00000102
wm 32 0x140000dc 0x0000ffff
wm 32 0x140000e0 0x0000ff00
wm 32 0x140000e4 0x02020000
wm 32 0x140000e8 0x02020202
wm 32 0x140000ec 0x00000202
wm 32 0x140000f0 0x01010064
wm 32 0x140000f4 0x01010101
wm 32 0x140000f8 0x00010101
wm 32 0x140000fc 0x00000064
wm 32 0x14000100 0x00000000
wm 32 0x14000104 0x02000802
wm 32 0x14000108 0x04080000
wm 32 0x1400010c 0x04080408
wm 32 0x14000110 0x04080408
wm 32 0x14000114 0x03060408
wm 32 0x14000118 0x00010002
wm 32 0x1400011c 0x00001000

# DDR PHY
wm 32 0x14000200 0x00000000
wm 32 0x14000204 0x00000000
wm 32 0x14000208 0x35003a27
wm 32 0x14000210 0x35003a27
wm 32 0x14000218 0x35003a27
wm 32 0x14000220 0x35003a27
wm 32 0x14000228 0x35003a27
wm 32 0x1400020c 0x380002e1
wm 32 0x14000214 0x380002e1
wm 32 0x1400021c 0x380002e1
wm 32 0x14000224 0x380002e1
wm 32 0x1400022c 0x380002e1
wm 32 0x14000230 0x00000000
wm 32 0x14000234 0x00810006
wm 32 0x14000238 0x60101014
wm 32 0x14000240 0x60101014
wm 32 0x14000248 0x60101014
wm 32 0x14000250 0x60101014
wm 32 0x14000258 0x60101014
wm 32 0x1400023c 0x00100b01
wm 32 0x14000244 0x00100b01
wm 32 0x1400024c 0x00100b01
wm 32 0x14000254 0x00100b01
wm 32 0x1400025c 0x00100b01

# start DDR
wm 32 0x14000000 0x00000501
check 32 until_any_bit_set 0x140000a8 0x00000010