From nobody Fri Nov 29 12:39:06 2024 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013022.outbound.protection.outlook.com [52.101.67.22]) (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 8B67619CD17; Thu, 19 Sep 2024 13:49:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753745; cv=fail; b=eGZl0sCi3eWPUZWjO9JBc3kJBnOAEQnTpDwV7ud2FE/0IeP6bjv5FCuveN0EORDbmyRcUHluX13CttC2LgDAkSjSF25hcz5ijxflB/Dc/nJKN98eUsNe+9wa3gQpeis9Ya0XxIlO0MYoHNa5MzPBoFLwDRT+p9sxk1eVUZg7H9w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753745; c=relaxed/simple; bh=WK4Owj4Y4Cm9P4MpXmjHW4vYZ5KrqTdjByDfuUp5bwk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=d+qDmyGPqgjLmA4T0L0lP2fyvjMZNsBSb4LiK7ih5eOId6twS+tjV3yx7BmnaJsSAeLheA6FGl1MC5s3cMMSh33o3++I9lyj2LGQ05DIVWwR/7Hxhd8OrMaVMmdZOkR3yCWrUWWBqz0Cxb396H0u8yQPFjYk1rgcz/bcq+LDFG8= 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=LAulT4G9; arc=fail smtp.client-ip=52.101.67.22 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="LAulT4G9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h3RTtupFJhDBM5slP9UfkwO8XkY2GekZeQ171kDvc/BX44yVys1CMYyD0Bp7L0FXt/hKeclPO0p4URT8YnZqCuXjdVMRjqMC7nA2SCDbJUwLjthdX3tNQmelzRAW0SEm4b+jmVEtpwE+PwjBT9goe62+lOyjP7V9sZO0DxzQ7UaFlg1uc1eQSyTAVj6OijuBrXVg5Az7SyQdhF9guZ8OJPeSgRZHccMOZ8f72wwiQzZMYjommFOlbRwZDULdfnYC70uSsvaua+cppl5ya7U96WbQp2BEmUhwBiJfyVlp7M3TUiRxfjarDhCwp7N0LEZttzu6BV7qXnBeNcTaVKL6BA== 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=HEHYVemPzQDfpMdhfbuzyQ4zV5E9zOILEQA8q0JwEiU=; b=GBl22elodIIPnPrOGf7yhuAzioodqVBfhuXV/1C2ZvuOmgJJF12qBwV9qq8GuxV6wCII5oTtepbYTTP/qTHQbRz6J6J5TCu97tQpiIYhsxG7W25VF9sWZed8wr4Er4gNWQ/gd+nUJR5ovQFbkTBm/rAqKJPUZKoaOiMkA2OXxz2Wq11DYp8T+WqHFVAnCnNKucGE6LgKvmBvhmpYIckihvhShicxYH3Ya5Kjg86m0frgaBISsamiMFplPusSpmsgCWRbsAvvHUM+qCMYemu3SyYNdX/AQ0rTGque71NrTXiFR7b5VhsKjc+TDjhwjxZwpJ6TuebygOtpTetl1z0OYw== 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=HEHYVemPzQDfpMdhfbuzyQ4zV5E9zOILEQA8q0JwEiU=; b=LAulT4G9v1KEzUWcvfStcaEZjMsl6ugV8dSWuyn8uHknzWq5mBcFy3wQI3ukLxyYn+AzZBYTyp6Gb7gy7IMoA59es77Spzufd6QWikX9BuVMEylJSbYZS3jV6yN1lj1uaRUFVhmEKI0bPr/zZxvI548JKOn0b4fCyE0tfQpEUgTlBGOAEyA5KE8P/vd1zWsJVCcYF03h1rV0BlkspMiL+m7THS2HO8jYwlOseL7uLEPQJZg+B2h+eecpyeQRoNIs15COzLNF/pziBup42Rm5Z/wNgnuu2+5+ksNp9Jx2w4XpqYoy6a4FmNtt4G6fuuugR3z6tBotv4ervrXIH9HlQg== 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 VI2PR04MB10267.eurprd04.prod.outlook.com (2603:10a6:800:225::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep 2024 13:48:51 +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.022; Thu, 19 Sep 2024 13:48:50 +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 v3 1/4] drivers: provide devm_platform_get_and_ioremap_resource_byname() Date: Thu, 19 Sep 2024 16:47:21 +0300 Message-ID: <20240919134732.2626144-2-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> References: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR10CA0109.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::26) 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_|VI2PR04MB10267:EE_ X-MS-Office365-Filtering-Correlation-Id: 43152e2d-79fa-4372-2929-08dcd8b1cb04 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|1800799024|366016|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eUVnL0NqZkRaNmk2ZDBEVU1FMDBHWWNydDlEZWY0bEV5eWNMQ2hpUFBOT0hN?= =?utf-8?B?UEViMHk3VUR3c2tDVWJwa1NvMy9Wa1lZczZpbVliUGd5cHk2ZWZLSklhOC8r?= =?utf-8?B?YW5tRXRFYnhYcnFSN0NRbG0zS09zR1J3eEhRbDZCdU9VQ3MrZW5aOVBReWR4?= =?utf-8?B?dThDT1ZxZkVNeFZTNm5wSXRza1dPMmlhSUxXK1c5bmhNb2MrNXZidlB3Kzdq?= =?utf-8?B?MmVMaDZURHZVbUh0UGdXVkdsdkhMaEYwMDk3MUZBMHkyekxMYnU0RVN6UmVy?= =?utf-8?B?Wk53Wi9VenFlS3FQSGpudXpvQUVQRkZIQWNIYTFvT0VPdTM3T0U0OFRMbTFJ?= =?utf-8?B?SzhrRTUxNkNXME1MSXNaWGgyeGRRVll5OVV5QnJTNUtnc2JHakdpZ1RJRlc3?= =?utf-8?B?WW5JZWYzUU5ZWVZMcWN4TFZQQ2N0U1VCRThOcUZNRVhYdkIvMXFveFNxWDln?= =?utf-8?B?ZDJHM21YRW9pY3lYSHZMQndqM2pDM0FoZUdNZVFZS3NRMEhqcWlodGdJajdB?= =?utf-8?B?L2M5RzllaG90OXB0M2QzamdTU29MUlNsN0hpZHNTcEphMEkwWTR1RklKaVVM?= =?utf-8?B?eXBxUTc3YjI1RjFKdGk2dTM2Ly92bG56RTVKOGE3a1BZbEFXc1JnR3ZDck1i?= =?utf-8?B?eGRIMDRzdVl3WEQ2RDE2YjV5emN5YWxzSi91bERXOTZXNHpaZlFmMnozNTM3?= =?utf-8?B?QThkVDc2UDVDRCs2N1Z4K01aWENZQVpzZXJ4ZUtSem5haUNKYVU5RGU0TWJ1?= =?utf-8?B?MlFKTCt2N0s5eVVBSW9jZU0rdWd4eFY2ZlFiRXFuZWx4MlRjS0FYbk5WcFJK?= =?utf-8?B?UVNSMVkxb1JxMjBrZFI2dlpleWVaeUxvQjhtOXMvdjJpcHRSQjdPZWVzRVdh?= =?utf-8?B?TXNGTHlEM0w3ZER6bUdEMjV2YlZHanBaSlF4YmZuQVFqLy80Q0ZrRmsvZVVP?= =?utf-8?B?dVUva1o0Q2lCZkMrV3hwQkRtOXkrMldGalB6VHNOcnYzU0Ryanh3ZHc3YTNC?= =?utf-8?B?cFlWaEsvd092MXdFRC9WdHhxRTQ3bG16dndLV0ljcCtNand1VlQwN2Q3YkJR?= =?utf-8?B?Um8yZnRSQ3VLMU9GekVYdTdVVUxwckhmUG0wckpCZEd1NTJWY25IdzlqTDVV?= =?utf-8?B?MnUxalU1c28weUl0eVZzVzRScTVaNzY1UDVCTWJ3ZUV0Q2xSSGJHaW1rNlpC?= =?utf-8?B?QitUSUluQzIyQ1V1b0tuV29Nak9Kb3l1OWdXRGxVWnRoK3pRN2dEMUI4Smph?= =?utf-8?B?dVdGdkkzdE1mczNVblBZS0l2Ylh1cVNvY0orYVk3M2ttY0IvUmZaTEhLL0p6?= =?utf-8?B?MytOcm9pTTQ4aHhBYlFPclVXUjZpc3AyYXVpeHcyVmo0cVJ5Y24xSDZma2xI?= =?utf-8?B?Q0dUcEd2T1NobmpEdW9QTkRxVDFLbWhoRFo0VVJTbFlyTnNIc29ERnJEZWVN?= =?utf-8?B?REI0KzJqbFFndFVib0RQVUZQRXJ3TWhNeTBGMEpNb2F1Z2Q1bTJNbnNYVVl5?= =?utf-8?B?c2N6TUFBTDhMVVlvR0FmMG5kZW9IZWFVNVdINFM5V2lzSmFwVVVRRTBQNVpQ?= =?utf-8?B?blhQUElqV0VjZytFcGxZckcydHNWTTZldFUzTVNhOXFzZC92RjByZjVPTnMy?= =?utf-8?B?b2oyZ0N0cCtYWTdXQTlrSU1jdkNqQzRsYW5HK3U1WlhsbXF4R09sVGJTaFNt?= =?utf-8?B?SGs3MzZWUmxoQ2JvYXpONnkxRnNWaUR0RHZIdFNKOWJyUUc1STFNMnhNdGVY?= =?utf-8?B?L2l6NDM5bnlGU1MxVXdSeXVHOUdjN0lic0dPSisyc1VoWW9FeGN3S29RVWJu?= =?utf-8?B?VGplRFlxcTJnbU04bkZLR0d5YUpjaXBWMThhUnJXZVMxczU0bkNmZDBwL0Nq?= =?utf-8?B?amxkOFVYSWRZUDlEcFNjdGpValErWFJXb2F4bHhOVkVxaUE9PQ==?= 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)(1800799024)(366016)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z0NMbFVVK2s3NmYreUJzN1VNNzNCbTloYzdmME9yZS9qRUpxSjdsaE1XWGl2?= =?utf-8?B?UnFtbVR5K3BiNDJSbmRIQ3NnRUtFZERBVHo2Y0c3OEJ2OCtCZUVPY1Y0Mkc4?= =?utf-8?B?eUJYRG1PbVllaHBwME05QmFUWTFDOExZZlQvdjhKV1dzMVFGNDJoU3k1TlhC?= =?utf-8?B?c2xpTjU2Qk5KWFZhdWZwUU5rQXBRY1cxYWtLdDR0MERLSnpSRkhnbndoYnk1?= =?utf-8?B?dmFydXo3aXYzRk9lTGJxUTd3d2lnbmhUa2Y3bmYzM09EWjJXcWZBVXNYTzVl?= =?utf-8?B?cVpmQW1PK1lrRlN0MkFxZ3p0U1ZDL1RBSlhuUUR1MlVnRVhzdHJ5eU5PaTV2?= =?utf-8?B?YnNXMDBnaTVoMmhCNWYvY3lYaVYzWUltZjRDSThUdUI0QVJDTFNEd0RRUWpv?= =?utf-8?B?clVmNFJWMElGMjhKSkJGWUNzSldPdGFCMkNpWnp6cGhUTWJPekZEVDRBVXVu?= =?utf-8?B?UDhjNUQvc2M2RTFlY3dycUx0bkZyRzlDaXpPSlQ0blNqL21kRUIrUnpkWWQy?= =?utf-8?B?Q3RkWGRwSFFqS2NMQi9SQ2Z3VmRLcW1TU1dvVlBNM2JRNkhOeWVZUFpYZ2Vx?= =?utf-8?B?dHN2YzRnR0tSdktGdDg0WjRpN0c4NUdOMlVvM2xUanFEZEpTYllPWklQa1dQ?= =?utf-8?B?R2cvU2phUmJHTURnZjBGWlFIUUFGeFFXVFNjMk44ZkJEVXVld0hWMUU5MVJM?= =?utf-8?B?UDg1dm1hTW54VjREdWVZbmpjVkhRcCs1WkFzRG84cHVBNGdyUjBKYWU5VjVO?= =?utf-8?B?QnZ6QlRvK3VSQjFleDQrNUdvV2dzOUpndEpmR3lLbVh5UDlscFcrZXVaNG5y?= =?utf-8?B?UWlud0NYYXpCeTNyaHNSUnFQMGVBSHNBL1YyMytYYk44NmVZTjlPLzVMTGFN?= =?utf-8?B?OTlORmlqUXRWT3BOcksvR0syWlJ1U3hOY1grOVlrQ096YTRXdFFBNTR2Tlpa?= =?utf-8?B?U1JucWpudUlidzJiTUlMYUJCWDhjVFkwV3VUa09lREdOdEZLclFjb2Y1OEU2?= =?utf-8?B?cTh6cjVqc09DNDgvSDBMdE52LzJQSSt6dXJ2dWlLYWxKQlA4aFZRR3ZwTm82?= =?utf-8?B?N21MUHVyK1JFU0ZJSFJoaFJZdFI2Zi91Q2tuNE94R21OZ0xvZE5ZM2VLWmMy?= =?utf-8?B?YlhhTTViMlBDYWZoLzJiZzVudHZidGYrbzgvZmJQSVNpanRaSDF3SEkvREJ6?= =?utf-8?B?Sm1USThibStHamlHTGx3Z1FIczZGbUR0U2RqVkVQcmFPbGNjR3RTaVhHVjUz?= =?utf-8?B?emlzQ1Vxck5TazRDcnJ5WjZLTDJrcHBvbGFRYk84ZGNSOFlMeWpiR052cHVD?= =?utf-8?B?dHYyMnhOYm9BZllGUEhrZW9DdDRPY0I1YUx1em9UQTBGeXRiVU9SYkQ1TFFD?= =?utf-8?B?N3JQVndpLzR3ajFYczQ2OVNjZWFGdG9UcnhjSkV5OGJOQzlLeTgwTDNhNVlt?= =?utf-8?B?VFpMU0Fwc0hlVTNJNTkzSmRBY2tlY1JHMkJMUUhSY1FWTUgxNGtVQWptWEZX?= =?utf-8?B?Y1JTQWJjNjA5alRSTnZ3RDFEZmtxU2EyNVovbGs5R1hTeVdGN2c4U0xqY3pN?= =?utf-8?B?QUpnTmJKVmM0UkUrSjE0dkVOd0hmTUU5WmpzaVh6Vm9XVWZSMDBVVGl6M09l?= =?utf-8?B?QUFMMkNHcG9JTU4xdURDWjFMN3JkNzhySE83RHRvL2pkRDNyWjJTdEExZmNF?= =?utf-8?B?N2lxaVEvUW1EcVFhOVdrajVVNjc1T3JEMGN1M1ZDYUV6L2hkWElUTFZvbGdj?= =?utf-8?B?MHI3QWM4ZzVuSUxJS1RGbE9VZzBQNU1TOEVaNGxtOXU2aUprZm05aUMwMjFT?= =?utf-8?B?ZGRkU3dSY1JMNzE3cHhyL1g2YjdLazNZYnRXZXBOTFczYW5mYS9ON0NKdUlG?= =?utf-8?B?d2dFOHo4aGdkeXNUZ096c2k2RlU2MTZTNlNSeVBKcmRVcm9wV2J0VzJVdUlU?= =?utf-8?B?MlJ6UlFlNkFsb0dXL3dTZmIzcENMeEZkMysrQkNvN1d6MlJnTTgvUnNiN1Y0?= =?utf-8?B?c01qVXkrVEZ5MGRZT0ZqVjVBVjN4R01hUGk3R045S1lPdVRUT0F4ZytuanNV?= =?utf-8?B?VmxHemoveVIvQ1JLeU9QdVYzb3N0SnRPbm1Bdkd4akQwUGFYZVlaTUU1UGtF?= =?utf-8?B?eWFHb2lrNEZ6S3gyOGR2UjNLYVVzMG9tQ0hZRTNwNFQ0OWRtM1l3WFZvUU5p?= =?utf-8?B?OHc9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43152e2d-79fa-4372-2929-08dcd8b1cb04 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 13:48:50.8422 (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: Md9XLRUwzCxo7ePUyx4nV86hJZb+0NzUWMcNYQINp2hG1LTn/eFp+VuEp0GI+qyfTjmxegFfecnFd7xWu3qQ5yUO9OLzU93LIUFrADcvLwE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10267 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 Reviewed-by: Matthias Brugger Signed-off-by: Andrei Stefanescu --- drivers/base/platform.c | 27 +++++++++++++++++++++++++++ include/linux/platform_device.h | 13 +++++++++++++ 2 files changed, 40 insertions(+) diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 4c3ee6521ba5..da6827f9462a 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -108,6 +108,33 @@ 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 + * + * @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 Fri Nov 29 12:39:06 2024 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013022.outbound.protection.outlook.com [52.101.67.22]) (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 01FA219EEBF; Thu, 19 Sep 2024 13:49:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753748; cv=fail; b=YVEcw7rNQihUOzt5Cm17ZN2yXG7nGWn1CN4jvsRmnb0eQ53TPdlzFCgp7H0ba44JOMUQY8pJ6KTPi3DSMuZHbWzlSplIPwRVAKQ38rO77TAbnSTE4C+i9Pw7yaU16UeQdiekvRB2sdjXzBbZoQiignBMB2vlM8Zojat6t5RdrSk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753748; c=relaxed/simple; bh=CIsBZiSYsnHV/NyW+qQHiLHGwpLlQ3gKSnJS8/inw4g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=UZXb8mnmLMDCovKpwhE7Ec/+ueTh5NL0/l2E79lO2PZ2daBheTdluJSRdq93NL+A5H9VBORJktsk/Aer0IyliuKDdJvkLLz3+0+0qgjhkPcGOg/4XT80rbWQP2L9t6D5IrVV5LTSCGP7pdMREokCwXUTTwB42FRg4UV2PZ0YGgg= 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=Np/5Lte2; arc=fail smtp.client-ip=52.101.67.22 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="Np/5Lte2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=drgWBANLxOjHJVbTW3x3ihL8B5Jx/ElC3r3HoOWFWHLnMHwxZjW1D6eoShzoCDbCnQe58skpXmgLMy5ddXIhHA1tsEyAgNzWH2+rv+/tTbuDNRznHDLkVMsqAkV6qecZRe2NyaBpFBsjDS5Xy8dyqcvHTiKLgdTeZF+gcnXvn9eaNQO840AXh2JnGQajueytiB2a6N1dcabA64GBhvXpPk+B/RaQrgUoySaSk//f9pal3PNzhV67z1RwbtS9MdfEkA0HU3bjjp2QAjjzXXuCi1UYOr21mIBSn99F2bG2613K1vytUcFgiJqx9MpXUXxHmgE208rdjGEdHl9d5M9nyg== 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=4LRUHxrXT55ElFUST4jrMCGemrPsb/goitpTKPzmHNA=; b=zPP/hPGIFzQQejovB3+F1N9Oz12Htpj2y9kP+KBzqlXSKKarguYHt+wIB8tXY2p5M+DGbgwDrXgk3nDbWtZNlFu9z4PIMIJcrHD5izb8KZqL1HXJKp5+oWmfAue9KQAyFbrUUaIRN1p0SbaEk+PuzXrJTSOCA2ymH63ssaBAfy+FmlTvRxJuKsI7bMqUruuQSdOE0aWifmXnG4N1a4NT2a1yRv5zH34i0IYyEvTAf3w5SCwR6kL2MkeJeJhW5fegsHXGgSKavwSvNpmHd4USbItPVuuZvmaVwsRRlM8qkiiuhpFu5WiadvYpgocXz9W9sgCXLCokTZuXMe+sKeTLmw== 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=4LRUHxrXT55ElFUST4jrMCGemrPsb/goitpTKPzmHNA=; b=Np/5Lte2sM2z0hJy1zWhJ2WUMGAAw4+YD5eyy9jUV3y7sVW2McrUIVUx9V5vItW1IXfU/bIpmOhiT8Z6xV6gjYxYxt82YHZN8VBG974ePcdNCxKa+wSgK4bkm0ZWT1MjrH0CwlPoVOkUaZ0HJL1gsDdeSYiHs/wm/OsYxbGxLK+6XoaR7nK+hBctrv9H3RYmxSy9jZ5Va1oGg6BFtfXWMIe9h0SPMaFf17u4MFRcAdOrT8Np7sk6WO1geBHKWyawl95Hd6FUApdheMMcJd5zsG82unKJiDczUKPY5pk4QhY+9FmBXY/L96zYE+i3COsIYb8J4qYgw7HZaU3wo6YdgA== 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 VI2PR04MB10267.eurprd04.prod.outlook.com (2603:10a6:800:225::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep 2024 13:48:52 +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.022; Thu, 19 Sep 2024 13:48:52 +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 v3 2/4] dt-bindings: gpio: add support for NXP S32G2/S32G3 SoCs Date: Thu, 19 Sep 2024 16:47:22 +0300 Message-ID: <20240919134732.2626144-3-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> References: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR10CA0109.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::26) 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_|VI2PR04MB10267:EE_ X-MS-Office365-Filtering-Correlation-Id: fef8b8ce-e709-4084-5419-08dcd8b1cc24 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|1800799024|366016|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bFZ5anFlcHBiejRRQjVGamxNQlgrN05xNGZ0TlFaR0RnTDNtZkRRN1lKU1lZ?= =?utf-8?B?bTNKM2h2RW1FdDNiNFhycWdHR0RuNG9HNnM3OHk5MDVFc1ZHbVNQQ3NVeFFZ?= =?utf-8?B?S0hrUjhDQ2o1Nzl2eHg1d1NaZk4rZENpYkk2cUduRnI1eVFsaHRNYStZeVBq?= =?utf-8?B?NDJ2LzhQeWpGTi9oem5ra2VSOCtkdW85S1AxbjhaNmJhZmpIY3RnazBvN2x6?= =?utf-8?B?SHBYblprTGhTTXlWbDlSMEtwM1JzRllRRVJobmJHQXgvQjdlbkFnVzJULzkv?= =?utf-8?B?aEpKTVBUekxkdVlGbEdYaWZXaGV3SVVvYVpENWJkMmFZUlc2NnVBN3JwQnl0?= =?utf-8?B?Vk45Q2Z2MGRIUXB2S2FOUXNjNG5NZ1V6VDNUUnpQZ0d6N0RpODM5dERVNUZL?= =?utf-8?B?U1RLUUVEYVhSdUw3cEV2blBhWVB5eCszNEVGL0l1R2pGMm5WRkdrUytsc3Bx?= =?utf-8?B?NkgvRmVYNTJSRUNUK05qSHFEeGpGOFJ6RUdQVGlYaHYwdlRzR0x6MGlOZE1K?= =?utf-8?B?QWh1aWRDRVlMVjU2SUZlcFBYcVlONFhLS0J2c2U5b1liQXA3RGJxbmN4Ynp4?= =?utf-8?B?ODFuYkU4ak9wVU54QzhSTXg4V3pGQ1JYaG1oWWpRNUNENUloeFBjMHk4S0tL?= =?utf-8?B?d1g0Rit5eVJvci9Db0VRREhmVG9kQ24xSWtGM2N0MlZtNGY3N0tvMS91Z0Rh?= =?utf-8?B?bGI5ZWdZV0owd1VHWEdpdnZHbVNVUGJ5UHdhSXhWVEVueGJzVmIwWGdNRHVx?= =?utf-8?B?eS9Eb2NWRlJ6V05jbWxwK1RZNGtubUw3ckNwcmNJTTNOZFh4U1k2RzRMQ0wr?= =?utf-8?B?U2tZWVJOa2R5NGVKTlo2SDg3QjZFMDJzdnA3a0JaWVVOQURxODJKWHQ1dEc4?= =?utf-8?B?M0NnM2RoMUlGM2QxaXhXOTN4U3VGTkNkb3RJa3VXdyt0UkdpaGs2Rlo1ZlRj?= =?utf-8?B?bWRSMlVuNVBFbFR0eWtXMHNXK1dXTVVuSllNYWtwUUNnaU1renhYWFJkRkdx?= =?utf-8?B?aSt1MDRaMk9mdHdMSTYzeWJ3UmRlcUtiSFlyQ3c0cnkza3BnYk12ZmRnV0dI?= =?utf-8?B?TVJMVzJLdjU1T2I4Rjc2c3RCWDNFVTk4aERDRnJDSmcvRFNxazNTaTVIR0J5?= =?utf-8?B?OEtGZWdNMUMzZlI0aUhmUFVwNnBVcTlXaVRyQjNrWEtXU01Zbk1aMFVnV3JZ?= =?utf-8?B?Q01FUWV4K3pHVFJPOVdKaHIyTERiVGVramNwaUIvOFNKNEZxNGlVS0hkQjh6?= =?utf-8?B?SHR3QlhlSVY3VVlUNjVIR1BuZkIvdUllTzVxUmEzSCtpdkV1SysxbURoMnNE?= =?utf-8?B?ZGJ0aGtKRWtHNWlCcHdwQVZMWTZKaHhSMTJmN0wrazU4YUJzaGxTak43RlFL?= =?utf-8?B?V05UQUtNdUdzeGVqL2RtTzlZdTFoMHJRVStGeExHOEx5UVNiN0NNTlFCRGJv?= =?utf-8?B?eVFOcm1SN1lUVnBJTWRIYzR3djVaOGVjR2hiSzRwYnF2ZnNJNS9rc0JVNGdN?= =?utf-8?B?QmQ0VEhBb216RkM0VnJTMU56V20xNkVjUW13NTc1MHJ0OTFJTGVwWmdPWVo5?= =?utf-8?B?MVlKT0VMUGk0QXNNVU1kSnFlbit6TGFhUWg2WG9OemRrZGpQZytOREJwMjlL?= =?utf-8?B?alAyekVMS3dOZGU1c3NIZCtTc3dFSStyZ1BraVhaaGt3NGJxcmUvVFk5N0ta?= =?utf-8?B?aTFMNjl0b1d5dlo3UEJkNFVEWnZSTTJJRk1NTmlFaVRnbnpsREpwVnkyT0tX?= =?utf-8?B?TkZlU2FjVDg4UUFUZEp4NXVESjhXN2tDelZYY3l1dzEvdnhRUjN5TFlzeXo3?= =?utf-8?Q?7Gs6y8UbfYnnkSf7cK74cN5UrTaI5VbdWeLOg=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)(1800799024)(366016)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TUhlSHF2bUsxazZHMmxIWElpQmRjQ2RVZldYRDBCNW9OUlJKLzhSVVR2S2FP?= =?utf-8?B?SUk4VFZLbkRyd2NZcnYzK0lhR21yQXZmMWIyeEZSUGpJdVB2bDJRY2ZqYVVV?= =?utf-8?B?YjF2S2RISXgxZU9FWDZLeGZSUndET0U3cTV6ZSt4OXpibXg5VjlhVlNIMkwx?= =?utf-8?B?akRMVnZJSGJ2YWd3aTBDNE0zcjJpaFpONE9kVWR4SE5ESlF1TElaZHhUamNq?= =?utf-8?B?YzNSWkxQdXJ1MTNSeVlrU1VZQW9ZbkRLS05QM3NTTkhrYW9CWTYxSlFxMlpu?= =?utf-8?B?bHFxVXc1eFFHTzg4dEZaT2VCeUNaSEJ6d2pJV3J6c1BaT0VPdkpLSEJLNEp4?= =?utf-8?B?cjJRUGNkcUtuOWxaZmJKWjRaMmhJNndRT1QxWmtDYzNaOWp5QS9ZbnZyRVZZ?= =?utf-8?B?RC9LaTh2ckFqY20yRlZINFA0c1QrSEl1QVhYK043UnBmSmgxZlVhMURaM3d4?= =?utf-8?B?MlM2bUIranVtSFUxUXc1cSt4SStBVkIySHVFNW1RbUVFelBwVVBtU0g4RmVO?= =?utf-8?B?eHUyVG84dXZOQ0hyZDFEZUcySjh4NXVTQW1iQmlyYUQxakxRMjk5K2hHSmxq?= =?utf-8?B?T0g3TEtXc1F2YUFSS0tpdlBqWEhlbDBDWTRlZ2t2eHNaNDVhVXI3ZGVTM0dz?= =?utf-8?B?RDZKNTJHVHpFRGEzNVlZL3M4QUxZUUJDaTVqRkkwdlJoZmNsSGIzZ1FJdllo?= =?utf-8?B?YmdhWUhLZUhuZUNLeWJQTVJFTWFPQ2pYVGtUek5PVWRuUGRzVUVEVUt4ZHVz?= =?utf-8?B?Rkk3K2FWYXdNcGkwQTBONnhQV243aDBKYk85STVaRXBjeVdwdXlLYTIvRE81?= =?utf-8?B?cGp4aFQ5UkpiNXMwdm9nYWhNcW1nSDdvSFBXeEJPZTN1bGVVZ3ZkSnl5bFgx?= =?utf-8?B?RjhzUkNxRlNoeFVVNjlGN2V1Ukk5MTQ3ZVVnc1Q1ZEc1b3RJSXJYVFQ1YXhZ?= =?utf-8?B?OGcwMFFyZnhWc1lteHk5MXU0c0Q2YU8xdkw4a1ZEalBabXlaMmdCZzBDS3VY?= =?utf-8?B?Y1U2K1F2SCtPZm9YRlIrMEhuVmZJYmF6ZjEvbG15Qnh3Wlp0bXY3MnJtRTFz?= =?utf-8?B?cE5JSExNOGRMMFB0ZzZkVENZQU04V3Qzd1QwUy9DcmFyZFkzdjc1K045RjBu?= =?utf-8?B?TnhSU0NhL0VQTnhncUNlNGpaM2x5dzkwek5OU1lDcm4zQ2xkL3FuRDJ0NkEv?= =?utf-8?B?d21MRUx6K2dwUkI4RWR4OExQeExsV3puNS91MlR3aFI3a3hRYWFGanp6eDBP?= =?utf-8?B?VDVGeExqbVpQNVF4NWh5bDdUcnp0eGNtMVgxSXJxN2xzdUhhNEt6MDFoTm5N?= =?utf-8?B?Znlkcnl4UkR6R0ZzcUlSbitiNDFaQlJoQmJVdWJ4QmN1ZVNMQi8rUk9ZNUZv?= =?utf-8?B?bUJ3cVVtUXVOMHg1YkFxTkVSQmc0emF5NitFSXllaEtIY3NndzM5clZYTXpQ?= =?utf-8?B?VUxkUWxleitHT1hnNWs2YVdzcXI2UEs1TEV4Ykp6U0FJeFJTLzVqMSswRlRx?= =?utf-8?B?OUFLTUxOb3BqcHBYd1JQYkdxM1o3SjVkakpDVjRqR1RIVTJsOU04WXFLZHRa?= =?utf-8?B?WGd5V3ZhUjVla0VTZi9POWlpc3lWL3lGK2tzK2xhckRWVW9vK2FQSC9odTNm?= =?utf-8?B?dFo1MkdlRnlvdmhNNW1zdjhBc0Z1RmZKS1Z2L1pCcTVZSEpkeDZtNWNBcFkw?= =?utf-8?B?WE5WcE8vcjRFalFyV1dvRjdNZFJiTlVtaWNTajlpQzlPV0tEcUdhZU9ROW56?= =?utf-8?B?bGc4Ymh3RmVyNG41QjNVUnZXamxJeFB6eVRrZ1IzMFJNNnBLLzlQY0kwNUxq?= =?utf-8?B?ek9hNUliZGRkVFlwOHUweTMyVEdVZmNNa1ordmFxLzdCbThvTU1iT0cvR05L?= =?utf-8?B?TnAza21LcnJlUEFOTU5DS1BOejNIa1l1K3ZSNHhLSkxHUzUxdUZLRFpPMDhm?= =?utf-8?B?WnY4V01DeTA0d1pIbUZtSTRmeW9hek9oZURvbzhQYk5QZmtpM2M1dGE0ZTlo?= =?utf-8?B?WVlsMUFxWDRyaHplM2ZjbjNHVEVGSkVEa0RPVjB4VzRUQ2ExKzY5cS9hWVdC?= =?utf-8?B?dWp1Ky9NNkE2ekhueEJGdXhhSkdXUk5ER0oyVHdsNmJBSlFEYi9LbXhNYURH?= =?utf-8?B?ZmkrZUEwVzduM2Q3ZEtxY1J6QzFCUEphOXExa2tqVDB0cENXVVBPQzNzMXZz?= =?utf-8?B?SXc9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fef8b8ce-e709-4084-5419-08dcd8b1cc24 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 13:48:52.6950 (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: ZfKCK1e6GDlauGEQLoXoCKJ+Ko3UxbB0OTs4Q4KfG2MoUg0w6SUPSTwnSLQGCkcE/vEI9Ul2EiWMqIbnSAlBaRUPSN/Jwdh+mIZBrzRW8y4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10267 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 | 107 ++++++++++++++++++ 1 file changed, 107 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..0548028e6745 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause +# Copyright 2024 NXP +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/nxp,s32g2-siul2-gpio.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 + maxItems: 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@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 Fri Nov 29 12:39:06 2024 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013022.outbound.protection.outlook.com [52.101.67.22]) (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 5A8FF19F49C; Thu, 19 Sep 2024 13:49:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753750; cv=fail; b=cccZ7p89luLkLc3Bp6WJ9EMmdXnJePQRXaB/noXKs7BlQjD+5lllLg8pzsDjF28GfVyDlJHQkL/6DC/UyVjT74wUXu3Tsm9AKWEcQapRXAvP5hTFstu1zBV42Hr/dfTj5W32KHK1wVtijPHwzrXhPMHZN5iyoWyC45iZCleyvdI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753750; c=relaxed/simple; bh=hQAolRTSKZ+/lytUBtWWg07LCKf0VBU5y75qgQzBsJQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=DnAZXgRPq2+lCakw0j9rq3F9xtiVqvBGdj8Mx7aRUjiDywASR9XUWWmZLZbsqldGky5uRwgNLbqjWV9X/nJel51xXkZfm1bpFcJyyIE8cvysJTCZhmkfin1ijRjEigIH63wlRbAoua1yXaekj1XIpVJNhdmlWlsjkxTGPXxkTao= 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=rXUvkjc2; arc=fail smtp.client-ip=52.101.67.22 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="rXUvkjc2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pwm/jql5QADeHVEBipTQzh1cVg1waQS9ZnvlczvAgJhP8XV05zl3/EX7JMz4fwmitfPMiYtW/aLbJWVTbAYfmuxq8FE5JdZ7bDGBfOE177uMkM35L4zGdZ4mVasDAC0Ollawn3iOtWegnrdelFIFEVF1DB5LaGue5boFqWcGVXxce3vSSoBe4a4hZ7eB37Q89E4/qaKpG50E5ewgyYUaevGPa2sRtuinR1LInSdG9qd8aj3QkPWugzaoWpfn2jwvCmbJuh8Bhddvm3gAQl0SUz0oMIyBMj3rcYScukvE8FPC/6PgMyE9Q5yz2p7Tr/Eo/vCMJq+5svh4bDDfR9FOtg== 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=MQi7i+4aEouje7mWUyll8Elatm3DJMHU6rtOOmUPpnU=; b=u4zT7az/mJk/Axp8/+NQrlCsDq4Zaoh/WMl8feS0uuJ5kudSch56LbV56jZyNaxhZE+CvyAt7NeqMNxsCz59dJDMhc/lREDRG6lMbkdsbMztGXWvstxW/YV4XgdEfKBWLmgir4MnstSw4mgx926PORBGknaYBhg3qpBJf6IiY0id7ziN/taQQyfzmgqqpHTchaA0J/wQgJOP7aLhptE7YRbgTn3VF51qQ2ElMoq2x1N8tG8kHU/rko9aAyCmsUBrusnwThA/oMemVeiYizlnJE9Z/MdFyrUikQfx0LeESXQlssa0vf9Z24O39LSbUy6vQBX5VeI63+jjGPIaLVhknw== 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=MQi7i+4aEouje7mWUyll8Elatm3DJMHU6rtOOmUPpnU=; b=rXUvkjc2aL/jvx8Mlk769IjpwW0KGd+ay65JMpBkJG5HFrUF5/llMPt5eYxusivzpIq1XiNKdL4zhDnzQCE/C8HwiZ4YbQS/s1fb5bo64UJH4JaqKOLKdjDwgPC1gmy9o6Ra4Dx2p+/6Zoit7besN7RUeccUAaN1IEQ39EFXelGG0GuIY/nvgsu3HQkTH9TEoWjuN9enDNbN7X+KXzYmhnOT8erAU709/YhsZrncKrs4Daah7XHqCZPVtiuPsNNaS+YqKSGjB6L+iMTRiiHTMQgIcEmpmUccT1YwaGF63ko5hoqF3ETzNB/XCMAATvXUjP65ofaRALFwWGeQhSQO6Q== 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 VI2PR04MB10267.eurprd04.prod.outlook.com (2603:10a6:800:225::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep 2024 13:48:54 +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.022; Thu, 19 Sep 2024 13:48:54 +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 v3 3/4] gpio: siul2-s32g2: add NXP S32G2/S32G3 SoCs support Date: Thu, 19 Sep 2024 16:47:23 +0300 Message-ID: <20240919134732.2626144-4-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> References: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR10CA0109.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::26) 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_|VI2PR04MB10267:EE_ X-MS-Office365-Filtering-Correlation-Id: d49c1b87-c674-419b-183e-08dcd8b1cd21 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|1800799024|366016|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?a0NXZTBrUFBYL2puSmlmTUY2SGVuTXczQWY2VHVzZDBIb3hpcDZsQWpJZzZr?= =?utf-8?B?VVpWdHZTSXBkTG1INXJqMjlheUMxaFU2RzFzc2dJdS9aczdYRkRwTmVHSzJR?= =?utf-8?B?dG9CS1h3Y2ZJMlcwR0RHL0J1RXNramZ3UkZibGRqTnpwQmVwZnV6NUZhbGFB?= =?utf-8?B?bUVWeEJBQmZVa1dac05WMndqYWNjbVZ6cEs3UmdEY0VPTjNvTmNNWkdXQmxC?= =?utf-8?B?Ynd4cnllSlFqNTlVVUxnSHNwQWxIZldFdThENHNQM01Ramg0NlRCeWJYQzZh?= =?utf-8?B?VGFCWWdxVlVwcGl6bXJHdmc2UHRZa3FuNjF3N29BSjh2L09Kc0pLdCtHb0ta?= =?utf-8?B?S1hKakwzOGRYSk5lUEZYTHp6Lzd1TjZ0VEpNNEhacjFPekIxTC9YdjJ0TW5p?= =?utf-8?B?bkh2aEM4a0NiMStnOWFPcFI5RUZOYzREdzdhWjIwbTVlYWMySkowdnFWSnV5?= =?utf-8?B?OHQ0eU9QNVlkMDJYblQ1ZHpmdnNMcUNocG9OS1Q3WGpVKzdmazh6dVowM29s?= =?utf-8?B?Z1h0MEFubDlBakxIbWt4SkFTS21TQktibXRVcE12UFcxRW5tNUFwZi94QUti?= =?utf-8?B?YnVyWmlxT1paMWJKaDQrdmZBaEhwR3dJc0prekdCYVZqQmpnRTVwL2pub2xo?= =?utf-8?B?MTVmYWtwbHhFQ3pEY0dvSlMwQjkzMXRwUWVMS0E2MW1yYXRvcVg1UFo3SUUx?= =?utf-8?B?c0FFYTRvOGo4THlibVprRzhWY0FyWi9MRUpuc05ZaHE0OVkxQzk0ckNPTGJ5?= =?utf-8?B?ZGFBbWJrZ2RvQmdQVU90c2xqRGMvV2QrV1NGZ2xUTjRpa0NJakVoSkxVL0x5?= =?utf-8?B?SjRDQlFwazRYMjBZMWIzWExsWFZ3cGNrd1RNQlpaWWREZ1dUT0xwTXkwYzRK?= =?utf-8?B?cndzYTJ0WFl2cUIydGkwNEdGM3E2TGdMcDBQdUt6TjFKMUlLbWlOWmYwdGlG?= =?utf-8?B?V21EN3ZOTjB6MjRmd0JRb1hwbXBrRDB0U0RLV1l0Vm4vSW5RL2xqWUxDR0Rs?= =?utf-8?B?cEoxaVd3ejJKS09Wc2tpRExieUZkUUYwb3JhZUxlZmpZL1loM2xEVlR4ZE1x?= =?utf-8?B?SVA4TlQ5RzNSUFc4ek5zTDQ1eHB2Y1NNM2RJcWJicFY4NXU2THRGWW5GZmQx?= =?utf-8?B?VVd6SHBqd095NjU0ZlQ5TUJ3U1BzMGxlNURMcWhCU3F3cks1L2RPOXd4VzFL?= =?utf-8?B?SUNWbkk3bDVCRS9qVTA5MXE4aVhBb05hRUJsOHdmN2NOQlR5aUpZd3c3TjZo?= =?utf-8?B?RlRqVklkUTI4bk4yc0JpbTdQWHhKZ2F4RDZBcnRJT0xoMTR3dHVNc21XZjJh?= =?utf-8?B?WWlOVnU0b205SFVaeFlCaXF2SjllRklqUTdvTFMrZzZnOHAybk84TTUySGMx?= =?utf-8?B?ZEhQY1cwbnpqeWdXR2pDMXBqakNYZCtGcE5QT3VkOVVpQXpnT3Z6K2V1cnds?= =?utf-8?B?d3lnWlY2YnY1b0JOQXQxcmt2aGRvckxVUzVxdmlINjVxT3JqZXgrcDNTVUw5?= =?utf-8?B?TjBxUUhpNFEyYlN6dzFQWXhoSXJyYkRXMTh4WWhQVjlELzBQYm9waFVVOEU5?= =?utf-8?B?SFgzdk9oTjhFaFMxUThzTUgxNUo5enRrRVJ4L2QzaDN0ZGhYSFRZU1MxclFQ?= =?utf-8?B?ditNTHJoSkc3VlZVMzZoWGQvTVhUSmwzbXE5N1o2UkIwUzdYMlNpQUdBL1pz?= =?utf-8?B?aUk3dExOY3hJYURKQnYwZmw3d3VnZm9HNmVCdUJCNGl1TnpUVnFzRE1SdkRJ?= =?utf-8?B?QnFtR0Vzajc0VkJYdUFHWDdwVEtzSzhrNEM1MmZRK2xUQmtsSHhqeXJIMG0v?= =?utf-8?B?SXUyTGczaDFaUmZKdXNBN2YrY1M5S0EyMnRheVEyNExOVXBtYjBrZTRURXNj?= =?utf-8?B?cFhUZ0tkdFdDOEs1TmNPZlBmUXFvMktDYjRtbkwrVVE0RFE9PQ==?= 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)(1800799024)(366016)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cThuMjRkUzhsTHVWSUtLeTQ2RHhadUZCOUllL1VKVExENk1Zc0tFSzVXajRJ?= =?utf-8?B?aE00eml2U050Vmxhb0syQUVhZFhFaExqcjRPUUFIQzJNSWg3UFFzRmgzS0Zx?= =?utf-8?B?elhnZFJ2dTJMZ0ZJS0hqSFBEQldyNk1aSWhLS1hENjc4K3N0M0ZocUxBQk5l?= =?utf-8?B?dnFKWklFM3lNTFNCMGpuVjlqbjV3cTdtUDRoMnJQUXhFRlkzSC9MYXJ4K3h5?= =?utf-8?B?aEo3TzN6ZmQ2RTFwckx1SXUwaW9weG1tRTJHb3FrWXQvYk14ZFZSaFZjL0ZD?= =?utf-8?B?Sk03OS9ySzEwbklsaG9SWGRFYjVRcmR3K3haM0RWck5zMnNWVmtwU2ZhdUJS?= =?utf-8?B?RUZPazR6TkdSSVl1NnpKalJTQW81WUoxSnpzbnEwV3pZWGpCcUtKWm1mbTR3?= =?utf-8?B?VVRpYzdrS1RFeUlwSFBzU3pRb0xQcGV5TFZzOFRlcXRucXFWUmJHYnFtMS8y?= =?utf-8?B?TGtqN3BRQStzMFJHWmVibnlOL0FlbG5tUnFwWi9sN2l4M0wvSTYrZWM5YWRn?= =?utf-8?B?M2U5YWFwOU5id1NMY1ZsRGhBbzBweHNrdnd2aVVtTHNuNWk4R29lSjNQbHd4?= =?utf-8?B?eHNHK015RTRpaVYxbGx5V3dKR3pqb29IQ0RLR2JBVmxOUUVEQnNrT25qVVBX?= =?utf-8?B?aUlVbzVuUG1YR0hxT2hQN3Z1emd5bFJmVExBUFk4RFNMajliR0s0ZkQ0SGRL?= =?utf-8?B?Z0dvbFVlYXBWVkF0UnV2RmZJSlg4RDFOaHdpTmlWcVVBR0VaWEtjaHdKZ2FF?= =?utf-8?B?LzRKZWh4djgyT0hldzJaa0w2ekJ3NnBLa1dwZS8rdjg4YUp2TFVOUUxhdEhV?= =?utf-8?B?MjVzVG9uL2lLQnZnVG81cGRSS1VxNU9yRmloY2RnWEZXczhQZTRXSlJhaVla?= =?utf-8?B?b0V1Z1pERm81b0REc0YrWEtiM3pCcCtBakw3MnhwendsLytpNEtsNHFLYnlp?= =?utf-8?B?YjNtWG1NSVpVajFraCtvdzhKOXR4ay9rTmpxRWVoS2NBMUtvNTJPdnZWdEdk?= =?utf-8?B?SDlMWWhHMzRCK284ZmdQQldBdVM4RlhVRFY3Y2hhaWxBUVVsOWVuT3hZVDZT?= =?utf-8?B?S1ZJRnFmWm5LRVZJMFBwVnQyaWp5dGZqd1BDRThMNmRERFpzWi9lS25hUFFF?= =?utf-8?B?bDR6aENFczRvZElKMlJMc0cvQkZOTFYzeFl2OWpVelVaSDN0R3pZeHk3ZVMv?= =?utf-8?B?TlZpcFBPcTB1MXZ3SFlXY0J5RmkzczIrTkRsQ1FBRUd4VlpSTEV1K3lac0xO?= =?utf-8?B?Y0pVaVFLYWFUaWljeDFUWGcrcGpYbmhhcXN1OGpZU3k4UnRyandiVkpJaGVw?= =?utf-8?B?UE40d1BLUzB0N0ZZUDJJQzJuck5QWVJMWW1hY2dmNmc1T3BKbFU1ZzNiMVNM?= =?utf-8?B?TjJPV25YWnVTMHVhVTJSM0xMeUtrT1RsaWg2YkM5L05Ncy9zVDFtckRBeEZm?= =?utf-8?B?NHlBMVhWRUUwSnc5L2h1Sis4RkxFYmtZd2xiQ2VFaE9VeVdRbW5wVThtRmhN?= =?utf-8?B?QUdBN2hlUlhJdUFoR1N0a1AzdlNWRTEwQVlMQjdEMTJmZkRXNmR6Qk14d1Qz?= =?utf-8?B?Q0M3dVcxOG5GK05MRVYzTlJhRWhOczlhelV1aE1pMnprQlIxWGpmanZQSWlt?= =?utf-8?B?QWZNUlRCc3YyWnFLR1l2NElSQmJ1YzRDSGovc0cwK3Zkcm9XSDRBdkJ2SHE1?= =?utf-8?B?Q0VtZnQzM1dJVFNqbzFwUlZkZkNYTWYrTjVLdlBXaWhQdzlPZFl0WnY2ZXJi?= =?utf-8?B?NlFvdHN3MFMwWVU0M0JLbjYxNXN2bEVhMUZSdnZFWk1aRDhkS01SREtwQmZr?= =?utf-8?B?V2xPdDBrVDI0SmNncWRhTHEzZm85M2NhNDkraXVDeU0vbFRMcmpIMmNSVXJJ?= =?utf-8?B?Q3RkeUlLSDh4WDdrRGVQTndnTXJvL3VQQTd0cWRHOENtMEJVSFBTTEUxdUlO?= =?utf-8?B?SHpPc2ZKM2hPWlEyOUJySjU4S3RDODgrWThzWlJBWmVjRGdRUXA1VTA3aFo1?= =?utf-8?B?TGxOQlVCeElTa0NyL0t4Q2hjZmMrMGVocS9QM2FDcUtxOXBPaFZOMUlyblk5?= =?utf-8?B?YmV3bmx2cDNMSERLaTFRUnFRUitYME0zcGdRaUw4ajRnTTQyQ2VhMnBnVUxr?= =?utf-8?B?MUNydU5ITVVDd3U1UWRMK3I2MXAvRjFJb0hJRklzYXhhNFBwZTBnNUhEbGU0?= =?utf-8?B?NHc9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d49c1b87-c674-419b-183e-08dcd8b1cd21 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 13:48:54.3706 (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: bxIzTghbWeyFM9cQPchyU66HWdhqCOuUOlBIYwXP1WoLs9MV9t5laZ9cp+DK+NtZvs469alT8pEy2RmB3j7Hgbzio/jcdnEsQ8ruIZiTPs8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10267 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 | 576 ++++++++++++++++++++++++++++++++ 3 files changed, 587 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..a69cbb3bcfaf --- /dev/null +++ b/drivers/gpio/gpio-siul2-s32g2.c @@ -0,0 +1,576 @@ +// 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) +{ + guard(raw_spinlock_irqsave)(&dev->lock); + + if (dir =3D=3D GPIO_LINE_DIRECTION_IN) + __clear_bit(gpio, dev->pin_dir_bitmap); + else + __set_bit(gpio, dev->pin_dir_bitmap); +} + +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 Fri Nov 29 12:39:06 2024 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013022.outbound.protection.outlook.com [52.101.67.22]) (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 2FCC619FA98; Thu, 19 Sep 2024 13:49:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753753; cv=fail; b=Ve588/ZRvJwwbXZOzObK1+eVF5yJooX6DAkR4HyMThWNP3haeviL2qHcK5zvvLRDHoD/y3kQ910xzGUcSs1YBU4YPRmOWq0qn8X2+Sa9Pe/03yf2FixaUUGbxV7Tg7SRZ4RmE0UrVK9eK7BoLvkNb4TAU/BuDShXyFvQCu+DTlU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726753753; c=relaxed/simple; bh=moCczoN7ygS1III28g3DdgZgeHE7RKxMfZar/BqQvHo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=WsNrEYG/PTg3kqCrnUL+XPkwogW5l++TcQ0YByhtymiRkCTmA+qdxqqolYoUp4DER3kean8VC4BsRmebEgu038JSVrP1XJJy4GfpZHTTEA1Hc5nrieAmZUErJq7Zo5yTOcwShZEgFaa/HPGOhSu6E/dr7LQoQWmVgX8XyIK5iOo= 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=jqeZ103Z; arc=fail smtp.client-ip=52.101.67.22 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="jqeZ103Z" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wJaxtyj0tUw98PHfj+hlDt5IkJH9Pk3vqbUyV7gYULztzMTBMxl/mY0rzAPPWqh5wcwSjufCXlL1eCaLsFe2Vcidi9rFCH4xKlghlaty1P3pR41L8CyCBJMHvZ/Up1F6sAIi84SkA5IWgzODGjItMXMq5oZcA7rtjBFkcWVDQ6xAjV67eGT/Rl9XZJ3ysA16fD4YWneD10h+F0BKk8jdir0Dcm896XmrkfIyXAMkTixGBs9scyN+EdInCYEnTv+8HaV++GPAB4tuYKIHitYgP7YohugKzZ3ekd4L8V8hPs2Cru7B5YJVVN+vk5o7MxhrCirlXLB3rYO5gHS6UDv5Wg== 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=Ty0jPpd6KG9GHfJpRmF6LhWq9lq8U/PuHPpZO7NbLfI=; b=RzD8N7TtmeuA4Lla0yBWQbr8FkTc+47uTdZKH6giYVLHmjIlz8lKuRLp8l7+9wc8PkV1bNO21nZ2bYzhpdPHSN+DJQFqJOOgcKf46T+pfdkQ1NZ0J5oOslaaSVAKXY5j/8v2KpgXADwn2dBmMIevobAjv/TJF69YJy9zDWE5X5Id2KscizEgm4ssMfamg1ptaHCMbEo/s7L/9DIMzMywXzqSRnwafxnyj8m0H+pGfrfkNx/RkNIZ/l6R118HqeSDp+Kd+ameTUBuGdzJ5PX0YeOYkWYntqhJXcVsz3XSUAJFbVSke8fJlLlvqffHWvWSuDgkpFJdLt72VEpo99RrcA== 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=Ty0jPpd6KG9GHfJpRmF6LhWq9lq8U/PuHPpZO7NbLfI=; b=jqeZ103ZFyvPpKdFQOFmgXpKibChZMZnDDm/zzL7YlNFlr7tNQnaxBD+2TAYQRvN5H0SgjhyJWsoyrIYgkAmW1JwILRoixcKi28xGdMW/Vh/nZv+T6E7fAjGjXrjWSVN155mlS05h7vQjfA6E0tTEj8yyyGrzQ4WXD911qKKFUkFtD7zhp+U5ADRh/3vbAcV5CmHaMWaXmSlXA/ZYCvYFyRSmh+lfFQAJCaEtNIM0zHBBWQxtPr6uPvu8nQDc3dLIhKlmSXrMbJWR2gSPTjDxQo2aq6Uj5djJs4Ubps2wlJzla+f3YmyhFFpwlqXMnGJkJUsNHrKeCUAaO0+Nq9b4w== 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 VI2PR04MB10267.eurprd04.prod.outlook.com (2603:10a6:800:225::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep 2024 13:48:56 +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.022; Thu, 19 Sep 2024 13:48:56 +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 v3 4/4] MAINTAINERS: add MAINTAINER for S32G2 SIUL2 GPIO driver Date: Thu, 19 Sep 2024 16:47:24 +0300 Message-ID: <20240919134732.2626144-5-andrei.stefanescu@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> References: <20240919134732.2626144-1-andrei.stefanescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR10CA0109.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::26) 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_|VI2PR04MB10267:EE_ X-MS-Office365-Filtering-Correlation-Id: 554d5ef2-dc84-44cd-5b20-08dcd8b1ce1c 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|1800799024|366016|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Qk5MejlEazNYUG9sK09Jd05YQitwUTgvR2lUSWtWS0NTeUZqNCtPcUJxYmIz?= =?utf-8?B?bG5aUHZ3bmFOWTltaHlmOThLSzNYSzk4MGZyMGJLMUkxa0NuSWdEQUU5bjVH?= =?utf-8?B?TXlYVVVzR0FRZUtZT2VLQ1ZiVEdmNThzYVJ2Sy93bnZxRVdvOGZUOWV0bjJH?= =?utf-8?B?dXRObFdicUE4L3MxKzFGYkp1NlhMUTNtMFBnQTZtRlh2UjVDR0R6TUFsZTY1?= =?utf-8?B?V1gybHMyeURiNXc3dTNNZEdyYmxWUkJpNy94UzJMdWZpajh6MzF1S3l0NmVY?= =?utf-8?B?TGJiM2FNTGZLODgvNTdFNGIrak9ydlBzajdUNWVTU3IzR0N0WTdrWmE5U2hF?= =?utf-8?B?SXljaEFlNXQ2SlNDdForQ1IxZ1NBTzVzZnpoNTBnQ21sVFdZTDVlQktFOEVZ?= =?utf-8?B?QmdqVEtTY3YzU0Y3bDRrUkd5M0loWHV6WEJCNjVsWEliUVZ3MkJZaENIN0hy?= =?utf-8?B?RzIrbmJqVC9KUmhmdmFKY1VOZTF5bGxVQnBTTzQ4Vnc1S3BxOEtnbWxib0d3?= =?utf-8?B?S3I5N1E3ZG9TdjZtdFE2M0F4QjcxaXN4dmlLTVFVMkEyTHYzdFlpeDYvU1Ry?= =?utf-8?B?NFM4MDFVUmoveFRwc0ZFVE9OMGVMMDZSbGxpaVhmWHNuYllZaHRpbkNHK3E2?= =?utf-8?B?YUhCU0RERGVEN1d6ZnNLY1Z6cG50TUVOdXBQdGh0LzhQT3Vyd0daMnorNWxn?= =?utf-8?B?MFRjbzdLSlR6SmxCeVg3UlJra2k5TEJzWUdNNzQ4QUROV0RiaTZGVGRZVVJ4?= =?utf-8?B?RDVMM3hrQ0dpNXJZa25PM0hCUlAzbVRvclYwUURoTlhBR0tIbHI3eDI2Wi9n?= =?utf-8?B?dFhpNWkrY3RkZDI3U1d0Y3h5ejErU3JLQm5SUGx5N2dGaEsvR3kxaWdmODR3?= =?utf-8?B?ckNpM3pucWp3RUVTeEV4T0xnUFZqbDdtZFZtaWx0amNnZjZDcVFSK1NtZ2Vk?= =?utf-8?B?ZjVPMEo1UHljaXRONndFNHp4N0tLb2pGdkp6NHUzY2pQZFliTHphenRtN2lE?= =?utf-8?B?SE0zdjZFK2pnRm1JdkhLK1ZLTzFDaCtiRWlwNTIvOVBudE1JaE9FQ2VlQytW?= =?utf-8?B?VjgzZHJ1UXVFcGc1R2loRS9vUVRBbEJlcHg3bXhNUDl5aGdDYU5VblpnZktL?= =?utf-8?B?d2dCNE1GUmdJVEdLY1BRbWIwaC9CUFcxNWZSdXlpeUI3dVlqQlhaS2l0NWF5?= =?utf-8?B?QTNEb0w2cDh0TmFTa3RvczNqalpqc2lvRFRxNmk0MmRnb0FtWlBPTEttU0FL?= =?utf-8?B?YUxxNENiZ0FVQlVtQ2Y0cUd1U2N6a21UWjlLYVgxVEh2TzByTEJJWWcvTEQ1?= =?utf-8?B?RDlmMlFsQUs0ckNJT0tlMjQ3VHNZeFVEYU44WEk3eXNkcWg2ZHZ4WFdUenFX?= =?utf-8?B?ek5VVkJSSjNSVnF1YURXZzRzcVVWT0RIcjJ4L3dRTTRsWCs2TFR6bGJnYmI2?= =?utf-8?B?aWRUZ2VkdEpCUGhaSlpGcFBoeVl2ZkN6bk1qTFc5d3pReHlmRmp5aHRHOWRz?= =?utf-8?B?VmRnS1BndGlKRXNWeGFEZDE5b2Z5MUpEWEtUR2RaZTV4OTYwWDNmd2crcGVr?= =?utf-8?B?NDVaek8rQTB5eGd1czljTmp6MWs0ajZKV1BQNmxKajFCS29wUHl3NERXUmFr?= =?utf-8?B?RCtqbjU0TU5EY0phNEJkRU1OYTJPQ1JORmd0ZWhtSnFxeWVtM1BVaTh5ZHJz?= =?utf-8?B?NzhsdmdHbjJnd2lKRWUvSWdnS2xZVVFNT0lyQUczamVXeHlPemRKanNiMHVx?= =?utf-8?B?NWd4Zk8wV0JLZHFjRDljcWNwRkpISStkNWtsc3hSeTcwS1A3RTNady9ZM21r?= =?utf-8?B?Um5YSmF5NDh3YlIxRWloRHhvakgzc3ZlckNUeXR2N2xDK25lR1ZlQWRkZmlF?= =?utf-8?B?ZENUSjlGb3hjdlVSalBsdEduTm5UVXIvTCs0eXVXUU5KbEE9PQ==?= 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)(1800799024)(366016)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Yk4weGtDOG9LMHQvbGs5bXBxaWJlRjZqNUh4QXcrQ3dpVVp1cFl6bGdmZlJG?= =?utf-8?B?dk1HVmJTVEFRbWhFR1FiTUdJL3YyQnRNVURjejkxNC9jb2kvL080WllRd0h2?= =?utf-8?B?cGZxWWxBaTNCUjdZaHpqODd0TkQyOWxwNWxoRXI0ci9iQ2NVRDlCb2UyVyt3?= =?utf-8?B?Unp6Ynh3eG9HclU2UFh4L0xZcFBOV21BbmZBNlYySEVxaThpZUlQMFZMVUsv?= =?utf-8?B?MVppZ0M0MXVhanU5MDFqVHg4bW1kSldCRG9XRTg4MzNDS3JnS3hmNTlXZW4w?= =?utf-8?B?WTBnRzNqT2JqWWFWekg3MURqVlhmVU1BRGEwaHdHdlp1enhFNjF0T0xESmhI?= =?utf-8?B?NFkvY1loR0UrWkpXNFVXVHM0eXFheVViYWs0Y3J4aHVlQWZ5cXpzdDJDNktQ?= =?utf-8?B?WTJRdGZUT1V6RUhOVGNRSEcwRWNFYTRKeXNNR3NXUWFMT3d5VGNodkk0clpT?= =?utf-8?B?STVza1c2MFhTU3FHdVlWV1VZV0tpWlBub1JkbHhKVWMwTkJCTmRGOUFpWWV1?= =?utf-8?B?ZHdJTWkxM0F1cEtkTWRCbzNQUXBrc016Q1phZVJXdkhjeWZEMHpUWkF5Z2dt?= =?utf-8?B?dXZiaVdqeElNdjI2dGV4UWYxL2h3V1VMMHp5Q1JzMEVlMm52ZFRHaU9qQmJY?= =?utf-8?B?TldIeWgrRFlib1owSDcyVVZOQjVEWkQ2MVk2ZE44aWhjUzFuMzFzNVRtS1hY?= =?utf-8?B?V3VkVTBXVWNkd3dCRjFJckNCQ1Qzb21XVDk4WWlUbXJieWdXYnF1WmkzNmxK?= =?utf-8?B?Yk4zUzk0WE96YjVtVytHblNEa1p0dE0rS0FOOUhPeFYrWW1KNTZtRDNiY2hz?= =?utf-8?B?UVFjekIvb0o5NmpRa0drUjA5TkJmdlRtbjNybWxOUllTT2ozVkgwVms5eU5q?= =?utf-8?B?OFFyaU1QQnhxOWpmM3krajM3b1c3ZTNxZUJxSGY3R0RSRG9wT2I5OWJCVUIw?= =?utf-8?B?d1hhTHVpNStreHE4cEx2ZnJsUzlBR0xzZVdBa3ZOR0sySm1BVXpkS0J3T1hq?= =?utf-8?B?V3lEUWFmcFNxa2NheXU2VFVCRlVFY2p5RjNpODRFQm44R2ZDN0pidDdpNk9k?= =?utf-8?B?YStMZFcxZ2J3OTdFdU10N0MxQ3gzWUdtYUw1TitHQmVaYjJZOXJxcUJFZlpT?= =?utf-8?B?bnIveDUvdUJHdjRGaVE4OFJWRFNwVEFFbFhOQzNjWmFVaTFkSU1mRUtBVGZG?= =?utf-8?B?V2tzaDRscjcxVTJoWEJudEpEdjExdGZ5aWhWTGpDUUgwZnZISVhRT3Y1OHFC?= =?utf-8?B?UGtWajNsc2JPUWE1RURlVEhFbTUrMnRLdi9QWXd6Syt0WnR3ckFXRWlYc1RO?= =?utf-8?B?NmE3cmxDS1l0N0orQjB2TXBqb1VQL21La0FrR0FCQUJwWUhrajRxT01TTGdv?= =?utf-8?B?VE1uQy8wTklEbjNvTDg3QWthQ1NwVlNxVm5uVjVaVTkzcVhDN1RiMjQ4S210?= =?utf-8?B?Q0ZvY2RmWUh4aDFkbWh0Q0t4SnZjNWtONG9QL0ZVZ29reC9ESkEyeFZUbG42?= =?utf-8?B?N0VLZ282UHVrSXUzMmVycjdJLzNudlpjT3hUQzZMUTZYM2tlYWVKQi9XV3Jn?= =?utf-8?B?ZmgxZDNqNjdoV3Y4d2xGVDg2aUl3eHlUaGI1S1BoTHJoMnZvK3lCS2U4WFAy?= =?utf-8?B?WnNNMlFHUnJaeGt6VHE0ZFRBYTQwTVdVRHdkbCtBVW5hYkxLcE5FdWZud2Ri?= =?utf-8?B?S2VuVVArcERMTFFqaXB6RXoxR1grV2ZhenFXVk9uTmdWdmpXdEZGWDBZdXY5?= =?utf-8?B?SVpCbXpZblpWUlc1TTRPL2g0SzFYRVU4Z29yT0NWVjlTSjFjOTBDTEVRa25X?= =?utf-8?B?UGtrK3hLbHRITUVvbzBlbTM1dFB3TWdPZXVuNWVocW4wUWNRUWp5SXZicVpX?= =?utf-8?B?ZGpNeTRuYklJTzJZaDZLeDUzazVta0ZDZGhYQmFBWU5JMW05UVVPaTNLd25J?= =?utf-8?B?THdXek1McGt3KzJkeWVPbmFQTE5PUEhaNGNkRm1lTHNmdGJYNnZIVHZQM3p6?= =?utf-8?B?NHhLQmQ4VmFIU2xHRDFaVEtCYzg3MHhQVXR1SFkvK2s4bG5YOFQxaTBjUldC?= =?utf-8?B?L05FUGcrN0J6aE80azlaZG5kalhNRS9LZXhiNSswUlhPb1g4V3o3bkhOMFdU?= =?utf-8?B?eldiaTBXZGFBSXYzVXUxYUxmc2JYbmhLWVA5cjBEUTBrYW9HeDNMMjU5VjZB?= =?utf-8?B?MVE9PQ==?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 554d5ef2-dc84-44cd-5b20-08dcd8b1ce1c X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8487.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 13:48:55.9872 (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: eDEu7Uk+WqGhH41FDzvyZtwtB9fcf+8JBVj8knCvGN4uZy6sQFjkzFhkmPVDQ9nz1G+sLZwsnDgviI8cdtoQOpov6CMNKASBPjodRH7l5vU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10267 Content-Type: text/plain; charset="utf-8" Add myself as a maintainer for the S32G2 SIUL2 GPIO driver and the NXP S32 mailing list for reviews. Signed-off-by: Andrei Stefanescu --- MAINTAINERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 42d2d950877c..f47bdcb2c1c7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16585,6 +16585,13 @@ S: Maintained F: Documentation/devicetree/bindings/sound/fsl,sgtl5000.yaml F: sound/soc/codecs/sgtl5000* =20 +NXP SIUL2 GPIO DRIVER +M: Andrei Stefanescu +L: NXP S32 Linux Team +S: Maintained +F: Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml +F: drivers/gpio/gpio-siul2-s32g2.c + NXP SJA1105 ETHERNET SWITCH DRIVER M: Vladimir Oltean L: linux-kernel@vger.kernel.org --=20 2.45.2