Ignore:
Timestamp:
Jul 21, 2009, 8:38:04 AM (10 years ago)
Author:
Thomas Doerfler <Thomas.Doerfler@…>
Branches:
4.10, 4.11, master
Children:
68799a2a
Parents:
115971c
Message:

Update for MPC55XX changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c

    r115971c rd374492  
    9393static void mpc55xx_ebi_init()
    9494{
    95         struct EBI_CS_tag cs = { BR : MPC55XX_ZERO_FLAGS, OR : MPC55XX_ZERO_FLAGS };
     95        struct EBI_CS_tag cs = { .BR = MPC55XX_ZERO_FLAGS, .OR = MPC55XX_ZERO_FLAGS };
    9696        union SIU_PCR_tag pcr = MPC55XX_ZERO_FLAGS;
     97        struct MMU_tag mmu = MMU_DEFAULT;
    9798        int i = 0;
    9899
    99         /* External SRAM (0 wait states, 512kB, 4 word burst) */
     100        /* ADDR [8 : 31] */
     101        for (i = 4; i < 4 + 24; ++i) {
     102                SIU.PCR [i].R = 0x440;
     103        }
     104
     105        /* DATA [0 : 15] */
     106        for (i = 28; i < 28 + 16; ++i) {
     107                SIU.PCR [i].R = 0x440;
     108        }
     109
     110        /* RD_!WR */
     111        SIU.PCR [62].R = 0x443;
     112
     113        /* !BDIP */
     114        SIU.PCR [63].R = 0x443;
     115
     116        /* !WE [0 : 3] */
     117        for (i = 64; i < 64 + 4; ++i) {
     118                SIU.PCR [i].R = 0x443;
     119        }
     120
     121        /* !OE */
     122        SIU.PCR [68].R = 0x443;
     123
     124        /* !TS */
     125        SIU.PCR [69].R = 0x443;
     126
     127        /* External SRAM (2 wait states, 512kB, 4 word burst) */
     128
    100129        cs.BR.B.BA = 0;
    101130        cs.BR.B.PS = 1;
     
    115144        SIU.PCR [0].R = 0x443;
    116145
    117         /* ADDR [8 : 31] */
    118         for (i = 4; i < 4 + 24; ++i) {
    119                 SIU.PCR [i].R = 0x440;
    120         }
    121 
    122         /* DATA [0 : 15] */
    123         for (i = 28; i < 28 + 16; ++i) {
    124                 SIU.PCR [i].R = 0x440;
    125         }
    126 
    127         /* RD_!WR */
    128         SIU.PCR [62].R = 0x443;
    129 
    130         /* !BDIP */
    131         SIU.PCR [63].R = 0x443;
    132 
    133         /* !WE [0 : 3] */
    134         for (i = 64; i < 64 + 4; ++i) {
    135                 SIU.PCR [i].R = 0x443;
    136         }
    137 
    138         /* !OE */
    139         SIU.PCR [68].R = 0x443;
    140 
    141         /* !TS */
    142         SIU.PCR [69].R = 0x443;
     146        /* External Ethernet Controller (3 wait states, 64kB) */
     147
     148        mmu.MAS0.B.ESEL = 5;
     149        mmu.MAS1.B.VALID = 1;
     150        mmu.MAS1.B.IPROT = 1;
     151        mmu.MAS1.B.TSIZ = 1;
     152        mmu.MAS2.B.EPN = 0x3fff8;
     153        mmu.MAS2.B.I = 1;
     154        mmu.MAS2.B.G = 1;
     155        mmu.MAS3.B.RPN = 0x3fff8;
     156        mmu.MAS3.B.UW = 1;
     157        mmu.MAS3.B.SW = 1;
     158        mmu.MAS3.B.UR = 1;
     159        mmu.MAS3.B.SR = 1;
     160
     161        PPC_SET_SPECIAL_PURPOSE_REGISTER( FREESCALE_EIS_MAS0, mmu.MAS0.R);
     162        PPC_SET_SPECIAL_PURPOSE_REGISTER( FREESCALE_EIS_MAS1, mmu.MAS1.R);
     163        PPC_SET_SPECIAL_PURPOSE_REGISTER( FREESCALE_EIS_MAS2, mmu.MAS2.R);
     164        PPC_SET_SPECIAL_PURPOSE_REGISTER( FREESCALE_EIS_MAS3, mmu.MAS3.R);
     165
     166        asm volatile ("tlbwe");
     167
     168        cs.BR.B.BA = 0x7fff;
     169        cs.BR.B.PS = 1;
     170        cs.BR.B.BL = 0;
     171        cs.BR.B.WEBS = 0;
     172        cs.BR.B.TBDIP = 0;
     173        cs.BR.B.BI = 1;
     174        cs.BR.B.V = 1;
     175
     176        cs.OR.B.AM = 0x1ffff;
     177        cs.OR.B.SCY = 1;
     178        cs.OR.B.BSCY = 0;
     179
     180        EBI.CS [3] = cs;
     181
     182        /* !CS [3] */
     183        SIU.PCR [3].R = 0x443;
    143184}
    144185
     
    199240        }
    200241       
    201         RTEMS_DEBUG_PRINT( "BSP start done\n");
     242        /* Initialize eMIOS */
     243        mpc55xx_emios_initialize( 1);
    202244
    203245        return;
Note: See TracChangeset for help on using the changeset viewer.