From nobody Sat Nov 30 00:00:53 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B001A1BD4F2; Fri, 13 Sep 2024 08:30:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216236; cv=fail; b=JrexxLX+RD6GoFYgrAyOa0+Vv1hxLOie+aW7hRVU9tUhvPhC4YUZ47O6sVZcMU1R8L+pGG79VI2/XUqLGTeibC11vJT6K4wgVUb9Fc8y1jv5oyZ9+6dDkeZrSzDPO5CvjlsnBeVb6kHBS5u1zaXo+uJZSF2Lbv6yERfKwvTu8YU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216236; c=relaxed/simple; bh=JyK3ywi9Ht00B6w82g3FOAv4l8N26tz0n+KvfNjPDcE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=i/HH/e6RvpR7amsmJ2vay7nuoIyRa3/SwxlB/FwYhsT3dlrjE00l4X+tyaxh4t7p9sEnaGVwxZkLsiGSYn5cvbQib/4D8dj1lzZbh3lMoDQRUtKMy2k9vGWQ6wmL7si0ixrotk4jcbzbB1Dt99IX8lSk6aBWNGnkvjY5+QmpnyY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=REffQhBt; arc=fail smtp.client-ip=40.107.21.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="REffQhBt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u57hf/hok5Uzu+ptxvjoTeKAuB4+hRiUlt82HOmC6+SQPfmF/gWzXv9IIkoO1uzR1SeHBW34ET4GpQIOLB1Y6k3UHAs8zCszcI1IWUaKjTILzeVd/vu9tPleaN/3z1RVlpLdTMYdG5XHEyBeKoqyhIouAhbdGz5POkoojcvZM2t5eWrpzCipWoe7/Sdfpv/lWjUFpBUFaV+mItB4HMI7/0d+BFO/YIVl8c6BoyFqcs2oq205bLnM0zsgbItbL1eGvi+NDf+KyTchT2AqER+AZHXUhg3zKHF2ApL7chS5ixMEfqUw3oM8vwr1WmIWjNpFOylQxhIPaRNraBDcPvKcog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2azDZqodn8AAhlAQVoBzAcvBGio6aTaqiLcdDGJ007E=; b=R67aC3I8rRet9H9mVLO4W9F7kKTdt3G7KnAKdDRjJf+GkQptcZkGNhssYyVza39sjcb8bfCT+8om/PWpFmbh0HJqU4yYaaftj+yecoBNkUa1ckzfISyOMsbN/OCARmFKpM/P9C/dA42E0nMKB99bFQ7UgzYVXTgjsis5eMmKZrKioSy0F5ugo0mf8FWFqBlMA60nro0JHIPsEdcMv61Gqg9CkuaTPYugnHjseATjUJBC/qxACepy95EAAtPoKEjHwNeeAiBuYQQtE5vyzMjjLxyzE+C50legQMV7eR+M6H0vWdSV21JqBxaiMiXZg9IMTCh2EYKWOsJXJvMLIV/xkg== 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=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2azDZqodn8AAhlAQVoBzAcvBGio6aTaqiLcdDGJ007E=; b=REffQhBtfuo2iX7Ra6TtHFJECszgacgZoRJ5nKOJMO6ydbNSr4JVi5sjcwWX2JXaYRPh2GzGtj3mYtu1zaTSOrLuIBr1jA0eyMIq+TYtk3sh9KzOTog8WhQIggkP1IPcyHty1h61H/6Lrx6o+KUDMdopEpFMtdRWARFj2nD1UOvKVCjv8gZtY8rt1e7C7Gio3XR5we5ywdqn/9bXWwhGYdwE45XJKWoDZjUwEswpr9EkccX0Q36BB9iZglpw9JrvWZFRKR4ASRum+1GmHneU3JEnBm+XOPoL3BxMO3aqpzKZYuu++a7qdhkNa5OAMT9ew57QJbIuyB6VeQkRwTHAVw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) by AS8PR04MB8403.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep 2024 08:30:27 +0000 Received: from AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455]) by AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455%5]) with mapi id 15.20.7962.018; Fri, 13 Sep 2024 08:30:27 +0000 From: Andrei Stefanescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Andrei Stefanescu , Krzysztof Kozlowski Subject: [PATCH v2 1/4] drivers: provide devm_platform_get_and_ioremap_resource_byname() Date: Fri, 13 Sep 2024 11:29:32 +0300 Message-ID: <20240913082937.444367-2-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> References: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0134.eurprd02.prod.outlook.com (2603:10a6:20b:28c::31) To AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8487:EE_|AS8PR04MB8403:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d70aecf-562f-4401-c174-08dcd3ce51e3 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|7416014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Q3RmbDljOVNuMU82NExKRklvRVRWdFZDaGNiN0g4MDRidHI2dHpzWjc0ejd6?= =?utf-8?B?SnU3S1k0NFB1dlFtZzB1UG5yOFliOU5JbTZ6ZmxzUEFBd2cxaS9Idm0wUHds?= =?utf-8?B?MXVqOXdGYVdHNGlFTWVxd0RIb2Q1Nk9UTFBFUndoWW80SkpWNVhMbDh0R1Fz?= =?utf-8?B?MllDejlIYXg2eHlGb3BxYkFOd1BwWjJNWVpNb2hjSVljb1dnYnJ4L25xa0s5?= =?utf-8?B?a3RwTUV1aUZKL3NzLzMwZ25rVXV2MC9teW9XcXBkM3JnUU4vK1I4dXRWQ3l1?= =?utf-8?B?RmZFWVZ4UktBbGVxM040S1VKdUNvZkVUNW5EZTdBUTU3YmJFdVdLWmZvZkpW?= =?utf-8?B?TWw5Y3JxQVVqYTQ2NmFENm93c3h3dGQ4dXFybkNXcXRZa0kvbXYxbnM5S1lo?= =?utf-8?B?SWRkMDYvemRZR3ZGTmg2dFVnekZnYTM2STY2V24ybFdPRnZ3bEhVYjhJWXU5?= =?utf-8?B?bXBsaEFlOTh2dFdWMTFKeWZGMUNVSFJ4Wmp3Y24wck9tZVMwYkt3UW9zWU9Q?= =?utf-8?B?SThlUUYyQ3dFNDRTRThkQ1BPTjdUeVIxcm1sUnE4TjgrdENMeHNucDlFNGJW?= =?utf-8?B?NWNiUVlMYUpYMzhXOWFJMzhDTWFYa09MZUFYMWtEYWhYOHVWcHBJUW5HdzNW?= =?utf-8?B?UTExWVFRT1hiUzVwY0RiQjdBOVFRaFFlS0pOMTE5UjFHenpHTy9rWUllOEFs?= =?utf-8?B?eXpJa0Zlc3lka1p0bVVOajU5blByL2NUKzdNQkU5c1dXWkhKM2xwSTlQWms5?= =?utf-8?B?bUpWYng3TExUeVF1T1c4Q3BTTVVTd2g3ZVlwRWdscEZQcWRqYm9ZTU5CVlg4?= =?utf-8?B?Q3dBZGRUdndRTVVRTUI0Q2t1MUkwOWFGR0VCeGUwUC83eEp1clpFS3d6Qm0z?= =?utf-8?B?VS9pZjVqbGpKa011NHNXaUxOcjc2Yk4zY0FJblc4UW5wa1pYRHZBUDlWTldo?= =?utf-8?B?OUNMQjBUaE1YUjdJRmFaQmNsWXh0MFd6aE9TM3Y4WVAyUlo2QWN2RldUakJ1?= =?utf-8?B?Y0plNUdyUGpBS0xJaGd5NjVmbFJsSm1aa3VsM0JucG1ZZ29TbE5YbWg3Nkc2?= =?utf-8?B?SmlSS3N3c29kaGFzbDVKL1hrbVVuME5MeWpVT21RWnA0d3VFTTRFRVZVY1hp?= =?utf-8?B?dnlkWUg1aDYwK25hMkJ4K1dXM1RCbWFwNkJtbGtKdlUvNVlrNzZuYWNxeHV3?= =?utf-8?B?dmlqczBuNnlVcmVLMTA4Q1NmVW1xUmc5R3hvS3hUZFp6US9mMGhUenlhM2tE?= =?utf-8?B?WXJqdUJJblhQMEdUdUJpVDBMVzF2S1FBenJzYmRKckk3cFA3RXBQTTFKQm5L?= =?utf-8?B?Y09CREZnN2pJWEJJMm9zZ0pSVSs5MHQ4eGNtc0szaFd1M0x6YmU4c2I4V01a?= =?utf-8?B?cEU2S09mdnFYR0pjeW5CLzVNSGJ5WG5JN3Ntb2hpbitMcmdJMGw4YmlxMlJZ?= =?utf-8?B?d2JaWVlTYkhGL044ZEhxSEdPTWFWcnNuQXYzZHFOUmdJdm5qczQzTm15bmJN?= =?utf-8?B?eU9ZODBkWVNHamxVa0lhMUxFakFRUEhxS0xnS1hjZ052cHZ5L2RFelF6dXFB?= =?utf-8?B?akRQS3EzRjNXZk9wWDlKd2hnVmRSNSswTUxQaHB5VTczNVZPUnJtWEs4QXFN?= =?utf-8?B?K09ibGNKRS9yV1o1a3cxR1NVVll0ZFdyS1AzN2daNk1iMjlKMUQ3QXdaSG1u?= =?utf-8?B?ekNoQ2pSQmdlM0dSUytvbUl2NXNIK2FPWGRuWnJjTUpoK2FVckQybC9ISGNu?= =?utf-8?B?NTYzUiswY05ZalhJcjZNTEVTemFmRHB4dXJDbEYwQnd4VTRNMlZWczh5ZGlq?= =?utf-8?B?MlN3dDh1K1lKY29wV2tRcVRDNnVkdSs3Qm5CWXNaaE5RWHE4ZmJSakVIbnZQ?= =?utf-8?B?V1dlOVVWN3RZZW5ZdzlRZENhbjRJRGl1UTBFdHY1VkdxNHc9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(7416014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZGlqazdNK0kyTVdtc1NobVB5OTR2YzhaU2ZoaDhhMEY5TmNoSnh4Q3BKWml3?= =?utf-8?B?SU9HWUFPMlBOMGVQMjc2anpiVHhMOFp3TVNWSmRuOE43eVpnMEFVVmhhV0hD?= =?utf-8?B?SXp3SldJRnpZZTFRUzFmTGZCMFJ0UUtISXdtNnJScERhMFRmM21TeHNndjRn?= =?utf-8?B?NGw5NmZWbnR5OFAxdzdiNDd1YjlnOUFQZmsrVlpBZzByYW84cU9TZHdjOUlG?= =?utf-8?B?dFBDVVFTY2QrY3RyUGJ6aUZzMlg5M1BzMDNXZkhUMU8rWXRmUlFPeld6Z2Vp?= =?utf-8?B?MEppem9CdFBWcGhGMkZ4WldnYU9VTGdUMlpZUElQdFdyREZ2NmVjMzRwV21L?= =?utf-8?B?Z1RXdWFpdkRmdzZIcGNmT1hwczIxakxXK1R1QW5zc1Z2bDB1VnlMMU5OTEhP?= =?utf-8?B?Q2g5b2pNNkZXVE5veUNPNFV0bnY3a1U3eG0veFcrK0dvNU1WeDVhazM0U081?= =?utf-8?B?Zm9sREVaamdJTXpSZFNLOHY4NXAwdGlRS3kzRGlROFI1Vm9tS0ErSXhZcW9Z?= =?utf-8?B?TGIvUDh6M3JBT3NsVGpqTWk1V016alBqbjlNcVJxZ2VVQ1ZqaGtCcERMV0FY?= =?utf-8?B?OXVFaUpuOHVFZ3JQVkx2WE9ySWsrSkkxWGF0MVY4SStkUGJFaWEvNVJhb29R?= =?utf-8?B?V09hbUNMSjJNaFRiSTRPWlF6TzExY0EvdDNpNDA1aEk1RE4rL2hvY1pJdlRS?= =?utf-8?B?SnVXVWNLa3dUWXZLZERFUHpOMHIzS214YStQSEdMdFZKenhBbzRUdGY5Uk1L?= =?utf-8?B?WjlzM1EvZUl3Z1FFd0x6eG42YVJDamxtQ1NsK2duSVkxRVZaSWY0dnhpRFc5?= =?utf-8?B?ek1JUHFXclFMT0gwcHk4YS9SdmhPV05QUS9mQnRGYUZic1BBS3VnK3FPMWNL?= =?utf-8?B?Z2I3a0prSUhKYjJVd3ZaTTRRN0g0MmhaNnpqSnhtRUFLMG9HOUxIV0ZXdWJQ?= =?utf-8?B?NFBrb1NrY0dOSGFXWW4yZ2pJMzFHUDczNnZ2SlJYZkNMaW5CUkIvTC9vUWpE?= =?utf-8?B?SXNwempDd3VsVFZmQjhaWjNZTlVkcEgvdFBzN3dtMW1KSEo1dkVzanVaMHFn?= =?utf-8?B?TitvNzMxU2ZVSms2ZlVSdld0V0ZHbnpXUEY0SWNzM0xjTHo0eWcyUXhGajUv?= =?utf-8?B?dERENWlJQW80R05KQlltM3FIeXZBTDJlME8rR2ZhMGNsTkY1aFVlRmkyTTEw?= =?utf-8?B?Um50R1Q1MXBZZCs3dTZDREJDa2tMajRYcGhOdTA1WmF5ZzA2R0VtUGhQRzhi?= =?utf-8?B?RklUNUY3NXlZU21PNE1jTlN4T0NYbElNMTJnRzgzQURQa2FtVmYrdDRiWU5U?= =?utf-8?B?OWxHbjF1T0hackV5ZFdOeWN4bTZCN1pZYmdsdzhFM3c4QU41cDlhN01IY0xE?= =?utf-8?B?aXNwTFEwSFdQdEs4RVZ2RUljNlBKRStXTUJ4ZkgvTVFCUXJDZ0Evd25FV0dl?= =?utf-8?B?bG1aaHVtMUFBbVYzcnQ1Z015elR1SWh6b1hIYUtVZFJXcXE0UDZxc0JXcWdz?= =?utf-8?B?Zk11cVVURWRLVmdFUTdGS2VzOU9ienV1UWRFTUpHSHBDRW9Mc0t3bFJEdjY2?= =?utf-8?B?WHZjelgwSVNmcFZKTEx4TGFQeXVJZGJqTFdkSGdlbXZaVVlRTlRPQ0ZXUitt?= =?utf-8?B?RzlLcmNjUElJUUhRa2ZnUzYyNmpHRTZwTHQ3WlZyTGFCMjdOM2xhYVd0K3ht?= =?utf-8?B?alhsL1RVbi9CcTYzMHBHUHg1amIrNUlickViZ3NWcVhHanpKNEZwMkIwWjF6?= =?utf-8?B?TkwxWlU5Wm5xZFd6M3NDMGtyem15aHhxaVptR2pXM3FhWHJ2ZUFiWm1iYmVz?= =?utf-8?B?eXZPV3VFQnVtTno3SjRvbnJvV29JRWtRMDRCcnFKNUNpOVFKUStSYURLRlJn?= =?utf-8?B?RXNCWHdnTklwSzZxV1JHU3NWYkRwRHJhRHQwQWY3cDIrcm1ZOGRPWlVwcGs1?= =?utf-8?B?RTVsL0lBUFZaV3RqWkw3SEtaenNPaU1JZzVJSGw1aWtkb3UwNGJpWW9zUzVn?= =?utf-8?B?NGFQcExlQnBaYUM2Zkc1RzhnSkxXb1dsRE90K2tZY25QVjhSNW0wbnl5Tm1J?= =?utf-8?B?aDMwcGtBUDRsS09tOGVtaHk2NXUrUC8rZkVVY25DV1YzZWRSMHRaZ0JOWFNV?= =?utf-8?B?VFpDODRuOXFGLy8wcERBeHQvTjFuZFhjelBNL1ZSREpwd3BFYjB1Z1g5WVpL?= =?utf-8?B?ZVE9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d70aecf-562f-4401-c174-08dcd3ce51e3 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 08:30:27.2310 (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: 3jJrLIKY/8Q2qBU3t8bfbIvUnwCW9dffIpkBGoCowRPVYoxTn0MDqNJaZLeEZbs3p2EE2K9OLCRaYP9kHYAhZ2RrrddZKn+tiU/RIkDOfOI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8403 Content-Type: text/plain; charset="utf-8" Similar to commit 890cc39a879906b63912482dfc41944579df2dc6 ("drivers: provide devm_platform_get_and_ioremap_resource()") add a wrapper for "platform_get_resource_byname" and "devm_ioremap_resource". This new wrapper also returns the resource, if any, via a pointer. Suggested-by: Krzysztof Kozlowski Signed-off-by: Andrei Stefanescu Reviewed-by: Matthias Brugger --- drivers/base/platform.c | 28 ++++++++++++++++++++++++++++ include/linux/platform_device.h | 13 +++++++++++++ 2 files changed, 41 insertions(+) diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 4c3ee6521ba5..ab48c02fcb2c 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -108,6 +108,34 @@ devm_platform_get_and_ioremap_resource(struct platform= _device *pdev, } EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource); =20 +/** + * devm_platform_get_and_ioremap_resource_byname - call devm_ioremap_resou= rce() + * for a platform device and get + * a resource by its name instead + * of the index + * + * @pdev: platform device to use both for memory resource lookup as well as + * resource management + * @name: resource name + * @res: optional output parameter to store a pointer to the obtained reso= urce. + * + * Return: a pointer to the remapped memory or an ERR_PTR() encoded error = code + * on failure. + */ +void __iomem * +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, + const char *name, + struct resource **res) +{ + struct resource *r; + + r =3D platform_get_resource_byname(pdev, IORESOURCE_MEM, name); + if (res) + *res =3D r; + return devm_ioremap_resource(&pdev->dev, r); +} +EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource_byname); + /** * devm_platform_ioremap_resource - call devm_ioremap_resource() for a pla= tform * device diff --git a/include/linux/platform_device.h b/include/linux/platform_devic= e.h index d422db6eec63..ab7f33f3c426 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h @@ -68,6 +68,12 @@ platform_find_device_by_driver(struct device *start, extern void __iomem * devm_platform_get_and_ioremap_resource(struct platform_device *pdev, unsigned int index, struct resource **res); + +extern void __iomem * +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, + const char *name, + struct resource **res); + extern void __iomem * devm_platform_ioremap_resource(struct platform_device *pdev, unsigned int index); @@ -83,6 +89,13 @@ devm_platform_get_and_ioremap_resource(struct platform_d= evice *pdev, return ERR_PTR(-EINVAL); } =20 +static inline void __iomem * +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, + const char *name, + struct resource **res) +{ + return ERR_PTR(-EINVAL); +} =20 static inline void __iomem * devm_platform_ioremap_resource(struct platform_device *pdev, --=20 2.45.2 From nobody Sat Nov 30 00:00:53 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 462BF1D6DC1; Fri, 13 Sep 2024 08:30:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216238; cv=fail; b=qdxyDLlA+LSJFxL7atBvr5p7YRI9tgMC+qdBWNtj8Pn/Kt29fU1rsUc55bKONTW8KtUEICwwB2vqwkfk+3auVvicsQqBqC+Yg0CMXg2HSz6honzgV07QstN2Nr+RD2sblsHHJlbduDWotx27GsJ4sZrS8PL2fSuiuelslhryTH0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216238; c=relaxed/simple; bh=kSZbA7uMWBEeDulkjRznLbdriWTNsdm+9K6cjyHo6/o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=AtCC9KGAQmc9YRYdg1WMVvK+6BMj6JRRTaMtfJ6SlG1i41FOpt/KKWUSf3Z4WFyju1huWZ4Yy/5XZK7/zEuXgCWRwhHUxe+Atfxw7llySdqx/qRMONb1k6PhaeCVaRSl2MvomKddbI1RzXYfSBmDphqvPMC32voYyB6uIwTT31Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=ROGp2xCb; arc=fail smtp.client-ip=40.107.21.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ROGp2xCb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TKX/A4LddseDVyIVnRMjVII3dzLb8bz5LyB0mxVUvtdkZo8E7QDAM1nfaplagtEeEADW6/tdf4dpQOO0gesh5smZPxIRsrhRqcy0jxOq+svHWCiS+ck8BcduYBxRRrCBBxzHxBumM1RtiILOudsH6AnOVKQPoQ1Ux/Q76Xa6qrxd5OQHC09SM/hE0O9J8/iNP878B5ko6D7n8MShDcoBNi1zTgMfsUs+uDSBIw9oUk7BNetGgEEWekN4GAU5TnhocyHviDFDhS2aocoNaPZ2VWI7R5B708Lr3N4FfLJIdsgYvpvXUQLEjhGugnBFhkFK9erYcH+C9dWcyYg4DmSu4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=X5dDRoWfvkCG13zFwyXpkOObBGZ1HJIYXLS5QmuFios=; b=MC1TDIL4L8OtEtIL4Ugesd8G4/1D1kNM4OdBWHXGWCEfSEFg7sD+Geq3UoYaVPtSVgzZtFMLzSC38e9HcBx9k6ZjXXC3qZsKRL2ZAV45HD/0x8CASValn5TBHlpMZSCoaNWK/fV8BeIqFRjj4+U+6OuF0TFjSllNvtuhhRZ8/P2fmEJOZnoiMJSFwhNhjZnoxDkA1vvK6DzAk7KbJV49TgH2rK3ynBuryn9Xyn44KLQneRetpbjLlmnCxNC4n3vLpZEjTG+Za8ptH4AS3HrtuRC8l3aqB01SPWn5o3UP5DiGM2x+9p4vC6ZYAsPvhmaRmblkH3xBlg5f2ymqLjTyqA== 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=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X5dDRoWfvkCG13zFwyXpkOObBGZ1HJIYXLS5QmuFios=; b=ROGp2xCbva8ELc3yp85evt8Ekf5Cxm9KS6blJj2ojrCF3MFUCr1pSiA2DRcmv1IuVZXeYzogfiks0W6hCTE9NhV86G6I6zgkl5zGqNzNwyzHlnaGlxDGWMkCcSpHd/eSIvMwNVCrh+a4A7CPjX+QKE15w7XJOb4ChQb1N8nkYNdNIDvEjySqw0m2ZVFKl25KPTYa4TKc456OGoi2oOCd8kan5xnX1RWIj8SU7b4/bwJeGhRlICFzhP/fu4+xFKP+sohvPHX/LP1zje850whahW9vXx9fTrstOmZ1I3Kir7zWBljfcEHbmlPdCcY8ZkfWHuJYdaz8TaBFlHz6z3NtWA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) by AS8PR04MB8403.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep 2024 08:30:32 +0000 Received: from AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455]) by AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455%5]) with mapi id 15.20.7962.018; Fri, 13 Sep 2024 08:30:32 +0000 From: Andrei Stefanescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Andrei Stefanescu Subject: [PATCH v2 2/4] dt-bindings: gpio: add support for NXP S32G2/S32G3 SoCs Date: Fri, 13 Sep 2024 11:29:33 +0300 Message-ID: <20240913082937.444367-3-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> References: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0134.eurprd02.prod.outlook.com (2603:10a6:20b:28c::31) To AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8487:EE_|AS8PR04MB8403:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c4466c5-0f8c-4d98-789c-08dcd3ce552a X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|7416014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bVYzYzBwWEl2OTFTMW9IQ1lLVkJWeXIzdk9aaXMrdVFhQjJoTjNsU0lSY2VB?= =?utf-8?B?akxkQlRkOEJTYmV0bFF4MzQ1VUdDNkxEUEhnOGpVOWx1ZlpNTDhmamZaalhr?= =?utf-8?B?d1M1MlJMU01PM05kdnJRc0d3ZFEvYXdtYWU2TitRMmlsKzNNV0ovNEdyQjY1?= =?utf-8?B?UzFPVGgwYU5VRVdnTUJPc21nU3hXL1AxSk1PVnlMSUZrUWpOU0JoZ1plQTMv?= =?utf-8?B?RFhHSytJSFdiRzRpUXdha3pJeVZCeDJiTmtmK0daVDlWNkhSTDZ0WXRjMktK?= =?utf-8?B?OFhjQThWYTE0RXZzdjBvc21ab0VtZmNRY1diYWoyRFdGTU1ML3FNbmNWU0dW?= =?utf-8?B?WTFaNGtpa0pkSXVmOEZmTEQycVVhRmtEdngrYU82ZDMzcEpRM2ZhbnNUTmJO?= =?utf-8?B?cnR6Qit0ckM2YlFpZzJWT3A3SDRBYzJiNVNtTU1ueU1oN2QxdnJXak9jaDZR?= =?utf-8?B?Nk1zdERLNWZZU2cxR0FveDJYMWoyYlJvZ2FWL1o0UCtSRkJvSk1uQjBQR2g4?= =?utf-8?B?YWtueGV2OWViMjkxYmZqa3Q1RExRcmxJMmM4dEVWSUNsZHN0NGVOZFNmVDJI?= =?utf-8?B?MnVZT2NpSFBHcGFQcDZFWEwzWmYyN0xuSVhwNWdLd1VJNnNvUWZPRWtLNmpH?= =?utf-8?B?bnJiL3ZPOWZGVnFnNVlnYlBVeWtIK012U0xvVHE2bDVLUEwycFZTU09ZTE0w?= =?utf-8?B?TW5oSmZOZDVWTkVUakF3SmZ6czFhdUQ3clF4amY4elNkaG9ic2o4cVdQQTZv?= =?utf-8?B?L3JtdEtydWtweWM1ZTZlYWgxaWE0Sy95K0dQMU5JVjJzYXhxd2RjNVMrQkdl?= =?utf-8?B?K2s2VlgvN3lUYUNUSE40MkVrVHplR0tXUE5Lb0E1aTExMEJUR1hhci9pMGV2?= =?utf-8?B?cTZIVG5tZVdOenFPNkYvNFo2N0NCL3RSK2svMVZPMkNDSXFKZTAzRDBBNDlj?= =?utf-8?B?Mi9Qa0l3ZlB1WXFRSjltei9pZlBpRzQxa1ljQUtJM3ltbUI2ZWdncnJqWUJ2?= =?utf-8?B?dllGNm1YUmtNYU1RQ1c3OTVVN21udU5Vc3MvNDJWbWxGRWk4cjcvVzhCNHhU?= =?utf-8?B?QWpLejZESExRMFpTL2ZvaDN0WWw4QXRIV080NHdNTzN0dGVzRy9JWmhYSGtI?= =?utf-8?B?QmpSeDFTSkh3cVhzRmdJOWUxbVhFeUMrOEZFdWxCUGFkYk1jZ0JndGdQN24y?= =?utf-8?B?SDhWb1Rkc1FnY0xQWmZnUFVPT2JvMHNPVC9SdDBtWmhpdkw3WXM1bm1vb25U?= =?utf-8?B?Y3M1S0g3TzJ4ZExNcHBBNmxrL1RIWnBZa2dzRVZCc0FKeXRaMlhnWG1qUlRm?= =?utf-8?B?YUtZdGZJMlZGM0xHazUyWW1GeU14SG0yTVB5THgwbHpzYkJWRDAyaThabUZv?= =?utf-8?B?VFRJL0x0a1NWY3luR3ROZGg0dGM1MDRMVWZrdkFENGM1VllmeklycmNBdnp5?= =?utf-8?B?Q2dLNm4zT254VWNxODgwRENESkJpQVdxUDhoTGJIVkRIRDhSOFlZMEhVU1Ez?= =?utf-8?B?SktrZmRyV1M3OHdiWUZ4WUdoTXd5OXVUUm5ha0ZSL3U2ZFZXK1lOR3c1L1c4?= =?utf-8?B?alRmNUpGTEFEWTl1NUtCRmNyZklDK0xIV09KL0xmcDdWSng5a1o0cXBPanlP?= =?utf-8?B?SlVBbzF6azNic2lrRXVUWHl1bWNiZTNoQjRZbU9HVkhUVlhDN3JzT1BOU3Ev?= =?utf-8?B?dzBIUzlHUkxocDVIY281a1dkdmxpMmhEVXRrU2h4ZXMxKzQvdW55YzhMeC9v?= =?utf-8?B?WXpZS1JyUmlBajRXbmlmN00yNmtPVy80aHR1cnE4U3FsRFVZS09RTThBVkRH?= =?utf-8?Q?IpWJqUcez+AlOc0EEz2fWtdtprwa0zRGyC5h8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(7416014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RmhUSDVObS9nZ3E3b0RFZ1A1SklUVmlaanZieDBpNGdEcjc5YWZZZGJBVGUv?= =?utf-8?B?WjhQTE5EdTFrOWlWYkdLRm5wcC9hdHdQdXdZV1ZXRnFuYlEzSlhnWW1aTlA3?= =?utf-8?B?ZkxYUlkydmt3djVQa2tMZkJnc09xRHR2NjZISnR4N0lYZUpZWStnWlpvc0pm?= =?utf-8?B?ZkhodkVFaW1uUDhDVEJyLzc4VFVEa3M4T3dzejlTSDRTL3BnM2QzOW01TU8z?= =?utf-8?B?YnNjdXozL3V6UTFXS21VWlBBaXJ5cW1vTDZOKzVSTEpqOTZNN01EbmZpTWwy?= =?utf-8?B?Y1BaOVVJbDFDcUIrb3V2QmpHMC8rcENWZHVZTU04TWxqVTNMb3RnVHlicTVE?= =?utf-8?B?RVpnSERKQmJxMW5BRkdlcnhRajFRYWtUSGxpZDlYV3NYU215Z2I5Q1ZEYTdY?= =?utf-8?B?aEIwUGQwVFRjeTZwWm1LNHo2NVZJVDNxMkdCTFF6WlEwZXFkYmlJa2VtTjZK?= =?utf-8?B?cnorZVlLclhsdXlhVmJHMzVhRFg5Y1pzcFU0RFRlS0hrQllxNEYwUUkrVitp?= =?utf-8?B?VGZGSkVXWHpHQWNBRThxekxJRnZmQUlWVVFIZ3BlVVJITktKcGtvRWJGT1RZ?= =?utf-8?B?TWh3Q2htR1ZDdFVGTjNobFRzN3Z0MzhYSDdZSzhMRTJidkdMTHFXTGJYcFRV?= =?utf-8?B?L3lXNlJsM2pYMFBLV3hTYVZDbXA0NS9BemlTY0NGcWRRYlNnTy9zSDd6c3kv?= =?utf-8?B?NHIvUU1odDBENXE1Y2ZxRFNBT25FWjJBU0UvOFhTMHdyZU9TdlU2OE9yek1X?= =?utf-8?B?bEhic1AwUllraDltOXdxMjdNd1JFZHAyTmdDcmhtbFdnRVgxRGM2bUNVcHRw?= =?utf-8?B?dXBmN0dJSjJ6c3B6ZnNWVVRtWmhTeFEvcmVTQ3pHMDVwdW96cTBmOWUvaFY3?= =?utf-8?B?dHQ0blFSZ21qRU83SnNLTnIrbHZRSEZHM1lJZVpmS3B5MXhWbU96dGF4SFNu?= =?utf-8?B?YnlwYXRvZzJPaE56T3N1Uk1pQkZ3MXpMamdhaVJDb3FUSXQ3WTlPNlhJSWNY?= =?utf-8?B?Ym1nYTM1TTQ3OFNNWUZSRldjQ00zN00zMGtiNy9CWGxNeUpFYWlJWVczbXNo?= =?utf-8?B?SGhsQXk2ZG5iYmRkNHdSS3R2bGIxTkRBM2ZDdlI1SDBka255UzhIVkJIaXlw?= =?utf-8?B?WVphaXdENmdISG9ZamtwUHV2OEdOT1RYd1ZETnFabnVtbEx3aWxwbXVQdmNz?= =?utf-8?B?bFhRR21uaGxSaVlKdzFrWFhObDFSN09tck9teHkveDJHeVJiK2g2bFV4clBn?= =?utf-8?B?UVowU2dpaVpXYmFtS0dReEszb1NoOGowSjkvejg4UjYwTFM2ZFM0Y2ludzU2?= =?utf-8?B?OThrQmZFWE9pMUxVbFlvcGEyaFUzM1JQcVYrT1RDTkUyZDJlRVhVQjZPamhp?= =?utf-8?B?eFhBbnNtNTJGUGNNY1JxQUk0MTNXUnRqc0hnR3VMT1RlNUl6K1hKRFdoVml6?= =?utf-8?B?dWN2bm5tdGgzN0lIckROL2llZGw5NjJmcjJ3TVh3ZFBKbWVmYWVNMjZCTHlG?= =?utf-8?B?blYzdVBaY0Q0ZkM4bnBVUGY0eUdmc1lZYnMzUVdaUmVCVWRuK3gwdm80UDZX?= =?utf-8?B?eHJMMjN4Sm85Y0QzVFJMK0xQekRXSUJvbVg1eGhQY3ZNVGpYOFQrbU45aVln?= =?utf-8?B?RGVpQXJOdUU2WXdJbEVlcFdLMW9KdG1CVEVWekdnUDAxOW8yYVNXWmlIVXBP?= =?utf-8?B?NW9aS2U0bDdqNGpqbk1GS2REQ09yMmhNS0QrenJzU1NnMXNxVjhkUlV6RWMw?= =?utf-8?B?blBqVkh5cXNicmQwVFFZcFhsMGsxdnBzWDdHdW5MUDhYMjRNYUpSZVVraG5N?= =?utf-8?B?anNqK2E3MEJoTXFFOVFMOHpwTDhjQ1RNQ0F3UDkvd25yeEVLR01xU1VaMFVH?= =?utf-8?B?Y2Fla1hFZXEwWm4rSXNiRzdXTXRsR1Fub2tVOW44SmNxUGRCMXhoWHdHOVV5?= =?utf-8?B?ZmdYa2NwR1dvWmpUOFNqdVg5a3BEdEQ0QW9UNHBvSlllSFhlaUoxRkQvb0Uz?= =?utf-8?B?clJ3VnhqazBkdDJGK1pqSVJVekdtUFRwWHI5dWJadHdyYXVCSUU2YUpJc2Fk?= =?utf-8?B?N1lRWVByT0VXcHpQbTk2ZWtMMUtCQmNyb2t3OExoVEo2OXY2N0xrbGxzNTF2?= =?utf-8?B?WmgrbHJabENtQXNtRExFUWRDVHg2ZllZQUkwUTQybGgwREJ4bHd1anFJNnNH?= =?utf-8?B?Y1E9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c4466c5-0f8c-4d98-789c-08dcd3ce552a X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 08:30:32.6834 (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: zCkoLu3OvC4vq9agKAjPVvwmSbrQLm4IdCw+oWMfFVkhlk6UFnCqqn3UUNjHr3sZ6KfL908nyJ0DYsS6lz1b7u0RJEtRMXVZ7Fuo5wfghXQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8403 Content-Type: text/plain; charset="utf-8" Add support for the GPIO driver of the NXP S32G2/S32G3 SoCs. Signed-off-by: Phu Luu An Signed-off-by: Larisa Grigore Signed-off-by: Ghennadi Procopciuc Signed-off-by: Andrei Stefanescu --- .../bindings/gpio/nxp,s32g2-siul2-gpio.yaml | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-= gpio.yaml diff --git a/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.ya= ml b/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml new file mode 100644 index 000000000000..8be8eb3a971d --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause +# Copyright 2024 NXP +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/nxp,gpio-siul2-s32g2.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP S32G2 SIUL2 GPIO controller + +maintainers: + - Ghennadi Procopciuc + - Larisa Grigore + - Andrei Stefanescu + +description: + Support for the SIUL2 GPIOs found on the S32G2 and S32G3 + chips. It includes an IRQ controller for all pins which have + an EIRQ associated. + +properties: + compatible: + items: + - const: nxp,s32g2-siul2-gpio + + reg: + items: + - description: PGPDO (output value) registers for SIUL2_0 + - description: PGPDO (output value) registers for SIUL2_1 + - description: PGPDI (input value) registers for SIUL2_0 + - description: PGPDI (input value) registers for SIUL2_1 + - description: EIRQ (interrupt) configuration registers from SIUL2_1 + - description: EIRQ IMCR registers for interrupt muxing between pads + + reg-names: + items: + - const: opads0 + - const: opads1 + - const: ipads0 + - const: ipads1 + - const: eirqs + - const: eirq-imcrs + + gpio-controller: true + + '#gpio-cells': + const: 2 + + interrupts: + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + gpio-ranges: + minItems: 2 + + gpio-reserved-ranges: + minItems: 2 + +patternProperties: + "-hog(-[0-9]+)?$": + required: + - gpio-hog + +required: + - compatible + - reg + - reg-names + - gpio-controller + - "#gpio-cells" + - gpio-ranges + - gpio-reserved-ranges + - interrupts + - interrupt-controller + - "#interrupt-cells" + +additionalProperties: false + +examples: + - | + #include + #include + + gpio: siul2-gpio@4009d700 { + compatible =3D "nxp,s32g2-siul2-gpio"; + reg =3D <0x4009d700 0x10>, + <0x44011700 0x18>, + <0x4009d740 0x10>, + <0x44011740 0x18>, + <0x44010010 0xb4>, + <0x44011078 0x80>; + reg-names =3D "opads0", "opads1", "ipads0", + "ipads1", "eirqs", "eirq-imcrs"; + gpio-controller; + #gpio-cells =3D <2>; + /* GPIO 0-101 */ + gpio-ranges =3D <&pinctrl 0 0 102>, + /* GPIO 112-190 */ + <&pinctrl 112 112 79>; + gpio-reserved-ranges =3D <102 10>, <123 21>; + interrupts =3D ; + interrupt-controller; + #interrupt-cells =3D <2>; + }; --=20 2.45.2 From nobody Sat Nov 30 00:00:53 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B62B61D6DD5; Fri, 13 Sep 2024 08:30:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216241; cv=fail; b=l683YCVehHPai/ew6pZXR0bw6AUZkOn781LON1ufULdMUKOisI3RvzHf33Pd0L1H6SLy2be6sYCFfMSBuo3IE3JvP/Nxn4IM3ixWkFnQBV1Ibg7m5DeTMFMqLZQrYg5HT3xISG4EIwc7qL55RvVYmRcDR4pkxUmW1iAawSNxbms= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216241; c=relaxed/simple; bh=30wtJJ7kOFYriOJWYVSJoPQZUthCTzHwyvuCYNlL+3k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=aSRD7SGvP/xNL7DHvyvse+wgxodqAtQGpB9CJ9YjFfnDSuCSPHxmMVoKyo0AJkPpKgM99tHink+0ejsa8GsVb9QXs64LPGbkAdTkURJU/0Z4H+bELoLDE35f/eK9TJr7sPrgdlDaQaROUfdqb8MaGKCnFR+Lli3Z5lamQceel5c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=iIs0TzH9; arc=fail smtp.client-ip=40.107.21.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="iIs0TzH9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H26lUhUpEjAcT+SNbfm5CZxgOVV9OdMX0wJBzB1rUT6iWUG+5dkF6yaFxMG3m7WEox+OKluUP+ITKgHXDqsh+ztZLHsm4z7ZPQnsdBrISlRTaTf8sAZJva0xKl9xlXwNi3H1daaCDZhrZ5PoVflu5S/TK0+3HzBkEU1NzwBlDAB8MeTqmQufsk4YKT9oWzc8tozC0rl0hwVJLeU6mZOnHoS96hoV+6bAWEOb0mCiwjzG8atsFThOl4DBXj8N5Yt1ZLxjzba+rfBbp0E4vfiH9+gdMDur5kOJqGUC9pb8tMDr/vt0gcsKr3cvM4TtqzZKg4gxTYu6wYxU+3oBdrZqIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=/T1rLla+D6DfujtTtzBu7C0IpGMDpAsMtcKH5kh9sUw=; b=mJSsncikqNzTc5XMyhzV6S8BJZ1WrKuc+MrW8Rcbr4KEo8dcqqKlK9NIk5sGWDQeHRxnAOID6NMqFAhm+2hoadGZeoJ5OIqL+jmyhiX8iWLWHRqNdyT2x6pdpYavyHjttwWQQeqMln/Dyx3WtmpeNFpLgZSy7Dp3XAxFyLDulDqj+uJ1eSx4rMC+VNFMScj3Fa0quNIgprOgpBsLC0D0FnXrzcykr+Wg5Acv+NToXIC4HQsmBYjVymcGF23mL2xW331sem9ALJ+nfb251m1nhxUud8lDMrRDAFRPNsAMeVRKtbCF3c85/M8nPVjBXve2nAdNEGCSTfaFquqwsAWFLg== 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=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/T1rLla+D6DfujtTtzBu7C0IpGMDpAsMtcKH5kh9sUw=; b=iIs0TzH9SPUcMeofEUlzkIojbFcALGu8s++5J6ce1xyFHfqGO/ghbtspD228DSBEkT/RHDK4/WarisXVxSxAw7ZNYUM2rDhdP7JpTsVT5oW/YSDKv5s3OTs2qEB6DVe7hd4BeJrOqz6eJWl/JYGl23qLnmIbmc8T5StaBTgoYfLP78JkoECKxX3fsgr4YL9eKq42lQ7fTvSqPR+DDdSfHPgdEMphRkHaWzxuFun602iqR2Dde6fRvOoDWJczWDIRVJxUUNZm7Npzlv6wgfzX0dFr2ox8sDPXszcwYSPfVPOoMLQxWp4knMfco2iMxvY+FbT3qguG4gwTDbLvRBheQg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) by AS8PR04MB8403.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep 2024 08:30:35 +0000 Received: from AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455]) by AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455%5]) with mapi id 15.20.7962.018; Fri, 13 Sep 2024 08:30:35 +0000 From: Andrei Stefanescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Andrei Stefanescu Subject: [PATCH v2 3/4] gpio: siul2-s32g2: add NXP S32G2/S32G3 SoCs support Date: Fri, 13 Sep 2024 11:29:34 +0300 Message-ID: <20240913082937.444367-4-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> References: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0134.eurprd02.prod.outlook.com (2603:10a6:20b:28c::31) To AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8487:EE_|AS8PR04MB8403:EE_ X-MS-Office365-Filtering-Correlation-Id: 96f6c686-1b68-4887-60e2-08dcd3ce56f0 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|7416014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?alhqVVN6L3BENEVFRHhrcm9LRmZEMmJWRVg0Y1FQT2ZLUEl0aFpVL1hPWDJU?= =?utf-8?B?WHkyZ0Rqckl2MDM5akRFNTNNdi80L29PdnBnbW1qVzRxMUlqZnFSS2RCb2Z5?= =?utf-8?B?cEtrVGpPS0FKbDhmKzlnMUEvMHpWS1lJNW9uNXFiaDh6cUNFSThpT0hGU2V6?= =?utf-8?B?SmRzajcxQ2FicHhDRjZOZWh0MEtpOEtBR1JHck1YUFh6TG9JMWZXdlFIdHBq?= =?utf-8?B?aU1taENLaThVTTRRTG9MT2wwTnFXZHJZS2ZCOXlMZFkweFZldmRzZFMrblNw?= =?utf-8?B?Q3VMM1hXQktWeHVVUHlwbVFDUU9aS3lwemJFRnErcHNsNHpLL0xiSXlaaTBN?= =?utf-8?B?UExCS3E5bWc3WUxzU3VFeTduM3Z1bXZsTXN0Unp4VXhZU0dmZDRVMnpPRWQ1?= =?utf-8?B?RzMrNWVWZ05GeVVzZ1NsYmRsMHR1REF6UnV5Uy9KZ2psWmVKNVpiYnczU1Iw?= =?utf-8?B?Z3g5cjU1ZkNNUW5PZ2hzbGpCU2VhTlR1UUx3YVBtb0FxcDJQSTFoU1ljaDdl?= =?utf-8?B?SzROSnVNM0daclRPeXJjY3hDNXAvZmNyenFkNWlmNDhzeTlTcEN3ajZPNlVi?= =?utf-8?B?ZzJJMEg4SHpuZi93TkhQWnpab29wdElTY1o2YmV4NVRvUk9rbG5kR3FEMjhw?= =?utf-8?B?Uk9qb1dpaDUxeFJCWGdHYmxNWGFoTFVYRmZlUzdhL3RNNkhBeG94di9XT2Zs?= =?utf-8?B?cENVdkhFbjgzR3puZ1lBaWZTSFJocW1nMDFnYlQ2Q2pnYWdGSFQyVEM3OVdp?= =?utf-8?B?b3Vwa014V2tQZWVMM2JhSHFCRjh3VUNLYWJ5MmJxeStOSUFXVzhsVjNJbjJH?= =?utf-8?B?RXZYNzZZWUtieFh5a2ZVdy9iM0srNUUyaEUzVkorcmU0M0R4MlN0WGtQTFY4?= =?utf-8?B?aHFrZVYvMG1kRHNsMW9NSzlZRXZnMG1YMExRcCtQbTBwc09xWVJqMHNrUit6?= =?utf-8?B?RFVjZWIrdTRqazBaeUVwOXhRMi9ZRkNDdStPczZYRjRKL1hlWVBTT3VtcWpG?= =?utf-8?B?RVMvcGJrNXFzNk1hRTZmY3ppV0Y4Z3BiZzNzd1dsWGkwOU9sc2FyT3NEazB6?= =?utf-8?B?NjVaMEhVd3BvRjJvY3NsOUdDZVJUcVpDdTlNOUhFc0M4VDNqWHRIZHdjMHp5?= =?utf-8?B?THpTRGNqOThRQ0Zrd2gySnl0MnhUdVZ3L1kxekx1V1Q5MmJ5ZTZYTEpPYk8w?= =?utf-8?B?dlVqNDlkTFBtMnpUclBWb1FYanl5UnQ4TXBWK2FNZndHNGhNMlRXb1RPcGE5?= =?utf-8?B?WmliYWZLRURVN2tnd3dQMXJhSlF1TFVqSVg3T0dhTDRLOUlUcE5sYmV5Q3NC?= =?utf-8?B?VS9BMm9EUElXUjJzTGRZY1U0b3pHMjhGc0VsVDRicWc2Tm5sdFNzeTBzNW9G?= =?utf-8?B?UytxSzM5clE0VTNXdDkvUWkvYXNmMU94ZTBaMFc1cDN6MzNieUhuVTU1b1lp?= =?utf-8?B?M2IyYnB2NlhzOEVJMURmS08yTXMzd2J6bjVZaFFHRXkxV3JWTllLSmw2dGp0?= =?utf-8?B?ZFkvbDM0eURXdG4yTmlzUThxMU13UkpxOUo2ckxtN0pobkFQM3hPSXlrWTUy?= =?utf-8?B?SUFQQk9vdDQ2TU9yYkxvZXZHLzl2eGdYcWpHYk1xMXJPU29mamhEMTk4WGNI?= =?utf-8?B?WEJoTk1oVzR2VklndVQ0Nzl4MmVCYTVVbDhLcVFqdHhOQWxLQjQ5QnJOeS9Y?= =?utf-8?B?SzNkaVMzZ09PbVBuUFFJbTlhUG5BSnVjU1lKRDhaQ05tQ0d1bjYrTmtGRktt?= =?utf-8?B?dTZSaEpsdHB3bENUQkhjQWFST0pvREk1ejQyVnFXKyszTk5saGVabFNzN3J1?= =?utf-8?B?S2JTSGg1NjhFckQ2ZDI0WmtEVXp3TUs1Y1dUU1ZMRk5aMGtkTUQvcUpiNDM5?= =?utf-8?B?dlBnQzFXbm1Nb1RzUE1lTW13Zy9yemJHdnNtWEdnbzZ5Z2c9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(7416014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bHZNcjVHanBLV0oyTkJJTGFjcWdwaXd6STNrVnAzRTkxSUEwcEkzZkloWVJI?= =?utf-8?B?MXJBZGI3RHNuVzdOTWt5TTRuQm5uclpQNVg3Ti8xamZFdGliTXJvM05TRENp?= =?utf-8?B?Z1FTanZmZjhuK0VMZ2lWOUgrS0l5SThEUFZtbmp4a1lRRjhqVHRqRU80eXVl?= =?utf-8?B?aGEwRnpWeDU2ZVdqSkJBMHl4cG1WRVJ5eUlBMHA2bk5NS1ZaVCtOUG56OVRG?= =?utf-8?B?WXIxTzRDbitLYWNKWnRkYy9PcUR2NkhhUjR3UHBsWE9oa1hOZGhwZkFxZ2RU?= =?utf-8?B?M1V3OG93dDRLZWRKQjJLVy83S2xKZTdrVDhheDhvUXpYb0FSQmFRL2xmWDNM?= =?utf-8?B?QUZTdUxhQmtQN1ZoWnM2QUprckZVano5emtEekhiaXk3Y3BpLzVWbVk5R0tO?= =?utf-8?B?d3ZOSGdwSW9BSHVQbVRpZkFLeGNRakZRWUlwYlRNd0V2cGpHSHhDaWFnSU5v?= =?utf-8?B?QkNDaUtjMEJzKzF4UldNalRQUXFrMG1lZzhuN0dsd3BFa1l2Vmw4QWVRSEdl?= =?utf-8?B?ZXEvUjhhWGpCK2FDVzlhWU9WQmtaNjNENTNGdEtXelhWdmJUYnU1MmJzUHdO?= =?utf-8?B?YSs2SmtWUHIyUlY5T09tSVJhbVg2VDZrTnlURkc2Q0x1bUNCVVZCdnEwd2Jm?= =?utf-8?B?Qm4yZ1dCMTU1TkRlQWk4SUdJTU9idkNUTUVQa0NOOGRnSEpMWHBQNERBczNQ?= =?utf-8?B?WjExYnVheHpSemdsbDk2TWVnd08weEhvWWRFcnljUUN4NDRQdmltRmNpY1Ba?= =?utf-8?B?RWtQSXV0bVpVb3FDRkZjd3ZFaEZPZEhQUzJVdzU0bDVEV1djVytod1RzUTNp?= =?utf-8?B?RlNTbzdrSE1ZdVFUYkV1ZHVvclRxVGhhcFdpaTE2aXV5YUs1emxvU0d4ay9n?= =?utf-8?B?UXJJeEE5QXU3RUxudmtmNFRUZi9lSDg4UW1uOVYrMzF2VkRsM0JrUTBhcG1k?= =?utf-8?B?T2ZYNUhuTkZvVC8rUVJmVE1ONU1UZ0YvQ1F4S2V2bC9xTmJKS2h3eTc0aWxR?= =?utf-8?B?cWdsSXcxT2dYK1dpa2hDU3lZYjB0bDlJdTlyWWdWUWh3L1haWnpIUXcyQ2hI?= =?utf-8?B?WEVqVnRacGo0RnlwRlkyVnUvWm1Cc0Nlb0ZuMXVrSWhKbXNkSi9HUlFHakox?= =?utf-8?B?dnhLTEUvelVndG1HK0hFMDhuekdLK0RHempBaVZ3UVphRDlyTnVHQmg3WW5o?= =?utf-8?B?eEVLalRpdTVmQlBteUp1aGE5UkRrVk52cUZ1eVkwYkF4SnlzV3hyd0NTd2t0?= =?utf-8?B?NkRqR1QycTNsOGlsQVc5QjZINmtIMTY0ZFVOVzBRZnlPeHVjYjIzb1NYanZQ?= =?utf-8?B?RW00a1RCa1llR2F1R1p0elQrKytGenVNa0xKRDFsVEVydlJQSlhyNVMweEhF?= =?utf-8?B?KzhuKzJ5anAyQm1KMHVibFVaN09MVDNwd21kcS9WeE5IUVJIOUVtR0VQVGJ4?= =?utf-8?B?Q1Nnd3hCSmdDcHlJdnBMRUVoNDdRb3dibG1wczZCZHMyVlNpVnpMZEFSQkxY?= =?utf-8?B?ZTBzYTdKbVA0S2dlSEg4YXgvaWFaK2RlR2Fmb1pLQWtNcUxsRmlVSklrMnUr?= =?utf-8?B?a3dJWUowcXFPQkJJcTREWnRwOTRsZ2tIMVF2YzIwNlB1bFM5STI3dDk5WUNx?= =?utf-8?B?LzUvT2lUcmVWSVhwTzJoaUJ3VHpxQzJqeGRwQWdjLzVsNFNqK2pMSUxIVitv?= =?utf-8?B?eXpGdUg4QnhjbSsrL0Vadm1kWll3ZHBZcUEyTlpCM2lSdHdUalRzRUYxc2hV?= =?utf-8?B?WDYzZUdUbGpUYWpKbzNVVkpoTTQ0TWVOWGxoRG5PLzBrcWhBb2pMZFN0Yklx?= =?utf-8?B?S3FlaHVpTnQ0UmFzcWpQUzJZWVF3MTFZY0pXSUlWL25jZXZOaWdYV0hxaWMr?= =?utf-8?B?VHZGa09VRUdUR3JFZHlSczArdGxzWVRFM296RWg5VUtCVng3bWxBWlRUaERs?= =?utf-8?B?Sm1RMTRsSWdUVFl5N2JEODFQMWZ6c3FwMlVVNjY0YXlTSGRxQ3l3T2I3dWVK?= =?utf-8?B?Skt3bVRoYmhQOW8xdlVFc3IrK2RKQzVLc002NHp1aUZYYVJGL1dJWlpMWkQ3?= =?utf-8?B?ZVpQVjVoWk5oaDBhNlFVQmlCc3ZacUpaWkJ6NU5MSzJPNTdiR1hxai9MSFN2?= =?utf-8?B?dlF1M2xHT0cxUkQ4QkhSODArTmdOSmdlTDdkUk9QQlBSaUVsemhkam1CUk03?= =?utf-8?B?V0E9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96f6c686-1b68-4887-60e2-08dcd3ce56f0 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 08:30:35.6788 (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: AHWbQwxUvfaD2rNI4Uz17mlEXeQ3+i4igBP4AdmMh1fs31qV6oryhMYcWk/p6psjwW0bEyaEH8Mg7zHLcUvZCD2eqKdebDZcPqvCNtxLBLI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8403 Add the GPIO driver for S32G2/S32G3 SoCs. This driver uses the SIUL2 (System Integration Unit Lite2) hardware module. There are two SIUL2 hardware modules present, SIUL2_0(controlling GPIOs 0-101) and SIUL2_1 for the rest. The GPIOs are not fully contiguous, there are some gaps: - GPIO102 up to GPIO111(inclusive) are invalid - GPIO123 up to GPIO143(inclusive) are invalid Some GPIOs are input only(i.e. GPI182) though this restriction is not yet enforced in code. This patch adds basic GPIO functionality(no interrupts, no suspend/resume functions). Signed-off-by: Ghennadi Procopciuc Signed-off-by: Larisa Grigore Signed-off-by: Phu Luu An Signed-off-by: Andrei Stefanescu --- drivers/gpio/Kconfig | 10 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-siul2-s32g2.c | 581 ++++++++++++++++++++++++++++++++ 3 files changed, 592 insertions(+) create mode 100644 drivers/gpio/gpio-siul2-s32g2.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 58f43bcced7c..75a6ca60ebc7 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -643,6 +643,16 @@ config GPIO_SIOX Say yes here to support SIOX I/O devices. These are units connected via a SIOX bus and have a number of fixed-direction I/O lines. =20 +config GPIO_SIUL2_S32G2 + tristate "GPIO driver for S32G2/S32G3" + depends on ARCH_S32 || COMPILE_TEST + depends on OF_GPIO + select REGMAP_MMIO + help + This enables support for the SIUL2 GPIOs found on the S32G2/S32G3 + chips. Say yes here to enable the SIUL2 to be used as an GPIO + controller for S32G2/S32G3 platforms. + config GPIO_SNPS_CREG bool "Synopsys GPIO via CREG (Control REGisters) driver" depends on ARC || COMPILE_TEST diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index 64dd6d9d730d..fb6e770a64b9 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -149,6 +149,7 @@ obj-$(CONFIG_GPIO_SCH) +=3D gpio-sch.o obj-$(CONFIG_GPIO_SIFIVE) +=3D gpio-sifive.o obj-$(CONFIG_GPIO_SIM) +=3D gpio-sim.o obj-$(CONFIG_GPIO_SIOX) +=3D gpio-siox.o +obj-$(CONFIG_GPIO_SIUL2_S32G2) +=3D gpio-siul2-s32g2.o obj-$(CONFIG_GPIO_SL28CPLD) +=3D gpio-sl28cpld.o obj-$(CONFIG_GPIO_SLOPPY_LOGIC_ANALYZER) +=3D gpio-sloppy-logic-analyzer.o obj-$(CONFIG_GPIO_SODAVILLE) +=3D gpio-sodaville.o diff --git a/drivers/gpio/gpio-siul2-s32g2.c b/drivers/gpio/gpio-siul2-s32g= 2.c new file mode 100644 index 000000000000..205a1a4d216d --- /dev/null +++ b/drivers/gpio/gpio-siul2-s32g2.c @@ -0,0 +1,581 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * SIUL2 GPIO support. + * + * Copyright (c) 2016 Freescale Semiconductor, Inc. + * Copyright 2018-2024 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* PGPDOs are 16bit registers that come in big endian + * order if they are grouped in pairs of two. + * + * For example, the order is PGPDO1, PGPDO0, PGPDO3, PGPDO2... + */ +#define SIUL2_PGPDO(N) (((N) ^ 1) * 2) +#define S32G2_SIUL2_NUM 2 +#define S32G2_PADS_DTS_TAG_LEN (7) + +#define SIUL2_GPIO_16_PAD_SIZE 16 + +/** + * struct siul2_device_data - platform data attached to the compatible. + * @pad_access: access table for I/O pads, consists of S32G2_SIUL2_NUM tab= les. + * @reset_cnt: reset the pin name counter to zero when switching to SIUL2_= 1. + */ +struct siul2_device_data { + const struct regmap_access_table **pad_access; + const bool reset_cnt; +}; + +/** + * struct siul2_desc - describes a SIUL2 hw module. + * @pad_access: array of valid I/O pads. + * @opadmap: the regmap of the Parallel GPIO Pad Data Out Register. + * @ipadmap: the regmap of the Parallel GPIO Pad Data In Register. + * @gpio_base: the first GPIO pin. + * @gpio_num: the number of GPIO pins. + */ +struct siul2_desc { + const struct regmap_access_table *pad_access; + struct regmap *opadmap; + struct regmap *ipadmap; + u32 gpio_base; + u32 gpio_num; +}; + +/** + * struct siul2_gpio_dev - describes a group of GPIO pins. + * @platdata: the platform data. + * @siul2: SIUL2_0 and SIUL2_1 modules information. + * @pin_dir_bitmap: the bitmap with pin directions. + * @gc: the GPIO chip. + * @lock: mutual access to bitmaps. + */ +struct siul2_gpio_dev { + const struct siul2_device_data *platdata; + struct siul2_desc siul2[S32G2_SIUL2_NUM]; + unsigned long *pin_dir_bitmap; + struct gpio_chip gc; + raw_spinlock_t lock; +}; + +static const struct regmap_range s32g2_siul20_pad_yes_ranges[] =3D { + regmap_reg_range(SIUL2_PGPDO(0), SIUL2_PGPDO(0)), + regmap_reg_range(SIUL2_PGPDO(1), SIUL2_PGPDO(1)), + regmap_reg_range(SIUL2_PGPDO(2), SIUL2_PGPDO(2)), + regmap_reg_range(SIUL2_PGPDO(3), SIUL2_PGPDO(3)), + regmap_reg_range(SIUL2_PGPDO(4), SIUL2_PGPDO(4)), + regmap_reg_range(SIUL2_PGPDO(5), SIUL2_PGPDO(5)), + regmap_reg_range(SIUL2_PGPDO(6), SIUL2_PGPDO(6)), +}; + +static const struct regmap_access_table s32g2_siul20_pad_access_table =3D { + .yes_ranges =3D s32g2_siul20_pad_yes_ranges, + .n_yes_ranges =3D ARRAY_SIZE(s32g2_siul20_pad_yes_ranges), +}; + +static const struct regmap_range s32g2_siul21_pad_yes_ranges[] =3D { + regmap_reg_range(SIUL2_PGPDO(7), SIUL2_PGPDO(7)), + regmap_reg_range(SIUL2_PGPDO(9), SIUL2_PGPDO(9)), + regmap_reg_range(SIUL2_PGPDO(10), SIUL2_PGPDO(10)), + regmap_reg_range(SIUL2_PGPDO(11), SIUL2_PGPDO(11)), +}; + +static const struct regmap_access_table s32g2_siul21_pad_access_table =3D { + .yes_ranges =3D s32g2_siul21_pad_yes_ranges, + .n_yes_ranges =3D ARRAY_SIZE(s32g2_siul21_pad_yes_ranges), +}; + +static const struct regmap_access_table *s32g2_pad_access_table[] =3D { + &s32g2_siul20_pad_access_table, + &s32g2_siul21_pad_access_table +}; + +static_assert(ARRAY_SIZE(s32g2_pad_access_table) =3D=3D S32G2_SIUL2_NUM); + +static const struct siul2_device_data s32g2_device_data =3D { + .pad_access =3D s32g2_pad_access_table, + .reset_cnt =3D true, +}; + +static int siul2_get_gpio_pinspec(struct platform_device *pdev, + struct of_phandle_args *pinspec, + unsigned int range_index) +{ + struct device_node *np =3D pdev->dev.of_node; + + return of_parse_phandle_with_fixed_args(np, "gpio-ranges", 3, + range_index, pinspec); +} + +static struct regmap *siul2_offset_to_regmap(struct siul2_gpio_dev *dev, + unsigned int offset, + bool input) +{ + struct siul2_desc *siul2; + size_t i; + + for (i =3D 0; i < ARRAY_SIZE(dev->siul2); i++) { + siul2 =3D &dev->siul2[i]; + if (offset >=3D siul2->gpio_base && + offset - siul2->gpio_base < siul2->gpio_num) + return input ? siul2->ipadmap : siul2->opadmap; + } + + return NULL; +} + +static void siul2_gpio_set_direction(struct siul2_gpio_dev *dev, + unsigned int gpio, int dir) +{ + unsigned long flags; + + raw_spin_lock_irqsave(&dev->lock, flags); + + if (dir =3D=3D GPIO_LINE_DIRECTION_IN) + __clear_bit(gpio, dev->pin_dir_bitmap); + else + __set_bit(gpio, dev->pin_dir_bitmap); + + raw_spin_unlock_irqrestore(&dev->lock, flags); +} + + +static int siul2_get_direction(struct siul2_gpio_dev *dev, + unsigned int gpio) +{ + return test_bit(gpio, dev->pin_dir_bitmap) ? GPIO_LINE_DIRECTION_OUT : + GPIO_LINE_DIRECTION_IN; +} + +static struct siul2_gpio_dev *to_siul2_gpio_dev(struct gpio_chip *chip) +{ + return container_of(chip, struct siul2_gpio_dev, gc); +} + +static int siul2_gpio_dir_in(struct gpio_chip *chip, unsigned int gpio) +{ + struct siul2_gpio_dev *gpio_dev; + int ret =3D 0; + + ret =3D pinctrl_gpio_direction_input(chip, gpio); + if (ret) + return ret; + + gpio_dev =3D to_siul2_gpio_dev(chip); + siul2_gpio_set_direction(gpio_dev, gpio, GPIO_LINE_DIRECTION_IN); + + return 0; +} + +static int siul2_gpio_get_dir(struct gpio_chip *chip, unsigned int gpio) +{ + return siul2_get_direction(to_siul2_gpio_dev(chip), gpio); +} + +static unsigned int siul2_pin2pad(unsigned int pin) +{ + return pin / SIUL2_GPIO_16_PAD_SIZE; +} + +static u16 siul2_pin2mask(unsigned int pin) +{ + /** + * From Reference manual : + * PGPDOx[PPDOy] =3D GPDO(x =C3=97 16) + (15 - y)[PDO_(x =C3=97 16) + (15= - y)] + */ + return BIT(SIUL2_GPIO_16_PAD_SIZE - 1 - pin % SIUL2_GPIO_16_PAD_SIZE); +} + +static void siul2_gpio_set_val(struct gpio_chip *chip, unsigned int offset, + int value) +{ + struct siul2_gpio_dev *gpio_dev =3D to_siul2_gpio_dev(chip); + unsigned int pad, reg_offset; + struct regmap *regmap; + u16 mask; + + mask =3D siul2_pin2mask(offset); + pad =3D siul2_pin2pad(offset); + + reg_offset =3D SIUL2_PGPDO(pad); + regmap =3D siul2_offset_to_regmap(gpio_dev, offset, false); + if (!regmap) + return; + + value =3D value ? mask : 0; + + regmap_update_bits(regmap, reg_offset, mask, value); +} + +static int siul2_gpio_dir_out(struct gpio_chip *chip, unsigned int gpio, + int val) +{ + struct siul2_gpio_dev *gpio_dev; + int ret =3D 0; + + gpio_dev =3D to_siul2_gpio_dev(chip); + siul2_gpio_set_val(chip, gpio, val); + + ret =3D pinctrl_gpio_direction_output(chip, gpio); + if (ret) + return ret; + + siul2_gpio_set_direction(gpio_dev, gpio, GPIO_LINE_DIRECTION_OUT); + + return 0; +} + +static void siul2_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) +{ + struct siul2_gpio_dev *gpio_dev =3D to_siul2_gpio_dev(chip); + + if (!gpio_dev) + return; + + if (siul2_get_direction(gpio_dev, offset) =3D=3D GPIO_LINE_DIRECTION_IN) + return; + + siul2_gpio_set_val(chip, offset, value); +} + +static int siul2_gpio_get(struct gpio_chip *chip, unsigned int offset) +{ + struct siul2_gpio_dev *gpio_dev =3D to_siul2_gpio_dev(chip); + unsigned int mask, pad, reg_offset, data =3D 0; + struct regmap *regmap; + + mask =3D siul2_pin2mask(offset); + pad =3D siul2_pin2pad(offset); + + reg_offset =3D SIUL2_PGPDO(pad); + regmap =3D siul2_offset_to_regmap(gpio_dev, offset, true); + if (!regmap) + return -EINVAL; + + regmap_read(regmap, reg_offset, &data); + + return !!(data & mask); +} + +static const struct regmap_config siul2_regmap_conf =3D { + .val_bits =3D 32, + .reg_bits =3D 32, + .reg_stride =3D 4, + .cache_type =3D REGCACHE_FLAT, +}; + +static struct regmap *common_regmap_init(struct platform_device *pdev, + struct regmap_config *conf, + const char *name) +{ + struct device *dev =3D &pdev->dev; + struct resource *res; + resource_size_t size; + void __iomem *base; + + base =3D devm_platform_get_and_ioremap_resource_byname(pdev, name, &res); + if (IS_ERR(base)) { + dev_err(&pdev->dev, "Failed to get MEM resource: %s\n", name); + return ERR_PTR(-EINVAL); + } + + size =3D resource_size(res); + conf->val_bits =3D conf->reg_stride * 8; + conf->max_register =3D size - conf->reg_stride; + conf->name =3D name; + conf->use_raw_spinlock =3D true; + + if (conf->cache_type !=3D REGCACHE_NONE) + conf->num_reg_defaults_raw =3D size / conf->reg_stride; + + return devm_regmap_init_mmio(dev, base, conf); +} + +static bool not_writable(__always_unused struct device *dev, + __always_unused unsigned int reg) +{ + return false; +} + +static struct regmap *init_padregmap(struct platform_device *pdev, + struct siul2_gpio_dev *gpio_dev, + int selector, bool input) +{ + const struct siul2_device_data *platdata =3D gpio_dev->platdata; + struct regmap_config regmap_conf =3D siul2_regmap_conf; + char dts_tag[S32G2_PADS_DTS_TAG_LEN]; + int err; + + regmap_conf.reg_stride =3D 2; + + if (selector !=3D 0 && selector !=3D 1) + return ERR_PTR(-EINVAL); + + regmap_conf.rd_table =3D platdata->pad_access[selector]; + + err =3D snprintf(dts_tag, ARRAY_SIZE(dts_tag), "%cpads%d", + input ? 'i' : 'o', selector); + if (err < 0) + return ERR_PTR(-EINVAL); + + if (input) { + regmap_conf.writeable_reg =3D not_writable; + regmap_conf.cache_type =3D REGCACHE_NONE; + } else { + regmap_conf.wr_table =3D platdata->pad_access[selector]; + } + + return common_regmap_init(pdev, ®map_conf, dts_tag); +} + +static int siul2_gpio_pads_init(struct platform_device *pdev, + struct siul2_gpio_dev *gpio_dev) +{ + struct device *dev =3D &pdev->dev; + size_t i; + + for (i =3D 0; i < ARRAY_SIZE(gpio_dev->siul2); i++) { + gpio_dev->siul2[i].opadmap =3D init_padregmap(pdev, gpio_dev, i, + false); + if (IS_ERR(gpio_dev->siul2[i].opadmap)) { + dev_err(dev, + "Failed to initialize opad2%zu regmap config\n", + i); + return PTR_ERR(gpio_dev->siul2[i].opadmap); + } + + gpio_dev->siul2[i].ipadmap =3D init_padregmap(pdev, gpio_dev, i, + true); + if (IS_ERR(gpio_dev->siul2[i].ipadmap)) { + dev_err(dev, + "Failed to initialize ipad2%zu regmap config\n", + i); + return PTR_ERR(gpio_dev->siul2[i].ipadmap); + } + } + + return 0; +} + +static int siul2_gen_names(struct device *dev, unsigned int cnt, char **na= mes, + char *ch_index, unsigned int *num_index) +{ + unsigned int i; + + for (i =3D 0; i < cnt; i++) { + if (i !=3D 0 && !(*num_index % 16)) + (*ch_index)++; + + names[i] =3D devm_kasprintf(dev, GFP_KERNEL, "P%c_%02d", + *ch_index, 0xFU & (*num_index)++); + if (!names[i]) + return -ENOMEM; + } + + return 0; +} + +static int siul2_gpio_remove_reserved_names(struct device *dev, + struct siul2_gpio_dev *gpio_dev, + char **names) +{ + struct device_node *np =3D dev->of_node; + int num_ranges, i, j, ret; + u32 base_gpio, num_gpio; + + /* Parse the gpio-reserved-ranges to know which GPIOs to exclude. */ + + num_ranges =3D of_property_count_u32_elems(dev->of_node, + "gpio-reserved-ranges"); + + /* The "gpio-reserved-ranges" is optional. */ + if (num_ranges < 0) + return 0; + num_ranges /=3D 2; + + for (i =3D 0; i < num_ranges; i++) { + ret =3D of_property_read_u32_index(np, "gpio-reserved-ranges", + i * 2, &base_gpio); + if (ret) { + dev_err(dev, "Could not parse the start GPIO: %d\n", + ret); + return ret; + } + + ret =3D of_property_read_u32_index(np, "gpio-reserved-ranges", + i * 2 + 1, &num_gpio); + if (ret) { + dev_err(dev, "Could not parse num. GPIOs: %d\n", ret); + return ret; + } + + if (base_gpio + num_gpio > gpio_dev->gc.ngpio) { + dev_err(dev, "Reserved GPIOs outside of GPIO range\n"); + return -EINVAL; + } + + /* Remove names set for reserved GPIOs. */ + for (j =3D base_gpio; j < base_gpio + num_gpio; j++) { + devm_kfree(dev, names[j]); + names[j] =3D NULL; + } + } + + return 0; +} + +static int siul2_gpio_populate_names(struct device *dev, + struct siul2_gpio_dev *gpio_dev) +{ + unsigned int num_index =3D 0; + char ch_index =3D 'A'; + char **names; + int i, ret; + + names =3D devm_kcalloc(dev, gpio_dev->gc.ngpio, sizeof(*names), + GFP_KERNEL); + if (!names) + return -ENOMEM; + + for (i =3D 0; i < S32G2_SIUL2_NUM; i++) { + ret =3D siul2_gen_names(dev, gpio_dev->siul2[i].gpio_num, + names + gpio_dev->siul2[i].gpio_base, + &ch_index, &num_index); + if (ret) { + dev_err(dev, "Could not set names for SIUL2_%d GPIOs\n", + i); + return ret; + } + + if (gpio_dev->platdata->reset_cnt) + num_index =3D 0; + + ch_index++; + } + + ret =3D siul2_gpio_remove_reserved_names(dev, gpio_dev, names); + if (ret) + return ret; + + gpio_dev->gc.names =3D (const char *const *)names; + + return 0; +} + +static int siul2_gpio_probe(struct platform_device *pdev) +{ + struct siul2_gpio_dev *gpio_dev; + struct device *dev =3D &pdev->dev; + struct of_phandle_args pinspec; + size_t i, bitmap_size; + struct gpio_chip *gc; + int ret =3D 0; + + gpio_dev =3D devm_kzalloc(dev, sizeof(*gpio_dev), GFP_KERNEL); + if (!gpio_dev) + return -ENOMEM; + + gpio_dev->platdata =3D &s32g2_device_data; + + for (i =3D 0; i < S32G2_SIUL2_NUM; i++) + gpio_dev->siul2[i].pad_access =3D + gpio_dev->platdata->pad_access[i]; + + ret =3D siul2_gpio_pads_init(pdev, gpio_dev); + if (ret) + return ret; + + gc =3D &gpio_dev->gc; + + platform_set_drvdata(pdev, gpio_dev); + + raw_spin_lock_init(&gpio_dev->lock); + + for (i =3D 0; i < ARRAY_SIZE(gpio_dev->siul2); i++) { + ret =3D siul2_get_gpio_pinspec(pdev, &pinspec, i); + if (ret) { + dev_err(dev, + "unable to get pinspec %zu from device tree\n", + i); + return -EINVAL; + } + + of_node_put(pinspec.np); + + if (pinspec.args_count !=3D 3) { + dev_err(dev, "Invalid pinspec count: %d\n", + pinspec.args_count); + return -EINVAL; + } + + gpio_dev->siul2[i].gpio_base =3D pinspec.args[1]; + gpio_dev->siul2[i].gpio_num =3D pinspec.args[2]; + } + + gc->base =3D -1; + + /* In some cases, there is a gap between the SIUL GPIOs. */ + gc->ngpio =3D gpio_dev->siul2[S32G2_SIUL2_NUM - 1].gpio_base + + gpio_dev->siul2[S32G2_SIUL2_NUM - 1].gpio_num; + + ret =3D siul2_gpio_populate_names(&pdev->dev, gpio_dev); + if (ret) + return ret; + + bitmap_size =3D BITS_TO_LONGS(gc->ngpio) * + sizeof(*gpio_dev->pin_dir_bitmap); + gpio_dev->pin_dir_bitmap =3D devm_kzalloc(dev, bitmap_size, GFP_KERNEL); + if (!gpio_dev->pin_dir_bitmap) + return -ENOMEM; + + gc->parent =3D dev; + gc->label =3D dev_name(dev); + + gc->set =3D siul2_gpio_set; + gc->get =3D siul2_gpio_get; + gc->set_config =3D gpiochip_generic_config; + gc->request =3D gpiochip_generic_request; + gc->free =3D gpiochip_generic_free; + gc->direction_output =3D siul2_gpio_dir_out; + gc->direction_input =3D siul2_gpio_dir_in; + gc->get_direction =3D siul2_gpio_get_dir; + gc->owner =3D THIS_MODULE; + + ret =3D devm_gpiochip_add_data(dev, gc, gpio_dev); + if (ret) + return dev_err_probe(dev, ret, "unable to add gpiochip\n"); + + return 0; +} + +static const struct of_device_id siul2_gpio_dt_ids[] =3D { + { .compatible =3D "nxp,s32g2-siul2-gpio" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, siul2_gpio_dt_ids); + +static struct platform_driver siul2_gpio_driver =3D { + .driver =3D { + .name =3D "s32g2-siul2-gpio", + .of_match_table =3D siul2_gpio_dt_ids, + }, + .probe =3D siul2_gpio_probe, +}; + +module_platform_driver(siul2_gpio_driver); + +MODULE_AUTHOR("NXP"); +MODULE_DESCRIPTION("NXP SIUL2 GPIO"); +MODULE_LICENSE("GPL"); --=20 2.45.2 From nobody Sat Nov 30 00:00:53 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 87F3E1D79A8; Fri, 13 Sep 2024 08:30:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216243; cv=fail; b=W79jiAaQq2we9AfPMlfqqf9KDT6BBnEZRp4QEaai3N2UjEecAj5RA7d8699J20+VrethTSnc44sFv9foBnD/te37aI4+49BKjwwo3tWnLrbfDifkv+Wn7wRXUgbbZ+FVnMFo3l8Ey0bkHUrfaxC/88HDmkcqdaH97M96FOKdJ+g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726216243; c=relaxed/simple; bh=7cn+2MieRYiKh4YRXkyXyV9HQNytc64vZ/RQY5VQT0o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Kr1ysXQrzg8dN1qK7wddqFVp/uUpNiS4LBC9IcWlNQbW1EqfvPA3a+UkTQSoyZ7HVrjQpLA7AqOEFHHI5RS9xSyghyMsrVEAPqalVyCOVz8+R9tsbh4qPcWGYhcxUCJ3X6aPzn/jDnRjBATWno4rnPjDnpLNHl2BTpYPPksNDJE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=wApw0FDv; arc=fail smtp.client-ip=40.107.21.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="wApw0FDv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iVflI63bHIcvsVSs1Jg303Mz4liab3xcNnw2UpXEjqzMXvpMFpBCDwmLd97WsvleUvMFyVzDCOXjYC4orn3UPK93VrOCo9C2YhVF8TAZNYcepRRtzgts3pTlfEd0v9z6vuW88GQytu8awoa1VcCOtwLMDewX6cojN/WteF1pRx7fh98C2cxzgtKwvCl/vPdZqjxYvirEgb7/qdluf0Qr26bd54LuwdxqLCPxxIGrVuLZ7/kwvAnR6sA2hTAiX63KuU7It4oPModqrDECqsZN/ZnLrIhFFO/noCQQQM0QJ2NcvgDIaQZERqHl1S2IN9UAaHDp+ortTUSW/wLDMq0ZYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=QjCSUOOZVM71QFpr7noHcDioZNtuSHZqJ2aVZ5bo8cg=; b=AUOiXG13TK27GS38DS8XW3r3YrYyb4WcmyHJ3iTBNHtUf0YmMxug/giXjpZJhoz1oKHh1+4ZflHe56cYm1modO7k/IH+5uk/etopiiPL7PhY3PLlTSqU1rH7kk5UAjw6lekVAuhVsWASGu0xWHolAo5L+3KedxbNqJp8PqLsIZlYjb8TjzDS2Rd/dYhtflSYD2AtwIDRWcI2O+anjRfXQLCvLv/HMFPzive46awObfsaJaln74qACtUwbXRaA5YHbYYY2dPV7eBKof4uKzvg/BrDpSM/i8kviIOF+KqpGYcj1b58mnXr2tuBK1x98exwuAaBIqMpeZJBsD77rzj4dg== 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=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QjCSUOOZVM71QFpr7noHcDioZNtuSHZqJ2aVZ5bo8cg=; b=wApw0FDv3bVW270zogDJmQfC+jPO/EiJS56AcFpxGxIbc/wJS5daDWO8R8ehEXkxkru6n8ddtcuPA0EzWddXJVftZ60rFCRx3upmwzDHBUVe4hxdbMD3CGZ9xOwQv8AKeEHe8g/P6alxz4l1wtxCEEFIfd1LJkFlKVfkR7SAeUi78Gat4impnBOlNpAqLgWy/BWRY5w6EbrYzsGNnZZqHl7dka2SIDW0LUd5iLzJb2rO6g13TarzgxC5q90Nbw2ActHrFtWPvTzpqYKwJUN57O+bHK10EBamApFFL/xFPlqOW8+r5AEPBBQyfc1O8g2Gc+HD0t6BXTo/yCr9pqOdeg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) by AS8PR04MB8403.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep 2024 08:30:39 +0000 Received: from AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455]) by AM9PR04MB8487.eurprd04.prod.outlook.com ([fe80::6d7a:8d2:f020:455%5]) with mapi id 15.20.7962.018; Fri, 13 Sep 2024 08:30:39 +0000 From: Andrei Stefanescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Andrei Stefanescu Subject: [PATCH v2 4/4] MAINTAINERS: add MAINTAINER for S32G2 SIUL2 GPIO driver Date: Fri, 13 Sep 2024 11:29:35 +0300 Message-ID: <20240913082937.444367-5-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> References: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0134.eurprd02.prod.outlook.com (2603:10a6:20b:28c::31) To AM9PR04MB8487.eurprd04.prod.outlook.com (2603:10a6:20b:41a::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8487:EE_|AS8PR04MB8403:EE_ X-MS-Office365-Filtering-Correlation-Id: 2857b8fc-9a75-4aec-16f4-08dcd3ce58d6 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|7416014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?RlQ4dkg1Zjc0blJQZm5zMVU2cE5ud0hTbmpMRXlhSEI4bTBmdTZkVlN6QW9U?= =?utf-8?B?U3dmN3FNSUNSdjlZU3BJcVdCdGI0VkJjdWg2NXRoVkF0N2pKRU1OUVY3bnlX?= =?utf-8?B?Q2k2S2Vhckx5Z0V3QUFmR0V1SmZ6Nk11NVM3d3cxbzlOZ2N5Vk0rTHN1UjJT?= =?utf-8?B?VklQWDBocGgvb1ZuSm5yZkZienlORGRIU0dDaG54TTl6YmowZDYwSXRWMVVM?= =?utf-8?B?NHNoUXVoWHVSUWx5SHZ5eG5aWHc5c1JNRGxMZkw1RGUvY05rYlVLcjhndzVn?= =?utf-8?B?UmVta1FlMjVGb09LdllSNCtaTkNvbWZXUERLVWdJYWxqbTBmcVVxSUxyYnNF?= =?utf-8?B?dExGQkVUV3F3OGtBL0labm1meWdYRVVBWFJaRGQvc0FuNTRPWmVhKzVQVHRH?= =?utf-8?B?VVJTejh4eUJyRWFIV1FUU2p5YTFvQndHVFFjRkRaZGdlcEJzVFR3TmtTbFUv?= =?utf-8?B?bmsva3FONUdCODRGZ0pWcGRtcFpXempqMmw2NklFb0lRV1pEaW42Z1R1VGp4?= =?utf-8?B?anpvWGlPRXZQdVJMUjlnVkRyQ2U2dmhxSVpEbWpNeEx2L2ZhWktIamZiNkY0?= =?utf-8?B?cW93MXAvRmd0aWc1REUyZ0E1NWM4Ynl2VXdKNEJjMWNpdG9UTEtBdkRpUE84?= =?utf-8?B?NThaMDFNVXpEbk1XZk4wcHFyYmJCeXl3QWZwRmQwaTMyWklLbnhjaDUvRnph?= =?utf-8?B?YXZra1FZNDl5ZU5jRmpMRk1yaFBza2NVUU1pZmpZL1g3bmZod1dtNWhHTVJF?= =?utf-8?B?eGVBT2ZnREsrNEZoUXVUcXNVRVRGV1hoMFFiakU1OXRQWkV6aFNCcmM5VzYz?= =?utf-8?B?cWltcVNadHF1WjQ1NGFsRFRPVldhdUJmcG40V2NOTi9sRXdVRmY5RFBEdU5K?= =?utf-8?B?Wnp4UFUvR0xrMStnK0VXaWVsVEp4NmNnbTB5ckc5WnRHNGx4b0F3blBIVCs2?= =?utf-8?B?OFA1TTBKeTFwOVdCZHR6K0RjMVB4cmpFVTFFc05DNjU3aVo5R2R0Z3BTbVNX?= =?utf-8?B?ZnltazVDUU5NYUdLeXZCZURzUEFxaUgycnB5SFpuaDhKQmlNNlZvdXVGVkZH?= =?utf-8?B?RnFwdFpxakVBNkNYV05WaGIyNjJiSUtTTXFyUm1nVHFhYVdYRVRFSnQwYTNm?= =?utf-8?B?bUVuV2ZBdHY2aWZaVlNTbGdMQ2ZxVzQ2bUsxUGg0SHVlc0xVSWxZYU1OS05v?= =?utf-8?B?WG95YmJWRllGeGUzNDhoZFhINGZNT2haOU4vYUxUTDFySEg1RGRGT1RjUFlw?= =?utf-8?B?QXAyVWVsYm1CYU1QMjI2Qk9sUUJ5UU1ET3VnOE8yTytGTit4eEhLMmZUYkR5?= =?utf-8?B?NzBuVWhQYXY5NGlqYUlaemxMNkRKMUl4bWRpWDFhVExNNW9mZjM5bzJ3czJF?= =?utf-8?B?Y0pWMWFOVU5XeExGVVhoN0cvbVdaanFjS0dlUW5mUjIxT1ZKbFFSR0VlOG5M?= =?utf-8?B?N2dvL0NvSkcxOW5peXE0SkdpZ20xNVR1YzFuMVN6NkM3M0prWDdtQVNWT3U3?= =?utf-8?B?MXdFL0xtM1B4VzRsMGpXVkZTck9WZ3hIajBaNEMrdDhXUTFGSFlJaDhoUUlP?= =?utf-8?B?bUsxUTRUNFpNNzFhTG9ESDJQVzFhalVNQTVXTHdpWG8vcHNiWGJoSXlLMUV1?= =?utf-8?B?dlMyUkdLVTg0SExHcWVYcmMyNmJ6NUs3cHNoWWVDQmlCK1ZCVERhUUFHRDY3?= =?utf-8?B?Q1RucXU5eXRwaHJtakJuSHdYQXA1MlhsNzJrOFNwV2Q4dU9SUkR5UnpXaVZr?= =?utf-8?B?OHQvaExERkpWdExUcjE3Ym1WRVlmenIzNVVmMG8wV1hiZnR1TUw3VWdJb2ps?= =?utf-8?B?OEgyWU9vOThCVDdlYk5jZytTa0lRUDg3YWRXQnQvUUYvajZyTHl5dXhiL1Qy?= =?utf-8?B?YmNidXRUUzBxTVRDZWc5RlB1YTJwdGdDRURMWlN2YnZja2c9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(7416014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bXd6UFBoYXhNZDNNSk9hTmlSWm9nTWFQMGowWVZKdzEvSlk2bFVSTE40YXlO?= =?utf-8?B?L3FxOTVlclBObW1kWFpYRVk5WFNwNWxFRG0yUG9NQXBXVUQ5bVRRb0hmcVoz?= =?utf-8?B?TWlUWjF1Qk9wOW1jNHJYK1dWdTZoNGdRY1hjaXU5d2ZiSHkwaDZPelR6WDZZ?= =?utf-8?B?UERsNk1tVGhhSy9lbUtoQ0JzMGt3SXk5M2RDQnJjdUxaYnlpM1JIQk1tU053?= =?utf-8?B?Ylpmd2J6R2EwbHB2MUZOOEFHNXRpREIyN0RSaFc1d2YrdWZrd1pzQmR6aXlR?= =?utf-8?B?ZHYreVBFV0RNLzh5U2YwQ0tCaW5WUWxrQWxaWXN1UXRtc1hISE4xRHFJbzBi?= =?utf-8?B?Z1BJN0xrbUFaZjRIODVjRHk0cTNTWjRaTW9UcTRwMHBQR280QXcrQk15OWp2?= =?utf-8?B?Q3AzQnByWU5hRnNkRVNBNUQ1NWtQSXJZaWVZY1NyS1NGbmFJRU9KcnRZdDlw?= =?utf-8?B?d1VLNkhqWThDUHNKOFVEREpwOXR0QzUwQ0RYcWo1MjIvcGduRVlNTURUdHhV?= =?utf-8?B?WmhYbG9BRWxDSU5ZUGVvL2VybFVQM0RNR0pSV0pxU2dWZ2tiMVhVejhVckRs?= =?utf-8?B?bEZjUTBheDdWRWFFVG9pTU1DY2djK0JtQ2hvMFRVTWtxSzZVVGU5MFQ4d2pt?= =?utf-8?B?YmQ3ZnR6aGtJdURyUHVtYUluaEcrSWg1NTdPamd4RktvUjUrZGExUy9VR2ln?= =?utf-8?B?MEVIbTZDZkJNVlFVYlJyczhYbEcwQnlMcG9pSzVmbjJNTmt0UWdVREZ3WjQr?= =?utf-8?B?ek1hSkYrb3JOTGVMNWlSS0JuQmtIcHNDTmh0eGRmSnhqMk1yZW5RZDRrcnk4?= =?utf-8?B?OWNyWjR0RnhBL1dtRHU2RUIyL0F5MnJhMGIxOGZoZ2RDR1JGelowS2xOYU5S?= =?utf-8?B?Y210dnJjS0E1QkRhSUY3Wk5BZzE0cVZ2MWtMNVVIUURadmM1NXlkWW51dHZT?= =?utf-8?B?N1lPUCtXWktjajZCQ2N4NmdNOTVxRXBHdjEwQVIwUXNvKzQ4bjNoeFQxTkNR?= =?utf-8?B?aGdUUDRIZllZRWNQdzRqMGNDUS8ramN0dHUwVk1yQmUyVDRHUEZKYzVQbi9W?= =?utf-8?B?enJqZkVDS0l2UGZSb285aXM2Z0hvTXRWYVgzV21GTDE1NUlVVVpMZHpNVXRo?= =?utf-8?B?S1dwVEFEOEtiU1QwRXFNcnpmYkh2MnhFc1NvSjJMb29GN0JKWStDOGNxYTE5?= =?utf-8?B?RFBUTm9kT1FNYXpFV0RYTW10bklHbjJsM1dWR1FiU2VObDFxbEg0ejJOTVhB?= =?utf-8?B?Q0pVWmcvSE1kUnMwTHgzcEprWllCY3J3cFFUYnBKUngyZ1lZSVY1Mk1NamZQ?= =?utf-8?B?dnhaVTRBZmc5MUdVS213cGRUbWNPdFRDRmtkYndSYThvUFhpcUdCdlo3dHJP?= =?utf-8?B?ZWdmNDdoUUxjeXVGVHRORlpQWG5RNUl6cnFQbGxuNjNFRzNMOTlKOVR2QUpU?= =?utf-8?B?V21jMldVQU51SmdVSG1zd3RZdm5SV1hnL29PR0F3NUljMmNZMjdBd0VLQ01l?= =?utf-8?B?ZEl4SUdFZUJzNkhZaTNUVXN3YW9HZmJaWVFOOXNyVXlpZ01lR2FKenQzNnBW?= =?utf-8?B?MXNhaXNKa1RMbW10K2hQcHduTEdra1oza3kzaUVFUlVNOXNqN2dsdVNvcDFi?= =?utf-8?B?QUVsSGpmd015VzlJak5zWWZUSWhKWG5LMnk0eXlNTWowS0hXRHllNVJ3cXBv?= =?utf-8?B?YXBVYmJhNk8yZEFQYVBkL3doeGxlengvS29EWVAyZDlaMytURTh3ditabFph?= =?utf-8?B?OXBPejdrWUIvRGlOK01FaFFiNGk5SEM3RjNUQ0Y3ZWFNRDdKQmJuaVhRVytr?= =?utf-8?B?ZTZleW1MU2ZSd2E0S3VNUG1oZllpdWcycXpWMHhIRGl2T0RBa2ZiNCs0SWx6?= =?utf-8?B?NVFRYm5xR2p2VDR0dDJ1eG5Wb0xjdWxJbUd2SUYwWGtMS1JKUjRlMnRSRkkw?= =?utf-8?B?STJ6bEhBbUMrSEpCNGxVUVF0Z3ZLbFJVMG9HUXh2L1lFR2pkNnVRTUtRN3Jw?= =?utf-8?B?Q1Fmc0t0V01FL2w1b3g5elU5LzZkYngvZUorS0krdHhrOG5DL1pIbTUxYjdl?= =?utf-8?B?Y1lkYXBHMG9Ja3cvUFYxTm93bGs5RnBrY3lvNHpuSHJIRUtJb2hleWtqTEI4?= =?utf-8?B?Vk8zcGNGTGVVR3ZoQkFGclJKNmhDUzhFUFpVbHQrVTdLQkd1L1ZCTlR5em9v?= =?utf-8?B?bHc9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2857b8fc-9a75-4aec-16f4-08dcd3ce58d6 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 08:30:39.1276 (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: gei5Cdu9Q30NR/HquIN3C67VYjWM55ayCJFajOfReBwj6M71hfWeDOCaUKuOr0+5NlOuLK+2XVwCCqd51ddzAJm6pFY+AibmwcLi61nU194= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8403 Content-Type: text/plain; charset="utf-8" Signed-off-by: Andrei Stefanescu --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 10430778c998..e23c4369b6e1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2689,10 +2689,12 @@ ARM/NXP S32G ARCHITECTURE R: Chester Lin R: Matthias Brugger R: Ghennadi Procopciuc +R: Andrei Stefanescu L: NXP S32 Linux Team L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained F: arch/arm64/boot/dts/freescale/s32g*.dts* +F: drivers/gpio/gpio-siul2-s32g2.c F: drivers/pinctrl/nxp/ =20 ARM/Orion SoC/Technologic Systems TS-78xx platform support --=20 2.45.2