xref: /rk3399_rockchip-uboot/include/spl_ab.h (revision 0cc16201bcd31e46860fe6f43e044aa6ef8958dd)
1*0cc16201SJason Zhu /* SPDX-License-Identifier:     GPL-2.0+ */
2*0cc16201SJason Zhu /*
3*0cc16201SJason Zhu  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
4*0cc16201SJason Zhu  */
5*0cc16201SJason Zhu 
6*0cc16201SJason Zhu #ifndef _SPL_AB_H_
7*0cc16201SJason Zhu #define _SPL_AB_H_
8*0cc16201SJason Zhu 
9*0cc16201SJason Zhu #include <android_avb/libavb_ab.h>
10*0cc16201SJason Zhu #include <android_avb/avb_ab_flow.h>
11*0cc16201SJason Zhu 
12*0cc16201SJason Zhu #define AB_METADATA_OFFSET 4
13*0cc16201SJason Zhu 
14*0cc16201SJason Zhu /*
15*0cc16201SJason Zhu  * spl_get_current_slot
16*0cc16201SJason Zhu  *
17*0cc16201SJason Zhu  * @dev_desc: block description
18*0cc16201SJason Zhu  * @partition: partition name
19*0cc16201SJason Zhu  * @slot: A/B slot
20*0cc16201SJason Zhu  *
21*0cc16201SJason Zhu  * return: 0 success, others fail.
22*0cc16201SJason Zhu  */
23*0cc16201SJason Zhu int spl_get_current_slot(struct blk_desc *dev_desc, char *partition,
24*0cc16201SJason Zhu 			 char *slot);
25*0cc16201SJason Zhu 
26*0cc16201SJason Zhu /*
27*0cc16201SJason Zhu  * spl_get_partitions_sector
28*0cc16201SJason Zhu  *
29*0cc16201SJason Zhu  * @dev_desc: block description
30*0cc16201SJason Zhu  * @partition: partition name
31*0cc16201SJason Zhu  * @sectors: firmware load address
32*0cc16201SJason Zhu  */
33*0cc16201SJason Zhu int spl_get_partitions_sector(struct blk_desc *dev_desc, char *partition,
34*0cc16201SJason Zhu 			       u32 *sectors);
35*0cc16201SJason Zhu 
36*0cc16201SJason Zhu  #endif
37