/*
 * Copyright (C) 2016 Freescale Semiconductor, Inc.
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#include <config.h>

/* DDR script */
.macro imx6sll_lpddr3_arm2_setting
	ldr r0, =IOMUXC_BASE_ADDR
	ldr r1, =0x00080000
	str r1, [r0, #0x550]
	ldr r1, =0x00000000
	str r1, [r0, #0x534]
	ldr r1, =0x00000030
	str r1, [r0, #0x2AC]
	str r1, [r0, #0x548]
	str r1, [r0, #0x52C]
	ldr r1, =0x00020000
	str r1, [r0, #0x530]
	ldr r1, =0x00003030
	str r1, [r0, #0x2B0]
	str r1, [r0, #0x2B4]
	str r1, [r0, #0x2B8]
	str r1, [r0, #0x2BC]

	ldr r1, =0x00020000
	str r1, [r0, #0x540]
	ldr r1, =0x00000030
	str r1, [r0, #0x544]
	str r1, [r0, #0x54C]
	str r1, [r0, #0x554]
	str r1, [r0, #0x558]
	str r1, [r0, #0x294]
	str r1, [r0, #0x298]
	str r1, [r0, #0x29C]
	str r1, [r0, #0x2A0]

	ldr r1, =0x00082030
	str r1, [r0, #0x2C0]

	ldr r0, =MMDC_P0_BASE_ADDR
	ldr r1, =0x00008000
	str r1, [r0, #0x1C]
	ldr r1, =0xA1390003
	str r1, [r0, #0x800]
	ldr r1, =0x084700C7
	str r1, [r0, #0x85C]
	ldr r1, =0x00400000
	str r1, [r0, #0x890]

	ldr r1, =0x3C3A3C3C
	str r1, [r0, #0x848]
	ldr r1, =0x24293625
	str r1, [r0, #0x850]

	ldr r1, =0x33333333
	str r1, [r0, #0x81C]
	str r1, [r0, #0x820]
	str r1, [r0, #0x824]
	str r1, [r0, #0x828]

	ldr r1, =0xf3333333
	str r1, [r0, #0x82C]
	str r1, [r0, #0x830]
	str r1, [r0, #0x834]
	str r1, [r0, #0x838]

	ldr r1, =0x24922492
	str r1, [r0, #0x8C0]
	ldr r1, =0x00000800
	str r1, [r0, #0x8B8]

	ldr r1, =0x00020052
	str r1, [r0, #0x004]
	ldr r1, =0x53574333
	str r1, [r0, #0x00C]
	ldr r1, =0x00100B22
	str r1, [r0, #0x010]
	ldr r1, =0x00170778
	str r1, [r0, #0x038]
	ldr r1, =0x00C700DB
	str r1, [r0, #0x014]
	ldr r1, =0x00201718
	str r1, [r0, #0x018]
	ldr r1, =0x0F9F26D2
	str r1, [r0, #0x02C]
	ldr r1, =0x009F0E10
	str r1, [r0, #0x030]
	ldr r1, =0x0000005F
	str r1, [r0, #0x040]
	ldr r1, =0xC4190000
	str r1, [r0, #0x000]

	ldr r1, =0x00008050
	str r1, [r0, #0x01C]
	ldr r1, =0x00008058
	str r1, [r0, #0x01C]
	ldr r1, =0x003F8030
	str r1, [r0, #0x01C]
	ldr r1, =0x003F8038
	str r1, [r0, #0x01C]
	ldr r1, =0xFF0A8030
	str r1, [r0, #0x01C]
	ldr r1, =0xFF0A8038
	str r1, [r0, #0x01C]
	ldr r1, =0x04028030
	str r1, [r0, #0x01C]
	ldr r1, =0x04028038
	str r1, [r0, #0x01C]
	ldr r1, =0x83018030
	str r1, [r0, #0x01C]
	ldr r1, =0x83018038
	str r1, [r0, #0x01C]
	ldr r1, =0x01038030
	str r1, [r0, #0x01C]
	ldr r1, =0x01038038
	str r1, [r0, #0x01C]

	ldr r1, =0x20000000
	str r1, [r0, #0x83C]

	ldr r1, =0x00001800
	str r1, [r0, #0x020]
	ldr r1, =0xA1390003
	str r1, [r0, #0x800]
	ldr r1, =0x00020052
	str r1, [r0, #0x004]
	ldr r1, =0x00011006
	str r1, [r0, #0x404]
	ldr r1, =0x00000000
	str r1, [r0, #0x01C]
.endm

.macro imx6sll_lpddr2_arm2_setting
	ldr r0, =IOMUXC_BASE_ADDR
	ldr r1, =0x00080000
	str r1, [r0, #0x550]
	ldr r1, =0x00000000
	str r1, [r0, #0x534]
	ldr r1, =0x00000030
	str r1, [r0, #0x2AC]
	str r1, [r0, #0x548]
	str r1, [r0, #0x52C]
	ldr r1, =0x00020000
	str r1, [r0, #0x530]
	ldr r1, =0x00003030
	str r1, [r0, #0x2B0]
	str r1, [r0, #0x2B4]
	str r1, [r0, #0x2B8]
	str r1, [r0, #0x2BC]

	ldr r1, =0x00020000
	str r1, [r0, #0x540]
	ldr r1, =0x00000030
	str r1, [r0, #0x544]
	str r1, [r0, #0x54C]
	str r1, [r0, #0x554]
	str r1, [r0, #0x558]
	str r1, [r0, #0x294]
	str r1, [r0, #0x298]
	str r1, [r0, #0x29C]
	str r1, [r0, #0x2A0]

	ldr r1, =0x00082030
	str r1, [r0, #0x2C0]

	ldr r0, =MMDC_P0_BASE_ADDR
	ldr r1, =0x00008000
	str r1, [r0, #0x1C]
	ldr r1, =0xA1390003
	str r1, [r0, #0x800]
	ldr r1, =0x084700C7
	str r1, [r0, #0x85C]
	ldr r1, =0x00400000
	str r1, [r0, #0x890]

	ldr r1, =0x3A383C40
	str r1, [r0, #0x848]
	ldr r1, =0x242C3020
	str r1, [r0, #0x850]

	ldr r1, =0x33333333
	str r1, [r0, #0x81C]
	str r1, [r0, #0x820]
	str r1, [r0, #0x824]
	str r1, [r0, #0x828]

	ldr r1, =0xf3333333
	str r1, [r0, #0x82C]
	str r1, [r0, #0x830]
	str r1, [r0, #0x834]
	str r1, [r0, #0x838]

	ldr r1, =0x24922492
	str r1, [r0, #0x8C0]
	ldr r1, =0x00000800
	str r1, [r0, #0x8B8]

	ldr r1, =0x00020052
	str r1, [r0, #0x004]
	ldr r1, =0x53574333
	str r1, [r0, #0x00C]
	ldr r1, =0x00100A82
	str r1, [r0, #0x010]
	ldr r1, =0x00170777
	str r1, [r0, #0x038]
	ldr r1, =0x00C70093
	str r1, [r0, #0x014]
	ldr r1, =0x00201708
	str r1, [r0, #0x018]
	ldr r1, =0x0F9F26D2
	str r1, [r0, #0x02C]
	ldr r1, =0x009F0E10
	str r1, [r0, #0x030]
	ldr r1, =0x0000004F
	str r1, [r0, #0x040]
	ldr r1, =0xC3110000
	str r1, [r0, #0x000]

	ldr r1, =0x00008050
	str r1, [r0, #0x01C]
	ldr r1, =0x00008058
	str r1, [r0, #0x01C]
	ldr r1, =0x003F8030
	str r1, [r0, #0x01C]
	ldr r1, =0x003F8038
	str r1, [r0, #0x01C]
	ldr r1, =0xFF0A8030
	str r1, [r0, #0x01C]
	ldr r1, =0xFF0A8038
	str r1, [r0, #0x01C]
	ldr r1, =0x04028030
	str r1, [r0, #0x01C]
	ldr r1, =0x04028038
	str r1, [r0, #0x01C]
	ldr r1, =0x82018030
	str r1, [r0, #0x01C]
	ldr r1, =0x82018038
	str r1, [r0, #0x01C]
	ldr r1, =0x01038030
	str r1, [r0, #0x01C]
	ldr r1, =0x01038038
	str r1, [r0, #0x01C]

	ldr r1, =0x20000000
	str r1, [r0, #0x83C]

	ldr r1, =0x00001800
	str r1, [r0, #0x020]
	ldr r1, =0xA1390003
	str r1, [r0, #0x800]
	ldr r1, =0x00020052
	str r1, [r0, #0x004]
	ldr r1, =0x00011006
	str r1, [r0, #0x404]
	ldr r1, =0x00000000
	str r1, [r0, #0x01C]
.endm
.macro imx6_clock_gating
	ldr r0, =CCM_BASE_ADDR
	ldr r1, =0xffffffff
	str r1, [r0, #0x068]
	str r1, [r0, #0x06c]
	str r1, [r0, #0x070]
	str r1, [r0, #0x074]
	str r1, [r0, #0x078]
	str r1, [r0, #0x07c]
	str r1, [r0, #0x080]
.endm

.macro imx6_qos_setting
.endm

.macro imx6_ddr_setting
#if defined (CONFIG_LPDDR2)
	imx6sll_lpddr2_arm2_setting
#else
	imx6sll_lpddr3_arm2_setting
#endif
.endm

/* include the common plugin code here */
#include <asm/arch/mx6_plugin.S>
