From patchwork Thu Mar 28 05:05:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1917125 X-Patchwork-Delegate: festevam@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=IWWL50d/; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4V4qjJ375Tz1yYM for ; Thu, 28 Mar 2024 15:06:28 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id AA7F18808D; Thu, 28 Mar 2024 05:06:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.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=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="IWWL50d/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7664288035; Thu, 28 Mar 2024 05:06:15 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::601]) (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 9E15787BE0 for ; Thu, 28 Mar 2024 05:06:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YfDPZeZIEo86RUfrLtFET/TVGFDX89QUlwn32xOr3adVAqn80bZtwpREzHxLbtlfFGFHlXu0wjED79RJ4N8Sj9rsgleaeRkaF3UhEuNidHBaaSTSOq21XAafutHdAdoBemtBq47PUfScPhFOLY/EFH+by0w1Ld345BPmMxdqit/oGlzSdPLajdA2bs3T7AdYd9br6+8QDwtC8W2YGOwOazxSgte77A9cPPJSM7tlZqC/BXD0q0tJdZ+jRL7ZGYgOMaYI8oAz3Obu9tneGqXLF51aZC+3l3OPVnd6UT8b2pufNe8fNazGPcEjXJ/WOn8ODxgeL3ty5FJ1pvZCRp+z/Q== 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=3i3haQXlV3blF7oFjyEvD87LBI+PouqducUOa9tuVIU=; b=BUfSLHjaeYZ6JH8g5oAHIxbqDtTXxIGohRpp8py7eGhVtyjWVMli4+4iQOgDJz9sQmJna8ZFQ4u3JLVm2mj3AoCoPsf2wEP3JDtquzWRIyOMoVnVpulmSDceRZ1AfbR6pwtFIc8efPrXsqVZDMdcDoItRisem5XPnOYyjTrTW2EELzgT7DClKro6W44ZPsBfw16tmweRRHlauawEqnjsdpRfhzzU/jcrp6kr1DXcPMG7DP8d/hFcguRVJJ3MWec3CfGuRS0DbUyE5Z7MRhpVHEfqYsBH8JCbSfnBjzYMYeadMwocemo+4D94zByPexCrAe+omUTfkG1PBppIBsrIcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3i3haQXlV3blF7oFjyEvD87LBI+PouqducUOa9tuVIU=; b=IWWL50d/vqlzKrrOcn3+7ZazkI1uxXlvHhXRBtY0jnAkmygHhRKgYExeqcYXhMiy+vyISLpIGhCgb7M0R8kuIFQT2570fkMpdhB5Aha8FqUA9xnYfBooqEbAIzXXbrlBgqKc6mK9Gj11svMHRzY/Sz0h9GFe65NT2ciCSJnuXQI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by PA4PR04MB9488.eurprd04.prod.outlook.com (2603:10a6:102:2af::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Thu, 28 Mar 2024 04:06:11 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Thu, 28 Mar 2024 04:06:11 +0000 From: "Peng Fan (OSS)" Date: Thu, 28 Mar 2024 13:05:45 +0800 Subject: [PATCH v4 1/5] gpio: imx_rgpio2p: support one address Message-Id: <20240328-imx93-of-v2-v4-1-338d15a65c36@nxp.com> References: <20240328-imx93-of-v2-v4-0-338d15a65c36@nxp.com> In-Reply-To: <20240328-imx93-of-v2-v4-0-338d15a65c36@nxp.com> To: =?utf-8?q?S=C3=A9bastien_Szymanski?= , Stefano Babic , Fabio Estevam , "NXP i.MX U-Boot Team" , Mathieu Othacehe Cc: u-boot@lists.denx.de, Peng Fan X-Mailer: b4 0.12.3 X-ClientProxiedBy: SI2PR01CA0045.apcprd01.prod.exchangelabs.com (2603:1096:4:193::19) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|PA4PR04MB9488:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f8b83ac-6ab7-4cfb-69cf-08dc4edc6793 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pLbYwjmQgL6Hk6aYacvHJ607CAz8ALKMIkRBlJ/72Zl1eEY8NSCEoGnHjNql2mURJ58zHSahHDv4MvqU1NLjPlzfQsbeuT73UWdYSbLSsWew2FSnUTivFzZIn6dCE8OW0MQMhUEiPU2/QS98o7x+ou05jy7/AtfsH9yFhuGDyu7gwjQnqkfK88IPnusuZ2NxIF5iX7d+hC+yd0SKmnU4Io3u2T+uqg7nsyE1s6qZEfPMB0Qf15JEIbH0gaGVoJLwzyNAA7dVyRY9xcpN5TaLjcRLxABgPErU0TYnmMNLSp3Zr0Y19KFZwWdxIT0OGnIcvb00N9WXFZIxxlA7lYab6bMun56Gsi2v+Zha4HRlT/dGuabsVLtutIVbFcH86lZFz1iTs9pHw+KBi6wKJ0c7O19BO0MNezZcWx60wogbAQnHB13TQxQ8uhvobsvSm3CeqsJyBado0nGt10U9DYHxVs5phPk2i1QDQmgrNCYVCD8GRPeE/tQWhmVOJ/OWy7wHvvVckcO7IiSnXK1uydcd1+nbkXWjzQx4T/SJJb59e3Img/zwv/IXeqwXX5yTNHXFe8SyTv2Cdfx5o1djrisGfh/aoHAaEuCYsjQXWGHQ1e8X0fJyVtO4JGq1beJvz1T6ARQ8i0DmAwAq0e1OFU8HCi+B2cF/Gi94XwEc9fU4qquWEQ5iELdyH8cakS4KOFZRoorkiIw/sYK7CDoBfDkWr9dj5G1gkPVpFOHWcBXkLQI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR04MB9417.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(52116005)(376005)(1800799015)(38350700005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?KXjJ/C9FSO2E7X797YjYNmcd0wnb?= =?utf-8?q?piain4Dzpw/Nvxyqxdcpv9fbrhY/5d5RUrBbFhtsVSg7AvBCvZip3lKAa8iTqfGVB?= =?utf-8?q?fNCutKy/wJvViCqbhAJECx62lCxkudggdXBvhW1eUKw/T1hI/T8ufbD48AtgXVRlv?= =?utf-8?q?XMkQYjMWDnek2ZKxV/vGIVtOtaJ04SBR4QqBifd7e6MmpYFtcKseArFBGJEE03jsO?= =?utf-8?q?vFrETtqhHOAb6Req+qx+zxieXfGIaDH3Rtlw4jvHHAMrX6v8cycTX7JZacg7Rx40A?= =?utf-8?q?gR6Dt1CFXo88sPMAPFKawE989XYP2ocP2VsK488yL1TXvgnoIpQVHnLloSPjT1pnE?= =?utf-8?q?2bL8WzZpE9L3Yh3zcjpO4U6esiszOW0INV6hY0UbdEsJLpZ6IggCBgCLqFdIDuOS/?= =?utf-8?q?LU9+P9N+bV58xpird2kAIbmhX06+0C8b8qcC72uLV9bIAHcdRFgxEZV6hUa2+YiTe?= =?utf-8?q?BmhoP4XtwPkCMYcGyt/Jv6nr+flV8x65GdWTw2YXpfIWCM84Za+au6+pOqkW29+8H?= =?utf-8?q?DYbg2dzTwwBG7OBGiKrmj7RuJ5ueC1yNDS7MUs5LdMckcR2Qdj3JHImZMBDPYFoeK?= =?utf-8?q?+p3WBnFLoNKe1NTsVnAuw2PKiil+L4OXvQTB0o192jBr1/3VS1lvEHaBXJV29B3T/?= =?utf-8?q?5drkoIhQ74y5kjCb208ltPunoL84YYicjrFPUow3BIyBA2PSnTgjwyrMUJa4vjmGa?= =?utf-8?q?N8cYwt4AbN9j7L1xI1Bv+Xu17c006BrBIA7zOA0paX6t2N5+X/laH+v+rpkcVAJTc?= =?utf-8?q?ueZVETNDNORYns7WfsYJldruLoWC0xUC752hkd6kvJVkIU4/aWS9v/ixwdmV7hrti?= =?utf-8?q?rJnR+rCcF1q9FfR3LRu0VZmnLNelclGbeFH8s2SCH0X52QKCeSzidf0yxYCThmuZ8?= =?utf-8?q?X8nbW+dRKXYDj1CRDQjdYW1sINVX4/7s9YTCIN/DmKkhEKiUIZqfA33ByAZCH0EkE?= =?utf-8?q?MSTN7jxSi1QCtdQumsgZuVtMXeNDfMjamOcJJJP0gwHrTLUaFgQtvDrK1jVRa/NfB?= =?utf-8?q?oiKnLblabOldxxYgSAo0h60SWevkEWIJbnLMLYylYC+upI0mjSqyAYDjAjD07eJBC?= =?utf-8?q?f796N1zwiEPzEHVrZHd3vR4LcGgN972pwuQcmFEV9lQnhIEtfZsr/B5X8TJJt3bli?= =?utf-8?q?CIeDoTlJb3EMR8AmuDlzbUcY0Ie3ySSwr68lhnOyFwZjgwDFpCJEwuE9R0HBt9mXx?= =?utf-8?q?xpQUNc0gl4Sq8yT+JHEQseFRYfEfnlQ+QJlRPUMhxgqpBfVySDeac6LKmia17Wj8T?= =?utf-8?q?kPRzD9Tm16iMPcnUjdnXIr+xm8N2cMeygJ9ZXWPAm3U1eezPb/RT6+ZVSeREAcxsL?= =?utf-8?q?AjjkJZaSfQznsCaRg/YI90/oGJqMerbhigfv8O736siUCArWwq3vmOmz/U7xwHOp1?= =?utf-8?q?pXFrxyiLT3R+Npym6H+dVWFND1/+ch7RT1upQcqoS02DQv1gPTXhEdBrlRHiBP2I3?= =?utf-8?q?BGP/sD3fwLm9rSviXSjxQ6DKUDbqn5n1iTMPRSVXPV7OF3sxWpHz78XtHmDnECWDi?= =?utf-8?q?YgEJvTHs2vjo?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f8b83ac-6ab7-4cfb-69cf-08dc4edc6793 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2024 04:06:11.8032 (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: jp8tYTmsQbXdUU8FzwFl3ALpRA0Rm6XULrl2uNbGnqjA7Lf7eLeSvwocl7LWJL99UUpHDshAj7kk6G+FN1bulg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9488 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: Peng Fan The i.MX8ULP/93 gpio dt-schema have been updated to only have one address entry, update the driver to support it. Signed-off-by: Peng Fan --- drivers/gpio/imx_rgpio2p.c | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/imx_rgpio2p.c b/drivers/gpio/imx_rgpio2p.c index 175e460aff5..3227a8d5b57 100644 --- a/drivers/gpio/imx_rgpio2p.c +++ b/drivers/gpio/imx_rgpio2p.c @@ -21,6 +21,12 @@ enum imx_rgpio2p_direction { #define GPIO_PER_BANK 32 +struct imx_rgpio2p_soc_data { + bool have_dual_base; +}; + +#define IMX8ULP_GPIO_BASE_OFF 0x40 + struct imx_rgpio2p_data { struct gpio_regs *regs; }; @@ -165,6 +171,9 @@ static int imx_rgpio2p_probe(struct udevice *dev) static int imx_rgpio2p_bind(struct udevice *dev) { struct imx_rgpio2p_plat *plat = dev_get_plat(dev); + struct imx_rgpio2p_soc_data *data = + (struct imx_rgpio2p_soc_data *)dev_get_driver_data(dev); + bool dual_base = data->have_dual_base; fdt_addr_t addr; /* @@ -176,9 +185,26 @@ static int imx_rgpio2p_bind(struct udevice *dev) if (plat) return 0; - addr = devfdt_get_addr_index(dev, 1); - if (addr == FDT_ADDR_T_NONE) - return -EINVAL; + /* + * Handle legacy compatible combinations which used two reg values + * for the i.MX8ULP and i.MX93. + */ + if (device_is_compatible(dev, "fsl,imx7ulp-gpio") && + (device_is_compatible(dev, "fsl,imx93-gpio") || + (device_is_compatible(dev, "fsl,imx8ulp-gpio")))) + dual_base = true; + + if (dual_base) { + addr = devfdt_get_addr_index(dev, 1); + if (addr == FDT_ADDR_T_NONE) + return -EINVAL; + } else { + addr = devfdt_get_addr_index(dev, 0); + if (addr == FDT_ADDR_T_NONE) + return -EINVAL; + + addr += IMX8ULP_GPIO_BASE_OFF; + } /* * TODO: @@ -202,9 +228,17 @@ static int imx_rgpio2p_bind(struct udevice *dev) return 0; } +static struct imx_rgpio2p_soc_data imx7ulp_data = { + .have_dual_base = true, +}; + +static struct imx_rgpio2p_soc_data imx8ulp_data = { + .have_dual_base = false, +}; static const struct udevice_id imx_rgpio2p_ids[] = { - { .compatible = "fsl,imx7ulp-gpio" }, + { .compatible = "fsl,imx7ulp-gpio", .data = (ulong)&imx7ulp_data }, + { .compatible = "fsl,imx8ulp-gpio", .data = (ulong)&imx8ulp_data }, { } };