/* SPDX-License-Identifier: GPL-2.0+ */ | |
/* | |
* Copyright (C) 2016 Freescale Semiconductor, Inc. | |
* Copyright 2019 NXP | |
*/ | |
#include <config.h> | |
.macro imx7ulp_ddr_freq_decrease | |
ldr r2, =0x403f0000 | |
ldr r3, =0x00000000 | |
str r3, [r2, #0xdc] | |
ldr r2, =0x403e0000 | |
ldr r3, =0x01000020 | |
str r3, [r2, #0x40] | |
ldr r3, =0x01000000 | |
str r3, [r2, #0x500] | |
ldr r3, =0x80808080 | |
str r3, [r2, #0x50c] | |
ldr r3, =0x00160002 | |
str r3, [r2, #0x508] | |
ldr r3, =0x00000001 | |
str r3, [r2, #0x510] | |
ldr r3, =0x00000014 | |
str r3, [r2, #0x514] | |
ldr r3, =0x00000001 | |
str r3, [r2, #0x500] | |
ldr r3, =0x01000000 | |
wait1: | |
ldr r4, [r2, #0x500] | |
and r4, r3 | |
cmp r4, r3 | |
bne wait1 | |
ldr r3, =0x8080801B | |
str r3, [r2, #0x50c] | |
ldr r3, =0x00000040 | |
wait2: | |
ldr r4, [r2, #0x50c] | |
and r4, r3 | |
cmp r4, r3 | |
bne wait2 | |
ldr r3, =0x00000001 | |
str r3, [r2, #0x30] | |
ldr r3, =0x11000020 | |
str r3, [r2, #0x40] | |
ldr r2, =0x403f0000 | |
ldr r3, =0x42000000 | |
str r3, [r2, #0xdc] | |
.endm | |
.macro imx7ulp_evk_ddr_setting | |
imx7ulp_ddr_freq_decrease | |
/* Enable MMDC PCC clock */ | |
ldr r2, =0x40b30000 | |
ldr r3, =0x40000000 | |
str r3, [r2, #0xac] | |
/* Configure DDR pad */ | |
ldr r0, =0x40ad0000 | |
ldr r1, =0x00040000 | |
str r1, [r0, #0x128] | |
ldr r1, =0x0 | |
str r1, [r0, #0xf8] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0xd8] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x108] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x104] | |
ldr r1, =0x00010000 | |
str r1, [r0, #0x124] | |
ldr r1, =0x0000018C | |
str r1, [r0, #0x80] | |
ldr r1, =0x0000018C | |
str r1, [r0, #0x84] | |
ldr r1, =0x0000018C | |
str r1, [r0, #0x88] | |
ldr r1, =0x0000018C | |
str r1, [r0, #0x8c] | |
ldr r1, =0x00010000 | |
str r1, [r0, #0x120] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x10c] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x110] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x114] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x118] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x90] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x94] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x98] | |
ldr r1, =0x00000180 | |
str r1, [r0, #0x9c] | |
ldr r1, =0x00040000 | |
str r1, [r0, #0xe0] | |
ldr r1, =0x00040000 | |
str r1, [r0, #0xe4] | |
ldr r0, =0x40ab0000 | |
ldr r1, =0x00008000 | |
str r1, [r0, #0x1c] | |
ldr r1, =0xA1390003 | |
str r1, [r0, #0x800] | |
ldr r1, =0x0D3900A0 | |
str r1, [r0, #0x85c] | |
ldr r1, =0x00400000 | |
str r1, [r0, #0x890] | |
ldr r1, =0x40404040 | |
str r1, [r0, #0x848] | |
ldr r1, =0x40404040 | |
str r1, [r0, #0x850] | |
ldr r1, =0x33333333 | |
str r1, [r0, #0x81c] | |
ldr r1, =0x33333333 | |
str r1, [r0, #0x820] | |
ldr r1, =0x33333333 | |
str r1, [r0, #0x824] | |
ldr r1, =0x33333333 | |
str r1, [r0, #0x828] | |
ldr r1, =0x24922492 | |
str r1, [r0, #0x8c0] | |
ldr r1, =0x00000800 | |
str r1, [r0, #0x8b8] | |
ldr r1, =0x00020052 | |
str r1, [r0, #0x4] | |
ldr r1, =0x292C42F3 | |
str r1, [r0, #0xc] | |
ldr r1, =0x00100A22 | |
str r1, [r0, #0x10] | |
ldr r1, =0x00120556 | |
str r1, [r0, #0x38] | |
ldr r1, =0x00C700DB | |
str r1, [r0, #0x14] | |
ldr r1, =0x00211718 | |
str r1, [r0, #0x18] | |
ldr r1, =0x0F9F26D2 | |
str r1, [r0, #0x2c] | |
ldr r1, =0x009F0E10 | |
str r1, [r0, #0x30] | |
ldr r1, =0x0000003F | |
str r1, [r0, #0x40] | |
ldr r1, =0xC3190000 | |
str r1, [r0, #0x0] | |
ldr r1, =0x00008010 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x00008018 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x003F8030 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x003F8038 | |
str r1, [r0, #0x1c] | |
ldr r1, =0xFF0A8030 | |
str r1, [r0, #0x1c] | |
ldr r1, =0xFF0A8038 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x04028030 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x04028038 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x83018030 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x83018038 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x01038030 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x01038038 | |
str r1, [r0, #0x1c] | |
ldr r1, =0x20000000 | |
str r1, [r0, #0x83c] | |
ldr r1, =0x00001800 | |
str r1, [r0, #0x20] | |
ldr r1, =0xA1310000 | |
str r1, [r0, #0x800] | |
ldr r1, =0x00020052 | |
str r1, [r0, #0x4] | |
ldr r1, =0x00011006 | |
str r1, [r0, #0x404] | |
ldr r1, =0x00000000 | |
str r1, [r0, #0x1c] | |
.endm | |
.macro imx7ulp_clock_gating | |
.endm | |
.macro imx7ulp_qos_setting | |
.endm | |
.macro imx7ulp_ddr_setting | |
imx7ulp_evk_ddr_setting | |
.endm | |
/* include the common plugin code here */ | |
#include <asm/arch/mx7ulp_plugin.S> |