test: bootcount: add bootcount-uclass test
Add a test for the bootcount uclass, which uses the RTC bootcount backend (i.e. drivers/bootcount/rtc.c is implictly also tested). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							parent
							
								
									d3689267f9
								
							
						
					
					
						commit
						6f2d59cb7f
					
				|  | @ -315,6 +315,12 @@ | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
|  | 	bootcount@0 { | ||||||
|  | 		compatible = "u-boot,bootcount-rtc"; | ||||||
|  | 		rtc = <&rtc_1>; | ||||||
|  | 		offset = <0x13>; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
| 	adc@0 { | 	adc@0 { | ||||||
| 		compatible = "sandbox,adc"; | 		compatible = "sandbox,adc"; | ||||||
| 		vdd-supply = <&buck2>; | 		vdd-supply = <&buck2>; | ||||||
|  |  | ||||||
|  | @ -57,6 +57,7 @@ CONFIG_CMD_DNS=y | ||||||
| CONFIG_CMD_LINK_LOCAL=y | CONFIG_CMD_LINK_LOCAL=y | ||||||
| CONFIG_CMD_ETHSW=y | CONFIG_CMD_ETHSW=y | ||||||
| CONFIG_CMD_BMP=y | CONFIG_CMD_BMP=y | ||||||
|  | CONFIG_CMD_BOOTCOUNT=y | ||||||
| CONFIG_CMD_TIME=y | CONFIG_CMD_TIME=y | ||||||
| CONFIG_CMD_TIMER=y | CONFIG_CMD_TIMER=y | ||||||
| CONFIG_CMD_SOUND=y | CONFIG_CMD_SOUND=y | ||||||
|  | @ -86,6 +87,9 @@ CONFIG_ADC=y | ||||||
| CONFIG_ADC_SANDBOX=y | CONFIG_ADC_SANDBOX=y | ||||||
| CONFIG_AXI=y | CONFIG_AXI=y | ||||||
| CONFIG_AXI_SANDBOX=y | CONFIG_AXI_SANDBOX=y | ||||||
|  | CONFIG_BOOTCOUNT_LIMIT=y | ||||||
|  | CONFIG_DM_BOOTCOUNT=y | ||||||
|  | CONFIG_DM_BOOTCOUNT_RTC=y | ||||||
| CONFIG_CLK=y | CONFIG_CLK=y | ||||||
| CONFIG_CPU=y | CONFIG_CPU=y | ||||||
| CONFIG_DM_DEMO=y | CONFIG_DM_DEMO=y | ||||||
|  | @ -217,3 +221,4 @@ CONFIG_UNIT_TEST=y | ||||||
| CONFIG_UT_TIME=y | CONFIG_UT_TIME=y | ||||||
| CONFIG_UT_DM=y | CONFIG_UT_DM=y | ||||||
| CONFIG_UT_ENV=y | CONFIG_UT_ENV=y | ||||||
|  | CONFIG_UT_OVERLAY=y | ||||||
|  |  | ||||||
|  | @ -15,6 +15,7 @@ ifneq ($(CONFIG_SANDBOX),) | ||||||
| obj-$(CONFIG_SOUND) += audio.o | obj-$(CONFIG_SOUND) += audio.o | ||||||
| obj-$(CONFIG_BLK) += blk.o | obj-$(CONFIG_BLK) += blk.o | ||||||
| obj-$(CONFIG_BOARD) += board.o | obj-$(CONFIG_BOARD) += board.o | ||||||
|  | obj-$(CONFIG_DM_BOOTCOUNT) += bootcount.o | ||||||
| obj-$(CONFIG_CLK) += clk.o | obj-$(CONFIG_CLK) += clk.o | ||||||
| obj-$(CONFIG_DM_ETH) += eth.o | obj-$(CONFIG_DM_ETH) += eth.o | ||||||
| obj-$(CONFIG_FIRMWARE) += firmware.o | obj-$(CONFIG_FIRMWARE) += firmware.o | ||||||
|  |  | ||||||
|  | @ -0,0 +1,30 @@ | ||||||
|  | // SPDX-License-Identifier: GPL-2.0+
 | ||||||
|  | /*
 | ||||||
|  |  * (C) 2018 Theobroma Systems Design und Consulting GmbH | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include <common.h> | ||||||
|  | #include <dm.h> | ||||||
|  | #include <bootcount.h> | ||||||
|  | #include <asm/test.h> | ||||||
|  | #include <dm/test.h> | ||||||
|  | #include <test/ut.h> | ||||||
|  | 
 | ||||||
|  | static int dm_test_bootcount(struct unit_test_state *uts) | ||||||
|  | { | ||||||
|  | 	struct udevice *dev; | ||||||
|  | 	u32 val; | ||||||
|  | 
 | ||||||
|  | 	ut_assertok(uclass_get_device(UCLASS_BOOTCOUNT, 0, &dev)); | ||||||
|  | 	ut_assertok(dm_bootcount_set(dev, 0)); | ||||||
|  | 	ut_assertok(dm_bootcount_get(dev, &val)); | ||||||
|  | 	ut_assert(val == 0); | ||||||
|  | 	ut_assertok(dm_bootcount_set(dev, 0xab)); | ||||||
|  | 	ut_assertok(dm_bootcount_get(dev, &val)); | ||||||
|  | 	ut_assert(val == 0xab); | ||||||
|  | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | DM_TEST(dm_test_bootcount, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue