Lines Matching defs:dfu

17 #include <dfu.h>
22 static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
32 *len = dfu->data.nand.size;
36 start = dfu->data.nand.start + offset + dfu->bad_skip;
37 lim = dfu->data.nand.start + dfu->data.nand.size - start;
68 if (dfu->data.nand.ubi)
88 dfu->bad_skip += actual - count;
93 static inline int nand_block_write(struct dfu_entity *dfu,
96 return nand_block_op(DFU_OP_WRITE, dfu, offset, buf, len);
99 static inline int nand_block_read(struct dfu_entity *dfu,
102 return nand_block_op(DFU_OP_READ, dfu, offset, buf, len);
105 static int dfu_write_medium_nand(struct dfu_entity *dfu,
110 switch (dfu->layout) {
112 ret = nand_block_write(dfu, offset, buf, len);
116 dfu_get_layout(dfu->layout));
122 int dfu_get_medium_size_nand(struct dfu_entity *dfu, u64 *size)
124 *size = dfu->data.nand.size;
129 static int dfu_read_medium_nand(struct dfu_entity *dfu, u64 offset, void *buf,
134 switch (dfu->layout) {
136 ret = nand_block_read(dfu, offset, buf, len);
140 dfu_get_layout(dfu->layout));
146 static int dfu_flush_medium_nand(struct dfu_entity *dfu)
152 if (dfu->data.nand.ubi) {
164 off = dfu->offset;
173 opts.offset = dfu->data.nand.start + off +
174 dfu->bad_skip;
175 opts.length = dfu->data.nand.start +
176 dfu->data.nand.size - opts.offset;
185 unsigned int dfu_polltimeout_nand(struct dfu_entity *dfu)
191 if (dfu->data.nand.ubi)
197 int dfu_fill_entity_nand(struct dfu_entity *dfu, char *devstr, char **argv, int argc)
202 dfu->data.nand.ubi = 0;
203 dfu->dev_type = DFU_DEV_NAND;
208 dfu->layout = DFU_RAW_ADDR;
209 dfu->data.nand.start = hextoul(argv[1], &s);
212 dfu->data.nand.size = hextoul(argv[2], &s);
221 dfu->layout = DFU_RAW_ADDR;
241 dfu->data.nand.start = pi->offset;
242 dfu->data.nand.size = pi->size;
244 dfu->data.nand.ubi = 1;
250 dfu->get_medium_size = dfu_get_medium_size_nand;
251 dfu->read_medium = dfu_read_medium_nand;
252 dfu->write_medium = dfu_write_medium_nand;
253 dfu->flush_medium = dfu_flush_medium_nand;
254 dfu->poll_timeout = dfu_polltimeout_nand;
257 dfu->inited = 0;