/*
 * Copyright (C) Marvell International Ltd. and its affiliates
 *
 * SPDX-License-Identifier:	GPL-2.0
 */

#ifndef __AXP_MC_STATIC_H
#define __AXP_MC_STATIC_H

MV_DRAM_MC_INIT ddr3_A0_db_667[MV_MAX_DDR3_STATIC_SIZE] = {
#ifdef MV_DDR_32BIT
	{0x00001400, 0x7301c924},	/*DDR SDRAM Configuration Register */
#else /*MV_DDR_64BIT */
	{0x00001400, 0x7301CA28},	/*DDR SDRAM Configuration Register */
#endif
	{0x00001404, 0x3630b800},	/*Dunit Control Low Register */
	{0x00001408, 0x43149775},	/*DDR SDRAM Timing (Low) Register */
	/* {0x0000140C, 0x38000C6A}, *//*DDR SDRAM Timing (High) Register */
	{0x0000140C, 0x38d83fe0},	/*DDR SDRAM Timing (High) Register */

#ifdef DB_78X60_PCAC
	{0x00001410, 0x040F0001},	/*DDR SDRAM Address Control Register */
#else
	{0x00001410, 0x040F0000},	/*DDR SDRAM Open Pages Control Register */
#endif

	{0x00001414, 0x00000000},	/*DDR SDRAM Open Pages Control Register */
	{0x00001418, 0x00000e00},	/*DDR SDRAM Operation Register */
	{0x00001420, 0x00000004},	/*DDR SDRAM Extended Mode Register */
	{0x00001424, 0x0000D3FF},	/*Dunit Control High Register */
	{0x00001428, 0x000F8830},	/*Dunit Control High Register */
	{0x0000142C, 0x214C2F38},	/*Dunit Control High Register */
	{0x0000147C, 0x0000c671},

	{0x000014a0, 0x000002A9},
	{0x000014a8, 0x00000101},	/*2:1 */
	{0x00020220, 0x00000007},

	{0x00001494, 0x00010000},	/*DDR SDRAM ODT Control (Low) Register */
	{0x00001498, 0x00000000},	/*DDR SDRAM ODT Control (High) Register */
	{0x0000149C, 0x00000301},	/*DDR Dunit ODT Control Register */

	{0x000014C0, 0x192434e9},	/* DRAM address and Control Driving Strenght  */
	{0x000014C4, 0x092434e9},	/* DRAM Data and DQS Driving Strenght  */

	{0x000200e8, 0x3FFF0E01},	/* DO NOT Modify - Open Mbus Window - 2G - Mbus is required for the training sequence */
	{0x00020184, 0x3FFFFFE0},	/* DO NOT Modify - Close fast path Window to - 2G */

	{0x0001504, 0x7FFFFFF1},	/* CS0 Size */
	{0x000150C, 0x00000000},	/* CS1 Size */
	{0x0001514, 0x00000000},	/* CS2 Size */
	{0x000151C, 0x00000000},	/* CS3 Size */

	/*     {0x00001524, 0x0000C800},  */
	{0x00001538, 0x0000000b},	/*Read Data Sample Delays Register */
	{0x0000153C, 0x0000000d},	/*Read Data Ready Delay Register */

	{0x000015D0, 0x00000640},	/*MR0 */
	{0x000015D4, 0x00000046},	/*MR1 */
	{0x000015D8, 0x00000010},	/*MR2 */
	{0x000015DC, 0x00000000},	/*MR3 */

	{0x000015E4, 0x00203c18},	/*ZQC Configuration Register */
	{0x000015EC, 0xd800aa25},	/*DDR PHY */
	{0x0, 0x0}
};

