xref: /rk3399_rockchip-uboot/drivers/bootcount/bootcount_env.c (revision bfebc8c965e41d62dc6355d09bdd63ca57011b99)
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 
bootcount_store(ulong a)11eda0ba38SHeiko Schocher void bootcount_store(ulong a)
12eda0ba38SHeiko Schocher {
13*bfebc8c9SSimon Glass 	int upgrade_available = env_get_ulong("upgrade_available", 10, 0);
14eda0ba38SHeiko Schocher 
15eda0ba38SHeiko Schocher 	if (upgrade_available) {
16018f5303SSimon Glass 		env_set_ulong("bootcount", a);
1701510091SSimon Glass 		env_save();
18eda0ba38SHeiko Schocher 	}
19eda0ba38SHeiko Schocher }
20eda0ba38SHeiko Schocher 
bootcount_load(void)21eda0ba38SHeiko Schocher ulong bootcount_load(void)
22eda0ba38SHeiko Schocher {
23*bfebc8c9SSimon Glass 	int upgrade_available = env_get_ulong("upgrade_available", 10, 0);
24eda0ba38SHeiko Schocher 	ulong val = 0;
25eda0ba38SHeiko Schocher 
26eda0ba38SHeiko Schocher 	if (upgrade_available)
27*bfebc8c9SSimon Glass 		val = env_get_ulong("bootcount", 10, 0);
28eda0ba38SHeiko Schocher 
29eda0ba38SHeiko Schocher 	return val;
30eda0ba38SHeiko Schocher }
31