123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- /* 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>
|