blob: 69730828cfa5be4337c880284a49bffc482a5836 [file] [log] [blame]
Wolfgang Denk6cb142f2006-03-12 02:12:27 +01001/*
Mike Frysinger65ba1ab2008-10-11 20:30:28 -04002 * U-boot - main board file
Wolfgang Denk6cb142f2006-03-12 02:12:27 +01003 *
Mike Frysinger65ba1ab2008-10-11 20:30:28 -04004 * Copyright (c) 2005-2008 Analog Devices Inc.
Wolfgang Denk6cb142f2006-03-12 02:12:27 +01005 *
6 * (C) Copyright 2000-2004
7 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
8 *
9 * See file CREDITS for list of people who contributed to this
10 * project.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of
15 * the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
Aubrey Li155fd762007-04-05 18:31:18 +080024 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
25 * MA 02110-1301 USA
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010026 */
27
28#include <common.h>
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010029#include "psd4256.h"
Mike Frysinger65ba1ab2008-10-11 20:30:28 -040030#include "flash-defines.h"
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010031
Wolfgang Denk1218abf2007-09-15 20:48:41 +020032DECLARE_GLOBAL_DATA_PTR;
33
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010034int checkboard(void)
35{
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010036 printf("Board: ADI BF533 EZ-Kit Lite board\n");
37 printf(" Support: http://blackfin.uclinux.org/\n");
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010038 return 0;
39}
40
Becky Bruce9973e3c2008-06-09 16:03:40 -050041phys_size_t initdram(int board_type)
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010042{
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010043#ifdef DEBUG
44 int brate;
45 char *tmp = getenv("baudrate");
46 brate = simple_strtoul(tmp, NULL, 16);
Aubrey.Li3f0606a2007-03-09 13:38:44 +080047 printf("Serial Port initialized with Baud rate = %x\n", brate);
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010048 printf("SDRAM attributes:\n");
49 printf("tRCD %d SCLK Cycles,tRP %d SCLK Cycles,tRAS %d SCLK Cycles"
50 "tWR %d SCLK Cycles,CAS Latency %d SCLK cycles \n",
51 3, 3, 6, 2, 3);
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020052 printf("SDRAM Begin: 0x%x\n", CONFIG_SYS_SDRAM_BASE);
53 printf("Bank size = %d MB\n", CONFIG_SYS_MAX_RAM_SIZE >> 20);
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010054#endif
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020055 gd->bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
56 gd->bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
57 return CONFIG_SYS_MAX_RAM_SIZE;
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010058}
59
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010060/* miscellaneous platform dependent initialisations */
61int misc_init_r(void)
62{
Aubrey.Li3f0606a2007-03-09 13:38:44 +080063 /* Set direction bits for Video en/decoder reset as output */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020064 *(volatile unsigned char *)(CONFIG_SYS_FLASH1_BASE + PSD_PORTA_DIR) =
Aubrey.Li3f0606a2007-03-09 13:38:44 +080065 PSDA_VDEC_RST | PSDA_VENC_RST;
66 /* Deactivate Video en/decoder reset lines */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020067 *(volatile unsigned char *)(CONFIG_SYS_FLASH1_BASE + PSD_PORTA_DOUT) =
Aubrey.Li3f0606a2007-03-09 13:38:44 +080068 PSDA_VDEC_RST | PSDA_VENC_RST;
69
70 return 0;
Wolfgang Denk6cb142f2006-03-12 02:12:27 +010071}