brintos

brintos / linux-shallow public Read only

0
0
Text · 3.6 KiB · ecb5026 Raw
100 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/* Copyright (C) 2020 IBM Corp. */3 4#include <kunit/test.h>5 6static void aspeed_sdhci_phase_ddr52(struct kunit *test)7{8	int rate = 52000000;9 10	KUNIT_EXPECT_EQ(test, 0,11			aspeed_sdhci_phase_to_tap(NULL, rate, 0));12	KUNIT_EXPECT_EQ(test, 0,13			aspeed_sdhci_phase_to_tap(NULL, rate, 1));14	KUNIT_EXPECT_EQ(test, 1,15			aspeed_sdhci_phase_to_tap(NULL, rate, 2));16	KUNIT_EXPECT_EQ(test, 1,17			aspeed_sdhci_phase_to_tap(NULL, rate, 3));18	KUNIT_EXPECT_EQ(test, 2,19			aspeed_sdhci_phase_to_tap(NULL, rate, 4));20	KUNIT_EXPECT_EQ(test, 3,21			aspeed_sdhci_phase_to_tap(NULL, rate, 5));22	KUNIT_EXPECT_EQ(test, 14,23			aspeed_sdhci_phase_to_tap(NULL, rate, 23));24	KUNIT_EXPECT_EQ(test, 15,25			aspeed_sdhci_phase_to_tap(NULL, rate, 24));26	KUNIT_EXPECT_EQ(test, 15,27			aspeed_sdhci_phase_to_tap(NULL, rate, 25));28 29	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 0,30			aspeed_sdhci_phase_to_tap(NULL, rate, 180));31	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 0,32			aspeed_sdhci_phase_to_tap(NULL, rate, 181));33	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 1,34			aspeed_sdhci_phase_to_tap(NULL, rate, 182));35	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 1,36			aspeed_sdhci_phase_to_tap(NULL, rate, 183));37	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 2,38			aspeed_sdhci_phase_to_tap(NULL, rate, 184));39	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 3,40			aspeed_sdhci_phase_to_tap(NULL, rate, 185));41	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 14,42			aspeed_sdhci_phase_to_tap(NULL, rate, 203));43	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 15,44			aspeed_sdhci_phase_to_tap(NULL, rate, 204));45	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 15,46			aspeed_sdhci_phase_to_tap(NULL, rate, 205));47}48 49static void aspeed_sdhci_phase_hs200(struct kunit *test)50{51	int rate = 200000000;52 53	KUNIT_EXPECT_EQ(test, 0,54			aspeed_sdhci_phase_to_tap(NULL, rate, 0));55	KUNIT_EXPECT_EQ(test, 0,56			aspeed_sdhci_phase_to_tap(NULL, rate, 5));57	KUNIT_EXPECT_EQ(test, 1,58			aspeed_sdhci_phase_to_tap(NULL, rate, 6));59	KUNIT_EXPECT_EQ(test, 1,60			aspeed_sdhci_phase_to_tap(NULL, rate, 7));61	KUNIT_EXPECT_EQ(test, 14,62			aspeed_sdhci_phase_to_tap(NULL, rate, 89));63	KUNIT_EXPECT_EQ(test, 15,64			aspeed_sdhci_phase_to_tap(NULL, rate, 90));65	KUNIT_EXPECT_EQ(test, 15,66			aspeed_sdhci_phase_to_tap(NULL, rate, 91));67	KUNIT_EXPECT_EQ(test, 15,68			aspeed_sdhci_phase_to_tap(NULL, rate, 96));69 70	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK,71			aspeed_sdhci_phase_to_tap(NULL, rate, 180));72	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK,73			aspeed_sdhci_phase_to_tap(NULL, rate, 185));74	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 1,75			aspeed_sdhci_phase_to_tap(NULL, rate, 186));76	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 1,77			aspeed_sdhci_phase_to_tap(NULL, rate, 187));78	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 14,79			aspeed_sdhci_phase_to_tap(NULL, rate, 269));80	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 15,81			aspeed_sdhci_phase_to_tap(NULL, rate, 270));82	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 15,83			aspeed_sdhci_phase_to_tap(NULL, rate, 271));84	KUNIT_EXPECT_EQ(test, ASPEED_SDHCI_TAP_PARAM_INVERT_CLK | 15,85			aspeed_sdhci_phase_to_tap(NULL, rate, 276));86}87 88static struct kunit_case aspeed_sdhci_test_cases[] = {89	KUNIT_CASE(aspeed_sdhci_phase_ddr52),90	KUNIT_CASE(aspeed_sdhci_phase_hs200),91	{}92};93 94static struct kunit_suite aspeed_sdhci_test_suite = {95	.name = "sdhci-of-aspeed",96	.test_cases = aspeed_sdhci_test_cases,97};98 99kunit_test_suite(aspeed_sdhci_test_suite);100