1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2 /*
3 * Copyright (C) 2019, STMicroelectronics - All Rights Reserved
4 */
5 #include <common.h>
6 #include <dfu.h>
7 #include <errno.h>
8 #include <log.h>
9 #include <malloc.h>
10
dfu_write_medium_virt(struct dfu_entity * dfu,u64 offset,void * buf,long * len)11 int __weak dfu_write_medium_virt(struct dfu_entity *dfu, u64 offset,
12 void *buf, long *len)
13 {
14 debug("%s: off=0x%llx, len=0x%x\n", __func__, offset, (u32)*len);
15
16 return 0;
17 }
18
dfu_get_medium_size_virt(struct dfu_entity * dfu,u64 * size)19 int __weak dfu_get_medium_size_virt(struct dfu_entity *dfu, u64 *size)
20 {
21 *size = 0;
22
23 return 0;
24 }
25
dfu_read_medium_virt(struct dfu_entity * dfu,u64 offset,void * buf,long * len)26 int __weak dfu_read_medium_virt(struct dfu_entity *dfu, u64 offset,
27 void *buf, long *len)
28 {
29 debug("%s: off=0x%llx, len=0x%x\n", __func__, offset, (u32)*len);
30 *len = 0;
31
32 return 0;
33 }
34
dfu_fill_entity_virt(struct dfu_entity * dfu,char * devstr,char * s)35 int dfu_fill_entity_virt(struct dfu_entity *dfu, char *devstr, char *s)
36 {
37 debug("%s: devstr = %s\n", __func__, devstr);
38
39 dfu->dev_type = DFU_DEV_VIRT;
40 dfu->layout = DFU_RAW_ADDR;
41 dfu->data.virt.dev_num = dectoul(devstr, NULL);
42
43 dfu->write_medium = dfu_write_medium_virt;
44 dfu->get_medium_size = dfu_get_medium_size_virt;
45 dfu->read_medium = dfu_read_medium_virt;
46
47 dfu->inited = 0;
48
49 return 0;
50 }
51