From patchwork Wed Mar 31 17:50:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1460664 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=2a01:238:438b:c500:173d:9f52:ddab:ee01; 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=h/4TK9u4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (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 4F9YlX4QW1z9sWR for ; Thu, 1 Apr 2021 04:51:20 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F41E382898; Wed, 31 Mar 2021 19:51:04 +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="h/4TK9u4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9063D828CB; Wed, 31 Mar 2021 19:50:58 +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 EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::61b]) (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 3B93880462 for ; Wed, 31 Mar 2021 19:50:55 +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=cWgfBrSPGtPzQ/wCHTR1Jlj8ROC199AO2nKIX3WbynqdM4I3+GpGbC+ORv+/TCp4R4ks/QUq6ifvFpgW9lbjXlyR6Pyt0qOi5zpdjC6S62popBHjU8SpmNJZdAIhr58zQ01zeV+Mp9/X1MFPN9nTApEn4/vjWwV+9dybHPcoW7vZO3fCrDPFJSB/DjkbLU9gsmLRbktNFoub5N4fSEK8iPdqPDPa5icgz/6rBPE77IDDw+pdtNVaorsuHrfXsjE/aLQSE0ypUiejjfIDLL2H5NZJ9VUPviF93ldntGRDUgjFvVUfPkj60wX6QVpkHSP1ojFCnKZ+iduOL1SGNpYVwQ== 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=Oi68LEk7YjcwEk2YPPjyoH28tV1+sMVTqag4RE3ISxc=; b=RqLbwCS0pAdQNg0rOvlyKDygJiN+pNs8XF9XZNnYT0LHWnZyRPAlJBLWcqkP4WXY9/9O1gWS85inGJheJTpb9/0LhK4UDzSDycYIzx1U12X96hCpazcS5zi45re7KK5txWeC40sVt0UAUhQKl78E9KmyAxkFSR7tUvnp3cfiAF8LJOa0stOFSmXCiCpAqfv/jr54mdeuWEN5oKj3WpivXeOmup5HDelPI98AxkaTOv4CvVbaVG46xB60xyYfBPthEYlx2gGrUdB3btu6xswaHPAsjEXNbak4ObqFklQZG1HXK6boxERK4+VfYm2lOveWU0ovBNrLo3OfLJx9KPNCIg== 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=Oi68LEk7YjcwEk2YPPjyoH28tV1+sMVTqag4RE3ISxc=; b=h/4TK9u4yARXvxf9acdAgNdgriNHKHKMD6N0CnENT0ZghVDy3Jup4BOtxm1vOq+r1ckRdBS57ugk8DB0ymKkU+rx1debaneElQBmECQvjxuSRAw1vqLFs3e6YX6TfGPur8MMlGzjv2COs+9Dmh5gNnwmbOCD+5UBERND/mVN7j8= Authentication-Results: chromium.org; dkim=none (message not signed) header.d=none;chromium.org; dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) by DB6PR0302MB2629.eurprd03.prod.outlook.com (2603:10a6:4:aa::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.31; Wed, 31 Mar 2021 17:50:52 +0000 Received: from DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::a102:77c6:a933:8922]) by DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::a102:77c6:a933:8922%7]) with mapi id 15.20.3999.027; Wed, 31 Mar 2021 17:50:52 +0000 From: Sean Anderson To: Simon Glass , u-boot@lists.denx.de Cc: Sean Anderson , Alexandru Gagniuc , Bin Meng , Dario Binacchi , Etienne Carriere , Heiko Schocher , Heinrich Schuchardt , Jean-Jacques Hiblot , Marek Vasut , Michal Simek , Patrick Delaunay , Philippe Reynes , Pratyush Yadav , Samuel Holland , Wolfgang Wallner Subject: [PATCH v3 0/5] sysinfo: Add gpio sysinfo driver Date: Wed, 31 Mar 2021 13:50:35 -0400 Message-Id: <20210331175041.2122432-1-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: MN2PR18CA0014.namprd18.prod.outlook.com (2603:10b6:208:23c::19) 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 MN2PR18CA0014.namprd18.prod.outlook.com (2603:10b6:208:23c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.26 via Frontend Transport; Wed, 31 Mar 2021 17:50:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bc691f3f-d507-4262-d5b0-08d8f46d86e1 X-MS-TrafficTypeDiagnostic: DB6PR0302MB2629: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hHxEoiC+pgRxJJpZkW1uA16tjP0q/2LaNazGwhjuwwMJGmEFnzH5IF8gsZJJ/OZEtfQrnOa7sHmhLIxwIoNGqRf6wNAecE9mBYhUlLjITJ2CudZv/e+87VpzYpIStFq8FVmlDlIz/5lopRufwrWgJgPb8RI7eOiiFehu7B4rk+mk3s0CC0GTmUE1aCZDBrTQCVZcX7ca5ZeYVwTGEINHMtOiWrg1a+9SHjBuyQ/w7fXLqxOLx0b0d0AwTBXrJP40t2knSUGmX1CNgCO9lQkAlvgyzyBLwy961siL7seVZGGKdfCR4lIJJdr92nTrwx5hNkIVs6f4+FwI8PfKyyH5TD0pFo0OkOF8pzQynqbrIRxr8zvJYE00cI2akiFhAwXGtUgWERGpsu2+tOL0kpFTVKvyxIk73+Kw8len9j0yP+w/o4GXl77hLQW9mb5vtf9ck+JYqhyipEUEYsBy9ANpEIEHn3p8QGxnP/ZqYlvXAF7Pyd28xaPwn8eYvdbRqydDXif71PdeoL3MadhToslfJ+Je1fZhUQtVGPUFo70NWIvPhnP/fwqK4LdutSbgN4C8ngKtIc5pz+deUVA7eqeLjRBQFZdR9hStPQWjZOYmWleTuPEF1QQ/xwA05nR2S9F5JZAXfA5I6AGnvBGHLslq54agK2PgqBAIIDHnFGvTYdGiUeO0nL4zwkAQodcI+7ZgnMfgOSZ/OfhyXnnSjcjpVy0HGQD74RZWdYJo0XFRaaw= 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:(346002)(376002)(396003)(136003)(366004)(39830400003)(2616005)(6512007)(83380400001)(4326008)(38100700001)(16526019)(956004)(1076003)(5660300002)(6666004)(86362001)(6486002)(44832011)(316002)(8676002)(26005)(478600001)(66946007)(36756003)(52116002)(2906002)(54906003)(66476007)(7416002)(6506007)(966005)(8936002)(66556008)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: b8rzStVf9l9o+Ji6HAM315d45oubTzrxToTIN5hUoRcz1GJdwLeAlwtpzKGP9vhGHuJjdKvRQnvQKI2GNpp+ziEySm02srlbDsYCribZ9xSKmeiej/I8jnVkw30mGhw7aATxl6JftbEFEOLV424OfFINknDPabKVHUiUoSubhwSXxvHuxdMBeQADtox4SzwsywMUR1HhduAlc5buDCzZ78PjdpvibjYVGCLGVKq7UobOV4X9ZzeqmeB0caBelKe9sCP2lXi46nlZfkHObYVPfKHvMTxhMEOz0SL6usa7n7Eu4V/wPaWrYA8I4x1YU/QENv1IxYuBxz6xvLZTf8zihfTujYUdfjUZo+nbZUmAKNeLIr00Iy8myxO3Pmpp4tfLqTnFJgrVqGZ+bpe4SXLt37ODgnRhvcb4pADZM/TGxNLtLCPjimqQgEC+re741X3McbokwG3/Xr02KQk9sGmNTGE8pdrnFLAxeN14S5a1MXWtdNkt3Mltfwy9CWMEsdUufwcMWAjqf1AenaeObNu8KkM372OVYJg462gHDleC0GER1gM77WfnnutR4QSV49LGtGG7tO60B7lliYh0zi2BLiHXjhqckqkwV6nZhPC55QLRxmxDe8hpp+herj2e+gd5uVszoTrjc7OdY8JEjdexAeWgCqCqVGugUpijsgJR2dM5aet7uEgjnpwpfnSoxGEM+zWzmvjwlkH3T+HbAyqci9cjsGrE10pioKZ8r2dThtIX2bxhlcmeMFdV786hEcmc4UfxIlyTluLQjXsLU3CDMJHVIZwNrylAIAIMnLTklp/Nv//s436t1H6P2/i1P93qx/bTvl36ncWpKBQWpmktuj8jWCA6AdHWkg1i+qwUMbgVFByP+e966VrdGiwbJ4Z1J9fSCJmFdBBhfFVU/PRvF9/JwZWvQX2Qtf6VjA5DXxevvpElfONtL7o96iwIZ8zUJuKrfTLHs49sMr1DB0MTTxsuhOb6tPDLFd9cpl0iMLtKu5I6OErqS7WVyJGtGZdgx5HtT1HnpUMQwc6vjPpZ9i75+dmQYDEiEEhHsyilavb0lgASInoY9SfPiELB1N2oeWAjnBpStyaUcL327LYV6R9t/pjJ/qIfAs8tQksFAN4gw52p+xN39NXAXTPt64Lr2QHTEacQJj+cgpO0/iBGjafljkeQfBNdBNvzpyO8tBVU6IXAhI9Lrm+Qgh48O2qPlcxooIxPRLrxs56PdYKYGBYmGAX6hrhEjdEzT8rC7aR7/tenvjxvkmhdjo9JPe454O9r/077kRkt4rob86zEBrIgpjENI7Oq4uefcLOtZfGkw28EsT+/1YFohLQTo6bC X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc691f3f-d507-4262-d5b0-08d8f46d86e1 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4523.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2021 17:50:52.5844 (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: 8BY5M1VFTpsdqOOTDaQVOslkFL0hXOIv2NHZg33kRf1Lm4dDD5378VS/S5zGxZe4s4BOHB8IAQoSv7JcF9DhOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0302MB2629 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 series adds a GPIO sysinfo driver using the dm_gpio_get_values_as_int_base3 function. The board revision is mapped based in devicetree properties. This series is based on Simon's GPIO series [1]. [1] https://patchwork.ozlabs.org/project/uboot/list/?series=228126 Changes in v3: - Fix assuming any nonzero return of dev_count_phandle_with_args was an error. - Fix assuming nonzero return from dm_gpio_get_values_as_int_base3 is an error. - Move detected bool into sysinfo_priv struct - Rebase onto u-boot/next - Use SYSINFO_ID_BOARD_MODEL instead of SYSINFO_ID_REVISION Changes in v2: - Document sysinfo_gpio_priv - Enforce sysinfo detect ordering in uclass. Users must still call sysinfo_detect beforehand. - Fix unbalanced brace in sysinfo_gpio_get_int - Modify sysinfo test to check for detect() ordering. - Refactor driver to take advantage of the uclass detect ordering guarantee. - Reorder includes - Set BOARD_HWVERSION to SYSINFO_ID_REVISION, as they represent the same content. - Use enums instead of defines for sysinfo ids Sean Anderson (5): dm: gpio: Fix gpio_get_list_count failing with livetree sysinfo: Use global sysinfo IDs for existing sysinfo drivers sysinfo: Require that sysinfo_detect be called before other methods sysinfo: Add gpio-sysinfo driver test: Add gpio-sysinfo test arch/sandbox/dts/test.dts | 7 + common/spl/spl_fit.c | 4 + .../sysinfo/gpio-sysinfo.txt | 37 +++++ drivers/gpio/gpio-uclass.c | 6 +- drivers/sysinfo/Kconfig | 8 + drivers/sysinfo/Makefile | 1 + drivers/sysinfo/gazerbeam.h | 8 +- drivers/sysinfo/gpio.c | 141 ++++++++++++++++++ drivers/sysinfo/sandbox.h | 2 +- drivers/sysinfo/sysinfo-uclass.c | 29 +++- include/sysinfo.h | 26 ++-- test/dm/Makefile | 1 + test/dm/sysinfo-gpio.c | 69 +++++++++ test/dm/sysinfo.c | 23 +-- 14 files changed, 336 insertions(+), 26 deletions(-) create mode 100644 doc/device-tree-bindings/sysinfo/gpio-sysinfo.txt create mode 100644 drivers/sysinfo/gpio.c create mode 100644 test/dm/sysinfo-gpio.c