From patchwork Wed Mar 22 11:26:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bough Chen X-Patchwork-Id: 1759780 X-Patchwork-Delegate: patrick.delaunay73@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=EQh5rlzW; 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PhR2L5fG4z247J for ; Wed, 22 Mar 2023 22:24:24 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 82BFE85D19; Wed, 22 Mar 2023 12:24:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.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=nxp.com header.i=@nxp.com header.b="EQh5rlzW"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D2E0585D45; Wed, 22 Mar 2023 12:24:13 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,SPF_HELO_PASS, T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20630.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::630]) (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 E50F685D19 for ; Wed, 22 Mar 2023 12:24:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=haibo.chen@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Iah85Yav7gp3nlbvQmdHg4HPTQn0ZYvk5IJMUR5w34WUUFUI5RRLrXcXsIDIBxcrcok6UuJoYqPOn44La8LpGmUmcZzaGexvy2M04MIoEG8rj7DUgIIxjAWobMtIp+hFwcZeVtn9zXGyYCou1Dfm7RclTmjz9mA0E2H2mXnyPd4dW9VPSweIabbEcT5tJ/taPTmEX30tLuK5ENY6EyomObAALa+17IP+yGYPz2mXd+0jdi+BGeaQ2+xif6eryuwphCFNqQccFIwSw4LETTiw9PYoP+ZO9o5B7beOkp/JRpEIzcPzYde7HYZ5ideXOOSYj8j85LWMe2L8T6PfeozhHw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5lAUzyce1N9yxydGGNOxCFDx3hWAj2r3QjiV/WR34ug=; b=KhXMZlIF657kHFnBpNQm+vaXR1RZsb92QQetd/rjOGHkOP1Rjkp9E35ex/Uz5FDDM1fwFjrxrRvMXqvx1Jvk2cBWYWfWI1YLZN6PgP9lMa8HJlmcKRSs75znVLbAus/m7mlAwbPqYXGdgtcwqzTRyshXbHOtllbeAx6XTkd/39SPPLGjQYj64er2tcIqTkSp7a+CwyYHOngBY2dxLncJbOJnHw5uegEQ/oM8peb52/f++IgEu/yrI6INYDqz5rvJTg+TQfclC7VUWRagCP1GMJkRtjo9Yw/S0R+UP6GdoGL/ToReenlVAtC33h0yt+W8qjs0XQ6zpFmw8PzR3Ix/QQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5lAUzyce1N9yxydGGNOxCFDx3hWAj2r3QjiV/WR34ug=; b=EQh5rlzWJDAPOR6mo4km1XHD9+YpheUb30PguMICr0YoJ9Oom5o8uBifWpIpC5lPvPeL9vLObj0QMVxweumZlQzn1fyfVN/HwP3ujOWtGbtOpQZzZiXR/9eA7EzHVt08SWx6QhY9q7mG2qblhxM1oneWH8GYtsssLXJ4Ay3hdmc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB7PR04MB4010.eurprd04.prod.outlook.com (2603:10a6:5:21::30) by PAXPR04MB8458.eurprd04.prod.outlook.com (2603:10a6:102:1d9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 11:24:09 +0000 Received: from DB7PR04MB4010.eurprd04.prod.outlook.com ([fe80::df09:aca5:4487:9fcb]) by DB7PR04MB4010.eurprd04.prod.outlook.com ([fe80::df09:aca5:4487:9fcb%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023 11:24:09 +0000 From: haibo.chen@nxp.com To: al.kochet@gmail.com, hs@denx.de, patrick.delaunay@foss.st.com, sjg@chromium.org, andrew@aj.id.au, patrice.chotard@foss.st.com, samuel@sholland.org, marex@denx.de Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, haibo.chen@nxp.com Subject: [PATCH] gpio: add GPIOD_ACTIVE_LOW into GPIOD_MASK_DIR Date: Wed, 22 Mar 2023 19:26:04 +0800 Message-Id: <20230322112604.33232-1-haibo.chen@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: SI2P153CA0030.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::15) To DB7PR04MB4010.eurprd04.prod.outlook.com (2603:10a6:5:21::30) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR04MB4010:EE_|PAXPR04MB8458:EE_ X-MS-Office365-Filtering-Correlation-Id: de80d002-3d7a-4957-a070-08db2ac7f450 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oF7Ja9CHCh6Jd8hGVcckqbXnNloymWOJVwkJrH/7hlgHAGCftMjqjzpyz9lfcz86BUvfI9K9UqtrRgEL9Tf5PlSGqfkkCycB60YNbgIcv6b2zXO3uqEje/5K7dbz1xBNgBWf5HTfvRtUwi0duaVeNeo0mKyPnkeG4LTCdZ9UmpBKCAtIJezcjdE6k4u1N+WtJgVH27u/W7JM6cg/0GXKpNsm6iZfECCg9krMEempUDFU1krkRUqBJgQDz4pMa2w4IZA+ZZLbgpqM+lXvp2iV/POqUsk30oq6++/zg6LoXTUlS9GvoSCVjtyufx9shy/zo7xp2qw53OgkOmPBYWdgD7OzeiQsVBT3WK7tP4EMf1wtVOy2A7WwM83OltOvzPfm5CgreyMi3GmSgOD/p/BgU9ctjLBlKIhqzAo/PEuB4yZpLbCOsy98Ws+NtLVXDmsEbmZLUS7pxhFGJ5osHugTGI/DRA69ZyB6BOVZbTOcM/LRHkUGe1n7hfmkFjtz/Ym6DjEnfHgelLuBuB2VVSMIFPMrIvxBMrAUS07KMVuOCc9rOgkZO/B56cYYsZBhYAUuCoTNZR56wahnW6QRuYZ0sDwOn6V+YRcDvCvFJoA7lBrSN0EUwC+VErqhnP0z2fQP13KkXJlykm9BmSIQ1iDp7xgR7N/OUCGOa3hOzqEBHmZSoCK5ujQQ8MwHnit9rZCaIMaGwef8Lq+auuRhbK62pQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR04MB4010.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(346002)(136003)(396003)(376002)(366004)(39860400002)(451199018)(2616005)(6512007)(52116002)(41300700001)(186003)(6486002)(4326008)(83380400001)(478600001)(6666004)(316002)(8676002)(66946007)(66556008)(66476007)(9686003)(26005)(6506007)(1076003)(8936002)(5660300002)(38100700002)(38350700002)(2906002)(36756003)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: G06DOw+wvaa2eK8ozR4xGzuHT1EptkCbP018Gbv8l8S5f6ZqqSy6zzHWoql06wSvlui+QDrzJJl0Vqzq+dbSAlzulhNtEiIx2zHhfRM/ZnRbLqQHwhPGvVsMzIxCUSK2NPqMbkOzLnmev5k/+SEx4bnZP+Xa/PULtsV2G0b1mV/ZyxXNM4pOplGEIDTo68kihTpOuuMxgniJAStfiQDec3v4Mvdl/DiDBwM4wJTUZwxF9EEyPrR3m2+Uc6QnLuCZwUOVfX8MwlNi6a3BPn0AWNgZ5vFOTTP7sOpdM1ZAZjDorY6XMsIj2Fw6SGxusB3WorW24gasveAyOSi7icTkQm2ViJ/nXPkia2xs9zU3rvGEOxHDrAL/ADJKOltlPVx37gzur6DQJYOQvU4CW/bBJhu4atRoASNTt24bSfPponIOJgX4V7G07UwnWZZLNQubOy470F76amtv9ca56GhosTjOEAfeTeKtxZIo0qtZuZda0Gl8LruKd8YD2Ri5bWsXAnOlxDR2kafYCXh6nAau/+mLwUOH4mMtwvl1vf2soNFS5bgdRD7CpFR0rB1JDZngGT2+1unEmMY+bnLYt3MjsB4y2QvLxf5Qob54CRpTHGhA5ixDXcs10L94zcOvlz2YSXsXs8dp3mSIXpR5QCyJoj930Jkl/LU36U2LZnmeL+Rxh/lGhmwyjXlsbEsg9k63fUM6S86+GI0E3wi59DT/yUJv+o9tlzJURFAj0r8xkrHFN3j49t/oaW8h0DYFmOfmIIn08/KbacrkFYeDnoAUHPfWWFX8HWQ6GHiabmbZ0OuUriMN9RMFY9PP2lIro98KLmru4kL1qtE5zPxKaUTObO9j9xF0rR+Cqkm0wnudWxBfvk8uSHgLIuF6Vvc3BdFCZlyge+ZL2+WyJBw7CpaMx/QZheswyeDwjA8jpzc+hMfk7N6r+BQX2cYc3NhsxWs0gnObtHI/fgGGO6STQ3JMiRDQEnEX8a9s3g/ghH2W3KOehMZU5vIo63UOxo3NQSoN4C6oOgYdZUCcX/QnGOgm5gWxU+xQsL1hpd9wnNF7SgwI2Aa/Bxox1+4FNZOkJ2tr34X+1++1AciyZyVCt3zFfb77xkPGp5GLspCGVCBLg1iA1dbf5dfQqlw96vo3tJgb3SVrt8vdC1zcAdLbn/suPpuQtH61XpM2AimdzpLF+g7FnZQdzAhpkZLY/L8S7n5n5Xlkm3IUgiSHvmhfrJW/KXBBV7QJZrdjERQGYyEJHcOjoyZdckS9DeZ64vnuZ0lFOUarXiwo2x5I/gbwc359zk71RtU00kkrdytqvS4+o4J22Ar0fDye2SNppgQ0h1bzMS3BcAZubDd7gtc8uP92NF9eTiPGN6Z7kF0xC53jiGEuO1Ie6W4Yjj2onyzDZMkrEDHvs6wAsrd3r3tmdv8kV7sY9xzW9sMbECe+J1CFXt6b9C3HVlQ1fVB1mKmsCvurjQL3wZ1XrHwS0oqTKJUAw+8WxNy/EWiUH/vZLcNzHCQcjf+CT8NNOVdNzx/1ElQ/hm9gYS7cKRgqbAQ7O71dUKnPdtrDrsEp2XIizdv2ETHhd92F2xkp/gxyVPqFeRTu X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: de80d002-3d7a-4957-a070-08db2ac7f450 X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB4010.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 11:24:09.1027 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CIaXfoqcVY9SrxSVeHs/+a2t34DG3+t5UGR1RLRmKfBI9+yE8eKdvgM76SiZ6kxCqt141iqRRq5Qx4f36kkbQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8458 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.8 at phobos.denx.de X-Virus-Status: Clean From: Haibo Chen dm_gpio_set_dir_flags() will clear GPIOD_MASK_DIR and set new flags. But there are cases like i2c_deblock_gpio_loop() will do like this: -first conifg GPIO(SDA) output with GPIOD_ACTIVE_LOW dm_gpio_set_dir_flags(pin, GPIOD_IS_OUT | GPIOD_ACTIVE_LOW | GPIOD_IS_OUT_ACTIVE); -then config GPIO input dm_gpio_set_dir_flags(pin, GPIOD_IS_IN); -then get the GPIO input value: dm_gpio_get_value(pin); When config the GPIO input, only set GPIOD_IS_IN, but unfortunately since the previous GPIOD_ACTIVE_LOW is not cleared, still keep in flags, make the value from dm_gpio_get_value() not logic correct. So add GPIOD_ACTIVE_LOW into GPIOD_MASK_DIR to avoid this issue. Signed-off-by: Haibo Chen Reviewed-by: Alexander Kochetkov --- include/asm-generic/gpio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index dd0bdf2315..903b237aac 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h @@ -131,7 +131,7 @@ struct gpio_desc { /* Flags for updating the above */ #define GPIOD_MASK_DIR (GPIOD_IS_OUT | GPIOD_IS_IN | \ - GPIOD_IS_OUT_ACTIVE) + GPIOD_IS_OUT_ACTIVE | GPIOD_ACTIVE_LOW) #define GPIOD_MASK_DSTYPE (GPIOD_OPEN_DRAIN | GPIOD_OPEN_SOURCE) #define GPIOD_MASK_PULL (GPIOD_PULL_UP | GPIOD_PULL_DOWN)