xref: /rk3399_rockchip-uboot/board/barco/titanium/imximage.cfg (revision c2cde27d58cfa0b09b8ed4577fa313fdfaa57660)
1*c2cde27dSStefan Roese/*
2*c2cde27dSStefan Roese * Projectiondesign AS
3*c2cde27dSStefan Roese * Derived from ./board/freescale/mx6qsabrelite/imximage.cfg
4*c2cde27dSStefan Roese *
5*c2cde27dSStefan Roese * Copyright (C) 2011 Freescale Semiconductor, Inc.
6*c2cde27dSStefan Roese * Jason Liu <r64343@freescale.com>
7*c2cde27dSStefan Roese *
8*c2cde27dSStefan Roese * SPDX-License-Identifier:	GPL-2.0+
9*c2cde27dSStefan Roese *
10*c2cde27dSStefan Roese * Refer docs/README.imxmage for more details about how-to configure
11*c2cde27dSStefan Roese * and create imximage boot image
12*c2cde27dSStefan Roese *
13*c2cde27dSStefan Roese * The syntax is taken as close as possible with the kwbimage
14*c2cde27dSStefan Roese */
15*c2cde27dSStefan Roese
16*c2cde27dSStefan Roese/* image version */
17*c2cde27dSStefan Roese
18*c2cde27dSStefan RoeseIMAGE_VERSION 2
19*c2cde27dSStefan Roese
20*c2cde27dSStefan Roese/*
21*c2cde27dSStefan Roese * Boot Device : one of
22*c2cde27dSStefan Roese * sd, nand
23*c2cde27dSStefan Roese */
24*c2cde27dSStefan RoeseBOOT_FROM      nand
25*c2cde27dSStefan Roese
26*c2cde27dSStefan Roese/*
27*c2cde27dSStefan Roese * Device Configuration Data (DCD)
28*c2cde27dSStefan Roese *
29*c2cde27dSStefan Roese * Each entry must have the format:
30*c2cde27dSStefan Roese * Addr-type           Address        Value
31*c2cde27dSStefan Roese *
32*c2cde27dSStefan Roese * where:
33*c2cde27dSStefan Roese *      Addr-type register length (1,2 or 4 bytes)
34*c2cde27dSStefan Roese *      Address   absolute address of the register
35*c2cde27dSStefan Roese *      value     value to be stored in the register
36*c2cde27dSStefan Roese */
37*c2cde27dSStefan Roese
38*c2cde27dSStefan Roese#define __ASSEMBLY__
39*c2cde27dSStefan Roese#include <config.h>
40*c2cde27dSStefan Roese#include "asm/arch/mx6-ddr.h"
41*c2cde27dSStefan Roese#include "asm/arch/iomux.h"
42*c2cde27dSStefan Roese#include "asm/arch/crm_regs.h"
43*c2cde27dSStefan Roese
44*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS0, 0x00000030
45*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS1, 0x00000030
46*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS2, 0x00000030
47*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS3, 0x00000030
48*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS4, 0x00000030
49*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS5, 0x00000030
50*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS6, 0x00000030
51*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDQS7, 0x00000030
52*c2cde27dSStefan Roese
53*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM0, 0x00020030
54*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM1, 0x00020030
55*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM2, 0x00020030
56*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM3, 0x00020030
57*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM4, 0x00020030
58*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM5, 0x00020030
59*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM6, 0x00020030
60*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_DQM7, 0x00020030
61*c2cde27dSStefan Roese
62*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_CAS, 0x00020030
63*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_RAS, 0x00020030
64*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDCLK_0, 0x00020030
65*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00020030
66*c2cde27dSStefan Roese
67*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_RESET, 0x00020030
68*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDCKE0, 0x00003000
69*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDCKE1, 0x00003000
70*c2cde27dSStefan Roese
71*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000
72*c2cde27dSStefan Roese
73*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDODT0, 0x00003030
74*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DRAM_SDODT1, 0x00003030
75*c2cde27dSStefan Roese
76*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B0DS, 0x00000030
77*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B1DS, 0x00000030
78*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B2DS, 0x00000030
79*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B3DS, 0x00000030
80*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B4DS, 0x00000030
81*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B5DS, 0x00000030
82*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B6DS, 0x00000030
83*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_B7DS, 0x00000030
84*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_ADDDS, 0x00000030
85*c2cde27dSStefan Roese
86*c2cde27dSStefan Roese/* (differential input) */
87*c2cde27dSStefan RoeseDATA 4, MX6_IOM_DDRMODE_CTL, 0x00020000
88*c2cde27dSStefan Roese/* disable ddr pullups */
89*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000
90*c2cde27dSStefan Roese/* (differential input) */
91*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_DDRMODE, 0x00020000
92*c2cde27dSStefan Roese/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */
93*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_CTLDS, 0x00000030
94*c2cde27dSStefan Roese/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */
95*c2cde27dSStefan RoeseDATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000
96*c2cde27dSStefan Roese
97*c2cde27dSStefan Roese/* Read data DQ Byte0-3 delay */
98*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333
99*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333
100*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPRDDQBY2DL, 0x33333333
101*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPRDDQBY3DL, 0x33333333
102*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPRDDQBY0DL, 0x33333333
103*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPRDDQBY1DL, 0x33333333
104*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPRDDQBY2DL, 0x33333333
105*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPRDDQBY3DL, 0x33333333
106*c2cde27dSStefan Roese
107*c2cde27dSStefan Roese/*
108*c2cde27dSStefan Roese * MDMISC	mirroring	interleaved (row/bank/col)
109*c2cde27dSStefan Roese */
110*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDMISC, 0x00081740
111*c2cde27dSStefan Roese
112*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x00008000
113*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDCFG0, 0x555A7975
114*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDCFG1, 0xFF538E64
115*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB
116*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2
117*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDOR, 0x005B0E21
118*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDOTC, 0x09444040
119*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDPDC, 0x00025576
120*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDASP, 0x00000017
121*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDCTL, 0x83190000
122*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x04088032
123*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x0408803A
124*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x00008033
125*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x0000803B
126*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x00428031
127*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x00428039
128*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x09408030
129*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x09408038
130*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x04008040
131*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x04008048
132*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPZQHWCTRL, 0xA1380003
133*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPZQHWCTRL, 0xA1380003
134*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDREF, 0x00005800
135*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022227
136*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPODTCTRL, 0x00022227
137*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x434B0350
138*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x034C0359
139*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x434B0350
140*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x03650348
141*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x4436383B
142*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x39393341
143*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x35373933
144*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x48254A36
145*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x001F001F
146*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x001F001F
147*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x00440044
148*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x00440044
149*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MPMUR0, 0x00000800
150*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P1_MPMUR0, 0x00000800
151*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MDSCR, 0x00000000
152*c2cde27dSStefan RoeseDATA 4, MX6_MMDC_P0_MAPSR, 0x00011006
153*c2cde27dSStefan Roese
154*c2cde27dSStefan Roese/* set the default clock gate to save power */
155*c2cde27dSStefan RoeseDATA 4, CCM_CCGR0, 0x00C03F3F
156*c2cde27dSStefan RoeseDATA 4, CCM_CCGR1, 0x0030FC03
157*c2cde27dSStefan RoeseDATA 4, CCM_CCGR2, 0x0FFFC000
158*c2cde27dSStefan RoeseDATA 4, CCM_CCGR3, 0x3FF00000
159*c2cde27dSStefan RoeseDATA 4, CCM_CCGR4, 0xFFFFF300 /* enable NAND/GPMI/BCH clocks */
160*c2cde27dSStefan RoeseDATA 4, CCM_CCGR5, 0x0F0000C3
161*c2cde27dSStefan RoeseDATA 4, CCM_CCGR6, 0x000003FF
162*c2cde27dSStefan Roese
163*c2cde27dSStefan Roese/* enable AXI cache for VDOA/VPU/IPU */
164*c2cde27dSStefan RoeseDATA 4, MX6_IOMUXC_GPR4, 0xF00000CF
165*c2cde27dSStefan Roese/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
166*c2cde27dSStefan RoeseDATA 4, MX6_IOMUXC_GPR6, 0x007F007F
167*c2cde27dSStefan RoeseDATA 4, MX6_IOMUXC_GPR7, 0x007F007F
168