xref: /rk3399_rockchip-uboot/drivers/bootcount/bootcount_env.c (revision 018f530323b2cc41be05be5b12375d3648f06554)
1eda0ba38SHeiko Schocher /*
2eda0ba38SHeiko Schocher  * (C) Copyright 2013
3eda0ba38SHeiko Schocher  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
4eda0ba38SHeiko Schocher  *
5eda0ba38SHeiko Schocher  * SPDX-License-Identifier:	GPL-2.0+
6eda0ba38SHeiko Schocher  */
7eda0ba38SHeiko Schocher 
8eda0ba38SHeiko Schocher #include <common.h>
901510091SSimon Glass #include <environment.h>
10eda0ba38SHeiko Schocher 
11eda0ba38SHeiko Schocher void bootcount_store(ulong a)
12eda0ba38SHeiko Schocher {
13eda0ba38SHeiko Schocher 	int upgrade_available = getenv_ulong("upgrade_available", 10, 0);
14eda0ba38SHeiko Schocher 
15eda0ba38SHeiko Schocher 	if (upgrade_available) {
16*018f5303SSimon Glass 		env_set_ulong("bootcount", a);
1701510091SSimon Glass 		env_save();
18eda0ba38SHeiko Schocher 	}
19eda0ba38SHeiko Schocher }
20eda0ba38SHeiko Schocher 
21eda0ba38SHeiko Schocher ulong bootcount_load(void)
22eda0ba38SHeiko Schocher {
23eda0ba38SHeiko Schocher 	int upgrade_available = getenv_ulong("upgrade_available", 10, 0);
24eda0ba38SHeiko Schocher 	ulong val = 0;
25eda0ba38SHeiko Schocher 
26eda0ba38SHeiko Schocher 	if (upgrade_available)
27eda0ba38SHeiko Schocher 		val = getenv_ulong("bootcount", 10, 0);
28eda0ba38SHeiko Schocher 
29eda0ba38SHeiko Schocher 	return val;
30eda0ba38SHeiko Schocher }
31