| // 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. |
| library fuchsia.hardware.nand; |
| |
| // Matches the value of ZBI_PARTITION_GUID_LEN. |
| const GUID_LEN uint32 = 16; |
| |
| type Class = strict enum : uint32 { |
| UNKNOWN = 0; // Unknown device. |
| PARTMAP = 1; // NAND device contains multiple partitions. |
| FTL = 2; // NAND device is a FTL partition. |
| BBS = 3; // NAND device is a bad block skip partition. |
| TEST = 4; // Test device. |
| |
| /// NAND device contains an Intel flash descriptor. |
| INTEL_FLASH_DESCRIPTOR = 5; |
| }; |
| |
| @for_deprecated_c_bindings |
| type Info = struct { |
| page_size uint32; // Read/write unit size, in bytes. |
| pages_per_block uint32; // Erase block size, in pages. |
| num_blocks uint32; // Device size, in erase blocks. |
| ecc_bits uint32; // Number of ECC bits (correctable bit flips), |
| // per correction chunk. |
| oob_size uint32; // Available out of band bytes per page. |
| nand_class Class; // The device purpose. |
| partition_guid array<uint8, GUID_LEN>; // Partition type GUID from partition map. |
| }; |