blob: d6d3ebabd1af609751c835c199180bcbf00e712e [file] [log] [blame]
Nico Huber05790292026-03-09 17:24:08 +01001/*
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 */
15
16#ifndef __CHIPDRIVERS_OPAQUE_H__
17#define __CHIPDRIVERS_OPAQUE_H__ 1
18
19#include <stdint.h>
20
21struct flashprog_flashctx;
Nico Huberc3eaa952026-03-07 23:22:54 +010022struct master_common;
23struct bus_probe;
24struct flashchip;
25
26struct found_id *probe_opaque(const struct bus_probe *, const struct master_common *, const struct flashchip *);
Nico Huber05790292026-03-09 17:24:08 +010027
Nico Huber91f51522026-03-07 22:57:56 +010028enum preparation_steps;
29int prepare_opaque(struct flashprog_flashctx *, enum preparation_steps);
30
Nico Huber05790292026-03-09 17:24:08 +010031int read_opaque(struct flashprog_flashctx *, uint8_t *buf, unsigned int start, unsigned int len);
32int write_opaque(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
33int erase_opaque(struct flashprog_flashctx *, unsigned int blockaddr, unsigned int blocklen);
34
35#endif /* !__CHIPDRIVERS_OPAQUE_H__ */