blob: e8ef31a7809ffa6481daa7a53dd55926cd66f340 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <stdint.h>
#include <fuchsia/hardware/nand/c/fidl.h>
// Prints out some data from the "first page".
void DumpPage0(const void* data);
// Returns the location and size of the bad block table. |data| must be a Page0
// buffer.
void GetBbtLocation(const void* data, uint32_t* first_block, uint32_t* num_blocks);
// Prints out the bad blocks from the bad block tables. Returns the number of
// tables parsed. |data| and |oob| must contain the data from a full erase block.
// Note that GetBbtLocation() has to be called before using this function, to
// determine what erase blocks to read.
int DumpBbt(const void* data, const void* oob, const fuchsia_hardware_nand_Info& info);