xref: /openbmc/u-boot/test/dm/pch.c (revision b45c833c71f1ce26e0db6c30f96dc3228051cd15)
1*b45c833cSSimon Glass // SPDX-License-Identifier: GPL-2.0+
2*b45c833cSSimon Glass /*
3*b45c833cSSimon Glass  * Copyright 2018 Google LLC
4*b45c833cSSimon Glass  */
5*b45c833cSSimon Glass 
6*b45c833cSSimon Glass #include <common.h>
7*b45c833cSSimon Glass #include <dm.h>
8*b45c833cSSimon Glass #include <pch.h>
9*b45c833cSSimon Glass #include <asm/test.h>
10*b45c833cSSimon Glass #include <dm/test.h>
11*b45c833cSSimon Glass #include <test/ut.h>
12*b45c833cSSimon Glass 
13*b45c833cSSimon Glass /* Test that sandbox PCH works correctly */
14*b45c833cSSimon Glass static int dm_test_pch_base(struct unit_test_state *uts)
15*b45c833cSSimon Glass {
16*b45c833cSSimon Glass 	struct udevice *dev;
17*b45c833cSSimon Glass 	u32 gbase, iobase;
18*b45c833cSSimon Glass 	ulong sbase;
19*b45c833cSSimon Glass 
20*b45c833cSSimon Glass 	ut_assertok(uclass_first_device_err(UCLASS_PCH, &dev));
21*b45c833cSSimon Glass 	ut_assertok(pch_get_spi_base(dev, &sbase));
22*b45c833cSSimon Glass 	ut_asserteq(0x10, sbase);
23*b45c833cSSimon Glass 
24*b45c833cSSimon Glass 	ut_asserteq(0, sandbox_get_pch_spi_protect(dev));
25*b45c833cSSimon Glass 	ut_assertok(pch_set_spi_protect(dev, true));
26*b45c833cSSimon Glass 	ut_asserteq(1, sandbox_get_pch_spi_protect(dev));
27*b45c833cSSimon Glass 
28*b45c833cSSimon Glass 	ut_assertok(pch_get_gpio_base(dev, &gbase));
29*b45c833cSSimon Glass 	ut_asserteq(0x20, gbase);
30*b45c833cSSimon Glass 
31*b45c833cSSimon Glass 	ut_assertok(pch_get_io_base(dev, &iobase));
32*b45c833cSSimon Glass 	ut_asserteq(0x30, iobase);
33*b45c833cSSimon Glass 
34*b45c833cSSimon Glass 	return 0;
35*b45c833cSSimon Glass }
36*b45c833cSSimon Glass DM_TEST(dm_test_pch_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
37