1*730d2544SChristoph Fritz/* 2*730d2544SChristoph Fritz * Copyright (C) 2016 samtec automotive software & electronics gmbh 3*730d2544SChristoph Fritz * 4*730d2544SChristoph Fritz * SPDX-License-Identifier: GPL-2.0+ 5*730d2544SChristoph Fritz */ 6*730d2544SChristoph Fritz 7*730d2544SChristoph Fritz#define __ASSEMBLY__ 8*730d2544SChristoph Fritz#include <config.h> 9*730d2544SChristoph Fritz 10*730d2544SChristoph Fritz/* image version */ 11*730d2544SChristoph Fritz 12*730d2544SChristoph FritzIMAGE_VERSION 2 13*730d2544SChristoph Fritz 14*730d2544SChristoph Fritz/* 15*730d2544SChristoph Fritz * Boot Device : one of 16*730d2544SChristoph Fritz * spi/sd/nand/onenand, qspi/nor 17*730d2544SChristoph Fritz */ 18*730d2544SChristoph Fritz 19*730d2544SChristoph FritzBOOT_FROM sd 20*730d2544SChristoph Fritz 21*730d2544SChristoph Fritz/* 22*730d2544SChristoph Fritz * Device Configuration Data (DCD) 23*730d2544SChristoph Fritz * 24*730d2544SChristoph Fritz * Each entry must have the format: 25*730d2544SChristoph Fritz * Addr-type Address Value 26*730d2544SChristoph Fritz * 27*730d2544SChristoph Fritz * where: 28*730d2544SChristoph Fritz * Addr-type register length (1,2 or 4 bytes) 29*730d2544SChristoph Fritz * Address absolute address of the register 30*730d2544SChristoph Fritz * value value to be stored in the register 31*730d2544SChristoph Fritz */ 32*730d2544SChristoph Fritz 33*730d2544SChristoph Fritz/* Enable all clocks */ 34*730d2544SChristoph FritzDATA 4 0x020c4068 0xffffffff 35*730d2544SChristoph FritzDATA 4 0x020c406c 0xffffffff 36*730d2544SChristoph FritzDATA 4 0x020c4070 0xffffffff 37*730d2544SChristoph FritzDATA 4 0x020c4074 0xffffffff 38*730d2544SChristoph FritzDATA 4 0x020c4078 0xffffffff 39*730d2544SChristoph FritzDATA 4 0x020c407c 0xffffffff 40*730d2544SChristoph FritzDATA 4 0x020c4080 0xffffffff 41*730d2544SChristoph FritzDATA 4 0x020c4084 0xffffffff 42*730d2544SChristoph Fritz 43*730d2544SChristoph Fritz/* IOMUX - DDR IO Type */ 44*730d2544SChristoph FritzDATA 4 0x020e0618 0x000c0000 45*730d2544SChristoph FritzDATA 4 0x020e05fc 0x00000000 46*730d2544SChristoph Fritz 47*730d2544SChristoph Fritz/* Clock */ 48*730d2544SChristoph FritzDATA 4 0x020e032c 0x00000030 49*730d2544SChristoph Fritz 50*730d2544SChristoph Fritz/* Address */ 51*730d2544SChristoph FritzDATA 4 0x020e0300 0x00000028 52*730d2544SChristoph FritzDATA 4 0x020e02fc 0x00000028 53*730d2544SChristoph FritzDATA 4 0x020e05f4 0x00000028 54*730d2544SChristoph Fritz 55*730d2544SChristoph Fritz/* Control */ 56*730d2544SChristoph FritzDATA 4 0x020e0340 0x00000028 57*730d2544SChristoph Fritz 58*730d2544SChristoph FritzDATA 4 0x020e0320 0x00000000 59*730d2544SChristoph FritzDATA 4 0x020e0310 0x00000028 60*730d2544SChristoph FritzDATA 4 0x020e0314 0x00000028 61*730d2544SChristoph FritzDATA 4 0x020e0614 0x00000028 62*730d2544SChristoph Fritz 63*730d2544SChristoph Fritz/* Data Strobe */ 64*730d2544SChristoph FritzDATA 4 0x020e05f8 0x00020000 65*730d2544SChristoph FritzDATA 4 0x020e0330 0x00000028 66*730d2544SChristoph FritzDATA 4 0x020e0334 0x00000028 67*730d2544SChristoph FritzDATA 4 0x020e0338 0x00000028 68*730d2544SChristoph FritzDATA 4 0x020e033c 0x00000028 69*730d2544SChristoph Fritz 70*730d2544SChristoph Fritz/* Data */ 71*730d2544SChristoph FritzDATA 4 0x020e0608 0x00020000 72*730d2544SChristoph FritzDATA 4 0x020e060c 0x00000028 73*730d2544SChristoph FritzDATA 4 0x020e0610 0x00000028 74*730d2544SChristoph FritzDATA 4 0x020e061c 0x00000028 75*730d2544SChristoph FritzDATA 4 0x020e0620 0x00000028 76*730d2544SChristoph FritzDATA 4 0x020e02ec 0x00000028 77*730d2544SChristoph FritzDATA 4 0x020e02f0 0x00000028 78*730d2544SChristoph FritzDATA 4 0x020e02f4 0x00000028 79*730d2544SChristoph FritzDATA 4 0x020e02f8 0x00000028 80*730d2544SChristoph Fritz 81*730d2544SChristoph Fritz/* Calibrations - ZQ */ 82*730d2544SChristoph FritzDATA 4 0x021b0800 0xa1390003 83*730d2544SChristoph Fritz 84*730d2544SChristoph Fritz/* Write leveling */ 85*730d2544SChristoph FritzDATA 4 0x021b080c 0x00290025 86*730d2544SChristoph FritzDATA 4 0x021b0810 0x00210022 87*730d2544SChristoph Fritz 88*730d2544SChristoph Fritz/* DQS Read Gate */ 89*730d2544SChristoph FritzDATA 4 0x021b083c 0x4142013a 90*730d2544SChristoph FritzDATA 4 0x021b0840 0x012e0123 91*730d2544SChristoph Fritz 92*730d2544SChristoph Fritz/* Read/Write Delay */ 93*730d2544SChristoph FritzDATA 4 0x021b0848 0x43474949 94*730d2544SChristoph FritzDATA 4 0x021b0850 0x38383c38 95*730d2544SChristoph Fritz 96*730d2544SChristoph Fritz/* Read data bit delay */ 97*730d2544SChristoph FritzDATA 4 0x021b081c 0x33333333 98*730d2544SChristoph FritzDATA 4 0x021b0820 0x33333333 99*730d2544SChristoph FritzDATA 4 0x021b0824 0x33333333 100*730d2544SChristoph FritzDATA 4 0x021b0828 0x33333333 101*730d2544SChristoph Fritz 102*730d2544SChristoph Fritz/* Complete calibration by forced measurement */ 103*730d2544SChristoph FritzDATA 4 0x021b08b8 0x00000800 104*730d2544SChristoph Fritz 105*730d2544SChristoph Fritz/* MMDC init - DDR3, 64-bit mode, only MMDC0 is initiated */ 106*730d2544SChristoph FritzDATA 4 0x021b0004 0x0002002d 107*730d2544SChristoph FritzDATA 4 0x021b0008 0x00333040 108*730d2544SChristoph FritzDATA 4 0x021b000c 0x676b52f2 109*730d2544SChristoph FritzDATA 4 0x021b0010 0x926e8b63 110*730d2544SChristoph FritzDATA 4 0x021b0014 0x01ff00db 111*730d2544SChristoph FritzDATA 4 0x021b0018 0x00011740 112*730d2544SChristoph FritzDATA 4 0x021b001c 0x00008000 113*730d2544SChristoph FritzDATA 4 0x021b002c 0x000026d2 114*730d2544SChristoph FritzDATA 4 0x021b0030 0x006b1023 115*730d2544SChristoph FritzDATA 4 0x021b0040 0x0000005f 116*730d2544SChristoph FritzDATA 4 0x021b0000 0x84190000 117*730d2544SChristoph Fritz 118*730d2544SChristoph Fritz/* Initialize MT41K256M16HA-125 - MR2 */ 119*730d2544SChristoph FritzDATA 4 0x021b001c 0x02008032 120*730d2544SChristoph Fritz/* MR3 */ 121*730d2544SChristoph FritzDATA 4 0x021b001c 0x00008033 122*730d2544SChristoph Fritz/* MR1 */ 123*730d2544SChristoph FritzDATA 4 0x021b001c 0x00048031 124*730d2544SChristoph Fritz/* MR0 */ 125*730d2544SChristoph FritzDATA 4 0x021b001c 0x15108030 126*730d2544SChristoph Fritz/* DDR device ZQ calibration */ 127*730d2544SChristoph FritzDATA 4 0x021b001c 0x04008040 128*730d2544SChristoph Fritz 129*730d2544SChristoph Fritz/* Final DDR setup, before operation start */ 130*730d2544SChristoph FritzDATA 4 0x021b0020 0x00007800 131*730d2544SChristoph FritzDATA 4 0x021b0818 0x00022227 132*730d2544SChristoph FritzDATA 4 0x021b001c 0x00000000 133