generated from gaoyang3513/SDK_RK3288
173 lines
3.3 KiB
ArmAsm
173 lines
3.3 KiB
ArmAsm
/*
|
|
* Copyright (C) 2016 Freescale Semiconductor, Inc.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
/* DDR script */
|
|
.macro imx6sxscm_lpddr2_ddr_setting
|
|
ldr r0, =IOMUXC_BASE_ADDR
|
|
ldr r1, =0x00080000
|
|
str r1, [r0, #0x618]
|
|
ldr r1, =0x00000000
|
|
str r1, [r0, #0x5fc]
|
|
ldr r1, =0x00000030
|
|
str r1, [r0, #0x32c]
|
|
|
|
ldr r1, =0x00000028
|
|
str r1, [r0, #0x300]
|
|
str r1, [r0, #0x2fc]
|
|
str r1, [r0, #0x5f4]
|
|
str r1, [r0, #0x340]
|
|
|
|
ldr r1, =0x00000000
|
|
str r1, [r0, #0x320]
|
|
str r1, [r0, #0x310]
|
|
str r1, [r0, #0x314]
|
|
ldr r1, =0x00000028
|
|
str r1, [r0, #0x614]
|
|
|
|
ldr r1, =0x00020000
|
|
str r1, [r0, #0x5f8]
|
|
ldr r1, =0x00003028
|
|
str r1, [r0, #0x330]
|
|
str r1, [r0, #0x334]
|
|
str r1, [r0, #0x338]
|
|
str r1, [r0, #0x33c]
|
|
ldr r1, =0x00020000
|
|
str r1, [r0, #0x608]
|
|
ldr r1, =0x00000028
|
|
str r1, [r0, #0x60c]
|
|
str r1, [r0, #0x610]
|
|
str r1, [r0, #0x61c]
|
|
str r1, [r0, #0x620]
|
|
str r1, [r0, #0x2ec]
|
|
str r1, [r0, #0x2f0]
|
|
str r1, [r0, #0x2f4]
|
|
str r1, [r0, #0x2f8]
|
|
|
|
ldr r0, =MMDC_P0_BASE_ADDR
|
|
ldr r2, =0x00008000
|
|
str r2, [r0, #0x1c]
|
|
ldr r2, =0x1b4700c7
|
|
str r2, [r0, #0x85c]
|
|
ldr r2, =0xa1390003
|
|
str r2, [r0, #0x800]
|
|
ldr r2, =0x00380000
|
|
str r2, [r0, #0x890]
|
|
ldr r2, =0x00000800
|
|
str r2, [r0, #0x8b8]
|
|
|
|
ldr r2, =0x33333333
|
|
str r2, [r0, #0x81c]
|
|
str r2, [r0, #0x820]
|
|
str r2, [r0, #0x824]
|
|
str r2, [r0, #0x828]
|
|
|
|
ldr r2, =0x51111111
|
|
str r2, [r0, #0x82c]
|
|
str r2, [r0, #0x830]
|
|
str r2, [r0, #0x834]
|
|
str r2, [r0, #0x838]
|
|
|
|
ldr r2, =0x42424244
|
|
str r2, [r0, #0x848]
|
|
ldr r2, =0x36343A34
|
|
str r2, [r0, #0x850]
|
|
ldr r2, =0x2492244A
|
|
str r2, [r0, #0x8c0]
|
|
ldr r2, =0x20000000
|
|
str r2, [r0, #0x83c]
|
|
ldr r2, =0x00000000
|
|
str r2, [r0, #0x840]
|
|
ldr r2, =0x00000800
|
|
str r2, [r0, #0x8b8]
|
|
|
|
ldr r2, =0x33374133
|
|
str r2, [r0, #0x00c]
|
|
ldr r2, =0x00020024
|
|
str r2, [r0, #0x004]
|
|
ldr r2, =0x00100A42
|
|
str r2, [r0, #0x010]
|
|
ldr r2, =0x00000093
|
|
str r2, [r0, #0x014]
|
|
ldr r2, =0x00001748
|
|
str r2, [r0, #0x018]
|
|
ldr r2, =0x0f9f26d2
|
|
str r2, [r0, #0x02c]
|
|
ldr r2, =0x0000020e
|
|
str r2, [r0, #0x030]
|
|
ldr r2, =0x00190778
|
|
str r2, [r0, #0x038]
|
|
ldr r2, =0x00000000
|
|
str r2, [r0, #0x008]
|
|
ldr r2, =0x0000004f
|
|
str r2, [r0, #0x040]
|
|
#ifdef CONFIG_512MB_LPDDR2
|
|
ldr r2, =0x83110000
|
|
#else
|
|
ldr r2, =0xc3110000
|
|
#endif
|
|
str r2, [r0, #0x000]
|
|
|
|
ldr r2, =0x003f8030
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0xff0a8030
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x82018030
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x04028030
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x01038030
|
|
str r2, [r0, #0x01c]
|
|
|
|
ldr r2, =0x003f8038
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0xff0a8038
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x82018038
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x04028038
|
|
str r2, [r0, #0x01c]
|
|
ldr r2, =0x01038038
|
|
str r2, [r0, #0x01c]
|
|
|
|
ldr r2, =0x00001800
|
|
str r2, [r0, #0x020]
|
|
ldr r2, =0x00000000
|
|
str r2, [r0, #0x818]
|
|
ldr r2, =0xa1310003
|
|
str r2, [r0, #0x800]
|
|
ldr r2, =0x00025576
|
|
str r2, [r0, #0x004]
|
|
ldr r2, =0x00011006
|
|
str r2, [r0, #0x404]
|
|
ldr r2, =0x00000000
|
|
str r2, [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]
|
|
str r1, [r0, #0x084]
|
|
.endm
|
|
|
|
.macro imx6_qos_setting
|
|
.endm
|
|
|
|
.macro imx6_ddr_setting
|
|
imx6sxscm_lpddr2_ddr_setting
|
|
.endm
|
|
|
|
/* include the common plugin code here */
|
|
#include <asm/arch/mx6_plugin.S>
|