
	/*------------------------------------------------------*/
        /*              TERON Articia / SDRAM Init              */
        /*------------------------------------------------------*/

*       XD_CTL  = 0x81000000			(0x74)

*       HBUS_ACC_CTL_0 &= 0xFFFFFDFF		(0x5c)
                       /* host bus access ctl reg 2(5e) */
                       /* set - CPU read from memory data one clock after data is latched */

*       GLOBL_INFO_0 |= 0x00004000		(0x50)
                      /* global info register 2 (52), AGP/PCI bus 1 arbiter is addressed in Articia S */

        PCI_1_SB_CONFIG_0 |= 0x00000400         (0x80d0)
                        /* PCI1 side band config reg 2 (d2), enable read acces while write buffer not empty */

        MEM_RAS_CTL_0 |= 0x3f000000		(0xcc)
		      &= 0x3fffffff
                      /* RAS park control reg 0(cc), park access enable is set */
		      
        HOST_RDBUF_CTL |= 0x10000000		(0x70)
	               &= 0x10ffffff
                      /* host read buffer control reg, enable prefetch for CPU read from DRAM control */

        HBUS_ACC_CTL_0 |= 0x0100001f		(0x5c)
		       &= 0xf1ffffff
                      /* host bus access control register, enable CPU address bus pipe control	*/
                      /* two outstanding requests,  *** changed to 2 from 3				*/
                      /* enable line merge write control for CPU write to system memory, PCI 1	*/
                      /* and PCI 0 bus memory; enable page merge write control for write to		*/
                      /* PCI bus 0 & bus 1 memory							*/

        SRAM_CTL |= 0x00004000			(0xc8)
		 &= 0xffbff7ff
                      /* DRAM detail timing control register 1 (ca), bit 3 set to 0	*/
                      /* DRAM start access latency control - wait for one clock	*/
                      /* ff9f changed to ffbf						*/
    
        DIM0_TIM_CTL_0 = 0x737d737d             (0xc9)
                      /* DRAM timing control for dimm0 & dimm1; set wait one clock	*/
                      /* cycle for next data access 					*/

        DIM2_TIM_CTL_0 = 0x737d737d             (0xca)
                      /* DRAM timing control for dimm2 & dimm3; set wait one clock	*/
                      /* cycle for next data access 					*/

        DIM0_BNK0_CTL_0 = BNK0_RAM_SIZ_128MB    (0x90)
	              /* set dimm0 bank0 for 128 MB	*/

        DIM0_BNK1_CTL_0 = BNK1_RAM_SIZ_128MB    (0x94)
                      /* set dimm0 for  bank1		*/

        DIM0_TIM_CTL_0 = 0xf3bf0000             (0xc9)
                      /* dimm0 timing control register; RAS - CAS latency - 4 clock		*/
                      /* CAS access latency - 3 wait; pre-charge latency - 3 wait		*/
                      /* pre-charge command period control - 5 clock; wait one clock		*/
                      /* cycle for next data access; read to write access latency control	*/
                      /* - 2 clock cycles							*/

        DRAM_GBL_CTL_0 |= 0x00000100            (0xc0)
		       &= 0xffff01ff
                      /* memory global control register - support buffer sdram on bank 0	*/

        DRAM_ECC_CTL_0 |= 0x00260000		(0xc4)
		       &= 0xff26ffff
                      /* enable ECC; enable read, modify, write control	*/
 
        DRAM_REF_CTL_0 = DRAM_REF_DATA          (0xb8)
		      /* set DRAM refresh parameters *** changed to 00940100	*/

        nop
        nop
        nop
        nop
        nop

        DRAM_ECC_CTL_0 |= 0x20243280		(0xc4)
                      /* turn off ecc		*/
                      /* for SDRAM bank 0	*/

        DRAM_ECC_CTL_0 |= 0x20243290            (0xc4) ?
                      /* for SDRAM bank 1	*/
 

/* Additional Stuff...*/

        GLOBL_CTRL |= 0x20000b00		(0x54)

        PCI_0_SB_CONFIG |= 0x04100007		(0xd0)
                      /* PCI 0 Side band config reg*/

        0x8000083c |= 0x00080000
                      /* Disable VGA decode on PCI Bus 1 */


/*End Additional Stuff..*/

        /*--------------------------------------------------------------*/
        /*              TERON serial port initialization code           */
        /*--------------------------------------------------------------*/

	0x84380080 |= 0x00030000
                     /* enable super IO configuration VIA chip Register 85	*/
		     /* Enable super I/O config mode */

        0xfe0003f0 = 0xe2
        bl delay1

        0xfe0003f1 = 0x0f
	bl delay1
	            /* enable com1 & com2, parallel port disabled */ 
	
	0xfe0003f0 = 0xe7
        bl delay1
	            /* let's make com1 base as 0x3f8 */
        
        0xfe0003f1 = 0xfe
        bl delay1

        0xfe0003f0 = 0xe8
        bl delay1           
		    /* let's make com2 base as 0x2f8 */

	0xfe0003f1 = 0xbe

	0x84380080 &= 0xfffdffff
                    /* closing super IO configuration VIA chip Register 85   */
     

/* -------------------------------*/

        0xfe0003fb = 0x83
	bl delay1
                   /*latch enable word length -8 bit */         /* set mslab bit	*/
        0xfe0003f8 = 0x0c
	bl delay1
                   /* set baud rate lsb for 9600 baud	*/
        0xfe0003f9 = 0x0
	bl delay1
                   /* set baud rate msb for 9600 baud	*/
        0xfe0003fb  = 0x03
	bl delay1
                      /* reset mslab	*/

	/*--------------------------------------------------------------*/
        /*              END TERON Serial Port Initialization Code       */
        /*--------------------------------------------------------------*/

   

        /*--------------------------------------------------------------*/
        /*      END TERON Articia / SDRAM Initialization code           */
        /*--------------------------------------------------------------*/

Proposed from Documentation:

write dmem 0xfec00cf8 0x50000080
write dmem 0xfee00cfc 0xc0305411

      Writes to index 0x50-0x53. 
      0x50: Global Information Register 0
	    0xC0 = Little Endian CPU, Sequential order Burst
      0x51: Global Information Register 1
	    Read only, 0x30 = Provides PowerPC and X86 support
      0x52: Global Information Register 2
	    0x05 = 64/128 bit CPU bus support
      0x53: Global Information Register 3
	    0x80 = PCI Bus 0 grant active time is 1 clock after REQ# deasserted

write dmem 0xfec00cf8 0x5c000080
write dmem 0xfee00cfc 0xb300011F

write dmem 0xfec00cf8 0xc8000080
write dmem 0xfee00cfc 0x0020f100

write dmem 0xfec00cf8 0x90000080
write dmem 0xfee00cfc 0x007fe700

write dmem 0xfec00cf8 0x9400080
write dmem 0xfee00cfc 0x007fe700

write dmem 0xfec00cf8 0xb0000080
write dmem 0xfee00cfc 0x737d737d

write dmem 0xfec00cf8 0xb4000080
write dmem 0xfee00cfc 0x737d737d

write dmem 0xfec00cf8 0xc0000080
write dmem 0xfee00cfc 0x40005500

write dmem 0xfec00cf8 0xb8000080
write dmem 0xfee00cfc 0x00940100

write dmem 0xfec00cf8 0xc4000080
write dmem 0xfee00cfc 0x00003280

write dmem 0xfec00cf8 0xc4000080
write dmem 0xfee00cfc 0x00003290


