xref: /openbmc/u-boot/board/CarMediaLab/flea3/lowlevel_init.S (revision deb53483df20d3a02bb041624ca91c93adc3ec87)
1*deb53483SStefano Babic/*
2*deb53483SStefano Babic * Copyright (C) 2007, Guennadi Liakhovetski <lg@denx.de>
3*deb53483SStefano Babic *
4*deb53483SStefano Babic * (C) Copyright 2008-2010 Freescale Semiconductor, Inc.
5*deb53483SStefano Babic *
6*deb53483SStefano Babic * Copyright (C) 2011, Stefano Babic <sbabic@denx.de>
7*deb53483SStefano Babic *
8*deb53483SStefano Babic * This program is free software; you can redistribute it and/or
9*deb53483SStefano Babic * modify it under the terms of the GNU General Public License as
10*deb53483SStefano Babic * published by the Free Software Foundation; either version 2 of
11*deb53483SStefano Babic * the License, or (at your option) any later version.
12*deb53483SStefano Babic *
13*deb53483SStefano Babic * This program is distributed in the hope that it will be useful,
14*deb53483SStefano Babic * but WITHOUT ANY WARRANTY; without even the implied warranty of
15*deb53483SStefano Babic * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*deb53483SStefano Babic * GNU General Public License for more details.
17*deb53483SStefano Babic *
18*deb53483SStefano Babic * You should have received a copy of the GNU General Public License
19*deb53483SStefano Babic * along with this program; if not, write to the Free Software
20*deb53483SStefano Babic * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21*deb53483SStefano Babic * MA 02111-1307 USA
22*deb53483SStefano Babic */
23*deb53483SStefano Babic
24*deb53483SStefano Babic#include <config.h>
25*deb53483SStefano Babic#include <asm-offsets.h>
26*deb53483SStefano Babic#include <asm/arch/imx-regs.h>
27*deb53483SStefano Babic#include <generated/asm-offsets.h>
28*deb53483SStefano Babic
29*deb53483SStefano Babic/*
30*deb53483SStefano Babic * Configuration for the flea3 board.
31*deb53483SStefano Babic * These defines are used by the included macros and must
32*deb53483SStefano Babic * be defined first
33*deb53483SStefano Babic */
34*deb53483SStefano Babic#define AIPS_MPR_CONFIG		0x77777777
35*deb53483SStefano Babic#define AIPS_OPACR_CONFIG	0x00000000
36*deb53483SStefano Babic
37*deb53483SStefano Babic/* MPR - priority is M4 > M2 > M3 > M5 > M0 > M1 */
38*deb53483SStefano Babic#define MAX_MPR_CONFIG		0x00302154
39*deb53483SStefano Babic
40*deb53483SStefano Babic/* SGPCR - always park on last master */
41*deb53483SStefano Babic#define MAX_SGPCR_CONFIG	0x00000010
42*deb53483SStefano Babic
43*deb53483SStefano Babic/* MGPCR - restore default values */
44*deb53483SStefano Babic#define MAX_MGPCR_CONFIG	0x00000000
45*deb53483SStefano Babic
46*deb53483SStefano Babic/*
47*deb53483SStefano Babic * M3IF Control Register (M3IFCTL)
48*deb53483SStefano Babic * MRRP[0] = L2CC0 not on priority list (0 << 0) = 0x00000000
49*deb53483SStefano Babic * MRRP[1] = L2CC1 not on priority list (0 << 0) = 0x00000000
50*deb53483SStefano Babic * MRRP[2] = MBX not on priority list (0 << 0)   = 0x00000000
51*deb53483SStefano Babic * MRRP[3] = MAX1 not on priority list (0 << 0)  = 0x00000000
52*deb53483SStefano Babic * MRRP[4] = SDMA not on priority list (0 << 0)  = 0x00000000
53*deb53483SStefano Babic * MRRP[5] = MPEG4 not on priority list (0 << 0) = 0x00000000
54*deb53483SStefano Babic * MRRP[6] = IPU1 on priority list (1 << 6)      = 0x00000040
55*deb53483SStefano Babic * MRRP[7] = IPU2 not on priority list (0 << 0)  = 0x00000000
56*deb53483SStefano Babic *                                               ------------
57*deb53483SStefano Babic *                                                 0x00000040
58*deb53483SStefano Babic */
59*deb53483SStefano Babic#define M3IF_CONFIG		0x00000040
60*deb53483SStefano Babic
61*deb53483SStefano Babic#define CCM_PDR0_CONFIG		0x00801000
62*deb53483SStefano Babic
63*deb53483SStefano Babic/*
64*deb53483SStefano Babic * includes MX35 utility macros
65*deb53483SStefano Babic */
66*deb53483SStefano Babic#include <asm/arch/lowlevel_macro.S>
67*deb53483SStefano Babic
68*deb53483SStefano Babic.globl lowlevel_init
69*deb53483SStefano Babiclowlevel_init:
70*deb53483SStefano Babic
71*deb53483SStefano Babic	core_init
72*deb53483SStefano Babic
73*deb53483SStefano Babic	init_aips
74*deb53483SStefano Babic
75*deb53483SStefano Babic	init_max
76*deb53483SStefano Babic
77*deb53483SStefano Babic	init_m3if
78*deb53483SStefano Babic
79*deb53483SStefano Babic	mov pc, lr
80