104035fd3SSimon Glass /* 204035fd3SSimon Glass * Copyright (C) 2015 Google, Inc 304035fd3SSimon Glass * 404035fd3SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 504035fd3SSimon Glass */ 604035fd3SSimon Glass 704035fd3SSimon Glass #include <common.h> 804035fd3SSimon Glass #include <dm.h> 904035fd3SSimon Glass #include <syscon.h> 1004035fd3SSimon Glass #include <asm/test.h> 1104035fd3SSimon Glass #include <dm/test.h> 1204035fd3SSimon Glass #include <test/ut.h> 1304035fd3SSimon Glass 1404035fd3SSimon Glass DECLARE_GLOBAL_DATA_PTR; 1504035fd3SSimon Glass 1604035fd3SSimon Glass /* Base test of system controllers */ 1704035fd3SSimon Glass static int dm_test_syscon_base(struct unit_test_state *uts) 1804035fd3SSimon Glass { 1904035fd3SSimon Glass struct udevice *dev; 2004035fd3SSimon Glass 2104035fd3SSimon Glass ut_assertok(uclass_get_device(UCLASS_SYSCON, 0, &dev)); 2204035fd3SSimon Glass ut_asserteq(SYSCON0, dev->driver_data); 2304035fd3SSimon Glass 2404035fd3SSimon Glass ut_assertok(uclass_get_device(UCLASS_SYSCON, 1, &dev)); 2504035fd3SSimon Glass ut_asserteq(SYSCON1, dev->driver_data); 2604035fd3SSimon Glass 2704035fd3SSimon Glass ut_asserteq(-ENODEV, uclass_get_device(UCLASS_SYSCON, 2, &dev)); 2804035fd3SSimon Glass 2904035fd3SSimon Glass return 0; 3004035fd3SSimon Glass } 3104035fd3SSimon Glass DM_TEST(dm_test_syscon_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); 32*ac94b7bcSSimon Glass 33*ac94b7bcSSimon Glass /* Test system controller finding */ 34*ac94b7bcSSimon Glass static int dm_test_syscon_by_driver_data(struct unit_test_state *uts) 35*ac94b7bcSSimon Glass { 36*ac94b7bcSSimon Glass struct udevice *dev; 37*ac94b7bcSSimon Glass 38*ac94b7bcSSimon Glass ut_assertok(syscon_get_by_driver_data(SYSCON0, &dev)); 39*ac94b7bcSSimon Glass ut_asserteq(SYSCON0, dev->driver_data); 40*ac94b7bcSSimon Glass 41*ac94b7bcSSimon Glass ut_assertok(syscon_get_by_driver_data(SYSCON1, &dev)); 42*ac94b7bcSSimon Glass ut_asserteq(SYSCON1, dev->driver_data); 43*ac94b7bcSSimon Glass 44*ac94b7bcSSimon Glass ut_asserteq(-ENODEV, syscon_get_by_driver_data(2, &dev)); 45*ac94b7bcSSimon Glass 46*ac94b7bcSSimon Glass return 0; 47*ac94b7bcSSimon Glass } 48*ac94b7bcSSimon Glass DM_TEST(dm_test_syscon_by_driver_data, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); 49