Lines Matching full:mmc
19 #include <mmc.h>
24 static int mmc_load_legacy(struct spl_image_info *spl_image, struct mmc *mmc, in mmc_load_legacy() argument
36 image_size_sectors = (spl_image->size + mmc->read_bl_len - 1) / in mmc_load_legacy()
37 mmc->read_bl_len; in mmc_load_legacy()
40 count = blk_dread(mmc_get_blk_desc(mmc), sector, image_size_sectors, in mmc_load_legacy()
58 struct mmc *mmc, unsigned long sector) argument
68 count = blk_dread(mmc_get_blk_desc(mmc), sector, 1, header);
86 load.dev = mmc_get_blk_desc(mmc);
89 load.bl_len = mmc->read_bl_len;
93 ret = mmc_load_legacy(spl_image, mmc, sector, header);
118 printf("spl: unsupported mmc boot device.\n");
124 int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
135 printf("spl: could not initialize mmc. error: %d\n", err);
144 printf("spl: could not find mmc device. error: %d\n", err);
154 struct mmc *mmc, argument
165 err = part_get_info(mmc_get_blk_desc(mmc), type_part, &info);
176 err = part_get_info_by_name(mmc_get_blk_desc(mmc),
179 err = part_get_info(mmc_get_blk_desc(mmc), partition, &info);
187 return mmc_load_image_raw_sector(spl_image, mmc, info.start);
193 struct mmc *mmc) argument
198 count = blk_dread(mmc_get_blk_desc(mmc),
204 puts("mmc_load_image_raw_os: mmc block read error\n");
209 ret = mmc_load_image_raw_sector(spl_image, mmc,
227 struct mmc *mmc) argument
234 static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc) argument
240 err = spl_load_image_fat_os(spl_image, mmc_get_blk_desc(mmc),
246 err = spl_load_image_fat(spl_image, mmc_get_blk_desc(mmc),
255 err = spl_load_image_ext_os(spl_image, mmc_get_blk_desc(mmc),
261 err = spl_load_image_ext(spl_image, mmc_get_blk_desc(mmc),
276 static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc) argument
285 struct mmc *mmc = NULL; local
290 err = spl_mmc_find_device(&mmc, bootdev->boot_device);
294 err = mmc_init(mmc);
297 printf("spl: mmc init failed with error: %d\n", err);
305 load.dev = mmc_get_blk_desc(mmc);
308 load.bl_len = mmc->read_bl_len;
324 part = (mmc->part_config >> 3) & PART_ACCESS_MASK;
330 err = mmc_switch_part(mmc, part);
332 err = blk_dselect_hwpart(mmc_get_blk_desc(mmc), part);
336 puts("spl: mmc partition switch failed\n");
342 debug("spl: mmc boot mode: raw\n");
345 err = mmc_load_image_raw_os(spl_image, mmc);
350 err = mmc_load_image_raw_partition(spl_image, mmc,
357 err = mmc_load_image_raw_sector(spl_image, mmc,
364 debug("spl: mmc boot mode: fs\n");
366 err = spl_mmc_do_fs_boot(spl_image, mmc);
373 puts("spl: mmc: wrong boot mode\n");