Mercurial > flash_v2
diff packages/hal/powerpc/cogent/current/src/cogent.S @ 0:3111d98ba7b3 ecos-v1_1-release
Initial commit of eCos version 1.1
| author | jlarmour |
|---|---|
| date | Tue, 11 May 1999 11:16:07 +0000 |
| parents | |
| children | 443894e2e912 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/hal/powerpc/cogent/current/src/cogent.S @@ -0,0 +1,167 @@ +##============================================================================= +## +## cogent.S +## +## Cogent board hardware setup +## +##============================================================================= +#####COPYRIGHTBEGIN#### +# +# ------------------------------------------- +# The contents of this file are subject to the Cygnus eCos Public License +# Version 1.0 (the "License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://sourceware.cygnus.com/ecos +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +# License for the specific language governing rights and limitations under +# the License. +# +# The Original Code is eCos - Embedded Cygnus Operating System, released +# September 30, 1998. +# +# The Initial Developer of the Original Code is Cygnus. Portions created +# by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved. +# ------------------------------------------- +# +#####COPYRIGHTEND#### +##============================================================================= +#######DESCRIPTIONBEGIN#### +## +## Author(s): nickg +## Contributors: nickg +## Date: 1997-11-11 +## Purpose: Cogent board hardware setup +## Description: This file contains any code needed to initialize the +## hardware on a Cogent PowerPC board. +## +######DESCRIPTIONEND#### +## +##============================================================================= + +#include <pkgconf/hal.h> + +#include <cyg/hal/ppc.inc> + +#------------------------------------------------------------------------------ + + .globl hal_hardware_init +hal_hardware_init: + +#if defined(CYG_HAL_POWERPC_COGENT) && defined(CYG_HAL_POWERPC_MP860) + + # Set up MP860 mapping registers for cogent + + # MP860 time base control register + lwi r3,0xff000200 + li r4,0x0001 + sth r4,0(r3) + + + lwi r3,0xff000000 # base address of control registers + + # FIXME: I do not know if the timeout is correct. works with the + # below memory mappings/wait states and the PromICE. + lwi r4,0x0000ff80 # Disable watchdog, enable ... + stw r4,0x0004(r3) # ...Bus Monitor, timeout after 255*8 cycles + + # Set CS0 to + # base addr 0xfff00000 + # wait states 4 + # size 1M + # Covers ROM + lwi r4,0xfff00801 + stw r4,0x0100(r3) + lwi r4,0xfff00140 + stw r4,0x0104(r3) + + # Set CS1 to + # base addr 0x00000000 + # external ACK + # size 64M + # Covers DRAM and slot0 + lwi r4,0x00000001 + stw r4,0x0108(r3) + lwi r4,0xfc000008 + stw r4,0x010c(r3) + + # Set CS2 to + # base addr 0x04000000 + # external ACK + # size 64M + # slot1 and slot2 + lwi r4,0x04000001 + stw r4,0x0110(r3) + lwi r4,0xfc000008 + stw r4,0x0114(r3) + + # Set CS3 to + # base addr 0x0e000000 + # exernal ack + # size 32M + # covers IO registers + lwi r4,0x0e000001 + stw r4,0x0118(r3) + lwi r4,0xfe000108 + stw r4,0x011c(r3) + +#if 0 + # Set up the BAT registers to cover same address spaces + + # The 860 does not appear to have BAT registers. + + # ibat0 + # base addr 0xfff00000 + # length 1M + # WIMG = 0000 + # covers ROM + lwi r4,0xfff0001f + mtibatu 0,r4 + lwi r4,0xfff00002 + mtibatl 0,r4 + + # ibat1 + # base addr 0x00000000 + # length 256M + # WIMG = 0000 + # covers DRAM and slots + lwi r4,0x00001fff + mtibatu 1,r4 + lwi r4,0x00000002 + mtibatl 1,r4 + + # dbat0 + # base addr 0xfff00000 + # length 256M + # WIMG = 0101 + # covers ROM for data access + lwi r4,0xfff01fff + mtdbatu 0,r4 + lwi r4,0xfff0002a + mtdbatl 0,r4 + + # dbat1 + # base addr 0x00000000 + # length 256M + # WIMG = 0000 + # covers DRAM and slots + lwi r4,0x00001fff + mtdbatu 1,r4 + lwi r4,0x00000002 + mtdbatl 1,r4 + + # Enable translation in the MSR + mfmsr r3 + lwi r4,0x00000030 + or r3,r3,r4 + mtmsr r3 + +#endif + +#endif + + blr + +#------------------------------------------------------------------------------ +# end of cogent.S