MV_DRAM_MC_INIT ddr3_A0_AMC_667[MV_MAX_DDR3_STATIC_SIZE] = {
#ifdef MV_DDR_32BIT
	{0x00001400, 0x7301c924},	/*DDR SDRAM Configuration Register */
#else /*MV_DDR_64BIT */
	{0x00001400, 0x7301CA28},	/*DDR SDRAM Configuration Register */
#endif
	{0x00001404, 0x3630b800},	/*Dunit Control Low Register */
	{0x00001408, 0x43149775},	/*DDR SDRAM Timing (Low) Register */
	/* {0x0000140C, 0x38000C6A}, *//*DDR SDRAM Timing (High) Register */
	{0x0000140C, 0x38d83fe0},	/*DDR SDRAM Timing (High) Register */

#ifdef DB_78X60_PCAC
	{0x00001410, 0x040F0001},	/*DDR SDRAM Address Control Register */
#else
	{0x00001410, 0x040F000C},	/*DDR SDRAM Open Pages Control Register */
#endif

	{0x00001414, 0x00000000},	/*DDR SDRAM Open Pages Control Register */
	{0x00001418, 0x00000e00},	/*DDR SDRAM Operation Register */
	{0x00001420, 0x00000004},	/*DDR SDRAM Extended Mode Register */
	{0x00001424, 0x0000D3FF},	/*Dunit Control High Register */
	{0x00001428, 0x000F8830},	/*Dunit Control High Register */
	{0x0000142C, 0x214C2F38},	/*Dunit Control High Register */
	{0x0000147C, 0x0000c671},

	{0x000014a0, 0x000002A9},
	{0x000014a8, 0x00000101},	/*2:1 */
	{0x00020220, 0x00000007},

	{0x00001494, 0x00010000},	/*DDR SDRAM ODT Control (Low) Register */
	{0x00001498, 0x00000000},	/*DDR SDRAM ODT Control (High) Register */
	{0x0000149C, 0x00000301},	/*DDR Dunit ODT Control Register */

	{0x000014C0, 0x192434e9},	/* DRAM address and Control Driving Strenght  */
	{0x000014C4, 0x092434e9},	/* DRAM Data and DQS Driving Strenght  */

	{0x000200e8, 0x3FFF0E01},	/* DO NOT Modify - Open Mbus Window - 2G - Mbus is required for the training sequence */
	{0x00020184, 0x3FFFFFE0},	/* DO NOT Modify - Close fast path Window to - 2G */

	{0x0001504, 0x3FFFFFF1},	/* CS0 Size */
	{0x000150C, 0x00000000},	/* CS1 Size */
	{0x0001514, 0x00000000},	/* CS2 Size */
	{0x000151C, 0x00000000},	/* CS3 Size */

	/*     {0x00001524, 0x0000C800},  */
	{0x00001538, 0x0000000b},	/*Read Data Sample Delays Register */
	{0x0000153C, 0x0000000d},	/*Read Data Ready Delay Register */

	{0x000015D0, 0x00000640},	/*MR0 */
	{0x000015D4, 0x00000046},	/*MR1 */
	{0x000015D8, 0x00000010},	/*MR2 */
	{0x000015DC, 0x00000000},	/*MR3 */

	{0x000015E4, 0x00203c18},	/*ZQC Configuration Register */
	{0x000015EC, 0xd800aa25},	/*DDR PHY */
	{0x0, 0x0}
};

