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