Ignore:
Timestamp:
Jul 18, 2013, 6:33:38 PM (11 years ago)
Author:
alain
Message:

Various modifications to support IO Bridge,
and MEMC configuration interface.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/xml/xml_parser.c

    r245 r249  
    9999//////////////////////////////
    100100char found_timer = 0;
    101 char found_icu = 0;
    102 char found_dma = 0;
     101char found_icu   = 0;
     102char found_dma   = 0;
     103char found_mmc   = 0;
    103104
    104105
     
    120121unsigned int cma_channels     = 0; // total number of channels in first CMA
    121122
    122 unsigned int io_mmu_active    = 0; // using IOB component
     123unsigned int use_iob          = 0; // using IOB component
    123124unsigned int use_xicu         = 0; // using XICU (not ICU)
    124125
     
    12051206        {
    12061207            periph[periph_index]->type = PERIPH_TYPE_IOB;
    1207             io_mmu_active = 1;
     1208            use_iob = 1;
    12081209            if (header->iob_cluster == 0xFFFFFFFF) 
    12091210            {
     
    12191220            }
    12201221        }
    1221         // The TIM, ICU, XICU, DMA peripherals are replicated in all clusters
     1222        // The TIM, ICU, XICU, DMA, MEMC peripherals are replicated in all clusters
    12221223        // but only one component per cluster
    12231224        else if (strcmp(str, "TIM") == 0 )
     
    12551256            if (dma_channels < periph[periph_index]->channels)
    12561257                dma_channels = periph[periph_index]->channels;
     1258        }
     1259        else if (strcmp(str, "MMC") == 0)
     1260        {
     1261            periph[periph_index]->type = PERIPH_TYPE_MMC;
     1262            if (found_mmc)  error = 1;
     1263            found_mmc = 1;
     1264            if ( periph[periph_index]->channels != 1 ) error = 1;
    12571265        }
    12581266        else
     
    16501658    // for replicated periph
    16511659    found_timer = 0;
    1652     found_icu = 0;
    1653     found_dma = 0;
     1660    found_icu   = 0;
     1661    found_dma   = 0;
     1662    found_mmc   = 0;
    16541663
    16551664    if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_END_ELEMENT) {
     
    21792188
    21802189    def_int_write(fdout, "USE_XICU          ", use_xicu);
    2181     def_int_write(fdout, "IOMMU_ACTIVE      ", io_mmu_active);
     2190    def_int_write(fdout, "USE_IOB           ", use_iob);
    21822191
    21832192    file_write(fdout, epil);
     
    22652274
    22662275    // non replicated peripherals
    2267     ld_write(fdout, "\nseg_fbf_base            ", periph_vbase_array[PERIPH_TYPE_FBF]);
     2276    ld_write(fdout, "seg_cma_base            ",   periph_vbase_array[PERIPH_TYPE_CMA]);
    22682277    ld_write(fdout, "seg_ioc_base            ",   periph_vbase_array[PERIPH_TYPE_IOC]);
     2278    ld_write(fdout, "seg_tty_base            ",   periph_vbase_array[PERIPH_TYPE_TTY]);
     2279    ld_write(fdout, "seg_fbf_base            ",   periph_vbase_array[PERIPH_TYPE_FBF]);
    22692280    ld_write(fdout, "seg_nic_base            ",   periph_vbase_array[PERIPH_TYPE_NIC]);
    2270     ld_write(fdout, "seg_tty_base            ",   periph_vbase_array[PERIPH_TYPE_TTY]);
     2281    ld_write(fdout, "seg_iob_base            ",   periph_vbase_array[PERIPH_TYPE_IOB]);
    22712282    ld_write(fdout, "seg_gcd_base            ",   periph_vbase_array[PERIPH_TYPE_GCD]);
    2272     ld_write(fdout, "seg_iob_base            ",   periph_vbase_array[PERIPH_TYPE_IOB]);
    22732283
    22742284    file_write(fdout, "\n");
     
    22762286    // replicated peripherals
    22772287    ld_write(fdout, "seg_icu_base            ",   periph_vbase_array[PERIPH_TYPE_ICU]);
     2288    ld_write(fdout, "seg_tim_base            ",   periph_vbase_array[PERIPH_TYPE_TIM]);
    22782289    ld_write(fdout, "seg_dma_base            ",   periph_vbase_array[PERIPH_TYPE_DMA]);
    2279     ld_write(fdout, "seg_tim_base            ",   periph_vbase_array[PERIPH_TYPE_TIM]);
     2290    ld_write(fdout, "seg_mmc_base            ",   periph_vbase_array[PERIPH_TYPE_MMC]);
    22802291
    22812292    close(fdout);
Note: See TracChangeset for help on using the changeset viewer.