MV_DRAM_MC_INIT ddr3_A0_db_400[MV_MAX_DDR3_STATIC_SIZE] = {
#ifdef MV_DDR_32BIT
	{0x00001400, 0x73004C30},	/*DDR SDRAM Configuration Register */
#else /* MV_DDR_64BIT */
	{0x00001400, 0x7300CC30},	/*DDR SDRAM Configuration Register */
#endif
	{0x00001404, 0x3630B840},	/*Dunit Control Low Register */
	{0x00001408, 0x33137663},	/*DDR SDRAM Timing (Low) Register */
	{0x0000140C, 0x38000C55},	/*DDR SDRAM Timing (High) Register */
	{0x00001410, 0x040F0000},	/*DDR SDRAM Address Control Register */
	{0x00001414, 0x00000000},	/*DDR SDRAM Open Pages Control Register */
	{0x00001418, 0x00000e00},	/*DDR SDRAM Operation Register */
	{0x0000141C, 0x00000672},	/*DDR SDRAM Mode Register */
	{0x00001420, 0x00000004},	/*DDR SDRAM Extended Mode Register */
	{0x00001424, 0x0100D3FF},	/*Dunit Control High Register */
	{0x00001428, 0x000D6720},	/*Dunit Control High Register */
	{0x0000142C, 0x014C2F38},	/*Dunit Control High Register */
	{0x0000147C, 0x00006571},

	{0x00001494, 0x00010000},	/*DDR SDRAM ODT Control (Low) Register */
	{0x00001498, 0x00000000},	/*DDR SDRAM ODT Control (High) Register */
	{0x0000149C, 0x00000301},	/*DDR Dunit ODT Control Register */

	{0x000014a0, 0x000002A9},
	{0x000014a8, 0x00000101},	/*2:1 */
	{0x00020220, 0x00000007},

	{0x000014C0, 0x192424C8},	/* DRAM address and Control Driving Strenght  */
	{0x000014C4, 0xEFB24C8},	/* DRAM Data and DQS Driving Strenght  */

	{0x000200e8, 0x3FFF0E01},	/* DO NOT Modify - Open Mbus Window - 2G - Mbus is required for the training sequence */
	{0x00020184, 0x3FFFFFE0},	/* DO NOT Modify - Close fast path Window to - 2G */

	{0x0001504, 0x7FFFFFF1},	/* CS0 Size */
	{0x000150C, 0x00000000},	/* CS1 Size */
	{0x0001514, 0x00000000},	/* CS2 Size */
	{0x000151C, 0x00000000},	/* CS3 Size */

	{0x00001538, 0x00000008},	/*Read Data Sample Delays Register */
	{0x0000153C, 0x0000000A},	/*Read Data Ready Delay Register */

	{0x000015D0, 0x00000630},	/*MR0 */
	{0x000015D4, 0x00000046},	/*MR1 */
	{0x000015D8, 0x00000008},	/*MR2 */
	{0x000015DC, 0x00000000},	/*MR3 */

	{0x000015E4, 0x00203c18},	/*ZQDS Configuration Register */
	/* {0x000015EC, 0xDE000025}, *//*DDR PHY */
	{0x000015EC, 0xF800AA25},	/*DDR PHY */
	{0x0, 0x0}
};

MV_DRAM_MC_INIT ddr3_Z1_db_600[MV_MAX_DDR3_STATIC_SIZE] = {
#ifdef MV_DDR_32BIT
	{0x00001400, 0x73014A28},	/*DDR SDRAM Configuration Register */
#else /*MV_DDR_64BIT */
	{0x00001400, 0x7301CA28},	/*DDR SDRAM Configuration Register */
#endif
	{0x00001404, 0x3630B040},	/*Dunit Control Low Register */
	{0x00001408, 0x44149887},	/*DDR SDRAM Timing (Low) Register */
	/* {0x0000140C, 0x38000C6A}, *//*DDR SDRAM Timing (High) Register */
	{0x0000140C, 0x38D83FE0},	/*DDR SDRAM Timing (High) Register */

#ifdef DB_78X60_PCAC
	{0x00001410, 0x040F0001},	/*DDR SDRAM Address Control Register */
#else
	{0x00001410, 0x040F0000},	/*DDR SDRAM Open Pages Control Register */
#endif

	{0x00001414, 0x00000000},	/*DDR SDRAM Open Pages Control Register */
	{0x00001418, 0x00000e00},	/*DDR SDRAM Operation Register */
	{0x00001420, 0x00000004},	/*DDR SDRAM Extended Mode Register */
	{0x00001424, 0x0100D1FF},	/*Dunit Control High Register */
	{0x00001428, 0x000F8830},	/*Dunit Control High Register */
	{0x0000142C, 0x214C2F38},	/*Dunit Control High Register */
	{0x0000147C, 0x0000c671},

	{0x000014a8, 0x00000101},	/*2:1 */
	{0x00020220, 0x00000007},

	{0x00001494, 0x00010000},	/*DDR SDRAM ODT Control (Low) Register */
	{0x00001498, 0x00000000},	/*DDR SDRAM ODT Control (High) Register */
	{0x0000149C, 0x00000301},	/*DDR Dunit ODT Control Register */

	{0x000014C0, 0x192424C8},	/* DRAM address and Control Driving Strenght  */
	{0x000014C4, 0xEFB24C8},	/* DRAM Data and DQS Driving Strenght  */

	{0x000200e8, 0x3FFF0E01},	/* DO NOT Modify - Open Mbus Window - 2G - Mbus is required for the training sequence */
	{0x00020184, 0x3FFFFFE0},	/* DO NOT Modify - Close fast path Window to - 2G */

	{0x0001504, 0x7FFFFFF1},	/* CS0 Size */
	{0x000150C, 0x00000000},	/* CS1 Size */
	{0x0001514, 0x00000000},	/* CS2 Size */
	{0x000151C, 0x00000000},	/* CS3 Size */

	/*     {0x00001524, 0x0000C800},  */
	{0x00001538, 0x0000000b},	/*Read Data Sample Delays Register */
	{0x0000153C, 0x0000000d},	/*Read Data Ready Delay Register */

	{0x000015D0, 0x00000650},	/*MR0 */
	{0x000015D4, 0x00000046},	/*MR1 */
	{0x000015D8, 0x00000010},	/*MR2 */
	{0x000015DC, 0x00000000},	/*MR3 */

	{0x000015E4, 0x00203c18},	/*ZQC Configuration Register */
	{0x000015EC, 0xDE000025},	/*DDR PHY */
	{0x0, 0x0}
};

