mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-31 22:39:08 +09:00
![Stefan Roese](/assets/img/avatar_default.png)
With the upcoming addition of the Armada 38x DDR support, which is not compatible to the Armada XP DDR init code, we need to introduce a new directory infrastructure. To support multiple Marvell DDR controller. This will be the new structure: drivers/ddr/marvell/axp Supporting Armada XP (AXP) devices (and perhaps Armada 370) drivers/ddr/marvell/a38x Supporting Armada 38x devices (and perhaps Armada 39x) Signed-off-by: Stefan Roese <sr@denx.de>
771 lines
18 KiB
C
771 lines
18 KiB
C
/*
|
|
* Copyright (C) Marvell International Ltd. and its affiliates
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0
|
|
*/
|
|
|
|
#ifndef __AXP_TRAINING_STATIC_H
|
|
#define __AXP_TRAINING_STATIC_H
|
|
|
|
/*
|
|
* STATIC_TRAINING - Set only if static parameters for training are set and
|
|
* required
|
|
*/
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_rev2_667[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC002011A},
|
|
/*1 */
|
|
{0x000016A0, 0xC0420100},
|
|
/*2 */
|
|
{0x000016A0, 0xC082020A},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C20017},
|
|
/*4 */
|
|
{0x000016A0, 0xC1020113},
|
|
/*5 */
|
|
{0x000016A0, 0xC1420107},
|
|
/*6 */
|
|
{0x000016A0, 0xC182011F},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C2001C},
|
|
/*8 */
|
|
{0x000016A0, 0xC202010D},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0004A06},
|
|
/*1 */
|
|
{0x000016A0, 0xC040690D},
|
|
/*2 */
|
|
{0x000016A0, 0xC0806A0D},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0A01B},
|
|
/*4 */
|
|
{0x000016A0, 0xC1003A01},
|
|
/*5 */
|
|
{0x000016A0, 0xC1408113},
|
|
/*6 */
|
|
{0x000016A0, 0xC1805609},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C04504},
|
|
/*8 */
|
|
{0x000016A0, 0xC2009518},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_rev2_800[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC0020301},
|
|
/*1 */
|
|
{0x000016A0, 0xC0420202},
|
|
/*2 */
|
|
{0x000016A0, 0xC0820314},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C20117},
|
|
/*4 */
|
|
{0x000016A0, 0xC1020219},
|
|
/*5 */
|
|
{0x000016A0, 0xC142020B},
|
|
/*6 */
|
|
{0x000016A0, 0xC182030A},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C2011D},
|
|
/*8 */
|
|
{0x000016A0, 0xC2020212},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0007A12},
|
|
/*1 */
|
|
{0x000016A0, 0xC0408D16},
|
|
/*2 */
|
|
{0x000016A0, 0xC0809E1B},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0AC1F},
|
|
/*4 */
|
|
{0x000016A0, 0xC1005E0A},
|
|
/*5 */
|
|
{0x000016A0, 0xC140A91D},
|
|
/*6 */
|
|
{0x000016A0, 0xC1808E17},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C05509},
|
|
/*8 */
|
|
{0x000016A0, 0xC2003A01},
|
|
|
|
/* PBS Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0007A12},
|
|
/*1 */
|
|
{0x000016A0, 0xC0408D16},
|
|
/*2 */
|
|
{0x000016A0, 0xC0809E1B},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0AC1F},
|
|
/*4 */
|
|
{0x000016A0, 0xC1005E0A},
|
|
/*5 */
|
|
{0x000016A0, 0xC140A91D},
|
|
/*6 */
|
|
{0x000016A0, 0xC1808E17},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C05509},
|
|
/*8 */
|
|
{0x000016A0, 0xC2003A01},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000B},
|
|
|
|
{0x00001538, 0x0000000D}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x00000011}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_400[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 2 4 15 */
|
|
{0x000016A0, 0xC002010C},
|
|
/*1 2 4 2 */
|
|
{0x000016A0, 0xC042001C},
|
|
/*2 2 4 27 */
|
|
{0x000016A0, 0xC0820115},
|
|
/*3 2 4 0 */
|
|
{0x000016A0, 0xC0C20019},
|
|
/*4 2 4 13 */
|
|
{0x000016A0, 0xC1020108},
|
|
/*5 2 4 5 */
|
|
{0x000016A0, 0xC1420100},
|
|
/*6 2 4 19 */
|
|
{0x000016A0, 0xC1820111},
|
|
/*7 2 4 0 */
|
|
{0x000016A0, 0xC1C2001B},
|
|
/*8 2 4 10 */
|
|
/*{0x000016A0, 0xC2020117}, */
|
|
{0x000016A0, 0xC202010C},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0005508},
|
|
/*1 */
|
|
{0x000016A0, 0xC0409819},
|
|
/*2 */
|
|
{0x000016A0, 0xC080650C},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0700F},
|
|
/*4 */
|
|
{0x000016A0, 0xC1004103},
|
|
/*5 */
|
|
{0x000016A0, 0xC140A81D},
|
|
/*6 */
|
|
{0x000016A0, 0xC180650C},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C08013},
|
|
/*8 */
|
|
{0x000016A0, 0xC2005508},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x00000008}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000A}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_533[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 2 4 15 */
|
|
{0x000016A0, 0xC002040C},
|
|
/*1 2 4 2 */
|
|
{0x000016A0, 0xC0420117},
|
|
/*2 2 4 27 */
|
|
{0x000016A0, 0xC082041B},
|
|
/*3 2 4 0 */
|
|
{0x000016A0, 0xC0C20117},
|
|
/*4 2 4 13 */
|
|
{0x000016A0, 0xC102040A},
|
|
/*5 2 4 5 */
|
|
{0x000016A0, 0xC1420117},
|
|
/*6 2 4 19 */
|
|
{0x000016A0, 0xC1820419},
|
|
/*7 2 4 0 */
|
|
{0x000016A0, 0xC1C20117},
|
|
/*8 2 4 10 */
|
|
{0x000016A0, 0xC2020117},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0008113},
|
|
/*1 */
|
|
{0x000016A0, 0xC0404504},
|
|
/*2 */
|
|
{0x000016A0, 0xC0808514},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C09418},
|
|
/*4 */
|
|
{0x000016A0, 0xC1006D0E},
|
|
/*5 */
|
|
{0x000016A0, 0xC1405508},
|
|
/*6 */
|
|
{0x000016A0, 0xC1807D12},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C0b01F},
|
|
/*8 */
|
|
{0x000016A0, 0xC2005D0A},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x00000008}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000A}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_600[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 2 3 1 */
|
|
{0x000016A0, 0xC0020104},
|
|
/*1 2 2 6 */
|
|
{0x000016A0, 0xC0420010},
|
|
/*2 2 3 16 */
|
|
{0x000016A0, 0xC0820112},
|
|
/*3 2 1 26 */
|
|
{0x000016A0, 0xC0C20009},
|
|
/*4 2 2 29 */
|
|
{0x000016A0, 0xC102001F},
|
|
/*5 2 2 13 */
|
|
{0x000016A0, 0xC1420014},
|
|
/*6 2 3 6 */
|
|
{0x000016A0, 0xC1820109},
|
|
/*7 2 1 31 */
|
|
{0x000016A0, 0xC1C2000C},
|
|
/*8 2 2 22 */
|
|
{0x000016A0, 0xC2020112},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0009919},
|
|
/*1 */
|
|
{0x000016A0, 0xC0405508},
|
|
/*2 */
|
|
{0x000016A0, 0xC0809919},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C09C1A},
|
|
/*4 */
|
|
{0x000016A0, 0xC1008113},
|
|
/*5 */
|
|
{0x000016A0, 0xC140650C},
|
|
/*6 */
|
|
{0x000016A0, 0xC1809518},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C04103},
|
|
/*8 */
|
|
{0x000016A0, 0xC2006D0E},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_667[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 2 3 1 */
|
|
{0x000016A0, 0xC0020103},
|
|
/*1 2 2 6 */
|
|
{0x000016A0, 0xC0420012},
|
|
/*2 2 3 16 */
|
|
{0x000016A0, 0xC0820113},
|
|
/*3 2 1 26 */
|
|
{0x000016A0, 0xC0C20012},
|
|
/*4 2 2 29 */
|
|
{0x000016A0, 0xC1020100},
|
|
/*5 2 2 13 */
|
|
{0x000016A0, 0xC1420016},
|
|
/*6 2 3 6 */
|
|
{0x000016A0, 0xC1820109},
|
|
/*7 2 1 31 */
|
|
{0x000016A0, 0xC1C20010},
|
|
/*8 2 2 22 */
|
|
{0x000016A0, 0xC2020112},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC000b11F},
|
|
/*1 */
|
|
{0x000016A0, 0xC040690D},
|
|
/*2 */
|
|
{0x000016A0, 0xC0803600},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0a81D},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC180ad1e},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C04d06},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008514},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_800[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 2 3 1 */
|
|
{0x000016A0, 0xC0020213},
|
|
/*1 2 2 6 */
|
|
{0x000016A0, 0xC0420108},
|
|
/*2 2 3 16 */
|
|
{0x000016A0, 0xC0820210},
|
|
/*3 2 1 26 */
|
|
{0x000016A0, 0xC0C20108},
|
|
/*4 2 2 29 */
|
|
{0x000016A0, 0xC102011A},
|
|
/*5 2 2 13 */
|
|
{0x000016A0, 0xC1420300},
|
|
/*6 2 3 6 */
|
|
{0x000016A0, 0xC1820204},
|
|
/*7 2 1 31 */
|
|
{0x000016A0, 0xC1C20106},
|
|
/*8 2 2 22 */
|
|
{0x000016A0, 0xC2020112},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC000620B},
|
|
/*1 */
|
|
{0x000016A0, 0xC0408D16},
|
|
/*2 */
|
|
{0x000016A0, 0xC0806A0D},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C03D02},
|
|
/*4 */
|
|
{0x000016A0, 0xC1004a05},
|
|
/*5 */
|
|
{0x000016A0, 0xC140A11B},
|
|
/*6 */
|
|
{0x000016A0, 0xC1805E0A},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C06D0E},
|
|
/*8 */
|
|
{0x000016A0, 0xC200AD1E},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000C}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000E}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_rd_667_0[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC002010E},
|
|
/*1 */
|
|
{0x000016A0, 0xC042001E},
|
|
/*2 */
|
|
{0x000016A0, 0xC0820118},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C2001E},
|
|
/*4 */
|
|
{0x000016A0, 0xC102010C},
|
|
/*5 */
|
|
{0x000016A0, 0xC1420102},
|
|
/*6 */
|
|
{0x000016A0, 0xC1820111},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C2001C},
|
|
/*8 */
|
|
{0x000016A0, 0xC2020109},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0003600},
|
|
/*1 */
|
|
{0x000016A0, 0xC040690D},
|
|
/*2 */
|
|
{0x000016A0, 0xC0805207},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0A81D},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC1803E02},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C05107},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008113},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_rd_667_1[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC0020106},
|
|
/*1 */
|
|
{0x000016A0, 0xC0420016},
|
|
/*2 */
|
|
{0x000016A0, 0xC0820117},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C2000F},
|
|
/*4 */
|
|
{0x000016A0, 0xC1020105},
|
|
/*5 */
|
|
{0x000016A0, 0xC142001B},
|
|
/*6 */
|
|
{0x000016A0, 0xC182010C},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C20011},
|
|
/*8 */
|
|
{0x000016A0, 0xC2020101},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0003600},
|
|
/*1 */
|
|
{0x000016A0, 0xC0406D0E},
|
|
/*2 */
|
|
{0x000016A0, 0xC0803600},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C04504},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC1803600},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C0610B},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008113},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_rd_667_2[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC002010C},
|
|
/*1 */
|
|
{0x000016A0, 0xC042001B},
|
|
/*2 */
|
|
{0x000016A0, 0xC082011D},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C20015},
|
|
/*4 */
|
|
{0x000016A0, 0xC102010B},
|
|
/*5 */
|
|
{0x000016A0, 0xC1420101},
|
|
/*6 */
|
|
{0x000016A0, 0xC1820113},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C20017},
|
|
/*8 */
|
|
{0x000016A0, 0xC2020107},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0003600},
|
|
/*1 */
|
|
{0x000016A0, 0xC0406D0E},
|
|
/*2 */
|
|
{0x000016A0, 0xC0803600},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C04504},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC180B11F},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C0610B},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008113},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_db_667_M[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/* CS 0 */
|
|
/*0 2 3 1 */
|
|
{0x000016A0, 0xC0020103},
|
|
/*1 2 2 6 */
|
|
{0x000016A0, 0xC0420012},
|
|
/*2 2 3 16 */
|
|
{0x000016A0, 0xC0820113},
|
|
/*3 2 1 26 */
|
|
{0x000016A0, 0xC0C20012},
|
|
/*4 2 2 29 */
|
|
{0x000016A0, 0xC1020100},
|
|
/*5 2 2 13 */
|
|
{0x000016A0, 0xC1420016},
|
|
/*6 2 3 6 */
|
|
{0x000016A0, 0xC1820109},
|
|
/*7 2 1 31 */
|
|
{0x000016A0, 0xC1C20010},
|
|
/*8 2 2 22 */
|
|
{0x000016A0, 0xC2020112},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC000b11F},
|
|
/*1 */
|
|
{0x000016A0, 0xC040690D},
|
|
/*2 */
|
|
{0x000016A0, 0xC0803600},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0a81D},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC180ad1e},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C04d06},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008514},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
/* CS 1 */
|
|
|
|
{0x000016A0, 0xC0060103},
|
|
/*1 2 2 6 */
|
|
{0x000016A0, 0xC0460012},
|
|
/*2 2 3 16 */
|
|
{0x000016A0, 0xC0860113},
|
|
/*3 2 1 26 */
|
|
{0x000016A0, 0xC0C60012},
|
|
/*4 2 2 29 */
|
|
{0x000016A0, 0xC1060100},
|
|
/*5 2 2 13 */
|
|
{0x000016A0, 0xC1460016},
|
|
/*6 2 3 6 */
|
|
{0x000016A0, 0xC1860109},
|
|
/*7 2 1 31 */
|
|
{0x000016A0, 0xC1C60010},
|
|
/*8 2 2 22 */
|
|
{0x000016A0, 0xC2060112},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC004b11F},
|
|
/*1 */
|
|
{0x000016A0, 0xC044690D},
|
|
/*2 */
|
|
{0x000016A0, 0xC0843600},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C4a81D},
|
|
/*4 */
|
|
{0x000016A0, 0xC1049919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1447911},
|
|
/*6 */
|
|
{0x000016A0, 0xC184ad1e},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C44d06},
|
|
/*8 */
|
|
{0x000016A0, 0xC2048514},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC807000F},
|
|
|
|
/* Both CS */
|
|
|
|
{0x00001538, 0x00000B0B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x00000F0F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_rd_667_3[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC0020118},
|
|
/*1 */
|
|
{0x000016A0, 0xC0420108},
|
|
/*2 */
|
|
{0x000016A0, 0xC0820202},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C20108},
|
|
/*4 */
|
|
{0x000016A0, 0xC1020117},
|
|
/*5 */
|
|
{0x000016A0, 0xC142010C},
|
|
/*6 */
|
|
{0x000016A0, 0xC182011B},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C20107},
|
|
/*8 */
|
|
{0x000016A0, 0xC2020113},
|
|
|
|
/* Write Leveling */
|
|
/*0 */
|
|
{0x000016A0, 0xC0003600},
|
|
/*1 */
|
|
{0x000016A0, 0xC0406D0E},
|
|
/*2 */
|
|
{0x000016A0, 0xC0805207},
|
|
/*3 */
|
|
{0x000016A0, 0xC0C0A81D},
|
|
/*4 */
|
|
{0x000016A0, 0xC1009919},
|
|
/*5 */
|
|
{0x000016A0, 0xC1407911},
|
|
/*6 */
|
|
{0x000016A0, 0xC1803E02},
|
|
/*7 */
|
|
{0x000016A0, 0xC1C04D06},
|
|
/*8 */
|
|
{0x000016A0, 0xC2008113},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
|
|
{0x00001538, 0x0000000B}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000F}, /*Read Data Ready Delay Register */
|
|
|
|
/*init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
MV_DRAM_TRAINING_INIT ddr3_pcac_600[MV_MAX_DDR3_STATIC_SIZE] = {
|
|
/* Read Leveling */
|
|
/*PUP RdSampleDly (+CL) Phase RL ADLL value */
|
|
/*0 */
|
|
{0x000016A0, 0xC0020404},
|
|
/* 1 2 2 6 */
|
|
{0x000016A0, 0xC042031E},
|
|
/* 2 2 3 16 */
|
|
{0x000016A0, 0xC0820411},
|
|
/* 3 2 1 26 */
|
|
{0x000016A0, 0xC0C20400},
|
|
/* 4 2 2 29 */
|
|
{0x000016A0, 0xC1020404},
|
|
/* 5 2 2 13 */
|
|
{0x000016A0, 0xC142031D},
|
|
/* 6 2 3 6 */
|
|
{0x000016A0, 0xC182040C},
|
|
/* 7 2 1 31 */
|
|
{0x000016A0, 0xC1C2031B},
|
|
/* 8 2 2 22 */
|
|
{0x000016A0, 0xC2020112},
|
|
|
|
/* Write Leveling */
|
|
/* 0 */
|
|
{0x000016A0, 0xC0004905},
|
|
/* 1 */
|
|
{0x000016A0, 0xC040A81D},
|
|
/* 2 */
|
|
{0x000016A0, 0xC0804504},
|
|
/* 3 */
|
|
{0x000016A0, 0xC0C08013},
|
|
/* 4 */
|
|
{0x000016A0, 0xC1004504},
|
|
/* 5 */
|
|
{0x000016A0, 0xC140A81D},
|
|
/* 6 */
|
|
{0x000016A0, 0xC1805909},
|
|
/* 7 */
|
|
{0x000016A0, 0xC1C09418},
|
|
/* 8 */
|
|
{0x000016A0, 0xC2006D0E},
|
|
|
|
/*center DQS on read cycle */
|
|
{0x000016A0, 0xC803000F},
|
|
{0x00001538, 0x00000009}, /*Read Data Sample Delays Register */
|
|
{0x0000153C, 0x0000000D}, /*Read Data Ready Delay Register */
|
|
/* init DRAM */
|
|
{0x00001480, 0x00000001},
|
|
{0x0, 0x0}
|
|
};
|
|
|
|
#endif /* __AXP_TRAINING_STATIC_H */
|