blob: f8628280262f10e1e77fb86f48f51d3fcc8bf26d [file] [log] [blame]
Fabio Estevamdb1aa292021-05-28 10:26:57 -03001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2017 PHYTEC America, LLC
4 *
5 * Refer doc/imx/mkimage/imximage.txt for more details about how-to configure
6 * and create imximage boot image
7 *
8 * The syntax is taken as close as possible with the kwbimage
9 */
10
Fabio Estevamdb1aa292021-05-28 10:26:57 -030011#include <config.h>
12
13IMAGE_VERSION 2
14#ifdef CONFIG_IMX_HAB
15CSF CONFIG_CSF_SIZE
16#endif
17
18BOOT_FROM sd
19
20/*
21 * Device Configuration Data (DCD)
22 *
23 * Each entry must have the format:
24 * Addr-type Address Value
25 *
26 * where:
27 * Addr-type register length (1,2 or 4 bytes)
28 * Address absolute address of the register
29 * value value to be stored in the register
30 */
31
32/*
33 * Device Configuration Data (DCD)
34 *
35 * Each entry must have the format:
36 * Addr-type Address Value
37 *
38 * where:
39 * Addr-type register length (1,2 or 4 bytes)
40 * Address absolute address of the register
41 * value value to be stored in the register
42 */
43
44/* DDR initialization came from Phytec */
45DATA 4 0x30340004 0x4F400005
Fabio Estevam8af84322022-01-18 17:39:50 -030046/* Clear then set bit30 to ensure exit from DDR retention */
Fabio Estevamdb1aa292021-05-28 10:26:57 -030047DATA 4 0x30360388 0x40000000
48DATA 4 0x30360384 0x40000000
Fabio Estevam8af84322022-01-18 17:39:50 -030049
50/* deassert presetn */
Fabio Estevamdb1aa292021-05-28 10:26:57 -030051DATA 4 0x30391000 0x00000002
Fabio Estevam8af84322022-01-18 17:39:50 -030052
53/* DDR Controller Regs */
Fabio Estevamdb1aa292021-05-28 10:26:57 -030054DATA 4 0x307a0000 0x01040001
Fabio Estevam8af84322022-01-18 17:39:50 -030055DATA 4 0x307a0064 0x00400046
Fabio Estevamdb1aa292021-05-28 10:26:57 -030056DATA 4 0x307a0490 0x00000001
Fabio Estevamdb1aa292021-05-28 10:26:57 -030057DATA 4 0x307a00d4 0x00690000
Fabio Estevam8af84322022-01-18 17:39:50 -030058DATA 4 0x307a00d0 0x00020083
Fabio Estevamdb1aa292021-05-28 10:26:57 -030059DATA 4 0x307a00dc 0x09300004
Fabio Estevam8af84322022-01-18 17:39:50 -030060DATA 4 0x307a00e0 0x04480000
Fabio Estevamdb1aa292021-05-28 10:26:57 -030061DATA 4 0x307a00e4 0x00100004
62DATA 4 0x307a00f4 0x0000033f
Fabio Estevam8af84322022-01-18 17:39:50 -030063DATA 4 0x307a0100 0x090e110a
64DATA 4 0x307a0104 0x0007020e
Fabio Estevamdb1aa292021-05-28 10:26:57 -030065DATA 4 0x307a0108 0x03040407
66DATA 4 0x307a010c 0x00002006
Fabio Estevam8af84322022-01-18 17:39:50 -030067DATA 4 0x307a0110 0x04020304
Fabio Estevamdb1aa292021-05-28 10:26:57 -030068DATA 4 0x307a0114 0x03030202
Fabio Estevam8af84322022-01-18 17:39:50 -030069DATA 4 0x307a0120 0x00000803
Fabio Estevamdb1aa292021-05-28 10:26:57 -030070DATA 4 0x307a0180 0x00800020
Fabio Estevamdb1aa292021-05-28 10:26:57 -030071DATA 4 0x307a0190 0x02098204
72DATA 4 0x307a0194 0x00030303
Fabio Estevam8af84322022-01-18 17:39:50 -030073DATA 4 0x307a01a0 0x80400003
74DATA 4 0x307a01a4 0x00100020
75DATA 4 0x307a01a8 0x80100004
76DATA 4 0x307a0200 0x0000001f
Fabio Estevamdb1aa292021-05-28 10:26:57 -030077DATA 4 0x307a0204 0x00080808
Fabio Estevam8af84322022-01-18 17:39:50 -030078DATA 4 0x307a020c 0x00000000
Fabio Estevamdb1aa292021-05-28 10:26:57 -030079DATA 4 0x307a0210 0x00000f0f
80DATA 4 0x307a0214 0x07070707
Fabio Estevam8af84322022-01-18 17:39:50 -030081DATA 4 0x307a0218 0x0f070707
Fabio Estevamdb1aa292021-05-28 10:26:57 -030082DATA 4 0x307a0240 0x06000604
83DATA 4 0x307a0244 0x00000001
Fabio Estevam8af84322022-01-18 17:39:50 -030084
85/* deassert presetn */
Fabio Estevamdb1aa292021-05-28 10:26:57 -030086DATA 4 0x30391000 0x00000000
Fabio Estevam8af84322022-01-18 17:39:50 -030087
88/* PHY Controller Regs */
Fabio Estevamdb1aa292021-05-28 10:26:57 -030089DATA 4 0x30790000 0x17420f40
90DATA 4 0x30790004 0x10210100
91DATA 4 0x30790010 0x00060807
92DATA 4 0x307900b0 0x1010007e
93DATA 4 0x3079009c 0x00000d6e
Fabio Estevam8af84322022-01-18 17:39:50 -030094/* write leveling values for each byte lane */
95DATA 4 0x3079006c 0x06090108
96/* write leveling resync cycle */
97DATA 4 0x30790078 0x00000001
98DATA 4 0x30790078 0x00000000
99DATA 4 0x30790030 0x08080808
100DATA 4 0x30790020 0x08080808
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300101DATA 4 0x30790050 0x01000010
102DATA 4 0x30790050 0x00000010
Fabio Estevam8af84322022-01-18 17:39:50 -0300103DATA 4 0x30790018 0x0000000f
104
105/* start manual ZQ */
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300106DATA 4 0x307900c0 0x0e407304
107DATA 4 0x307900c0 0x0e447304
108DATA 4 0x307900c0 0x0e447306
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300109DATA 4 0x307900c0 0x0e447304
Fabio Estevam8af84322022-01-18 17:39:50 -0300110
111CHECK_BITS_SET 4 0x307900c4 0x1
112
113/* end manual ZQ */
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300114DATA 4 0x307900c0 0x0e407304
Fabio Estevam8af84322022-01-18 17:39:50 -0300115
116/* final init sequence */
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300117DATA 4 0x30384130 0x00000000
118DATA 4 0x30340020 0x00000178
119DATA 4 0x30384130 0x00000002
120DATA 4 0x30790018 0x0000000f
Fabio Estevam8af84322022-01-18 17:39:50 -0300121
Fabio Estevamdb1aa292021-05-28 10:26:57 -0300122CHECK_BITS_SET 4 0x307a0004 0x1