From patchwork Tue Apr 20 14:50:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1468367 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=UO51FxsQ; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FPmqn3wFRz9vFD for ; Wed, 21 Apr 2021 00:52:21 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 79BDC82B49; Tue, 20 Apr 2021 16:52:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="UO51FxsQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3E94682B1F; Tue, 20 Apr 2021 16:51:30 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2062e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::62e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6D00F82B17 for ; Tue, 20 Apr 2021 16:51:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IzreKktsTHr7hc+3xpF4tsNk4qvaYymyVswzUmBILEuTxq7vJA243XaSkdiCPUvSZ7ZvkiPKLZnWVFwfmv/IH0v5S6CeGMWsKOimg09fhJFADZM3I21A5IpmMVYZPIW9gnBPp2XOy8E5/qaCh7PAKUbmmTet2xIYKIdyTrRLO/P5ReEH/wqhAgjf7sa3Efp+WDvsSlwpX0zk9XqZ/3jncLLJmQkXpuooR8Qf+W+9pVQcA5LVz9LQWZlkJLN5j0HTfPZG/DFDdwph3rcbYXt4Djdtq4BqMQJVY9K4iEzECCSRtD0glRpAjndymA4HjzkPqEd27E7tq0iNpNZ1uTfGMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G97OaEkcdedGVf0vvPzkf9PRe9s2uOLGTKf2m9ss7HQ=; b=hwRBoVbRZfEx2amBu+L2qGWiBh0buXrhpd6aUUM9jfSQSjjUOSiJuOHkApllytscKx77xh3IayXTu+H2b4Wh3MGViSmOSXgVb6qdW3ySdPKARvSCOVZo+ZNPi72SBteLbN8ePpxG9AjJ3GnkcPSK1VRf/Ewcc9pwTdUS1LZMBGGdxjc/eRIAq9cJpjJI98ASpBUq8pees2+5Ujw5MqHt/Pyanu3YQHKD3B04cthIe3O+wdBpBnWABrvR/q8OLC83FPgaIK7jFWCvNo+ZFMZi+Zv5Dbd0Non6YhwNNyeu+KoLj6Lbp/Sxc9ErHbn447CIcdzdPuGPrNDylOv2VEFv0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G97OaEkcdedGVf0vvPzkf9PRe9s2uOLGTKf2m9ss7HQ=; b=UO51FxsQpegXeCYe5h2WzULj/tjOboAwCJ5cys8jFBlVLviWeQFSlzTkbClDpGM+41H7YjDi7wQ3wTgaTtjLy3+LOP+G9+FGFcKhEGAFiKalrucccpKMvnouQ7CGw7UZ/PZ/F8MovwMdUPgkk2+pSgcNmXgACEvwuSMNbPGY9Zo= Authentication-Results: konsulko.com; dkim=none (message not signed) header.d=none;konsulko.com; dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) by DB9PR03MB7243.eurprd03.prod.outlook.com (2603:10a6:10:220::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.19; Tue, 20 Apr 2021 14:51:22 +0000 Received: from DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::9181:c45f:b367:9bdc]) by DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::9181:c45f:b367:9bdc%5]) with mapi id 15.20.4065.020; Tue, 20 Apr 2021 14:51:22 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: Simon Glass , Sean Anderson , Bin Meng , Claudiu Manoil , Dario Binacchi , Etienne Carriere , Jean-Jacques Hiblot , Mario Six , Philippe Reynes , Wolfgang Wallner Subject: [PATCH v4 5/5] test: Add gpio-sysinfo test Date: Tue, 20 Apr 2021 10:50:58 -0400 Message-Id: <20210420145058.3934010-6-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210420145058.3934010-1-sean.anderson@seco.com> References: <20210420145058.3934010-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL1PR13CA0424.namprd13.prod.outlook.com (2603:10b6:208:2c3::9) To DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by BL1PR13CA0424.namprd13.prod.outlook.com (2603:10b6:208:2c3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.8 via Frontend Transport; Tue, 20 Apr 2021 14:51:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 58a7b713-d813-4909-044f-08d9040bc3bb X-MS-TrafficTypeDiagnostic: DB9PR03MB7243: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:80; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 19TP5z+UMCG8iy2J7NmMvG+1f96yOXO7L20JL8pwTYfUgKC+FloT/sorNSPI8vIG+BwVgtzIGoE21nEklmzBwAmGHU+6/0PpArZkQRCKeD3BIHWUK6YnuP4SGSQyKkKve9zhOV+yfum/3/j6wLoM1IcfYv2gWLSz446o7jhYBHwfTgXpI3UNZUdEK52nTJASGsz+0IQZJ2VhO8tIBUHrJ73qiRge0s6DCFF0kMhjo3dfbYhkYeMMel/E+W/KJiJET8AA1AJi8cD3ivCPpa2ghTH6pm7z+XUxaDlpu9nJTigSF4ylW0XamEsDgZY40F9QX1XaDFWQkHU9Qlb64bHtCxZK1dy3oAsGw8zG6GhxCVQyI2qyQ1OWN7156pba5RUGu/dAldpAJ1UDY2OOhRHWQ1VVvpW8fo3tEFF5Uvi0HBZPauEY/b+B3xDjGRVfEJ6c7RrWCXvmkLVI3xDK6LtsYH09kFAuVPehVkEKGWcb3e5DIzqCg18+WfxEWy6MKcnZwHKDvSTANuRzc8vxkEVhvkUKAGqdvBmafBLakwM0uVpUDESLXHx3UjdGg7FcwcgPta4eTNA8FoBgmAgi1yKAtK864gyS5vjbSYeY59R0rnPCxybk5w04UY9ZUhR03oVrar9JZ0pz0dZZK0428OCiZQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4523.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(16526019)(44832011)(498600001)(7416002)(8936002)(1076003)(2906002)(186003)(6486002)(86362001)(66946007)(38350700002)(66556008)(4326008)(6666004)(38100700002)(8676002)(6512007)(6506007)(66476007)(26005)(956004)(54906003)(83380400001)(5660300002)(2616005)(52116002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: phj9I7L9rp6mg4L7uvkqXkTk4QgbLA3WBYu+R1HcJqdJpN51rCS7560PQqoBq6rv/1GaCFFGndN6j1IRuCXPNZCRiaw+8YL4WHZDar5QwrRqpHaxxMJEhbuqIzpA1zCXqrHic3IrEVQTEVdUZSLJ+UbBh85S/sEypRUfdqVOS5+xHds9p9PbT/LdddeG+wMUWdxuMVDwdBRtDN8DIzUwg75rsfSx6eAci3UbhY75w/a2is+C478raonr2qNHbQGkmdg+eAUMj2dqhvInfnUz5tLIh0Yz8HCluCey/1rWXDNY+nOdOJcwgCycRPWPcF5LL7tfZMAbN/UAuJ3vqz3T2/G1XMw3RXU+X32AO4AXIY1Q9R2oyPrDwJE7fUs5CF2H3++lH9VFs9G2GyAhvyMDOvsfssJUVatZCFr1zv1Zb78ve+E8gw2nNRhaNW9DNb5X43onwyEa1cTfPKip6XTSoeUjUfGHFhECDy0Wk3PvvYmx4K+OsLKoMf7Ehq3b674biVEZk4ZpMGjFpRMiQGIFN96AmlAtEHUKdBE7gCx5ctObm6dkRxLy6yJahZxCBYhQ3iDlMj0czmqXK4df2o/W60DdQPmrlL7q+SQZjGFn6tOfWo9jRfZ1xH4tvvWA2P7ol1eMt2hNyB5tjf7eKuy3Q5swG/aYpr4Imbge/IYJf6Gz9BFYp0OD4CAqMg0nl2LpXNRpPqVWcW4kRkGZnuiynynwRbAGV71xGZxAgoL9PBoKMrY5k3ZaOxkDIsaEfdnOGkMYLTxKaBXZl3qYcVuVfrK9lx+XlOQf1YmaKZV/mny4gF2e+sSzPorZg8e5XbnfEseI++dluduZS/nMMQRPCXh6scYfAvEZIjTGhkDRMl/Ijgl5IQf2os5ASFEisNfjcOet1wtZ0PDV4y8IsqJgGzMrTsFVn6hAev3UDn4jzh0qFBErFq+Sky7F70KyIeAXBlrIYXdAfvwSG+xpuVJd/e23mom+XjfCyPCQBAH9UXlWLVK5WXLvCaNp0Tn586wh13gTF0xRdKvi94s4iFrt6+J8OXBFsnRw3ZQIReIJbE8o/gPJ2J25UvLnk9AVJP/oeKHlKfeb8+SIF6nlVz13WIh3FpQ++FqfPYZl+33p5Dpy4jjMdEwYpthYEMjMdAUrrZzJwMUhjVXqmH55C56mYt6rXKPqGWPjpiKE5bXVPUY4YJp6R1Sajvxh9sJP3laG4O9Z96QKIalbZrVMrrX2ivv1RWmQ9jLJVW8fcbxSlyRi6dJNEgtbCGizA3ZHwuptMTboc3ww9gPjTPSuHjCOgXpngs3MPh7coY5Vuxcie1HN7pJ6ZN4zYNCfZW7U+fg/ X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58a7b713-d813-4909-044f-08d9040bc3bb X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4523.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 14:51:22.5570 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KgkGC/kqlSTSloau8Q0J9Mm1gfflmtH+PFb3doeoDz8cMpeIg+SzjRhGuhhlwkUfqhRJLXAI2C/3N5lzZ7cEBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7243 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean This adds a test for the gpio-sysinfo driver. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Changes in v4: - Enable sysinfo_gpio test for sandbox Changes in v3: - Use SYSINFO_ID_BOARD_MODEL instead of SYSINFO_ID_REVISION Changes in v2: - Reorder includes arch/sandbox/dts/test.dts | 7 +++ configs/sandbox64_defconfig | 1 + configs/sandbox_defconfig | 1 + configs/sandbox_flattree_defconfig | 1 + configs/sandbox_noinst_defconfig | 1 + configs/sandbox_spl_defconfig | 1 + test/dm/Makefile | 1 + test/dm/sysinfo-gpio.c | 69 ++++++++++++++++++++++++++++++ 8 files changed, 82 insertions(+) create mode 100644 test/dm/sysinfo-gpio.c diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index 48240aa26f..78a2fcbc56 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -1526,6 +1526,13 @@ compatible = "sandbox,sysinfo-sandbox"; }; + sysinfo-gpio { + compatible = "gpio-sysinfo"; + gpios = <&gpio_a 15>, <&gpio_a 16>, <&gpio_a 17>; + revisions = <19>, <5>; + names = "rev_a", "foo"; + }; + some_regmapped-bus { #address-cells = <0x1>; #size-cells = <0x1>; diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 8a7e519847..80c5be2067 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -204,6 +204,7 @@ CONFIG_SPMI=y CONFIG_SPMI_SANDBOX=y CONFIG_SYSINFO=y CONFIG_SYSINFO_SANDBOX=y +CONFIG_SYSINFO_GPIO=y CONFIG_SYSRESET=y CONFIG_TIMER=y CONFIG_TIMER_EARLY=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index d3de9c3155..48dfd194e2 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -247,6 +247,7 @@ CONFIG_SPMI=y CONFIG_SPMI_SANDBOX=y CONFIG_SYSINFO=y CONFIG_SYSINFO_SANDBOX=y +CONFIG_SYSINFO_GPIO=y CONFIG_SYSRESET=y CONFIG_TIMER=y CONFIG_TIMER_EARLY=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index 97ac46d21f..853c9440ea 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -178,6 +178,7 @@ CONFIG_SPMI=y CONFIG_SPMI_SANDBOX=y CONFIG_SYSINFO=y CONFIG_SYSINFO_SANDBOX=y +CONFIG_SYSINFO_GPIO=y CONFIG_SYSRESET=y CONFIG_TIMER=y CONFIG_TIMER_EARLY=y diff --git a/configs/sandbox_noinst_defconfig b/configs/sandbox_noinst_defconfig index 01905900cb..e47e351e56 100644 --- a/configs/sandbox_noinst_defconfig +++ b/configs/sandbox_noinst_defconfig @@ -198,6 +198,7 @@ CONFIG_SPMI=y CONFIG_SPMI_SANDBOX=y CONFIG_SYSINFO=y CONFIG_SYSINFO_SANDBOX=y +CONFIG_SYSINFO_GPIO=y CONFIG_SYSRESET=y CONFIG_SPL_SYSRESET=y CONFIG_TIMER=y diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig index 0fac3adba7..d463ee421c 100644 --- a/configs/sandbox_spl_defconfig +++ b/configs/sandbox_spl_defconfig @@ -200,6 +200,7 @@ CONFIG_SPMI=y CONFIG_SPMI_SANDBOX=y CONFIG_SYSINFO=y CONFIG_SYSINFO_SANDBOX=y +CONFIG_SYSINFO_GPIO=y CONFIG_SYSRESET=y CONFIG_SPL_SYSRESET=y CONFIG_TIMER=y diff --git a/test/dm/Makefile b/test/dm/Makefile index 100e7701d2..33a6fa9620 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -101,5 +101,6 @@ ifneq ($(CONFIG_EFI_PARTITION),) obj-$(CONFIG_FASTBOOT_FLASH_MMC) += fastboot.o endif obj-$(CONFIG_QFW) += qfw.o +obj-$(CONFIG_SYSINFO_GPIO) += sysinfo-gpio.o endif endif # !SPL diff --git a/test/dm/sysinfo-gpio.c b/test/dm/sysinfo-gpio.c new file mode 100644 index 0000000000..2e494b3f34 --- /dev/null +++ b/test/dm/sysinfo-gpio.c @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2021 Sean Anderson + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +static int dm_test_sysinfo_gpio(struct unit_test_state *uts) +{ + char buf[64]; + int val; + struct udevice *sysinfo, *gpio; + + ut_assertok(uclass_get_device_by_name(UCLASS_SYSINFO, "sysinfo-gpio", + &sysinfo)); + ut_assertok(uclass_get_device_by_name(UCLASS_GPIO, "base-gpios", &gpio)); + + /* + * Set up pins: pull-up (1), pull-down (0) and floating (2). This should + * result in digits 2 0 1, i.e. 2 * 9 + 1 * 3 = 19 + */ + sandbox_gpio_set_flags(gpio, 15, GPIOD_EXT_PULL_UP); + sandbox_gpio_set_flags(gpio, 16, GPIOD_EXT_PULL_DOWN); + sandbox_gpio_set_flags(gpio, 17, 0); + ut_assertok(sysinfo_detect(sysinfo)); + ut_assertok(sysinfo_get_int(sysinfo, SYSINFO_ID_BOARD_MODEL, &val)); + ut_asserteq(19, val); + ut_assertok(sysinfo_get_str(sysinfo, SYSINFO_ID_BOARD_MODEL, sizeof(buf), + buf)); + ut_asserteq_str("rev_a", buf); + + /* + * Set up pins: floating (2), pull-up (1) and pull-down (0). This should + * result in digits 0 1 2, i.e. 1 * 3 + 2 = 5 + */ + sandbox_gpio_set_flags(gpio, 15, 0); + sandbox_gpio_set_flags(gpio, 16, GPIOD_EXT_PULL_UP); + sandbox_gpio_set_flags(gpio, 17, GPIOD_EXT_PULL_DOWN); + ut_assertok(sysinfo_detect(sysinfo)); + ut_assertok(sysinfo_get_int(sysinfo, SYSINFO_ID_BOARD_MODEL, &val)); + ut_asserteq(5, val); + ut_assertok(sysinfo_get_str(sysinfo, SYSINFO_ID_BOARD_MODEL, sizeof(buf), + buf)); + ut_asserteq_str("foo", buf); + + /* + * Set up pins: floating (2), pull-up (1) and pull-down (0). This should + * result in digits 1 2 0, i.e. 1 * 9 + 2 * 3 = 15 + */ + sandbox_gpio_set_flags(gpio, 15, GPIOD_EXT_PULL_DOWN); + sandbox_gpio_set_flags(gpio, 16, 0); + sandbox_gpio_set_flags(gpio, 17, GPIOD_EXT_PULL_UP); + ut_assertok(sysinfo_detect(sysinfo)); + ut_assertok(sysinfo_get_int(sysinfo, SYSINFO_ID_BOARD_MODEL, &val)); + ut_asserteq(15, val); + ut_assertok(sysinfo_get_str(sysinfo, SYSINFO_ID_BOARD_MODEL, sizeof(buf), + buf)); + ut_asserteq_str("unknown", buf); + + return 0; +} +DM_TEST(dm_test_sysinfo_gpio, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);