1. 程式人生 > >omapl138移植uboot系列之新增MTD分割槽(第七篇)

omapl138移植uboot系列之新增MTD分割槽(第七篇)

struct mtd_partition mapl138_spiflash_partition[] = {

         {

                   .name                = "nor0",

                   .offset                = 0x00000000,

                   .size           = MTDPART_SIZ_FULL,

                   .mask_flags      = 0,

         },

}

int  spi_flash_mtd_register(struct spi_flash *flash)

{

        memset(&sf_mtd_info, 0, sizeof(sf_mtd_info));

        sprintf(sf_mtd_name, "nor%d", spi_flash_mtd_number());

        debug("sf_mtd_name = %s\n",sf_mtd_name);

        sf_mtd_info.name = sf_mtd_name;

        sf_mtd_info.type = MTD_NORFLASH;

        sf_mtd_info.flags = MTD_CAP_NORFLASH;

        sf_mtd_info.writesize = 1;

        sf_mtd_info.writebufsize = flash->page_size;

        sf_mtd_info._erase = spi_flash_mtd_erase;

        sf_mtd_info._read = spi_flash_mtd_read;

        sf_mtd_info._write = spi_flash_mtd_write;

        sf_mtd_info._sync = spi_flash_mtd_sync;

        sf_mtd_info.size = flash->size;

        sf_mtd_info.priv = flash;

        /* Only uniform flash devices for now */

        sf_mtd_info.numeraseregions = 0;

        sf_mtd_info.erasesize = flash->sector_size;

        return add_mtd_partitions(&sf_mtd_info,mapl138_spiflash_partition,1);

}