blob: 473aeb0e6a980e7e57c45f9ff205c197e436ca97 [file] [log] [blame]
/*
* Copyright (c) 2019 The Fuchsia Authors
*/
#include <config.h>
#include <common.h>
/* #include <fastboot.h> */
#include <aboot.h>
#include <fb_fastboot.h>
#include <zircon-estelle/partition.h>
void fb_zircon_flash_write(const char *cmd, void *download_buffer,
unsigned int download_bytes)
{
int ret;
uint64_t ptn_size;
ret = zircon_get_partititon_size(cmd, &ptn_size);
if (ret) {
error(" invalid NAND device");
fastboot_fail(" invalid NAND device");
return;
}
printf("Flashing raw image to %s partition\n", cmd);
ret = zircon_partition_write(cmd, 0, download_buffer, download_bytes);
printf("........ wrote %u bytes\n", download_bytes);
if (ret) {
fastboot_fail("error writing the image");
return;
}
fastboot_okay("");
}
void fb_zircon_erase(const char *cmd)
{
int ret;
uint64_t ptn_size;
ret = zircon_get_partititon_size(cmd, &ptn_size);
if (ret) {
error(" invalid NAND device");
fastboot_fail(" invalid NAND device");
return;
}
ret = zircon_partition_erase(cmd);
if (ret) {
fastboot_fail("failed erasing from device");
return;
}
fastboot_okay(NULL);
}