xref: /rk3399_rockchip-uboot/include/spl_ab.h (revision 1e33e3cb7c543a31ca9ba7d940328073e397b0fb)
10cc16201SJason Zhu /* SPDX-License-Identifier:     GPL-2.0+ */
20cc16201SJason Zhu /*
30cc16201SJason Zhu  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
40cc16201SJason Zhu  */
50cc16201SJason Zhu 
60cc16201SJason Zhu #ifndef _SPL_AB_H_
70cc16201SJason Zhu #define _SPL_AB_H_
80cc16201SJason Zhu 
90cc16201SJason Zhu #include <android_avb/libavb_ab.h>
100cc16201SJason Zhu #include <android_avb/avb_ab_flow.h>
110cc16201SJason Zhu 
120cc16201SJason Zhu #define AB_METADATA_OFFSET 4
130cc16201SJason Zhu 
140cc16201SJason Zhu /*
150cc16201SJason Zhu  * spl_get_current_slot
160cc16201SJason Zhu  *
170cc16201SJason Zhu  * @dev_desc: block description
180cc16201SJason Zhu  * @partition: partition name
190cc16201SJason Zhu  * @slot: A/B slot
200cc16201SJason Zhu  *
210cc16201SJason Zhu  * return: 0 success, others fail.
220cc16201SJason Zhu  */
230cc16201SJason Zhu int spl_get_current_slot(struct blk_desc *dev_desc, char *partition,
240cc16201SJason Zhu 			 char *slot);
250cc16201SJason Zhu 
260cc16201SJason Zhu /*
27*1e33e3cbSJason Zhu  * spl_ab_append_part_slot
280cc16201SJason Zhu  *
290cc16201SJason Zhu  * @dev_desc: block description
30*1e33e3cbSJason Zhu  * @part_name: partition name
31*1e33e3cbSJason Zhu  * @new_name: append the slot suffix
32*1e33e3cbSJason Zhu  *
33*1e33e3cbSJason Zhu  * return: 0 success, others fail.
340cc16201SJason Zhu  */
35*1e33e3cbSJason Zhu int spl_ab_append_part_slot(struct blk_desc *dev_desc,
36*1e33e3cbSJason Zhu 			    const char *part_name,
37*1e33e3cbSJason Zhu 			    char *new_name);
380cc16201SJason Zhu 
390cc16201SJason Zhu  #endif
40