summaryrefslogtreecommitdiff
path: root/include/part.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-10-31 14:43:04 -0400
committerTom Rini <trini@konsulko.com>2022-10-31 14:43:04 -0400
commita90afc6730e6c67ad37f4c98a02891a93b4ff971 (patch)
tree724c085433631e142a56c052d667139cba29b4a6 /include/part.h
parent6f38d91158e7e4199753b79e0a25c1a65175aba4 (diff)
parent77bec9e3d8bd2dc307447b92a3d5cefd693a62ad (diff)
Merge branch '2022-10-31-vbe-implement-the-full-firmware-flow'
To quote Simon: This series provides an implementation of VBE from TPL through to U-Boot proper, using VBE to load the relevant firmware stages. It buils a single image.bin file containing all the phases: TPL - initial phase, loads VPL using binman symbols VPL - main firmware phase, loads SPL using VBE parameters SPL - loads U-Boot proper using VBE parameters U-Boot - final firmware phase, where OS booting is processed This series does not include the OS-booting phase. That will be the subject of a future series. The implementation is entirely handled by sandbox. It should be possible to enable this on a real board without much effort, but that is also the subject of a future series.
Diffstat (limited to 'include/part.h')
-rw-r--r--include/part.h42
1 files changed, 36 insertions, 6 deletions
diff --git a/include/part.h b/include/part.h
index 6f604e7315a..807370d9429 100644
--- a/include/part.h
+++ b/include/part.h
@@ -313,12 +313,42 @@ struct udevice;
*/
int part_create_block_devices(struct udevice *blk_dev);
-unsigned long dev_read(struct udevice *dev, lbaint_t start,
- lbaint_t blkcnt, void *buffer);
-unsigned long dev_write(struct udevice *dev, lbaint_t start,
- lbaint_t blkcnt, const void *buffer);
-unsigned long dev_erase(struct udevice *dev, lbaint_t start,
- lbaint_t blkcnt);
+/**
+ * disk_blk_read() - read blocks from a disk partition
+ *
+ * @dev: Device to read from (UCLASS_PARTITION)
+ * @start: Start block number to read in the partition (0=first)
+ * @blkcnt: Number of blocks to read
+ * @buffer: Destination buffer for data read
+ * Returns: number of blocks read, or -ve error number (see the
+ * IS_ERR_VALUE() macro
+ */
+ulong disk_blk_read(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+ void *buffer);
+
+/**
+ * disk_blk_write() - write to a disk partition
+ *
+ * @dev: Device to write to (UCLASS_PARTITION)
+ * @start: Start block number to write in the partition (0=first)
+ * @blkcnt: Number of blocks to write
+ * @buffer: Source buffer for data to write
+ * Returns: number of blocks written, or -ve error number (see the
+ * IS_ERR_VALUE() macro
+ */
+ulong disk_blk_write(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+ const void *buffer);
+
+/**
+ * disk_blk_erase() - erase a section of a disk partition
+ *
+ * @dev: Device to (partially) erase (UCLASS_PARTITION)
+ * @start: Start block number to erase in the partition (0=first)
+ * @blkcnt: Number of blocks to erase
+ * Returns: number of blocks erased, or -ve error number (see the
+ * IS_ERR_VALUE() macro
+ */
+ulong disk_blk_erase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt);
/*
* We don't support printing partition information in SPL and only support