/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef _FLASH_TS_H #define _FLASH_TS_H typedef struct { unsigned int szofpg; /* Erase unit */ unsigned int szofblk; /* Write unit */ unsigned int szofsector; /* Sector size used by the rest of cgpt */ void *user; } nand_geom; int flash_ts_init(unsigned int start_block, unsigned int blocks, unsigned int szofpg, unsigned int szofblk, unsigned int szofsector, void *user); /* Get/set value, returns 0 on success */ int flash_ts_set(const char *key, const char *value); void flash_ts_get(const char *key, char *value, unsigned int size); /* Get value as an integer, if missing/invalid return 'default_value' */ int flash_ts_get_int(const char *key, int default_value); /* These must be implemented outside the driver. */ int nand_read_page(const nand_geom *nand, int page, void *buf, int size); int nand_write_page(const nand_geom *nand, int page, const void *buf, int size); int nand_erase_block(const nand_geom *nand, int block); int nand_is_bad_block(const nand_geom *nand, int block); #endif /* _FLASH_TS_H */