parent
3a574cbe72
commit
121fc64022
@ -0,0 +1,101 @@ |
|||||||
|
/*
|
||||||
|
* (C) Copyright 2005 |
||||||
|
* Greg Ungerer, OpenGear Inc, <greg.ungerer@opengear.com> |
||||||
|
* |
||||||
|
* (C) Copyright 2002 |
||||||
|
* Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net |
||||||
|
* |
||||||
|
* (C) Copyright 2002 |
||||||
|
* Sysgo Real-Time Solutions, GmbH <www.elinos.com> |
||||||
|
* Marius Groeger <mgroeger@sysgo.de> |
||||||
|
* |
||||||
|
* See file CREDITS for list of people who contributed to this |
||||||
|
* project. |
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation; either version 2 of |
||||||
|
* the License, or (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with this program; if not, write to the Free Software |
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||||
|
* MA 02111-1307 USA |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <common.h> |
||||||
|
#include <asm/arch/platform.h> |
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------- */ |
||||||
|
|
||||||
|
#define ks8695_read(a) *((volatile unsigned int *) (KS8695_IO_BASE+(a))) |
||||||
|
#define ks8695_write(a,b) *((volatile unsigned int *) (KS8695_IO_BASE+(a))) = (b) |
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------- */ |
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Miscelaneous platform dependent initialisations |
||||||
|
*/ |
||||||
|
int env_flash_cmdline (void) |
||||||
|
{ |
||||||
|
unsigned char *sp = (unsigned char *) 0x0201c020; |
||||||
|
unsigned char *ep; |
||||||
|
int len; |
||||||
|
|
||||||
|
/* Check if "erase" push button is depressed */ |
||||||
|
if ((ks8695_read(KS8695_GPIO_DATA) & 0x8) == 0) { |
||||||
|
printf("### Entering network recovery mode...\n"); |
||||||
|
setenv("bootargs", "console=ttyAM0,115200 mem=16M initrd=0x400000,6M root=/dev/ram0"); |
||||||
|
setenv("bootcmd", "bootp 0x400000; gofsk 0x400000"); |
||||||
|
setenv("bootdelay", "2"); |
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* Check for flash based kernel boot args to use as default */ |
||||||
|
for (ep = sp, len = 0; ((len < 1024) && (*ep != 0)); ep++, len++) |
||||||
|
; |
||||||
|
|
||||||
|
if ((len > 0) && (len <1024)) |
||||||
|
setenv("bootargs", sp); |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
int board_late_init (void) |
||||||
|
{ |
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
int board_init (void) |
||||||
|
{ |
||||||
|
DECLARE_GLOBAL_DATA_PTR; |
||||||
|
|
||||||
|
/* arch number of CM4008 */ |
||||||
|
gd->bd->bi_arch_number = 624; |
||||||
|
|
||||||
|
/* adress of boot parameters */ |
||||||
|
gd->bd->bi_boot_params = 0x00000100; |
||||||
|
|
||||||
|
/* power down all but port 0 on the switch */ |
||||||
|
ks8695_write(KS8695_SWITCH_LPPM12, 0x00000005); |
||||||
|
ks8695_write(KS8695_SWITCH_LPPM34, 0x00050005); |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
int dram_init (void) |
||||||
|
{ |
||||||
|
DECLARE_GLOBAL_DATA_PTR; |
||||||
|
|
||||||
|
gd->bd->bi_dram[0].start = PHYS_SDRAM_1; |
||||||
|
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; |
||||||
|
|
||||||
|
return (0); |
||||||
|
} |
Loading…
Reference in new issue