blob: 8d9f660b5cb7991ac6479e98b3e8885ab2bd1ce4 [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 Huber517d9372026-03-14 21:48:36 +010028int prepare_opaque(struct flashprog_flashctx *);
Nico Huber91f51522026-03-07 22:57:56 +010029
Nico Huber05790292026-03-09 17:24:08 +010030int read_opaque(struct flashprog_flashctx *, uint8_t *buf, unsigned int start, unsigned int len);
31int write_opaque(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
32int erase_opaque(struct flashprog_flashctx *, unsigned int blockaddr, unsigned int blocklen);
33
34#endif /* !__CHIPDRIVERS_OPAQUE_H__ */