1ae440ab0SStefan Agner/* 2ae440ab0SStefan Agner * Copyright (C) 2015 Freescale Semiconductor, Inc. 3ae440ab0SStefan Agner * 2015 Toradex AG 4ae440ab0SStefan Agner * 5ae440ab0SStefan Agner * SPDX-License-Identifier: GPL-2.0+ 6ae440ab0SStefan Agner * 7*03bf9d58SJagan Teki * Refer doc/README.imximage for more details about how-to configure 8ae440ab0SStefan Agner * and create imximage boot image 9ae440ab0SStefan Agner * 10ae440ab0SStefan Agner * The syntax is taken as close as possible with the kwbimage 11ae440ab0SStefan Agner */ 12ae440ab0SStefan Agner 13ae440ab0SStefan Agner#define __ASSEMBLY__ 14ae440ab0SStefan Agner#include <config.h> 15ae440ab0SStefan Agner 16ae440ab0SStefan Agner/* image version */ 17ae440ab0SStefan Agner 18ae440ab0SStefan AgnerIMAGE_VERSION 2 19ae440ab0SStefan Agner 20ae440ab0SStefan Agner/* 21ae440ab0SStefan Agner * Boot Device : sd 22ae440ab0SStefan Agner */ 23ae440ab0SStefan Agner 24ae440ab0SStefan AgnerBOOT_FROM sd 25ae440ab0SStefan Agner 26ae440ab0SStefan Agner/* 27ae440ab0SStefan Agner * Secure boot support 28ae440ab0SStefan Agner */ 29ae440ab0SStefan Agner#ifdef CONFIG_SECURE_BOOT 30ae440ab0SStefan AgnerCSF CONFIG_CSF_SIZE 31ae440ab0SStefan Agner#endif 32ae440ab0SStefan Agner 33ae440ab0SStefan Agner/* 34ae440ab0SStefan Agner * Device Configuration Data (DCD) 35ae440ab0SStefan Agner * 36ae440ab0SStefan Agner * Each entry must have the format: 37ae440ab0SStefan Agner * Addr-type Address Value 38ae440ab0SStefan Agner * 39ae440ab0SStefan Agner * where: 40ae440ab0SStefan Agner * Addr-type register length (1,2 or 4 bytes) 41ae440ab0SStefan Agner * Address absolute address of the register 42ae440ab0SStefan Agner * value value to be stored in the register 43ae440ab0SStefan Agner */ 44ae440ab0SStefan Agner 45ae440ab0SStefan Agner/* IOMUXC_GPR_GPR1 */ 46ae440ab0SStefan AgnerDATA 4 0x30340004 0x4F400005 47ae440ab0SStefan Agner 48ae440ab0SStefan Agner/* DDR3L */ 49ae440ab0SStefan Agner/* assuming MEMC_FREQ_RATIO = 2 */ 50ae440ab0SStefan Agner/* SRC_DDRC_RCR */ 51ae440ab0SStefan AgnerDATA 4 0x30391000 0x00000002 52ae440ab0SStefan Agner/* DDRC_MSTR */ 53ae440ab0SStefan AgnerDATA 4 0x307a0000 0x01040001 54ae440ab0SStefan Agner/* DDRC_DFIUPD0 */ 55ae440ab0SStefan AgnerDATA 4 0x307a01a0 0x80400003 56ae440ab0SStefan Agner/* DDRC_DFIUPD1 */ 57ae440ab0SStefan AgnerDATA 4 0x307a01a4 0x00100020 58ae440ab0SStefan Agner/* DDRC_DFIUPD2 */ 59ae440ab0SStefan AgnerDATA 4 0x307a01a8 0x80100004 60ae440ab0SStefan Agner/* DDRC_RFSHTMG */ 61ae440ab0SStefan AgnerDATA 4 0x307a0064 0x00400045 62ae440ab0SStefan Agner/* DDRC_MP_PCTRL_0 */ 63ae440ab0SStefan AgnerDATA 4 0x307a0490 0x00000001 64ae440ab0SStefan Agner/* DDRC_INIT0 */ 65ae440ab0SStefan AgnerDATA 4 0x307a00d0 0x00020083 66ae440ab0SStefan Agner/* DDRC_INIT1 */ 67ae440ab0SStefan AgnerDATA 4 0x307a00d4 0x00690000 68ae440ab0SStefan Agner/* DDRC_INIT3 MR0/MR1 */ 69ae440ab0SStefan AgnerDATA 4 0x307a00dc 0x09300004 70ae440ab0SStefan Agner/* DDRC_INIT4 MR2/MR3 */ 71ae440ab0SStefan AgnerDATA 4 0x307a00e0 0x04480000 72ae440ab0SStefan Agner/* DDRC_INIT5 */ 73ae440ab0SStefan AgnerDATA 4 0x307a00e4 0x00100004 74ae440ab0SStefan Agner/* DDRC_RANKCTL */ 75ae440ab0SStefan AgnerDATA 4 0x307a00f4 0x0000033f 76ae440ab0SStefan Agner/* DDRC_DRAMTMG0 */ 77ae440ab0SStefan AgnerDATA 4 0x307a0100 0x090b090a 78ae440ab0SStefan Agner/* DDRC_DRAMTMG1 */ 79ae440ab0SStefan AgnerDATA 4 0x307a0104 0x000d020d 80ae440ab0SStefan Agner/* DDRC_DRAMTMG2 */ 81ae440ab0SStefan AgnerDATA 4 0x307a0108 0x03040307 82ae440ab0SStefan Agner/* DDRC_DRAMTMG3 */ 83ae440ab0SStefan AgnerDATA 4 0x307a010c 0x00002006 84ae440ab0SStefan Agner/* DDRC_DRAMTMG4 */ 85ae440ab0SStefan AgnerDATA 4 0x307a0110 0x04020205 86ae440ab0SStefan Agner/* DDRC_DRAMTMG5 */ 87ae440ab0SStefan AgnerDATA 4 0x307a0114 0x03030202 88ae440ab0SStefan Agner/* DDRC_DRAMTMG8 */ 89ae440ab0SStefan AgnerDATA 4 0x307a0120 0x00000803 90ae440ab0SStefan Agner/* DDRC_ZQCTL0 */ 91ae440ab0SStefan AgnerDATA 4 0x307a0180 0x00800020 92ae440ab0SStefan Agner/* DDRC_ZQCTL1 */ 93ae440ab0SStefan AgnerDATA 4 0x307a0184 0x02001000 94ae440ab0SStefan Agner/* DDRC_DFITMG0 */ 95ae440ab0SStefan AgnerDATA 4 0x307a0190 0x02098204 96ae440ab0SStefan Agner/* DDRC_DFITMG1 */ 97ae440ab0SStefan AgnerDATA 4 0x307a0194 0x00030303 98ae440ab0SStefan Agner/* DDRC_ADDRMAP0 */ 99ae440ab0SStefan AgnerDATA 4 0x307a0200 0x0000001f 100ae440ab0SStefan Agner/* DDRC_ADDRMAP1 */ 101ae440ab0SStefan AgnerDATA 4 0x307a0204 0x00080808 102ae440ab0SStefan Agner/* DDRC_ADDRMAP5 */ 103ae440ab0SStefan AgnerDATA 4 0x307a0214 0x07070707 104ae440ab0SStefan Agner/* DDRC_ADDRMAP6 */ 105ae440ab0SStefan AgnerDATA 4 0x307a0218 0x07070707 106ae440ab0SStefan Agner/* DDRC_ODTCFG */ 107ae440ab0SStefan AgnerDATA 4 0x307a0240 0x06000601 108ae440ab0SStefan Agner/* DDRC_ODTMAP */ 109ae440ab0SStefan AgnerDATA 4 0x307a0244 0x00000011 110ae440ab0SStefan Agner/* SRC_DDRC_RCR */ 111ae440ab0SStefan AgnerDATA 4 0x30391000 0x00000000 112ae440ab0SStefan Agner/* DDR_PHY_PHY_CON0 */ 113ae440ab0SStefan AgnerDATA 4 0x30790000 0x17420f40 114ae440ab0SStefan Agner/* DDR_PHY_PHY_CON1 */ 115ae440ab0SStefan AgnerDATA 4 0x30790004 0x10210100 116ae440ab0SStefan Agner/* DDR_PHY_PHY_CON4 */ 117ae440ab0SStefan AgnerDATA 4 0x30790010 0x00060807 118ae440ab0SStefan Agner/* DDR_PHY_MDLL_CON0 */ 119ae440ab0SStefan AgnerDATA 4 0x307900b0 0x1010007e 120ae440ab0SStefan Agner/* DDR_PHY_DRVDS_CON0 */ 121ae440ab0SStefan AgnerDATA 4 0x3079009c 0x00000d6e 122ae440ab0SStefan Agner/* DDR_PHY_OFFSET_RD_CON0 */ 123ae440ab0SStefan AgnerDATA 4 0x30790020 0x08080808 124ae440ab0SStefan Agner/* DDR_PHY_OFFSET_WR_CON0 */ 125ae440ab0SStefan AgnerDATA 4 0x30790030 0x08080808 126ae440ab0SStefan Agner/* DDR_PHY_CMD_SDLL_CON0 */ 127ae440ab0SStefan AgnerDATA 4 0x30790050 0x01000010 128ae440ab0SStefan AgnerDATA 4 0x30790050 0x00000010 129ae440ab0SStefan Agner 130ae440ab0SStefan Agner/* DDR_PHY_ZQ_CON0 */ 131ae440ab0SStefan AgnerDATA 4 0x307900c0 0x0e407304 132ae440ab0SStefan AgnerDATA 4 0x307900c0 0x0e447304 133ae440ab0SStefan AgnerDATA 4 0x307900c0 0x0e447306 134ae440ab0SStefan Agner/* DDR_PHY_ZQ_CON1 */ 135ae440ab0SStefan AgnerCHECK_BITS_SET 4 0x307900c4 0x1 136ae440ab0SStefan Agner/* DDR_PHY_ZQ_CON0 */ 137ae440ab0SStefan AgnerDATA 4 0x307900c0 0x0e447304 138ae440ab0SStefan AgnerDATA 4 0x307900c0 0x0e407304 139ae440ab0SStefan Agner 140ae440ab0SStefan Agner/* CCM_CCGRn */ 141ae440ab0SStefan AgnerDATA 4 0x30384130 0x00000000 142ae440ab0SStefan Agner/* IOMUXC_GPR_GPR8 */ 143ae440ab0SStefan AgnerDATA 4 0x30340020 0x00000178 144ae440ab0SStefan Agner/* CCM_CCGRn */ 145ae440ab0SStefan AgnerDATA 4 0x30384130 0x00000002 146ae440ab0SStefan Agner/* DDR_PHY_LP_CON0 */ 147ae440ab0SStefan AgnerDATA 4 0x30790018 0x0000000f 148ae440ab0SStefan Agner 149ae440ab0SStefan Agner/* DDRC_STAT */ 150ae440ab0SStefan AgnerCHECK_BITS_SET 4 0x307a0004 0x1 151