blob: 2dae8b5a02b4b4f6fbf37c80d7379df12266697a [file] [log] [blame]
Carl-Daniel Hailfinger5d5c0722009-12-14 03:32:24 +00001/*
2 * This file is part of the flashrom project.
3 *
4 * Copyright (C) 2009 Carl-Daniel Hailfinger
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
Carl-Daniel Hailfinger5d5c0722009-12-14 03:32:24 +000015 * Header file for flash chip drivers. Included from flash.h.
16 * As a general rule, every function listed here should take a pointer to
Carl-Daniel Hailfinger63fd9022011-12-14 22:25:15 +000017 * struct flashctx as first parameter.
Carl-Daniel Hailfinger5d5c0722009-12-14 03:32:24 +000018 */
19
20#ifndef __CHIPDRIVERS_H__
21#define __CHIPDRIVERS_H__ 1
22
Carl-Daniel Hailfinger63fd9022011-12-14 22:25:15 +000023#include "flash.h" /* for chipaddr and flashctx */
Stefan Taunera63c7c42011-08-16 12:08:22 +000024
Carl-Daniel Hailfinger532c7172011-11-04 21:35:26 +000025/* opaque.c */
Carl-Daniel Hailfinger63fd9022011-12-14 22:25:15 +000026int probe_opaque(struct flashctx *flash);
27int read_opaque(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
Mark Marshallf20b7be2014-05-09 21:16:21 +000028int write_opaque(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
Carl-Daniel Hailfinger63fd9022011-12-14 22:25:15 +000029int erase_opaque(struct flashctx *flash, unsigned int blockaddr, unsigned int blocklen);
Carl-Daniel Hailfinger532c7172011-11-04 21:35:26 +000030
Carl-Daniel Hailfinger5d5c0722009-12-14 03:32:24 +000031#endif /* !__CHIPDRIVERS_H__ */