xref: /rk3399_rockchip-uboot/board/imx31_phycore/lowlevel_init.S (revision 326ea986ac150acdc7656d57fca647db80b50158)
15ad86216SSascha Hauer/*
25ad86216SSascha Hauer *
35ad86216SSascha Hauer * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
45ad86216SSascha Hauer *
5*1a459660SWolfgang Denk * SPDX-License-Identifier:	GPL-2.0+
65ad86216SSascha Hauer */
75ad86216SSascha Hauer
886271115SStefano Babic#include <asm/arch/imx-regs.h>
95ad86216SSascha Hauer
105ad86216SSascha Hauer.macro REG reg, val
115ad86216SSascha Hauer	ldr r2, =\reg
125ad86216SSascha Hauer	ldr r3, =\val
135ad86216SSascha Hauer	str r3, [r2]
145ad86216SSascha Hauer.endm
155ad86216SSascha Hauer
165ad86216SSascha Hauer.macro REG8 reg, val
175ad86216SSascha Hauer	ldr r2, =\reg
185ad86216SSascha Hauer	ldr r3, =\val
195ad86216SSascha Hauer	strb r3, [r2]
205ad86216SSascha Hauer.endm
215ad86216SSascha Hauer
225ad86216SSascha Hauer.macro DELAY loops
235ad86216SSascha Hauer	ldr r2, =\loops
245ad86216SSascha Hauer1:
255ad86216SSascha Hauer	subs	r2, r2, #1
265ad86216SSascha Hauer	nop
275ad86216SSascha Hauer	bcs 1b
285ad86216SSascha Hauer.endm
295ad86216SSascha Hauer
305ad86216SSascha Hauer.globl lowlevel_init
315ad86216SSascha Hauerlowlevel_init:
325ad86216SSascha Hauer
335ad86216SSascha Hauer	REG	IPU_CONF, IPU_CONF_DI_EN
345ad86216SSascha Hauer	REG	CCM_CCMR, 0x074B0BF5
355ad86216SSascha Hauer
365ad86216SSascha Hauer	DELAY 0x40000
375ad86216SSascha Hauer
385ad86216SSascha Hauer	REG	CCM_CCMR, 0x074B0BF5 | CCMR_MPE
395ad86216SSascha Hauer	REG	CCM_CCMR, (0x074B0BF5 | CCMR_MPE) & ~CCMR_MDS
405ad86216SSascha Hauer
419e0081d5SBenoît Thébaudeau	REG	CCM_PDR0, PDR0_CSI_PODF(0x3f) | PDR0_CSI_PRDF(7) | PDR0_PER_PODF(7) | PDR0_HSP_PODF(3) | PDR0_NFC_PODF(5) | PDR0_IPG_PODF(1) | PDR0_MAX_PODF(3) | PDR0_MCU_PODF(0)
425ad86216SSascha Hauer
435ad86216SSascha Hauer	REG	CCM_MPCTL, PLL_PD(0) | PLL_MFD(0xe) | PLL_MFI(9) | PLL_MFN(0xd)
445ad86216SSascha Hauer
455ad86216SSascha Hauer	REG	CCM_SPCTL, PLL_PD(1) | PLL_MFD(0x43) | PLL_MFI(12) | PLL_MFN(1)
465ad86216SSascha Hauer
475ad86216SSascha Hauer	REG	0x43FAC26C, 0 /* SDCLK */
485ad86216SSascha Hauer	REG	0x43FAC270, 0 /* CAS */
495ad86216SSascha Hauer	REG	0x43FAC274, 0 /* RAS */
5083002a77SMagnus Lilja	REG	0x43FAC27C, 0x1000 /* CS2 (CSD0) */
515ad86216SSascha Hauer	REG	0x43FAC284, 0 /* DQM3 */
5283002a77SMagnus Lilja	REG	0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) */
535ad86216SSascha Hauer	REG	0x43FAC28C, 0
545ad86216SSascha Hauer	REG	0x43FAC290, 0
555ad86216SSascha Hauer	REG	0x43FAC294, 0
565ad86216SSascha Hauer	REG	0x43FAC298, 0
575ad86216SSascha Hauer	REG	0x43FAC29C, 0
585ad86216SSascha Hauer	REG	0x43FAC2A0, 0
595ad86216SSascha Hauer	REG	0x43FAC2A4, 0
605ad86216SSascha Hauer	REG	0x43FAC2A8, 0
615ad86216SSascha Hauer	REG	0x43FAC2AC, 0
625ad86216SSascha Hauer	REG	0x43FAC2B0, 0
635ad86216SSascha Hauer	REG	0x43FAC2B4, 0
645ad86216SSascha Hauer	REG	0x43FAC2B8, 0
655ad86216SSascha Hauer	REG	0x43FAC2BC, 0
665ad86216SSascha Hauer	REG	0x43FAC2C0, 0
675ad86216SSascha Hauer	REG	0x43FAC2C4, 0
685ad86216SSascha Hauer	REG	0x43FAC2C8, 0
695ad86216SSascha Hauer	REG	0x43FAC2CC, 0
705ad86216SSascha Hauer	REG	0x43FAC2D0, 0
715ad86216SSascha Hauer	REG	0x43FAC2D4, 0
725ad86216SSascha Hauer	REG	0x43FAC2D8, 0
735ad86216SSascha Hauer	REG	0x43FAC2DC, 0
745ad86216SSascha Hauer	REG	0xB8001010, 0x00000004
755ad86216SSascha Hauer	REG	0xB8001004, 0x006ac73a
765ad86216SSascha Hauer	REG	0xB8001000, 0x92100000
775ad86216SSascha Hauer	REG	0x80000f00, 0x12344321
785ad86216SSascha Hauer	REG	0xB8001000, 0xa2100000
795ad86216SSascha Hauer	REG	0x80000000, 0x12344321
805ad86216SSascha Hauer	REG	0x80000000, 0x12344321
815ad86216SSascha Hauer	REG	0xB8001000, 0xb2100000
825ad86216SSascha Hauer	REG8	0x80000033, 0xda
835ad86216SSascha Hauer	REG8	0x81000000, 0xff
845ad86216SSascha Hauer	REG	0xB8001000, 0x82226080
855ad86216SSascha Hauer	REG	0x80000000, 0xDEADBEEF
865ad86216SSascha Hauer	REG	0xB8001010, 0x0000000c
875ad86216SSascha Hauer
885ad86216SSascha Hauer	mov	pc, lr
89