MV_DRAM_MC_INIT ddr3_Z1_db_300[MV_MAX_DDR3_STATIC_SIZE] = {
#ifdef MV_DDR_32BIT
	{0x00001400, 0x73004C30},	/*DDR SDRAM Configuration Register */
#else /*MV_DDR_64BIT */
	{0x00001400, 0x7300CC30},	/*DDR SDRAM Configuration Register */
	/*{0x00001400, 0x7304CC30},  *//*DDR SDRAM Configuration Register */
#endif
	{0x00001404, 0x3630B840},	/*Dunit Control Low Register */
	{0x00001408, 0x33137663},	/*DDR SDRAM Timing (Low) Register */
	{0x0000140C, 0x38000C55},	/*DDR SDRAM Timing (High) Register */
	{0x00001410, 0x040F0000},	/*DDR SDRAM Address Control Register */
	{0x00001414, 0x00000000},	/*DDR SDRAM Open Pages Control Register */
	{0x00001418, 0x00000e00},	/*DDR SDRAM Operation Register */
	{0x0000141C, 0x00000672},	/*DDR SDRAM Mode Register */
	{0x00001420, 0x00000004},	/*DDR SDRAM Extended Mode Register */
	{0x00001424, 0x0100F1FF},	/*Dunit Control High Register */
	{0x00001428, 0x000D6720},	/*Dunit Control High Register */
	{0x0000142C, 0x014C2F38},	/*Dunit Control High Register */
	{0x0000147C, 0x00006571},

	{0x00001494, 0x00010000},	/*DDR SDRAM ODT Control (Low) Register */
	{0x00001498, 0x00000000},	/*DDR SDRAM ODT Control (High) Register */
	{0x0000149C, 0x00000301},	/*DDR Dunit ODT Control Register */

	{0x000014C0, 0x192424C8},	/* DRAM address and Control Driving Strenght  */
	{0x000014C4, 0xEFB24C8},	/* DRAM Data and DQS Driving Strenght  */

	{0x000200e8, 0x3FFF0E01},	/* DO NOT Modify - Open Mbus Window - 2G - Mbus is required for the training sequence */
	{0x00020184, 0x3FFFFFE0},	/* DO NOT Modify - Close fast path Window to - 2G */

	{0x0001504, 0x7FFFFFF1},	/* CS0 Size */
	{0x000150C, 0x00000000},	/* CS1 Size */
	{0x0001514, 0x00000000},	/* CS2 Size */
	{0x000151C, 0x00000000},	/* CS3 Size */

	{0x00001538, 0x00000008},	/*Read Data Sample Delays Register */
	{0x0000153C, 0x0000000A},	/*Read Data Ready Delay Register */

	{0x000015D0, 0x00000630},	/*MR0 */
	{0x000015D4, 0x00000046},	/*MR1 */
	{0x000015D8, 0x00000008},	/*MR2 */
	{0x000015DC, 0x00000000},	/*MR3 */

	{0x000015E4, 0x00203c18},	/*ZQDS Configuration Register */
	{0x000015EC, 0xDE000025},	/*DDR PHY */

	{0x0, 0x0}
};

#endif /* __AXP_MC_STATIC_H */
