From nobody Wed Dec 17 15:33:02 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013021.outbound.protection.outlook.com [52.101.67.21]) (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 EA7F51A08AD; Tue, 16 Jul 2024 19:28:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158139; cv=fail; b=YM3ryDzC2ZcmxFqCO/eMIfr0/4wAyOAf3GdWvKNZAoWWSIaKwRyBnNsIXTjUTVnjfcSPtkr/TX1hWkzqV1J4gmE0OVmpZufq/TrZrH4+Ubw8huJXUr2jsIl0t54lUVTmHK+tl+J8lrnClsU3jefNaooVnnUiwz83LuoVsqLDT9g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158139; c=relaxed/simple; bh=thMYuw3K3tfwqHKNcFWNXXaV+D1MTytBhVgxdAZuLig=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=cvxJ6nIBs1+V3ACxRWfKmyXZIZoCJApqHdFwNpzo7cQPl/dOC2UKzMlUp4GjwyiGBZWFW5zcjwfAc1T/eXPQ912/qyz78HKENAqpkLibFzhcL/Iqi3k5gHnnClN2g//ta3WNUb4utBZiYFIV9ojwC/gKVkp7+vuLXHmmSVvnh+c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=N9E9gtSZ; arc=fail smtp.client-ip=52.101.67.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="N9E9gtSZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XCfoWHzCT6M0ssfNl4yRJsIjciBwztvsYoBL0XqiHyAqvw/LPzR3G7rk8LiGydqK/vBaqbJ092OSxHY9JqikDKAb8QhmajQ+Fz3NHrwGKihks2Ge3afYWBSHCs/TQA508YFANbCzRQd4mAOiMnAAjJ4/gROxxNDbY3y3uTCa5BVtCh/4CQWxcGymuFWydHjPPsRcEpkWImyyS6nv7HgVvTO791yvjc9HSBhroka8ulp3TxDlab7OVZg+OCrv64Jm4a/EImFLWjqfm8zOHmzkpVlRTgXT10CCxURMEzCi7K52RWdNwQTJIvd1VKvSssML8nuQIvNeNHn5rEVvS7e4vA== 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=pOgSjsyJI4fpqnvbkGA1XIIeG3ehGHzyIXPXA2ivp7w=; b=EkB1MoOuZ9qbkoCnmVU3Cd9ugaHIYi7ZAS7dRmZJkvRN1AznUlENQpLt5d3Mp1dYhBEbb7XzCvlwpo6mVbqkB5YI5XiJjCVzsW/POLMQLokuAjN6rfOzDX3VEIcaqxelDdIVwC74OZ8ZsKoazrVJL7B7LHfVYsvz28DNG+MEznakAz1vFKI3zj9SDJL49XG5ANjXpAsmvlgrKC93KcXLrSSbDi+IXner/v+56STbUVV44/xjsB7EM0b7A398UkOWMGnhkw0LR/GusxwL/e6SRWjP+LQdJoiqqP9qxaSMBpNkKeGTNI32kBO1e/kutzXE6f7e6Darb4FUT6xQpOz5tA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pOgSjsyJI4fpqnvbkGA1XIIeG3ehGHzyIXPXA2ivp7w=; b=N9E9gtSZIF0cZGxT8rpjlyf+w20tdqnZ10o6U/GVtw2KJwlNVy45UvHn5ZPbW1v00f9pSzVo1qogiKx9Mi4OlFsOPs0LLjJXOOvPnvWOiE067DI8dJt0+6CBqmDkOAULBfLYua00X0RqERW9Vqiw8/v/5Ul4uhMct5dIlTDlVS4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:28:53 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:28:53 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:24 -0400 Subject: [PATCH 1/6] dt-bindings: mfd: Add i2c device adi5585 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-1-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=2172; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=thMYuw3K3tfwqHKNcFWNXXaV+D1MTytBhVgxdAZuLig=; b=Sv+SmKSA8iSBcTYYYn4nHqs5dE4ZNuJZg0rQIHNnDh/nk5qGvWx7lk1WEvps2Zj8YOlbSPOSC 1S/1aQ/Xs90CHvgoubSb+XoQS7CdO258O6SYCxiX4gCpolfyIM15gxn X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: b2e23c07-ce36-492d-124e-08dca5cd871d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZXJLcDR3MTdNNCs5SmJDNmF5T1c0emdJQmdQbllrVDd0S25FMzJJUk1TRzll?= =?utf-8?B?c092UllybktmN0R6TVFSVzVSNXc1NmloZDE4akxWR0FGUmlObG93RDJ5ajVP?= =?utf-8?B?a3d2NXJjQUFMbUM5TzREbFNtS2lmOCtWdUFFcWZkdkFoSnFCaU1hSUdscWtt?= =?utf-8?B?VFVaY0JJaWRnelJhbkJFK1ZoTkZkYmNpL21TUm1tS1EvbmpyRUcvbVNXS1Fm?= =?utf-8?B?bXpXRDIrcUt5V28vK3E0RjBHckt0QVphWFJmVXFuYzhzcTFFSnJGMVFQM0hz?= =?utf-8?B?SlNITFVuUWJERzBBdytUb3JNRUhYaTE3NG9pMVVZSzh3R2VsSlFJK1JobUl2?= =?utf-8?B?Y21wNzFaa1V2VE5PMHVldWdMUy8yUEV6aVdaczNFRzZLZW1KR0MwRStsVHpU?= =?utf-8?B?cWtKbVdUcktRUmNCdGNtcDVCSEc2UEY4M3ZRNnNZeHlNdXZsOHRRR0doL2dT?= =?utf-8?B?UmpIQlY3VnpOL2YvNGxJSFJHYlFnVFJQQ0NkVFFOMnBLcXlxN01hN1V1TUVW?= =?utf-8?B?L1MyWlBUREkzL3pZTi9sYlpOMjUvNHBGNzBZeFdaL3BCeWcwLzJMMXVldFhv?= =?utf-8?B?NXBiR1EwaU5Ycm5sZ1BIQmdNTmZ4ZzRjeTJBdi8wZ0pkS0RFWi9MQzliL0t5?= =?utf-8?B?M1ZKb0pId2Z6YXhRTGpDMC9WUUNuWVc1TlRmU0ljYmFjOUk0K25QY2ZMTk1H?= =?utf-8?B?L3UrcUhObjZWMHhsQm03eXF4MlV5eWIrYWpSb01oK2t3SmovZWEvekR2RmJ3?= =?utf-8?B?TCtaZ2tWN2ttMFpYZUtYd0J4dnhDa3JzUTlXUVBBMjh0Z2ZxZEU3VE5xaGd0?= =?utf-8?B?Y3JtK2VpVXB2Rzg3K0IzNFQ4UzhmeUxXU1JJNTFueU9nWU5zNmhFK2FGQzV1?= =?utf-8?B?OG4xbHVhUUtLUGRaL09WaERuMWE0b296NzViRkVGNFlkVGlJY2c3UDBRTS96?= =?utf-8?B?c0FCN0RDOGE1dFBmV003bTJWTTJCV0ZHVDkxWEdjU2xWUjFQY2JOU2c0KzBD?= =?utf-8?B?M3VldDJGV0FYMjJCdlNhV3ByYUtlM3JEOFQyMHNPcXRJcEZDekZPVGhPVEVN?= =?utf-8?B?R3BINDBtbzRocnUvYzIvWkM3VU15RHdCR3BzQ3N0YU9obXQ5QVlkV1JjTHVT?= =?utf-8?B?NDQ1Mm85aHlRV3ArRTIyS3JaREE1WGFlWlNWZmZOc2ZoRGtjUjZXbUc5Z3ls?= =?utf-8?B?Q1NwWkRlaEtNTEw2QjZXRFRldFBZamhCc05FMnVoaTdjczFFTUxkNTlLZVJy?= =?utf-8?B?UDllMTNDUkpiK3BId0FKRkhKUEFXWFBMcWUzOCtPSkxFOUVoTmJSY0NMbThN?= =?utf-8?B?SE9xeHErSzYrK3BCNFp5bEMxNkJTRGVaM0NhMnF6bTVJb3pzcDVsaEdZSDNJ?= =?utf-8?B?ZU5xK202aGwrNVNrUFMyTmM2Njd6N3BSRHRNSjdIK1c2YVpXdlkwY0V6SHFm?= =?utf-8?B?SitsdUdPSkxuNGJIczNTL2lFR3ZVWDdHcWdTTXJvYy9QOWpJVGVuZE41OXMx?= =?utf-8?B?RERscjRRNnBtOXMraktPaGdqMS9vb21GZVFDTkE5cE9GbnpoY0x6eGNYSXFm?= =?utf-8?B?TDFCb2VKQytNUDQ4YSt4VWQ2eUFBS29zSWxVbmZNb3JSa0hWYWxiY0JHMUto?= =?utf-8?B?KzRsT3BXclY1MVNNS0VTVi92ZTltOXJLaUdYWDdtS1RESDJnamtRU2k2ck1Y?= =?utf-8?B?emNqQ3R4WHdXRHJVZ2I1azBIdTBvMVRBNGRPMFpnR2lPd253V3dWOGZtaFFC?= =?utf-8?B?MENWQStoWXh0LzR5czlzUzVtUU9MNGM3S2ZrTWZXNHNGZ0VvRytHYTJpTk84?= =?utf-8?B?QlJhUVB5R01QOWcyZGNKSXpFcUh3Wlh6SmExcXhLU2l0OE1rZnMvOXRqNEpx?= =?utf-8?Q?fynNB6z1z8rmq?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YU81OWZvMlpKRGNvWTRnQ29QWmE0T2pVMUIyR1doZk51YmRYK3FJTUhaUEh4?= =?utf-8?B?YkhVZXdzbTN3OU1TMzlkOG9jUCt5R3RPMEQ0VVZVTzFLMDJFN0lsQm0xdElo?= =?utf-8?B?ZTNrVXcyUXRvM1d0ekVNQ3dENG1IR1UwdW0rU0UxYlI2U2ZBcmxtSFRXdmhJ?= =?utf-8?B?WUdoT3oyQ0cweldjQm5jWmxIeGd5VW5kTWFVOTM1aDZBYkpzU3pHU0ZZaDVN?= =?utf-8?B?NDdWdDJMaHlvSmlwUU1PNGpwRjViZVZrV2tKb0lhMVJMbjFINkZDWEhqSHJK?= =?utf-8?B?NFNSTzZ4NjBGVzJQL2Fzb20yVFpwd3JpaGQ3S2x5N3F3RElEYVoxNWc5WFVx?= =?utf-8?B?TUVBNUIvamk4L3RwVUdiRWt1SXFwb2J3MG11cjRRWGZjUjJ1dytxYkwwaEpF?= =?utf-8?B?NVFFblVWVlRwN0lhSm9IOTVkckhVNzhDeGRDb2FWNzlEYlBvVENpRnY3aktr?= =?utf-8?B?U1ljNC9DeWRoMGIwc0d0UHNlV0VTYmVFcEJjN3pYaHJxVGFhVldLMGkvUXdo?= =?utf-8?B?VHhEaWM0czVydTVaWUZzSmFJUjI4OXVDQ2RRNUxmemszWEJyeW91UE8xbGhs?= =?utf-8?B?RXZ2UGpocXJtS3ZQNktycHpsOHBrazhjYjBScXBkT1lvMURNKzBvZm44Q2Ez?= =?utf-8?B?OCt6M1NVQ0VNWUd3QXBoN1NEZUtadWluNG40VGdwVlpaamJTY0pXQkR3VFBJ?= =?utf-8?B?QmZFbGovcHlrNnd1N1djZ3NYaTRxTUFDaDJFTXQyM056ZGY1VVdvejBNS3NL?= =?utf-8?B?RmlhSWZ0eWRpT3pVVW5LSGQvajhsOU9DdWIwczZ2U2tMdjlMQ1kvdlN5bnVY?= =?utf-8?B?VFZFZ0JOcDBLTEIvdXRyalVuSGNiWWtFMFRLR3FYbytDeTZkUmVxQk5jRjVi?= =?utf-8?B?VmM5SnR2NTZRYkU4VFdiM0pleUczQThhc3lNZm1KWUpsY2hWSjlIV1NxOE01?= =?utf-8?B?dWU1NWpaRUVBUjZMdjV5akxyNmdCcE45NXFEdzgxSzJTZG83Ym5vdEpGZDZM?= =?utf-8?B?ZGErTlZWVTlVWGJ4NkRiVkhrTU9oankzMUp2SVNYdjROOU9xb2JYTEtDQnNo?= =?utf-8?B?dk1xZ1NRR00xVFk0bGZXRU1FQ0UyV1NpMS8vUFBJaUpFWHZqUXB1dmpKV252?= =?utf-8?B?Z3dwUTJmWHArWHFHUWtOL29PR1ZXS0J5MmZhSGttajVVb0VwY2w2bWVORTJO?= =?utf-8?B?Yy9rZi9VT2I4MnFvbVZhV1M2ZUJzb3liU3ZFTFNHV3hNTjQ1ZGJqZGdSUXdU?= =?utf-8?B?cVF2WDhiN0V2RmpzOUxObUx4bW1lOUhzdXhaSDFJRnhOTVlmWktTSjVqdkhP?= =?utf-8?B?aVRwQW9aKzhYd0FmQlNvT0VtV252bVV5MHJTTnNEQnk2Mks0YlBpSnJnV2lV?= =?utf-8?B?KzV2MUJ4OXd2bllQVGxOTGNKK29EejhUL1JYY3JKalNtMTRyVE9YSGVKall4?= =?utf-8?B?dC9lUkpKMS92N0pLdmFVdDV0MnBsNzdKdkFWMnRWTEFlaGFzL3NyMmhnK3R6?= =?utf-8?B?SWRpSVJSSEljakVxTTdWWE1reXBMakczcGhBOThDYXhqR2Z4bFRhdGFpRE9O?= =?utf-8?B?WFFQbWxqOFlXTEZoaHNNWXNCRGVIZndKbi9vK2RUd0w3N2dtQmg5cG83RkpX?= =?utf-8?B?M3Z4NXNrdGVEcVhlRWd0bGRUZzRDbFB2ekhKN25Ldy9ra3VCdldOWThIaHlQ?= =?utf-8?B?bkNnL0NnMUhCcytJRzJQV1pyWERuTXg2YXA3SDd6MXgvUXVUOFdsdWo3L3VM?= =?utf-8?B?L3hubmwrOXN2ZzdZM2tyZnFHZ1dnODFuVEV6RlVjM0RnYXVpdkN3N2k1N2U4?= =?utf-8?B?VlJwTU1OK3lhbVpSRUl4WjRLL1E5cy9JTWJxbm9jdm5EcmtLY2k0dXIwc2lL?= =?utf-8?B?SUVvbldwMWFOSXI0bEpwOTIyNDAvZ1N5UXd1WnhTM2loYlpXMWNCUE40Q1Y1?= =?utf-8?B?K3pHQm5hZEhJcnEvcUxEdWJVUUd4NERNbHhXRGx2a1RFQVJFeWpPSkpiTDFE?= =?utf-8?B?VVoyVFRRb3VjSHNJUWNjSWdKL1BUUlQ0SXhxaW85WTd3WE5XMTlUMUh1NkFR?= =?utf-8?B?bHNjNHdQemcyV2p0Q280OWVJK3Z5NmtnZVI0dGIwa0hYNWluOWlaV0t5U3M0?= =?utf-8?Q?q3gHUpxfGeE8Hv31oY+NAb0cp?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2e23c07-ce36-492d-124e-08dca5cd871d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:28:53.4262 (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: 0waefRCDRqaPzMGx3U7F0aJFRK6xlT3dgCVQeDBkFrY0oCVG07ApQ5hPmolrpG6eHqgCQwNujJAuTQMDoWqPkA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 Add adi5585, which provide gpio, pwm and keypad controller. Signed-off-by: Frank Li --- .../devicetree/bindings/mfd/adi,adp5585.yaml | 83 ++++++++++++++++++= ++++ 1 file changed, 83 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/adi,adp5585.yaml b/Docum= entation/devicetree/bindings/mfd/adi,adp5585.yaml new file mode 100644 index 0000000000000..03c4760242ddd --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/adi,adp5585.yaml @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/adi,adp5585.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ADI adp5585 GPIO, PWM, keypad controller + +maintainers: + - Frank Li + +description: + adp5585 is a multifunctional device that can provide GPIO, PWM and keypa= d. + +properties: + compatible: + const: adi,adp5585 + + reg: + items: + description: I2C device address. + + gpio: + type: object + properties: + compatible: + const: adp5585-gpio + + gpio-controller: true + + "#gpio-cells": + const: 2 + + required: + - compatible + - gpio-controller + - "#gpio-cells" + + additionalProperties: false + + pwm: + $ref: /schemas/pwm/pwm.yaml + properties: + compatible: + const: adp5585-pwm + + "#pwm-cells": + const: 3 + + required: + - compatible + - "#pwm-cells" + + unevaluatedProperties: false + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + mfd@34 { + compatible =3D "adi,adp5585"; + reg =3D <0x34>; + + gpio { + compatible =3D "adp5585-gpio"; + gpio-controller; + #gpio-cells =3D <2>; + }; + + pwm { + compatible =3D "adp5585-pwm"; + #pwm-cells =3D <3>; + }; + }; + }; --=20 2.34.1 From nobody Wed Dec 17 15:33:02 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011037.outbound.protection.outlook.com [52.101.70.37]) (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 645461A0AF8; Tue, 16 Jul 2024 19:29:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158143; cv=fail; b=jQK/YIYxPKgcGzlbNH2OUz28+QHKKpVt+3xKU44E5MsOnT4qSo+E5+pN+bJN9q/B1qdLcEzwBNfHh8DD/U6FKIUGdkJ4c66/DtCLNtCPq1cx2U/sXx+XRQy43psY9SNa2/nepN4U5AuRPxBqMSgesqLmewsGrITpXM2V8KHqhKU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158143; c=relaxed/simple; bh=tIN866nRYnmFKyNS/7v8vyjqhbmngZVnDLPmy5zmBiU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=O6xjgNP6DA91+xJBn5vpNDa6HeR6rsm6zu9h0Q7WC/qyPievAgLFYYV+StOpL52uN6kf3ctNwo6x3+SkJod1YphYKbGUeB9yNwqDjTBufGHpYBhydENxM08064StSyd8afu9bkMhPaRnJ+uHFtwXmrWgfk+VNnC+OqNKuNK3mwc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=DJZENCTW; arc=fail smtp.client-ip=52.101.70.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="DJZENCTW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MwkSVNHle4llXnqi7KdW1VSi39R+ULX50vH36x0Nizm3bJwweb/Wr/W22gKsbNsDWoPvmHBakUqd4rEpWLdw/wagq6qbogPjviodMlJJMgTsH2vmqAtYHalJ8Bs2ZjpEOEDwqP4PGn+GbrU7L4/tkEEGCjZH8LvgQ0hsfcqOApQwDJNsJd32VSZ2wdZo30B/dPX4BfYHpKnvgpVEvjTCO8+3s0DYHf38Ub0s4LpfDpYkXBuy0Ei+4nNkmrCkVQJ1AUaQNQ9DsljC4+879VecvKt0VhuDSf2QkYxZZjffWl7QzEMimqknQZhlNKZHUdpU8FFqegJEVWcSt2FKB3oHlQ== 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=dTm/uWu9I7Njd1rjkCT57wQ/5Tb6Wr1OXZdDFiTUb4A=; b=g+YJ2Fw66IIqhS219kmQ5jdB7d9msesUFkmGIEOficSnflkSXVu5o+2C4OGc3mfdcMeFyZzRpQ+Tg/KZfVnndsJV+rHLckt7Rnu9eKKA3yCjHKZhe4C8t0DMgvApbVpsOUJZ3VHfoOZUSHVRKNeNdIX0syh06kI8v1yhaJPsxMwqvJwEAbjCXFOwOsyXC5fMZoKnPzk3W9Zq3VgSMxgF3czNAzgdjXo/KFVC6EJWiqmtuzHeedZthgi0AOdy0YVp3KMLuCtaoL30Ue6YCKpt6dcD0NHG/iGTDU6saC3okNLII5z4eORIRpIBKuYC4uqiEO4NbTr8e6LjLJRI4C7Ixg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dTm/uWu9I7Njd1rjkCT57wQ/5Tb6Wr1OXZdDFiTUb4A=; b=DJZENCTW/gagGk8lQX2Q4rpaY9WRfdl/082b+Mz4X2alAGfDJ5GFM7fbqbfeHzNT2e8LlMCullLivHFGNV3xdKWYACK4l0PHbyrPH7broyEijq1B1V5jhocTcB9lv73ajvXYq3BzHL0TQwpqhAZQmx4cf3TxSK9GF9BVOxaWaPU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:28:58 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:28:58 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:25 -0400 Subject: [PATCH 2/6] mfd: adp5585: add ADI adp5585 core support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-2-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li , Haibo Chen , Jun Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=8573; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=IgJgFjLtK71g/mE/vm/NQBQ8b9zZWkXeIiGyZdg1VU0=; b=MAisj5ry27ICOsujoveLXygl5TIl/VDUYhD4Fq1OYoFJHfjO66z5GqPMFLXs8m9uCM00r0AZ8 mGCVYoLTsBICIa1/XwqonzB/BDjC/48n6fmN+y6/X9+7M6wAcT2nAnM X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c13976a-f558-45e6-f1a4-08dca5cd8a3b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YXNxN0VCZVdORjhjSXFrWnJJTzRDbkJpNzRiQUFpWDB4QU5saTM2R3UxYnl6?= =?utf-8?B?R2hPa1NUaHJFNmU1ZzIySHNoM3g5SHJLT0hVbmtUa3ZxMGcrTGp0UHZaeU9Y?= =?utf-8?B?bXArNHZLUTZnNTZmZ25pVkVyZzNnZFhlbVBSL0dvTVBocWVkY2lFYVJJTXZj?= =?utf-8?B?RlhRYkxwSHZ3Znh0cjM5bWNkYU1wMXJjVDFFT01NWnBQZm90WnY0ektxd2ZD?= =?utf-8?B?RkU4dlk3d1Y3NE03bE1YZFpyRE5VNTRxL1QxU3Jnd2l6alIwK21KVGZ0QkRn?= =?utf-8?B?RzlKenZpdzBZTGxzSXc2MTdBNFNHeWkxdzMxZkxwZ05yNHFnR2xYRENJZkVY?= =?utf-8?B?SHYyUHBySWJIN2FYWHNqb1dDL0ZUOWlGckRZV0lGS2ZEQ0lSSzhSY0lRTjJw?= =?utf-8?B?dW1paFRVSFJLUjV1S2tIeEtjT05SVzlFRlMwM0lqakdLNXRpV1psQ3c3R2U1?= =?utf-8?B?RXJzWlhYK0Vqck8xOUhpSTU4R1BMNnE3dVZSaTIwdmpnQm9namNMT3VmL2lN?= =?utf-8?B?VTREaVBNL2FYczdGbXBSanRsVndzOTB4OHp1SXRRZU1reTRBUzFERjltNnJV?= =?utf-8?B?dkx0eTZuc0k3Rll4amFZRFRmc2d0VmNmQm5CbEJMYUJqandnU2ZOYmZ1c1VJ?= =?utf-8?B?OW05c3FabmNHUHJiTnpxMnNrODMwYnl0ei9EOTlrbkRQQ0ZUN2hQdVl5bEYw?= =?utf-8?B?VkxHZERCQWtCMnpmdmJKZTQ0L3V4akxrQTNEZkVnZWZhVnJQNWY5cTA1N1VN?= =?utf-8?B?emRLT054NXZZZzJRN3FyVGdGSDluMTlhT01UdS9YWVBhVEMyYkN2MktKbFM5?= =?utf-8?B?RDEwbHJoSnExN3ZUL3FHeldFZHVEd1R4akpHTUswV3RBclVVS1pjcGZYZlNH?= =?utf-8?B?eXc1bEhVSnh2MGlTVW5wY1lBZnNlMTljT1pRdjJseUxmZmpkdzNrN0xvaXRC?= =?utf-8?B?TDc3YlJzVktzQk1vWmVqczRCNEQ5T0tIaWJicmFteVRSbzhLRWlGVmhmUUFu?= =?utf-8?B?YTlxQTd6RzNpSGlJZG1kM0t3b2tiTlVFMFdzU3UwR0VrbUMxVDVCc1htT1Fr?= =?utf-8?B?dGwxUXA1RE1lZ2xVY1BkNlY3VDBodTRsRTRpQ3BNdnVNeDFPcWY5a20xNXYv?= =?utf-8?B?RWxrZjZyamN1NVFML2xlaGQ0cTRMektJeUFudU5FREZEUVRaUVFtNjNNOWpG?= =?utf-8?B?OTRXa2E0dUNYNk5XWVFPYlpWdHZKNUhONUNHTVFkVytqQTVDajNQbTVEUzd2?= =?utf-8?B?SzNDUkV6S3BlYURWcThlNlNMSmFUWEY2d0tobVBKQ3hKd2JrUnNpNk16bzVx?= =?utf-8?B?a2FXRWRRbU9ucVJ0VUZ2TktrWjZnMmVlaEUwOXVXT2pvalBmR3RGVWdoVDN1?= =?utf-8?B?SzFzTmJBNm02Y3Z1S1EzczhJNjdhUU8rdUhoVXBzay9EUitMM0NtN1phcXRX?= =?utf-8?B?SEtKaXN4SU1PdnZrRkpmZ3QrRDhXczg1UEJTRlUvcTJsSGQxcUZTMU84eUVs?= =?utf-8?B?c2xxY0xoMFBoelZQMG1KTCtYalJsY0NjZ0ZoTUk2U3RrNkJpd0Z4alE5STNH?= =?utf-8?B?QS8vcUlTOHo2RWIycEpwaGdIdXQ2NWx4NkJWZCtnYmJSYXRMVEVhMWtaRDN0?= =?utf-8?B?THlrVlB6SHNZY21Yc1NZUFRXM3BRbUxod3dUSk4zVmM0MTd2V1JGNmpjRUtv?= =?utf-8?B?QlZYNml2SWI0NHgrcHpuaFBhV2xPU2gyM3o3NWZpODlveVBIU3VVejlVWkFB?= =?utf-8?B?K0RCYjdXRk9ISXBpVWxaUzVhcmxWcUd1Z2laSHR1Z3g1THZxRjdTQTdoOGdF?= =?utf-8?B?VHI4ZUwwT0FmQmxWazlSbW1WdlNCOWIwaW1rODNhWDNJVEN5akNHaTArVFpw?= =?utf-8?B?R0tuZWR3WGsyQWVMN3NoZ2t0RWtnVE53S1VFaDZIem9pVVNGWmJHRkh0UzdR?= =?utf-8?Q?j0+m3kkDSBg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TGxmYUIveVVla3Jvemg2TkNVczBWdzIwd3FpVUFxWkVFQnBQcjYrQkUyUllK?= =?utf-8?B?WEZvZTNMWkFTSmNGY2lzVzd5M2pMSU1XdmZyS2QrRHg2eTdpTHVGTHZldDJB?= =?utf-8?B?Qnh3NVlWa3JiTlpxMkoxdEg2ZVlFWkhvQUVXdTUybDRUSDFqUzlqSWJVOWlI?= =?utf-8?B?NUtBcnIySFphOVJ1L2o1b2k4NWx5NFFlMHlsRGlwWThhaWtTcEtqZjJUNUdB?= =?utf-8?B?N0w4cysxazJhQjIraC9IQy9XTHNrR1JnOUpTMXJ0NmJaZGNRbThrV1IwWXda?= =?utf-8?B?MFlLRzE4TVZnOUozU3Q2VktOT1ZKZll2MUVSQ2YzVFJDOHVWL2hpR0JyMnFx?= =?utf-8?B?KzlFblA3NGdRMUxxTjMxb2xjeC9kNzI0b0hKNU1HalAzdHg0VWFJMWsrazJ4?= =?utf-8?B?Vk9ELzdINHJDN3JqenROTnV0bFlkMXEzQXErYXZYVUlScjJMV2xZNEFaTzN1?= =?utf-8?B?a3VPOHd4UUpMc2t0VFlMTXU3c2VTRnBQV1p3U201NERPRUVuMFYwSEdnWUhE?= =?utf-8?B?VlJkY3A5c1AwK2krWnUzcUIxSzcwVGpPNHRTRmRrMCtTOUozS2Nrb3lTYkJH?= =?utf-8?B?NGdZZFNuaGx0T21nQXk1aHVmM1VNcXllMjNtakFqMzFTWHUzWVlIVnlXNDhm?= =?utf-8?B?MzhMdlpPWDBMRDdzR3lXdG8vcGhZZWgwQVVXMDgvTHNWaTdhNzVTeU9GdnFo?= =?utf-8?B?TW9wNHZHMWNqSnI1R0NidGVvc0UxSmZ5STZISFlpUWpNYTFWemJGcjhOczNL?= =?utf-8?B?U3NYMFhxTG4vUE11QzBYcDN1cWZ3Z3A3ZWNlanFXbTlFUis3WmNKTDVZV3gz?= =?utf-8?B?c2l6MWM1N2ZqYUdpbUNWbit6d2IvbjlwenZyR3dzdS8wVVBKcEpyakk2MWZZ?= =?utf-8?B?bGU4UmxZZjBIQ1VOajZFZE9uQ24rVDlONS9TYWVvOVVLYUtDSnEwckpDcVRr?= =?utf-8?B?Nm1oSytvOHlxY3V1Z0c4bExPWXZYaWU0dlduMUlRVXJGM3FMZ1lkeWgrZFF6?= =?utf-8?B?RURIak1yemExN3BXYmRkR0grN1B1ZFM2ektWSk9KaDExVkU3RnQrbDY5NjZX?= =?utf-8?B?Mk1nNUJjV0dmaHY4MlVzd09YaHFLbHY5cWRlUU1rNHIwK2NxeG5kQVhxbHFQ?= =?utf-8?B?ZHQzdWhOWGwvTlBkOFczVU9LWU1hNHN2S2s1bXUzQmdHV3R6THNUYXhuSmIv?= =?utf-8?B?Y1F4S0pUY1d3Tk82R0RnTXcrcFF0Z1VGazA5Wk0zSHFhcC9RbjkzY3hDOHRB?= =?utf-8?B?QnVqRnBjVXNBVXJmS0RJTTVJZFVxTzliWVcvMHhSU053V2FDTUphNlRuVjRm?= =?utf-8?B?OG5veUFQMTJaekVtYzNkT0hYd0w5SU56Q0JmeUsxS09yMytiZkNJVkk3aWNY?= =?utf-8?B?NjB1SEs2K05iNCt1REx5c0JMTVFsWENnVEJKVDgyR2ZuWHlkeG9Tckt2RzlB?= =?utf-8?B?N0VRSk5QcFpRMjJ3UDF5NHFhaTRVQk5qRWhNWVl4RHdMODlvT1BWVFZqdDVO?= =?utf-8?B?K2NqL3p2QzU4anRiaDBXRURsNEtvVDZsdUtISmZuUkZnYXFCOWMyZTgyQThV?= =?utf-8?B?dGFzRTNOTzY1S1M4aVFyKzdFTkwzd3NncjRoOC9CeUg2a2kvWXNCWDh0dmlM?= =?utf-8?B?enhkais1cTdRaGtDUDlwTjJIUkN6WHorbVdKcmk5dll1VGRWWkRudEszak9z?= =?utf-8?B?T3hBdVV2Ym4wMmd6d3BZNHVkUkxiUXprck11bGVWRk1tcllHc25DZGxBL1Ew?= =?utf-8?B?UjVNSlphN0lxMFQ0d2Y1Y3Y1UE1WTGhJdXA4blh1aHY4MXFkeTlRbldvYzJW?= =?utf-8?B?YzJQWlVZc05LZnh5WmFZeGFPN3dqNVZHZnk3RnZMa1hCY2hGeFA3VEhEM01Q?= =?utf-8?B?YytZYWw4c25pL20yMWxSSkhWQmFDRWlDY2RPdWdjSDFjL3VZeW8vcmk5Tzd2?= =?utf-8?B?STBvV3gzQy9ybDU1ZXpoMmVhU0g2SVJTa21LM0puRy9Wb1hjamlnTklzRUlF?= =?utf-8?B?aTQxMWtEeWd5QTVNeWgwQmZyTW5VL0d3UnNXbUpzOXhNRVpiZTBaSk5uSUVM?= =?utf-8?B?eFF2YUFVK1RqR3VVR2grRUY2d2k4cXpKWHlZZ2FJQWpIcnl5UDhTanhKY2tw?= =?utf-8?Q?TdHMhWfc+VhBS2MF2yHbyQpaj?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c13976a-f558-45e6-f1a4-08dca5cd8a3b X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:28:58.6992 (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: mNhWgtCyY2YqVmoY0T22pI1Ejp6UU6GZltIa9kWcRmn+f+iJw5WODCtdjuhFkf2N9pOPk3yYFEUFzcx63DpuHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 From: Haibo Chen ADP5585 support multi function, include expander GPIO, pwm, keypad controller. Signed-off-by: Haibo Chen Reviewed-by: Jun Li Signed-off-by: Frank Li --- drivers/mfd/Kconfig | 9 +++ drivers/mfd/Makefile | 1 + drivers/mfd/adp5585.c | 134 ++++++++++++++++++++++++++++++++++++++++= ++++ include/linux/mfd/adp5585.h | 100 +++++++++++++++++++++++++++++++++ 4 files changed, 244 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index bc8be2e593b6b..62a967ee8ae1c 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -20,6 +20,15 @@ config MFD_CS5535 This is the core driver for CS5535/CS5536 MFD functions. This is necessary for using the board's GPIO and MFGPT functionality. =20 +config MFD_ADP5585 + tristate "ADI ADP5585 core functions" + select MFD_CORE + depends on I2C && OF + + help + This is ADI adp5585 core support, implement the support for + communication through i2c bus. + config MFD_ALTERA_A10SR bool "Altera Arria10 DevKit System Resource chip" depends on ARCH_INTEL_SOCFPGA && SPI_MASTER=3Dy && OF diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 02b651cd75352..2a9f91e81af83 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -193,6 +193,7 @@ obj-$(CONFIG_MFD_DB8500_PRCMU) +=3D db8500-prcmu.o obj-$(CONFIG_AB8500_CORE) +=3D ab8500-core.o ab8500-sysctrl.o obj-$(CONFIG_MFD_TIMBERDALE) +=3D timberdale.o obj-$(CONFIG_PMIC_ADP5520) +=3D adp5520.o +obj-$(CONFIG_MFD_ADP5585) +=3D adp5585.o obj-$(CONFIG_MFD_KEMPLD) +=3D kempld-core.o obj-$(CONFIG_MFD_INTEL_QUARK_I2C_GPIO) +=3D intel_quark_i2c_gpio.o obj-$(CONFIG_LPC_SCH) +=3D lpc_sch.o diff --git a/drivers/mfd/adp5585.c b/drivers/mfd/adp5585.c new file mode 100644 index 0000000000000..52cc0d38bf2c3 --- /dev/null +++ b/drivers/mfd/adp5585.c @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* ADP5585 IO Expander, Key controller core driver. + * + * Copyright 2024 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const struct mfd_cell adp5585_devs[] =3D { + { + .name =3D "adp5585-gpio", + .of_compatible =3D "adp5585-gpio", + }, + { + .name =3D "adp5585-pwm", + .of_compatible =3D "adp5585-pwm", + }, +}; + +static int adp5585_i2c_read_reg(struct adp5585_dev *adp5585, u8 reg, u8 *v= al) +{ + struct i2c_client *i2c =3D adp5585->i2c_client; + struct i2c_msg xfer[2]; + int ret; + + /* Write register */ + xfer[0].addr =3D i2c->addr; + xfer[0].flags =3D 0; + xfer[0].len =3D 1; + xfer[0].buf =3D ® + + /* Read data */ + xfer[1].addr =3D i2c->addr; + xfer[1].flags =3D I2C_M_RD; + xfer[1].len =3D 1; + xfer[1].buf =3D val; + + ret =3D i2c_transfer(i2c->adapter, xfer, 2); + if (ret =3D=3D 2) + return 0; + + dev_err(&i2c->dev, "Failed to read reg 0x%02x, ret is %d\n", reg, ret); + + return ret >=3D 0 ? -EIO : ret; +} + +static int adp5585_i2c_write_reg(struct adp5585_dev *adp5585, u8 reg, u8 v= al) +{ + struct i2c_client *i2c =3D adp5585->i2c_client; + u8 msg[2]; + int ret; + + msg[0] =3D reg; + msg[1] =3D val; + ret =3D i2c_master_send(i2c, msg, 2); + if (ret =3D=3D 2) + return 0; + + dev_err(&i2c->dev, "Failed to write reg 0x%02x, ret is %d\n", reg, ret); + + return ret >=3D 0 ? -EIO : ret; +} + +static int adp5585_i2c_probe(struct i2c_client *i2c) +{ + struct adp5585_dev *adp; + u8 reg; + int ret; + + adp =3D devm_kzalloc(&i2c->dev, sizeof(struct adp5585_dev), GFP_KERNEL); + if (!adp) + return -ENOMEM; + + i2c_set_clientdata(i2c, adp); + adp->dev =3D &i2c->dev; + adp->i2c_client =3D i2c; + adp->read_reg =3D adp5585_i2c_read_reg; + adp->write_reg =3D adp5585_i2c_write_reg; + + ret =3D adp5585_i2c_read_reg(adp, ADP5585_ID, ®); + if (ret) + return ret; + + return devm_mfd_add_devices(adp->dev, PLATFORM_DEVID_AUTO, + adp5585_devs, ARRAY_SIZE(adp5585_devs), + NULL, 0, NULL); +} + +static const struct i2c_device_id adp5585_i2c_id[] =3D { + { "adp5585", 0 }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(i2c, adp5585_i2c_id); + +static const struct of_device_id adp5585_of_match[] =3D { + {.compatible =3D "adi,adp5585", }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, adp5585_of_match); + +static struct i2c_driver adp5585_i2c_driver =3D { + .driver =3D { + .name =3D "adp5585", + .of_match_table =3D of_match_ptr(adp5585_of_match), + }, + .probe =3D adp5585_i2c_probe, + .id_table =3D adp5585_i2c_id, +}; + +static int __init adp5585_i2c_init(void) +{ + return i2c_add_driver(&adp5585_i2c_driver); +} + +/* init early so consumer devices can complete system boot */ +subsys_initcall(adp5585_i2c_init); + +static void __exit adp5585_i2c_exit(void) +{ + i2c_del_driver(&adp5585_i2c_driver); +} +module_exit(adp5585_i2c_exit); + +MODULE_DESCRIPTION("ADP5585 core driver"); +MODULE_AUTHOR("Haibo Chen "); +MODULE_LICENSE("GPL"); diff --git a/include/linux/mfd/adp5585.h b/include/linux/mfd/adp5585.h new file mode 100644 index 0000000000000..58a9f84c9a75a --- /dev/null +++ b/include/linux/mfd/adp5585.h @@ -0,0 +1,100 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Analog Devices ADP5585 I/O Expander, keypad controller, + * PWM contorller. + * + * Copyright 2022 NXP + */ + +#ifndef __ADP5585_H_ +#define __ADP5585_H_ + +#define ADP5585_ID 0x00 +#define ADP5585_INT_STATUS 0x01 +#define ADP5585_STATUS 0x02 +#define ADP5585_FIFO_1 0x03 +#define ADP5585_FIFO_2 0x04 +#define ADP5585_FIFO_3 0x05 +#define ADP5585_FIFO_4 0x06 +#define ADP5585_FIFO_5 0x07 +#define ADP5585_FIFO_6 0x08 +#define ADP5585_FIFO_7 0x09 +#define ADP5585_FIFO_8 0x0A +#define ADP5585_FIFO_9 0x0B +#define ADP5585_FIFO_10 0x0C +#define ADP5585_FIFO_11 0x0D +#define ADP5585_FIFO_12 0x0E +#define ADP5585_FIFO_13 0x0F +#define ADP5585_FIFO_14 0x10 +#define ADP5585_FIFO_15 0x11 +#define ADP5585_FIFO_16 0x12 +#define ADP5585_GPI_INT_STAT_A 0x13 +#define ADP5585_GPI_INT_STAT_B 0x14 +#define ADP5585_GPI_STATUS_A 0x15 +#define ADP5585_GPI_STATUS_B 0x16 +#define ADP5585_RPULL_CONFIG_A 0x17 +#define ADP5585_RPULL_CONFIG_B 0x18 +#define ADP5585_RPULL_CONFIG_C 0x19 +#define ADP5585_RPULL_CONFIG_D 0x1A +#define ADP5585_GPI_INT_LEVEL_A 0x1B +#define ADP5585_GPI_INT_LEVEL_B 0x1C +#define ADP5585_GPI_EVENT_EN_A 0x1D +#define ADP5585_GPI_EVENT_EN_B 0x1E +#define ADP5585_GPI_INTERRUPT_EN_A 0x1F +#define ADP5585_GPI_INTERRUPT_EN_B 0x20 +#define ADP5585_DEBOUNCE_DIS_A 0x21 +#define ADP5585_DEBOUNCE_DIS_B 0x22 +#define ADP5585_GPO_DATA_OUT_A 0x23 +#define ADP5585_GPO_DATA_OUT_B 0x24 +#define ADP5585_GPO_OUT_MODE_A 0x25 +#define ADP5585_GPO_OUT_MODE_B 0x26 +#define ADP5585_GPIO_DIRECTION_A 0x27 +#define ADP5585_GPIO_DIRECTION_B 0x28 +#define ADP5585_RESET1_EVENT_A 0x29 +#define ADP5585_RESET1_EVENT_B 0x2A +#define ADP5585_RESET1_EVENT_C 0x2B +#define ADP5585_RESET2_EVENT_A 0x2C +#define ADP5585_RESET2_EVENT_B 0x2D +#define ADP5585_RESET_CFG 0x2E +#define ADP5585_PWM_OFFT_LOW 0x2F +#define ADP5585_PWM_OFFT_HIGH 0x30 +#define ADP5585_PWM_ONT_LOW 0x31 +#define ADP5585_PWM_ONT_HIGH 0x32 +#define ADP5585_PWM_CFG 0x33 +#define ADP5585_LOGIC_CFG 0x34 +#define ADP5585_LOGIC_FF_CFG 0x35 +#define ADP5585_LOGIC_INT_EVENT_EN 0x36 +#define ADP5585_POLL_PTIME_CFG 0x37 +#define ADP5585_PIN_CONFIG_A 0x38 +#define ADP5585_PIN_CONFIG_B 0x39 +#define ADP5585_PIN_CONFIG_C 0x3A +#define ADP5585_GENERAL_CFG 0x3B +#define ADP5585_INT_EN 0x3C + +/* ID Register */ +#define ADP5585_DEVICE_ID_MASK 0xF +#define ADP5585_MAN_ID_MASK 0xF +#define ADP5585_MAN_ID_SHIFT 4 +#define ADP5585_MAN_ID 0x02 + +#define ADP5585_PWM_CFG_EN 0x1 +#define ADP5585_PWM_CFG_MODE 0x2 +#define ADP5585_PIN_CONFIG_R3_PWM 0x8 +#define ADP5585_PIN_CONFIG_R3_MASK 0xC +#define ADP5585_GENERAL_CFG_OSC_EN 0x80 + +#define ADP5585_REG_MASK 0xFF + +#define ADP5585_BANK(offs) ((offs) > 4) +#define ADP5585_BIT(offs) ((offs) > 4 ? \ + 1u << ((offs) - 5) : 1u << (offs)) + +struct adp5585_dev { + struct device *dev; + struct i2c_client *i2c_client; + + int (*read_reg)(struct adp5585_dev *adp5585, u8 reg, u8 *val); + int (*write_reg)(struct adp5585_dev *adp5585, u8 reg, u8 val); +}; + +#endif --=20 2.34.1 From nobody Wed Dec 17 15:33:02 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013054.outbound.protection.outlook.com [52.101.67.54]) (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 9D1921A2549; Tue, 16 Jul 2024 19:29:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158148; cv=fail; b=ESSkL1ETPIAtGOXTnnz9YyEu5WlvbD1HUpPgZX/DFrx8K8pC1ua6OAmKqO4TH9p9pY1r7KbaqOHWeY2t9GpMsHDM8DFn26Kygd/Y9BSmrg4xYHNc15du2P87ry3pIo6mQuqUeOwJvmoMl8T7hXsECb8nnvuAd5ldlk1oQohwSYA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158148; c=relaxed/simple; bh=u6o5ZgVOhIDsk0rsR+s89WrDh8nd57MlF4eGf0tco7s=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=t2XzVmT6jiTXVcz+slziEWVXtQtqjv49xCpYSyCnburg63wRomPkguaGnW014iCFkSuhjF0oYLyXiVXucuSg05A1hvnpzYNVAA5fcdLFJLO9QbLmpS5aWX9VVVtkiJ9yX7Ravr66zM+CtJsjlTfumHnPgHcOP68Z1fHMefKEy5o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=NEFevBNI; arc=fail smtp.client-ip=52.101.67.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="NEFevBNI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R4+we141gKYNvczBCXFZbpTa39fGlRyy+3MzdbZCdLxD9CStPUfwdxEzp4pSXOdP5W4VFAW1DLucfaVExmP5AQ0cGVOotLuYdwghWixpEyLYtCWoIBQjjfx4XRN9D4Va3HdkYP2og4O7blr9h2voJ1mmpapEk0M6Jc8wvcY8sSJmGCdoIeJUK2s1rD5+tu5yskNd8QVHZB7balMhz+NV3eDxZ743TEzhEjX2Z4jrIvFB8TF4ZjTrL1qu1nC3VciuntIvHWUx37L80SIZBcHODRGtWoxH6mfZdjgv6GdLz1njErMZmX3gg42WfKjJcAqiJxK+W3E4J68YcjGcWhYK/g== 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=+w2t/T6iFzLfIMCDVpUfoX1P4V02RfiRLH2a5fsRmGM=; b=QoyL873/PKqX5N/DTnWGapUYb7W6z9LB/4vO10g53ITtZDLuXLcRpitld3YJALMBmAhWIbd9GteYrtqlWHzBdO8U3p91mJddkUH//MjrSQn2+XIUOsui3WSOX77Nvx0UKh14D5B0O+wAhYMpiUaO34NUdl9sBqyrFA9rFdzS2p8Z6gspDHWLSxCUj9T+tPxAIFud1WKiUrIRqG43kbgxHB6sC8L3Ekd4+3Q6DDJ51M8KRq2bALmiSaVh213YF4zfJqQG0lcym2giX9savwIhd9+dhFkTlvhNGFyN8M7HNAqQfO+YPQIwq374EBlnktXbzTreb5ibrGSkGonwDCP5iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+w2t/T6iFzLfIMCDVpUfoX1P4V02RfiRLH2a5fsRmGM=; b=NEFevBNI+zbhLgjopx5WkhLpEQaOQAI9uBS2LDZPmmweY4iYWAgMvHLSZf0glKkUy3F3gZVbHdtnROgRSvnN+/PiaZAnq1nSt04QpyFWgGGtTse7VkdMsy9Y1mIMo/Hx6WqaADLumQSRHPiTB6F7MaPSiVxMCLdfDtR5A3O9qUI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:29:03 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:29:03 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:26 -0400 Subject: [PATCH 3/6] gpio: adp5585-gpio: add adp5585-gpio support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-3-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li , Haibo Chen , Jun Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=6743; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=DWKFapoE8P1FSqk1OvDAEQl8OhrCjAiJ3y8kQN6BUkw=; b=Gu4DsNZiq6XDAIm8e7HIsiPXLc8qNgVRLwW+bQewKukNoK23sU/6uI3X5HxUSjQJkR+OShj5X mEwMIZ+4B16AfephX1ZeWSxAqc30cgK6A4pFL2FUZ+nSbK8nWn1Z25J X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: 0cd1a394-9e72-45d2-323e-08dca5cd8d36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M0NJRW9VcDBvbm1EenBVcWVEdkY3YWtWaGhFcDc5Z0c3QnpXdXNVZUtzdlVC?= =?utf-8?B?cW1qU2xLd0xJbERGR252TGJBaGhiRnpoZldOaXd0bTBQdytFNFNER3pHSitR?= =?utf-8?B?anVkL1UyK1RkQ2ZmajZueUlhckt5L0FldGtGdnNBTWQ4YU4vdWtkUWhaRTBV?= =?utf-8?B?aXE0VW1HVjd6b05PeFJDRlVXRHBCb3czVFJqYVdteHN1cFpyelVkR1EycTQx?= =?utf-8?B?dzAyeU0vcndDQjdZdHJPSkRTVmhwdkRaVlVxNExBR0NrL21VV0FKSTNiQ1Av?= =?utf-8?B?OGg3c3RkMXNlRURKQnNXMktXUEhMOURwTVN0b3FWQ2dZd1l3ZWg2eWNxOTI2?= =?utf-8?B?Q3p1c0JDVDNkLzVFNVJRRjdWanRLeVhrdWExVUJ6aTJKWTBqQkFlNTZZcW9n?= =?utf-8?B?TmpVSmhZcmUyTVBYM1A0VDBGaDZWTmhENkRKbVUzNExjbldId1NjVUtTeHNK?= =?utf-8?B?akp6SndmdDd4LytnSjB0RG05Y1FKOHVHQ1ZXUWs2NGhQcGFjZUZZOG0vWUZJ?= =?utf-8?B?aHJqQ3NINGxldmg1cjBjbFFqeXhQZDNwd1cyOXRUNDN2cUd4bkVseWxiOUZV?= =?utf-8?B?b3czZ29hVEZLcFlxaUpsV096RXFRWTg2MXI5a3ZvZjlVMmJaWXV4QWJqNmZN?= =?utf-8?B?RnBFczhvRTQ1d05GY3NUS2F3K1FaK0U2bzRsVUw2UXZ5RHZxRDc4aUVvOW9U?= =?utf-8?B?QWYxWEMyLzFKZDYvdENWcEc4alZ5WVg3YXpTL2J0VHpDSXlKc3hoOHc4czlG?= =?utf-8?B?aGJxZEhhaWdOT3A5T3ZPU0EyRmp4VHdXcmRrOU4vWFRVQTJvMWxtL0pRYUE5?= =?utf-8?B?YzdMT1NTSG9wNXVZQjJKMGd2NW9kMG8zOUJuTU94eHNjNmtVZkdUVnJYZFhk?= =?utf-8?B?ZGU1bVVyKzhiS04zVEdVcjZWYUZFelFLR3BTaXJIV1R0MzVIVndxVHN2VXVn?= =?utf-8?B?ditNU0tZdUg0cnByK1dlRmdrSjgreSswRjVtb1huRDlOaGh1eTVvdDlPc3ho?= =?utf-8?B?YnZ5eWNpaWZpWit4dHdDOHlGclRtR3dtZkZDaHpFMEtXOUhZN1RMY2xzcUJn?= =?utf-8?B?VkROMkJYR0FHRk1kb1huNlhtVlhZZUlpeFA5aUd5ZFUwVGxpeVZBMkRDQUNH?= =?utf-8?B?a0FiTms3R0s3OEtMaFVTZTc2L3g4UE1KYzRNdFgvaDZ1RlFOVEVhZGd0TjFE?= =?utf-8?B?TDRxUGtvSjdmaWhQek4vK2htdUhQTmF1UXljVUVWM24xTUsxdTEvVGFuSWpW?= =?utf-8?B?R1FCZy9oZFlkck9rNzNrTjFTNzhHaUNydVBCWmRxUWY1SUY4akRObXFMOVZV?= =?utf-8?B?MTdWNjVnNUJHbTJua1FaSEtXbVp1U3VOS1cxQTBzcmh6dks4VjRiTStHQ00v?= =?utf-8?B?YnBtZmJhTmhUeExqMjR2SndUUy9IU0NCUmhUSDM3NCtVVnJuaXh5WTNLSXV3?= =?utf-8?B?M2NpOW0zcjloa1pDS2lOMWorK1FYTE9Bby9UamtMZlFEb2V1eE9LNHBxRFhQ?= =?utf-8?B?R09jWVB3UXhRQWlyL0IxTmZXdktBRVAycnFrREtxa2pXbXlydVk5UVpnY0JR?= =?utf-8?B?UmRvT3ZxTTUzSjdPM3FPZFVYRGxTRjBUdUtCdno3MnFsMDczMFJZNVdXekNt?= =?utf-8?B?bG1rM3d5NktVY1pSd2hjMk91cWV2MnQyNnZrVVlkd2dwSGF4emYxYS9JMDF6?= =?utf-8?B?QVRDZ3pmd0hrRHVZWENuRFA5VTR1TWR3WG9RRkl6enJDUFJQbUtWZWRTRDBn?= =?utf-8?B?YVJ0UEgwK3FWT01yQzNzL1JITjdmeDJTdUxPSkt1M1NuU1ppTE5aVFBlTzFU?= =?utf-8?B?L0tVSjRlMVY2QVJGc2l6MEZTbGtJZUhaTThPTmVnTWNVTGxQZHRwMzJNUDFm?= =?utf-8?B?bVFENVdSUG9UWkZtTEpnM25iMmtFYjlWZVViRWlrZmZBOFE9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SWw4b3VXdEpWYW93cXdBaDhFSERvMkJCMHdLOFRoWXY1Y2Z1RSthVS9tN1VD?= =?utf-8?B?d0NmbndOTjhJbEgvYVhlRWc1SFloK096cFc4RG1ISkdNWWRhR2o2M0lyY2JD?= =?utf-8?B?L0NIc0tXN1U0SE9ORW0ycnNQcWpjek9Mazc5QmJ2ZHFJZHlZODhPdnNlWFVE?= =?utf-8?B?SGYwM2xlMEorUnZPeW9uVXFVWDdBZk85VksvRmdoeFV4cS9TbTZnT2Zkdjlx?= =?utf-8?B?MFR3eUlVUU14RU1JZEw5TUhMelRscXlrK2lpeW5zS1pIM1U2ZEtxckpsQmN4?= =?utf-8?B?SEdjMmtlNHR0ckJiN1V6L3BOaUV3aWc1QUJVOHJsM2xtcFd0YXVzSzluenhE?= =?utf-8?B?SFFsODUzbkV5Vm5RRzVXZGQ5NFdyR1dsdmNzTW1kRlRMcWhDdTJkSy82QlRW?= =?utf-8?B?V1RiWjVtaGZ0OGNpWDgwK3RWaTNBZ1p4ODRUeEUwZnBaVTlJbDlZMHhhbDBB?= =?utf-8?B?Q0xaTWM0Rnd2dGxhSnRYV1FjdXhsM1pvVFBFeE9XZGlObG8rWW9Lcnh5OEsz?= =?utf-8?B?VTJXRHB2dTladmh0M2wzSEszNGlmNVc5S0xjSnZHUlFNWUhxdFVzclZUbm5H?= =?utf-8?B?ZnpJL3U1RmJ4bm5VMjU4VTBEUG1EUkVYYWY4d0xmVHVWVm81Mi9aRUprUVh5?= =?utf-8?B?b0JFeUw4RDVHeU9TaEp6eWFNVTQzYlJ2N2tITTQxb0hTNW9TTERoY3l6M3kr?= =?utf-8?B?MnUxbW52RmlleXYyenZMUHpKTDZ2SXNyVEFFVmxFeG96MWZWdFc2STBlU3Yv?= =?utf-8?B?Q3ptM3pncmY2bjZUYTJDZm01djVBaVJobVR2Z3VrVGZ3YjUycnRDang1Mjhx?= =?utf-8?B?V2ZjbUxnenVTVmo0cXZjT28xaCszTG1xcjFCYVk0MFQ2WEV5Y0wrK1dkZStM?= =?utf-8?B?Vnk4RVRNNHVHYVVpUnczQWRLdXRMQTJKUE1KeWVVc2xPTk1zei9LYUNjd2dQ?= =?utf-8?B?QXdTa24yai9rY3J4Z3I0MVd6bDZ4cnZkY3RmK3Q2NzFPQkJrcGxDQ2tmQk0y?= =?utf-8?B?ZmhjQ1NnbTFuOFlHU0tkcERyM3duK2wrZlRjVm1LQ3FHYlRycEZ2WG9Oazli?= =?utf-8?B?TTQzTjQ5L2RrYVBBZWNXaS9ybTVPVWFrengvZHh0ZzVwZDBVV09rRnpzVllh?= =?utf-8?B?eU1rMEJtTjZKQnRaV1VuTjEwRGkrU2ZHZGI2a0ZMYjRNRG1MUlBNSkEvdExv?= =?utf-8?B?NkVVUVM2RHQ3QmYyNlM0NytkSVJ2YUxNWGRNYlVxaG1oV2M2K3FVNTZGQ2l5?= =?utf-8?B?WnY0RkdQNzQ0Q0p3MFhhb0J2b0VtWWFIeG5FcFc1M01sMlFUSEY2YW1tU3Ur?= =?utf-8?B?a1lGUmFwbWc3czQvWVZyM0o3ekM2cDJ2VkFYYm14bU9VUGJ2TVc1NWJPZWZi?= =?utf-8?B?dGJEcmVhbWNOYXRzUENoVDFPM05WK1VXbksvQmoxRHdOcnRYZWZiVXYrTzhV?= =?utf-8?B?Y05aaEo4SjI5dy9ObXg3bm9STTE5ZkM3L25iTTB5WG9CZXNDYWJCekRMUWJT?= =?utf-8?B?dmd3cnJwcFdnc3dJaThJWmQ5azZQV2I1eFRmdnRrb0x4VnUwVnRYZ1puWTMz?= =?utf-8?B?Q1JnV1V6ekxxWFBjTHdld05KeGlxTzExaS82b0hFSW43bENvOEVlYVJndHJ6?= =?utf-8?B?bVRIZm5zakVDTFdZT0lVMUV2RG0xK1BVeTdNbHM1N1BqZWs3VjhORjNHZVRW?= =?utf-8?B?dW1CTjgycmdxZ1NuUmtKOG5BOGdSWWIrLzBKVXF1MFY5L1Jma2l5bjNZZlhz?= =?utf-8?B?RzNqUE5EcmdrRFdTMEVwWDZXUE1EVjc3Y3J3RS9qUEhhVVo3OHRDS2s2b1NI?= =?utf-8?B?TTFYSnlrYzVFSVIwMVdaZ2lnNldQZ2hnMndvRXIweExZTVlqZU9NTnpaUVlz?= =?utf-8?B?T2NDajc1RHFqWGp1ak01Ym0yWVVOSjVWS3NaUjRSQkV4eU9OWG03UVRJZGRE?= =?utf-8?B?WTdQNk9nMHhldGw5Q0dZTjVvekliVXVoMjlIY282cThIOE94b2ppVXNydkVQ?= =?utf-8?B?YnArNG14SlMrUkVkcEhwVnpKTUhTeDVlQzJSL1lsb0tubWFQd3A0amlTaGZB?= =?utf-8?B?N3YyTUl5YytXcVFXSEVEWWo5UVVvN2FYTHdXMkpEK3NhSHlXdGxZSmdyVTh4?= =?utf-8?Q?e/JM=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd1a394-9e72-45d2-323e-08dca5cd8d36 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:29:03.8596 (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: 3qB6OGAyCPX0NCdsT+lQ4mU3vLqI75Kau7+GIO9/YJtNZT4qXVv23ix9JCIdB2AKMkP1EsAlpJfrQL8z7EAEaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 From: Haibo Chen Add gpio function support for MFD adp5585. Signed-off-by: Haibo Chen Reviewed-by: Jun Li Signed-off-by: Frank Li --- drivers/gpio/Kconfig | 7 ++ drivers/gpio/Makefile | 1 + drivers/gpio/gpio-adp5585.c | 184 ++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 192 insertions(+) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 58f43bcced7c1..20daa3d70abc7 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1233,6 +1233,13 @@ config GPIO_ADP5520 This option enables support for on-chip GPIO found on Analog Devices ADP5520 PMICs. =20 +config GPIO_ADP5585 + tristate "GPIO Support for ADP5585" + depends on MFD_ADP5585 + help + This option enables support for on-chip GPIO found on Analog + devices ADP5585. + config GPIO_ALTERA_A10SR tristate "Altera Arria10 System Resource GPIO" depends on MFD_ALTERA_A10SR diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index 64dd6d9d730d5..1429e8c0229b9 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_74X164) +=3D gpio-74x164.o obj-$(CONFIG_GPIO_74XX_MMIO) +=3D gpio-74xx-mmio.o obj-$(CONFIG_GPIO_ADNP) +=3D gpio-adnp.o obj-$(CONFIG_GPIO_ADP5520) +=3D gpio-adp5520.o +obj-$(CONFIG_GPIO_ADP5585) +=3D gpio-adp5585.o obj-$(CONFIG_GPIO_AGGREGATOR) +=3D gpio-aggregator.o obj-$(CONFIG_GPIO_ALTERA_A10SR) +=3D gpio-altera-a10sr.o obj-$(CONFIG_GPIO_ALTERA) +=3D gpio-altera.o diff --git a/drivers/gpio/gpio-adp5585.c b/drivers/gpio/gpio-adp5585.c new file mode 100644 index 0000000000000..7c9edbc16975b --- /dev/null +++ b/drivers/gpio/gpio-adp5585.c @@ -0,0 +1,184 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * GPIO driver for Analog Devices ADP5585 MFD + * + * Copyright 2024 NXP + */ + +#include +#include +#include +#include +#include +#include +#include + +#define ADP5585_GPIO_MAX 10 + +struct adp5585_gpio_dev { + struct device *parent; + struct gpio_chip gpio_chip; + struct mutex lock; + u8 dat_out[2]; + u8 dir[2]; +}; + +static int adp5585_gpio_reg_read(struct adp5585_gpio_dev *adp5585_gpio, u8= reg, u8 *val) +{ + struct adp5585_dev *adp5585 =3D dev_get_drvdata(adp5585_gpio->parent); + + return adp5585->read_reg(adp5585, reg, val); +} + +static int adp5585_gpio_reg_write(struct adp5585_gpio_dev *adp5585_gpio, u= 8 reg, u8 val) +{ + struct adp5585_dev *adp5585 =3D dev_get_drvdata(adp5585_gpio->parent); + + return adp5585->write_reg(adp5585, reg, val); +} + +static int adp5585_gpio_get_value(struct gpio_chip *chip, unsigned int off) +{ + struct adp5585_gpio_dev *adp5585_gpio; + unsigned int bank, bit; + u8 val; + + adp5585_gpio =3D gpiochip_get_data(chip); + bank =3D ADP5585_BANK(off); + bit =3D ADP5585_BIT(off); + + guard(mutex)(&adp5585_gpio->lock); + + /* There are dedicated registers for GPIO IN/OUT. */ + if (adp5585_gpio->dir[bank] & bit) + val =3D adp5585_gpio->dat_out[bank]; + else + adp5585_gpio_reg_read(adp5585_gpio, ADP5585_GPI_STATUS_A + bank, &val); + + return !!(val & bit); +} + +static void adp5585_gpio_set_value(struct gpio_chip *chip, unsigned int of= f, int val) +{ + struct adp5585_gpio_dev *adp5585_gpio; + unsigned int bank, bit; + + adp5585_gpio =3D gpiochip_get_data(chip); + bank =3D ADP5585_BANK(off); + bit =3D ADP5585_BIT(off); + + guard(mutex)(&adp5585_gpio->lock); + + if (val) + adp5585_gpio->dat_out[bank] |=3D bit; + else + adp5585_gpio->dat_out[bank] &=3D ~bit; + + adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPO_DATA_OUT_A + bank, + adp5585_gpio->dat_out[bank]); +} + +static int adp5585_gpio_direction_input(struct gpio_chip *chip, unsigned i= nt off) +{ + struct adp5585_gpio_dev *adp5585_gpio; + unsigned int bank, bit; + int ret; + + adp5585_gpio =3D gpiochip_get_data(chip); + bank =3D ADP5585_BANK(off); + bit =3D ADP5585_BIT(off); + + guard(mutex)(&adp5585_gpio->lock); + + adp5585_gpio->dir[bank] &=3D ~bit; + ret =3D adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPIO_DIRECTION_A + b= ank, + adp5585_gpio->dir[bank]); + return ret; +} + +static int adp5585_gpio_direction_output(struct gpio_chip *chip, unsigned = int off, int val) +{ + struct adp5585_gpio_dev *adp5585_gpio; + unsigned int bank, bit; + int ret; + + adp5585_gpio =3D gpiochip_get_data(chip); + bank =3D ADP5585_BANK(off); + bit =3D ADP5585_BIT(off); + + guard(mutex)(&adp5585_gpio->lock); + + adp5585_gpio->dir[bank] |=3D bit; + + if (val) + adp5585_gpio->dat_out[bank] |=3D bit; + else + adp5585_gpio->dat_out[bank] &=3D ~bit; + + ret =3D adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPO_DATA_OUT_A + ban= k, + adp5585_gpio->dat_out[bank]); + ret |=3D adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPIO_DIRECTION_A + = bank, + adp5585_gpio->dir[bank]); + + return ret; +} + +static int adp5585_gpio_probe(struct platform_device *pdev) +{ + struct adp5585_gpio_dev *adp5585_gpio; + struct device *dev =3D &pdev->dev; + struct gpio_chip *gc; + int i; + + adp5585_gpio =3D devm_kzalloc(&pdev->dev, sizeof(struct adp5585_gpio_dev)= , GFP_KERNEL); + if (!adp5585_gpio) + return -ENOMEM; + + adp5585_gpio->parent =3D pdev->dev.parent; + + gc =3D &adp5585_gpio->gpio_chip; + gc->parent =3D dev; + gc->direction_input =3D adp5585_gpio_direction_input; + gc->direction_output =3D adp5585_gpio_direction_output; + gc->get =3D adp5585_gpio_get_value; + gc->set =3D adp5585_gpio_set_value; + gc->can_sleep =3D true; + + gc->base =3D -1; + gc->ngpio =3D ADP5585_GPIO_MAX; + gc->label =3D pdev->name; + gc->owner =3D THIS_MODULE; + + mutex_init(&adp5585_gpio->lock); + + for (i =3D 0; i < 2; i++) { + u8 *dat_out, *dir; + + dat_out =3D adp5585_gpio->dat_out; + dir =3D adp5585_gpio->dir; + adp5585_gpio_reg_read(adp5585_gpio, ADP5585_GPO_DATA_OUT_A + i, dat_out = + i); + adp5585_gpio_reg_read(adp5585_gpio, ADP5585_GPIO_DIRECTION_A + i, dir + = i); + } + + return devm_gpiochip_add_data(&pdev->dev, &adp5585_gpio->gpio_chip, adp55= 85_gpio); +} + +static const struct of_device_id adp5585_of_match[] =3D { + {.compatible =3D "adp5585-gpio", }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, adp5585_of_match); + +static struct platform_driver adp5585_gpio_driver =3D { + .driver =3D { + .name =3D "adp5585-gpio", + .of_match_table =3D adp5585_of_match, + }, + .probe =3D adp5585_gpio_probe, +}; + +module_platform_driver(adp5585_gpio_driver); + +MODULE_AUTHOR("Haibo Chen "); +MODULE_DESCRIPTION("GPIO ADP5585 Driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1 From nobody Wed Dec 17 15:33:02 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011003.outbound.protection.outlook.com [52.101.70.3]) (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 48BE91A072C; Tue, 16 Jul 2024 19:29:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158154; cv=fail; b=K/CidBTBH/qjofIdWdU3GfaHhOBLErgk21cnwsxUekTK7Zkoc61Lwh2gsqyi8CqlC/mFYLjxNjywnR33qRUsypqIb3MkHCKBP7B73WsHBVbjUrHcjgwye/vurrmimedtwUpKQK1clb80p8LENKWCk5hYfLqPm1IDhE6Wz8wwB2Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158154; c=relaxed/simple; bh=po8Ool7o3UM4Uh/jsHpDjST0Gs9nOujmSWm9VP/qA9k=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=kY2321HXdRb3cSbBYxGk/cYN3FUG+rYfdeI5JSYMDdFxmLYrbEHxUvnpQfUnXAJq2umAQbnjVBvqN09/VQ0A0oetz4IwBfSvcxyFUqN8yKfpB1C0dJeZWSCx4WB1V1ZfrogcfL1uPeAK6lHZF4S9oyCjuDiWBkqENwwNp0q/80M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=fzfDjYz8; arc=fail smtp.client-ip=52.101.70.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="fzfDjYz8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FVtZrR+PtCHAK8iSlGrAk3C6ma7EMDbHpJDHcHzoJOiF/s2p9bCFjDk3bfJX2WEo5T9HJF18+oojjn7uO9LlEwnecbnmMUzMn0G90kE6PkyJPWFN0dLKkXMGrjozU/aRRrxWHS1Sxcae8zoZSPBtEHo2bhYFWHyXcBA2KdTWKIjMixC9LYzqRtl1DCY58DegTB6OHaKFBKWO7diDC/TxanJZgmqcPy4iHOJ+dpL2ts9q/5Oh8/ykA/ZgGSsSCa+mb3+as3jFJ6LkTE0I90gh606QwROALQbYH7pIv9hFcYb2IITNMRLFfoMIRMMjTprKOOkPO75WvLSDkLPFfMrRjA== 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=audpQSg28RPcK+jB538LSGRNrGBU1eaNPR6AG8d/TA8=; b=oaJ/hECclSPN9PIh8ByyHgP1YfgfsNkhGQyLjwY8ZDfQGGzkZhgHmsBqKkuushUYpE5eFmFWCQNfqcrqy0oObQRLQqCuBJlfIe86ygrwJ+GoCW0hKm8v4A08I+4zmTRJj0okliJcs/0ZBXY6WRj15mPHsiO1JqDRWwpj2/fJtOwpL2717vCI4qyQf0gxjimrANYzBonE0y9OgW6RxHlYq34otdXiJ4Sp5O4P5eehB4YeLjh3SiCNm/jKXgnmsRxjRWgcPoBgDeluR4jpIdLl9nRuEPJ0MieCDgUpPlpXSbuBV8sSw7j3ud58YhPc0hRd0KIPnGPMhL63xf5nRpAVFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=audpQSg28RPcK+jB538LSGRNrGBU1eaNPR6AG8d/TA8=; b=fzfDjYz8QjQSlIdLTuAuRhJj/5OacXaZiBjbsSDM8U+MMrBtkZ7e32wp2mxuLDN9OlN8f3y4AONHK3mTlUY1dfXOo87fziHtZlqyUI1rB/cJlBprQGKjBqI95P+MXHAC5hziEMuZd+OTqhlimR4z2nfINUCxM4p/kwSGDnmcSI0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:29:09 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:29:09 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:27 -0400 Subject: [PATCH 4/6] pwm: adp5585: add adp5585 PWM support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-4-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li , Clark Wang , Haibo Chen , Jindong Yue X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=8057; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=EiVtoqMy75CK5ERMMGoJ/yXXvz/dg9oechvT32M0l38=; b=1VYa+Ewde+HKap6V5bmlRBVVooCEKmoZmOOrKajOsUzO6feYCNXSKQz9yq/kEfIlGTuEeQl/Y wtJgQJ0SDynAYynpwWRoamyZh3jVn3RV9yo7YAfMank6hHzR5GwrzgF X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: 64b77f8a-08f5-496b-2a73-08dca5cd9096 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OG9uaUZaeU9nT2diZmlsVTEraFVHSHlyU3lBU0g0Q2w2Z3FSQ1NkYUJWeTRm?= =?utf-8?B?T0JtR1FDQjRBUVJpbTNHS3cwS3pwN1lBYWRBcUVJdkVFKzlnZThOYUgzRWVO?= =?utf-8?B?U2xkK2tnZXBVdkk4ZWQ1VDI4YnVCMGd3V2lyS3RYVW04MnNJYXRjZkQ4eUJM?= =?utf-8?B?WDV5TlVzTHJiZjB0QjVGblhlR2ZpQlcxMWk1ZEpUVjJyZG4zOVljcHdjWmZP?= =?utf-8?B?WVFLd25wQmZRc2s3cEZPOW0zdHcyNUp6OHdkNTNHUjd5NG5PMVM1WlBGbHNm?= =?utf-8?B?SkFsSmJYYmpnVFNiQnFaV3J2YTA5WEV1Rm5KTm9DNVZDQnRMK3pPbVpwVVY4?= =?utf-8?B?L3lITWo4T21JOXhHcDZOSGVTZWlOVXphNEZQdjFMMU5Nd2NqTnFsN2o0TXV0?= =?utf-8?B?eGZyclFhdU1VdkVUWjVGT0V1cmlIRVRQR2FJRmZ3YkNVWTFDcnppTmdtaUNV?= =?utf-8?B?ZmsvTzBid2hPRzVYTnE0RndWNzdya0lxQk9tZ1ROWkFBbXpLczh6VGRMWnZu?= =?utf-8?B?RUl0VDRnMDlwZE1vMWJYM1JXRXlBM2pHTHQ0cmtHdldUQWl0MWxYR1BJYUdk?= =?utf-8?B?V3pjNUZXYm90Q1Y5cjRURWk5WUFURFlHR1lpMkRJcTd6Q0VxR3FPRE5FalFI?= =?utf-8?B?cDFWM3VKUUdhUlZ0bDB4WUJYdVNzNnpVMldYTE9DMVNDZ3B0aWNvbC9pNE5L?= =?utf-8?B?aWtSakorcTRiUUhzcXFXZnJ1b3JESWRFV1BWaHlyd1BwdG9DUzdFVGVBTXNl?= =?utf-8?B?eEMxUmpvZ1lqeHkxVzlEYUl5TFNXUmNWY1M4bnNNQzZSRmVJQ0hhMkZPazVV?= =?utf-8?B?Uy9vMUpITzUrNFA2NVJhN2VMZHFGbHBoV1hlQ1lyV0VtYlNtVTdRTVZmakgy?= =?utf-8?B?ZG5hUXB0V1gwcllSVzhnOWRQeFVLWisyUklJK0pUKzkvbFVTeHZWNXBBVVVz?= =?utf-8?B?UVB0V1NFUURvMm9FeEltYWNhL201L2Q0LzdGZHNQbFdEaGVGNlIybW1KQUc0?= =?utf-8?B?YWhpa1lIdnNobkFSSjM2L2ZyVCtWTkQ4VUNSenBaT0Vha1dHUkVEbkUyajg2?= =?utf-8?B?aUZpZEtKc1ErNlNvUkpvS0ZzM1BCR2EvRVBENVNpSzVWZUJtR21iL0VxbGhu?= =?utf-8?B?aXNDcDlKNkl0MUNhclVLMGdDZ1Nkd2pDYWRaTHFZaEtFVGp4RXFyQ1hJQ2tk?= =?utf-8?B?NFJ2TkJGdFp2SnVQUGZXVHZmems0SG0yUW45MHRZeE9FalFQVzhpTkcrekww?= =?utf-8?B?Qk9TSEsvUGxDRlVpK1U2L0Z6TTQzSUVZRkl2SWpPeVJJaTdtS0tUNTFvbnR5?= =?utf-8?B?QnVwUlFrWGZuWi9IZTJab1hRTDRyRU5FOHh2eW9aNnEwQk5mUGlsWVBSYmFa?= =?utf-8?B?eVNhczBmdjF4Lzcza2FNM1J6VHFabENoRHlVbit5NW5xZWYvUHBjemhDcVVP?= =?utf-8?B?RUhkRmtxenNJOWhRRVRnRUdCVzVUTW4yRWlQdGlFbEZFYXJCK2FVZlVtSElH?= =?utf-8?B?akhBVTZwdUE4SEpGR0M3czQ2N2xuVlJZRWdKNzRpQmVrczR2VWVUVGdFbDFq?= =?utf-8?B?ZE12K0pKVGpGTklLZ201NVRXNURIZGpMOFRCZjJsNXMwYlFoTVpIN1gxcFM5?= =?utf-8?B?QU80Y1hYbkFBbDM4dFNRSk4xZWlVbzFFUGVtdEs3S3o5WS9BMVo4L3ZQVmZN?= =?utf-8?B?WFcyYVJ2Q2tSTGxtWkNJRXRnV0hnbVlIK2FCa0I0WTNsNDE3Y1lCL1RZWnox?= =?utf-8?B?ZndwSytZcXI3anV4RXV1dFZrczIwV2JCL2k3RlhTVzdsRDJlcTZqZzNpdGtK?= =?utf-8?B?VERjcUw2RWxMVkdKZXZudnFGN2FIcHhmdDlqa0ExdS9VODA2WHBpaVF2RUJF?= =?utf-8?B?dTBWNEdEWGM1QzVIOHVYRWxiL2ZsV0R5VEJWRzhuVE5yTHVMcDZwZFloVFBT?= =?utf-8?Q?16gaOi9Opno=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z3F2YkUrZTdPWHZrNkFGTnlZN2t1VTVFSm8yeVU4NXl0VE1tbjJXRS9zb2N6?= =?utf-8?B?YVBLaktDZXY0R0JZaThobGhERjNnVG1iY3pmbWFyQXJ4Z0twY1hGekYyRkF3?= =?utf-8?B?YklLenAxSXlVZFBNblZxT3BTMk1lKzRaa3VvTmxZM056UGVrNVN1ZEMzUUE1?= =?utf-8?B?Z01xbXFuUE5BM2NFd09sdVFWdHBqU0N0TnRjRlpzZ2tROTlQL3RzZjg1R2pO?= =?utf-8?B?bXdGM0UwaWhodjZaUGUzdGlFZGt6S1QzVkEvbUg5Y016UXJnYWkrcktSd2RV?= =?utf-8?B?aUNmLys2dTZWVnNtUzZTN3llNFZwWlpUek14KytCY2tZdkt1UVFwdnlsTEJz?= =?utf-8?B?aVFuMTcyMllQQUx6TGYzbW4zYWxoZmtKam05Rkh2UnN0Qm9tVjN1cDNxc0t0?= =?utf-8?B?N1c0Rk5Xb2lKZFQ4WkpXZ3VWWUpYa2lvamZWQ3QrUjh5WjRIL3RvNklSc0cy?= =?utf-8?B?MDAyZzEwckgvbWRkY2dndWxqaEtORmtzdllRcWQ1eEY2bmhacmpxY1QxeFp2?= =?utf-8?B?Y0lMYStTVTdlbXFlM1pTMElNY0I4czdFZkVZOWxOYVZBMkdTaVU2ZTd0V1JV?= =?utf-8?B?VGFVWkx3V0xlM3NCYytaeHhBV1U3d3FXaSt5d29HeGNQYnNVbWh4OGp0U0ho?= =?utf-8?B?MmVVOXViMHNRM1JiSkcwVHByek1zV0ErUlBIblVILzlXckQ0QnpmNGZyQSt0?= =?utf-8?B?bVJBb1doNW05VjFDWmlVUUNuZGhZZnQwcXE0THJzU0M1RjYrdUxJRGFkTVYx?= =?utf-8?B?ZkdyK1Rjd2IwMGVjYTB6bzlraTB2Rkx2VnZKSTFaWHZteWJLUFU4SHlGT1Vl?= =?utf-8?B?ekk5UVBjejZkR05zMEk5Y1B5N1d3cFpYWGE5b2hwU0xLYTY3Q254TTdzTmZl?= =?utf-8?B?VHJTMG9ZcHorU3RoZnZSRnAvTXVyVlJXR0ZEcGFvc2Q1cExYQzhUYUxpbmVs?= =?utf-8?B?SGJTSUE3VjBjMTBtbUxyaEJJMHZXN1Rmdzk3S1Zxem1FQ1BtRUNNRlVtQmNP?= =?utf-8?B?RDJFMW1JOUxBTUdlMEZFajZwSzIyaGlWZ1hiUXl0R2JzYWFXSnZqS2kvRkYw?= =?utf-8?B?R2JlS2M5QVB3eXdyYnFTczZ1OGdCVVZaSENsT21rZERiaGZVN0hRNEF3RHE2?= =?utf-8?B?QXN6TU1XL2MxVTdNL0c0Z0EvMUJLbDFoV1FsRENhcXFpV0VtR0ZvMUZycnFZ?= =?utf-8?B?cC9XYXllRWlEWUVHNFRjYW95OUVkU2RQa00wSVU4eE5saVd0Rkw3SnZuQ3Zn?= =?utf-8?B?QVR2VUF2RVJUWlZtZVVoQlhrTFBwZCt1bkNIdEVQblo2c3RUK2YwOERiS3ZZ?= =?utf-8?B?MWV3dm5sL0liRXZGWlpPNDNSVFNiVTV3RnBIQ1hvVVVGczl0c3ZKOWhpQ2d1?= =?utf-8?B?MjJvVk14OGlVbFk4emdObGJEeFM5Nm1md0JVWVZiS1B1WHE5ejZVOEFxTkRE?= =?utf-8?B?ZDcyTFN2cEpySXVTZWZ5dEFNMHFpM2pmMHphZzFhK2laamgzUzl6QmlHQkFq?= =?utf-8?B?S1o0OU9xRXpxaHVmU0xCT0ViVjVLc29yeEdYMlZHUnd1TXlBZ0hQMUJodUJ0?= =?utf-8?B?SHh1WG5RcFJJSThKbnBKYU8zNjc3aHNka1RUM0pleVlwcitkQnRVcGY2bERm?= =?utf-8?B?eEpyRXNPNE10bWtTaE02QmhLVGNPbFd5ZlpRaDdnc1BlNUtIbTZrR2FCVGVo?= =?utf-8?B?WldWMzBGQlQ2YmZwckl1ZHBXSERFejJhcWJlaEFJdXFiOXBTcnFkY2RwM3NX?= =?utf-8?B?a3pzUUtrWjYxT3BmRjAyQU5vMXJGM3MzUXNKWUZiTGVXYjgwMWhhOWNYcGJm?= =?utf-8?B?Z1d6OWhGYUxkMFE0ZGZnTWovbzdQSTQwSTNVMVIxNm0zdU1UMjlpV0pEVDB0?= =?utf-8?B?TXJzTnRLYXNxL0NHS055QUhGZ1Y3cFZiSHg3RXVZK083TnZrSll4TXJkWlhN?= =?utf-8?B?ODNzeFQ1Nk5majF1b2Fxb0RNcmxGdEMvaTRvMG0vVHFMSUk4YzIwRkFSZHNw?= =?utf-8?B?RzU0SXpxYUIrMERBUHVlRHRzWkljRkd1NW5KbkFvdkY1b1loZjErTmNaa2dP?= =?utf-8?B?YldObG05RTRsZUVyc09NLzBUOG9wMXpvbjNkeXUva2szYWt3TXEwTzk4UjVz?= =?utf-8?Q?ovYU=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64b77f8a-08f5-496b-2a73-08dca5cd9096 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:29:09.3616 (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: ok7AGpBEwoU+aoFzu/jU65joWEhCwqV1NwzGcCao5HQU9jMWavrp7SxyXISHRQFnmeBybzD05Kbs80QJosC2EA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 From: Clark Wang Add PWM function support for MFD adp5585. Reviewed-by: Haibo Chen Signed-off-by: Clark Wang Signed-off-by: Jindong Yue Signed-off-by: Frank Li --- drivers/pwm/Kconfig | 8 ++ drivers/pwm/Makefile | 1 + drivers/pwm/pwm-adp5585.c | 215 ++++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 224 insertions(+) diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig index 3e53838990f5b..baaadf877b9c6 100644 --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig @@ -38,6 +38,14 @@ config PWM_DEBUG It is expected to introduce some runtime overhead and diagnostic output to the kernel log, so only enable while working on a driver. =20 +config PWM_ADP5585 + tristate "ADP5585 PWM support" + depends on MFD_ADP5585 + help + This option enables support for on-chip PWM found + on Analog Devices ADP5585. + + config PWM_AB8500 tristate "AB8500 PWM support" depends on AB8500_CORE && ARCH_U8500 diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile index 0be4f3e6dd432..161131a261e94 100644 --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile @@ -2,6 +2,7 @@ obj-$(CONFIG_PWM) +=3D core.o obj-$(CONFIG_PWM_AB8500) +=3D pwm-ab8500.o obj-$(CONFIG_PWM_APPLE) +=3D pwm-apple.o +obj-$(CONFIG_PWM_ADP5585) +=3D pwm-adp5585.o obj-$(CONFIG_PWM_ATMEL) +=3D pwm-atmel.o obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) +=3D pwm-atmel-hlcdc.o obj-$(CONFIG_PWM_ATMEL_TCB) +=3D pwm-atmel-tcb.o diff --git a/drivers/pwm/pwm-adp5585.c b/drivers/pwm/pwm-adp5585.c new file mode 100644 index 0000000000000..f578d24df5c74 --- /dev/null +++ b/drivers/pwm/pwm-adp5585.c @@ -0,0 +1,215 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * PWM driver for Analog Devices ADP5585 MFD + * + * Copyright 2024 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define ADP5585_PWM_CHAN_NUM 1 +#define ADP5585_PWM_FASTEST_PERIOD_NS 2000 +#define ADP5585_PWM_SLOWEST_PERIOD_NS 131070000 + +struct adp5585_pwm_chip { + struct device *parent; + struct mutex lock; + u8 pin_config_val; +}; + +static inline struct adp5585_pwm_chip * +to_adp5585_pwm_chip(struct pwm_chip *chip) +{ + return pwmchip_get_drvdata(chip); +} + +static int adp5585_pwm_reg_read(struct adp5585_pwm_chip *adp5585_pwm, u8 r= eg, u8 *val) +{ + struct adp5585_dev *adp5585 =3D dev_get_drvdata(adp5585_pwm->parent); + + return adp5585->read_reg(adp5585, reg, val); +} + +static int adp5585_pwm_reg_write(struct adp5585_pwm_chip *adp5585_pwm, u8 = reg, u8 val) +{ + struct adp5585_dev *adp5585 =3D dev_get_drvdata(adp5585_pwm->parent); + + return adp5585->write_reg(adp5585, reg, val); +} + +static int pwm_adp5585_get_state(struct pwm_chip *chip, struct pwm_device = *pwm, + struct pwm_state *state) +{ + struct adp5585_pwm_chip *adp5585_pwm =3D to_adp5585_pwm_chip(chip); + u32 on, off; + u8 temp; + + /* get period */ + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_OFFT_LOW, &temp); + off =3D temp; + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_OFFT_HIGH, &temp); + off |=3D temp << 8; + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_ONT_LOW, &temp); + on =3D temp; + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_ONT_HIGH, &temp); + on |=3D temp << 8; + state->period =3D (on + off) * NSEC_PER_USEC; + + state->duty_cycle =3D on; + state->polarity =3D PWM_POLARITY_NORMAL; + + /* get channel status */ + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_CFG, &temp); + state->enabled =3D temp & ADP5585_PWM_CFG_EN; + + return 0; +} + +static int pwm_adp5585_apply(struct pwm_chip *chip, + struct pwm_device *pwm, + const struct pwm_state *state) +{ + struct adp5585_pwm_chip *adp5585_pwm =3D to_adp5585_pwm_chip(chip); + u32 on, off; + u8 enabled; + int ret; + + if (state->period > ADP5585_PWM_SLOWEST_PERIOD_NS || + state->period < ADP5585_PWM_FASTEST_PERIOD_NS) + return -EINVAL; + + guard(mutex)(&adp5585_pwm->lock); + + /* set on/off cycle*/ + on =3D DIV_ROUND_CLOSEST_ULL(state->duty_cycle, NSEC_PER_USEC); + off =3D DIV_ROUND_CLOSEST_ULL((state->period - state->duty_cycle), NSEC_P= ER_USEC); + + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_OFFT_LOW, off & AD= P5585_REG_MASK); + if (ret) + return ret; + + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_OFFT_HIGH, + (off >> 8) & ADP5585_REG_MASK); + if (ret) + return ret; + + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_ONT_LOW, on & ADP5= 585_REG_MASK); + if (ret) + return ret; + + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_ONT_HIGH, + (on >> 8) & ADP5585_REG_MASK); + if (ret) + return ret; + + /* enable PWM and set to continuous PWM mode*/ + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_CFG, &enabled); + if (state->enabled) + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_CFG, ADP5585_PWM_= CFG_EN); + else + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PWM_CFG, 0); + + return ret; +} + +static int pwm_adp5585_request(struct pwm_chip *chip, struct pwm_device *p= wm) +{ + struct adp5585_pwm_chip *adp5585_pwm =3D to_adp5585_pwm_chip(chip); + u8 reg_cfg; + int ret; + + guard(mutex)(&adp5585_pwm->lock); + + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PIN_CONFIG_C, &adp5585_pwm->pin= _config_val); + reg_cfg =3D adp5585_pwm->pin_config_val & ~ADP5585_PIN_CONFIG_R3_MASK; + reg_cfg |=3D ADP5585_PIN_CONFIG_R3_PWM; + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PIN_CONFIG_C, reg_cfg); + + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_GENERAL_CFG, &adp5585_pwm->pin_= config_val); + reg_cfg |=3D ADP5585_GENERAL_CFG_OSC_EN; + ret =3D adp5585_pwm_reg_write(adp5585_pwm, ADP5585_GENERAL_CFG, reg_cfg); + + return ret; +} + +static void pwm_adp5585_free(struct pwm_chip *chip, struct pwm_device *pwm) +{ + struct adp5585_pwm_chip *adp5585_pwm =3D to_adp5585_pwm_chip(chip); + u8 reg_cfg; + + guard(mutex)(&adp5585_pwm->lock); + + adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PIN_CONFIG_C, ®_cfg); + reg_cfg &=3D ~ADP5585_PIN_CONFIG_R3_MASK; + reg_cfg |=3D adp5585_pwm->pin_config_val & ADP5585_PIN_CONFIG_R3_MASK; + adp5585_pwm_reg_write(adp5585_pwm, ADP5585_PIN_CONFIG_C, reg_cfg); +} + +static const struct pwm_ops adp5585_pwm_ops =3D { + .request =3D pwm_adp5585_request, + .free =3D pwm_adp5585_free, + .get_state =3D pwm_adp5585_get_state, + .apply =3D pwm_adp5585_apply, +}; + +static int adp5585_pwm_probe(struct platform_device *pdev) +{ + struct adp5585_pwm_chip *adp5585_pwm; + struct pwm_chip *chip; + unsigned int npwm =3D ADP5585_PWM_CHAN_NUM; + int ret; + + chip =3D devm_pwmchip_alloc(&pdev->dev, npwm, sizeof(*adp5585_pwm)); + if (IS_ERR(chip)) + return PTR_ERR(chip); + + adp5585_pwm =3D to_adp5585_pwm_chip(chip); + adp5585_pwm->parent =3D pdev->dev.parent; + + platform_set_drvdata(pdev, adp5585_pwm); + + chip->ops =3D &adp5585_pwm_ops; + mutex_init(&adp5585_pwm->lock); + + ret =3D devm_pwmchip_add(&pdev->dev, chip); + if (ret) + dev_err(&pdev->dev, "failed to add PWM chip: %d\n", ret); + + return ret; +} + +static void adp5585_pwm_remove(struct platform_device *pdev) +{ + struct pwm_chip *chip =3D platform_get_drvdata(pdev); + + pwmchip_remove(chip); +} + +static const struct of_device_id adp5585_pwm_of_match[] =3D { + {.compatible =3D "adp5585-pwm", }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, adp5585_pwm_of_match); + +static struct platform_driver adp5585_pwm_driver =3D { + .driver =3D { + .name =3D "adp5585-pwm", + .of_match_table =3D adp5585_pwm_of_match, + }, + .probe =3D adp5585_pwm_probe, + .remove =3D adp5585_pwm_remove, +}; +module_platform_driver(adp5585_pwm_driver); + +MODULE_AUTHOR("Xiaoning Wang "); +MODULE_DESCRIPTION("ADP5585 PWM Driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1 From nobody Wed Dec 17 15:33:02 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011004.outbound.protection.outlook.com [52.101.70.4]) (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 7DF2D1A2576; Tue, 16 Jul 2024 19:29:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158158; cv=fail; b=b2U9Z+104QtB1GQKaNPJsMPoH7SSX3SCSH7phJOcSJ3HVpp/foqEC018q+433w2Q9/tjSM06qRxb+eoO9FdVm4u06oMK3qlmnNaRyhrAY/rfKlz5hX1TyMuIIgqSdCQ6J7ozi6bxOyhFTeZplEVnA9ElUTZzGSxriIQylcwAhuM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158158; c=relaxed/simple; bh=uufbwtMH8Q4FcaHsYoiDpdowRKaQgK3Y3yz2947Q2s4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=WgkndZFHrjHEe94GmJnbdkrbQNnySD60AmVD6wZMyDbH0rhQDLDiiAW2YKABg0dr1Q1Vxe7N+NTGl97Lm8EE2+tWSGK3ukrJSODdPjhen3YmUU1WlPGcmSXbSF1cagKRXyKMmqtazjA27psKOhiMChnxR5O/+keB5mwE3WwafGY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=MIkklO6r; arc=fail smtp.client-ip=52.101.70.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="MIkklO6r" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=taSngX2xKOG1jCCNCWb+ENN60ye+oiKjzJenkjo292lqvu73nhseJV7okNI2nB4ntU7HtsX0Z6ZdBCdTaC727S1C5vl2liGOsGLloL9BPMkqcACdLdFtDQh5liRWn1BgEqa3p2r/faHb9abnHOakQbRrBsDwXazvYJfngPvZrSeKcaSsy9D808HbXIB8yXFyE7ocbj9CepSgyn/uVwRyqm77b1tps4GQMaSenbCvAfeSxl/fkJa3q2/g+2xoMXn9C9Qi0kvRJEAjsHmhSkGhw5zyUiJTko5qrCKK7xepPe+QrMFRqH1PUBus5xMWfD4ahwimpQbs80YvkfezQ/c3Ig== 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=GUMG4X1O8TFBRzq+Frl5S1x2kYBoqEitLdvdlDy43Ng=; b=kuZ/X0DZ0Vgor5xS4YW3NH3MRcVAVh8eJbL4UiWVJOPGQSiUslnl7n3ZAP4Vjz/ubMZ/FyRYIQ/OgaR+ckt0zpDRrqJoLTyFrK7A0NPzIEy46K25RkudOmGkf4jvhbU5dNWbvqFKn7fmDEnIE5ICQUCMOFbpvM/UngmfMTeUHRIGnWI/poYMhAbxCJtl3purOcItd73wipqEu1O9fF6/udEqe2Vz6OYfNX3Bvo5MRzolQ4O9BicJeAPKSWmJH8thizUoq+thy55y3AcjmvykTkb9rz4/1UTvpN/gifkjoFCAwIr3Sqk+Q1s69hnZeZWsXhSpsBVvdSQqU7CC3pECVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GUMG4X1O8TFBRzq+Frl5S1x2kYBoqEitLdvdlDy43Ng=; b=MIkklO6rth4+/HWUoLsXSu1Exi3lGVnt2LxlrNODCM+BzHIPBOVn1lntkiuU5ugodTYrZ+euhvYA626ZWopfGQc5PTJW2GSg7KDmYABzmyCwVmoTbRfKzIyDYqtkU/KBJlnbVJJNNpeVRWKJdjhGUXhudaW5iAWS58HHQ87xlMM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:29:14 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:29:14 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:28 -0400 Subject: [PATCH 5/6] arm64: dts: imx93-11x11-evk: add adi,adp5585 gpio and pwm Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-5-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=865; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=uufbwtMH8Q4FcaHsYoiDpdowRKaQgK3Y3yz2947Q2s4=; b=lG7oqtHmWcsId33oB9iTm0k58jlm5f2ABLmtxtCik1gNCklvSep1FTPPVD55P332uICHR/lPh i8tZ/HVLdHgCPxqg+jOGmQMPHFMHQJqvc5guEsnNCRj30uPMiPvchI9 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c986f20-53b7-4112-7066-08dca5cd934d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WWtOeVhsVXBMQXNCbm8wVTR6TnFsNm9OY0xrNEwrQmt5K3BndDlDenZCRnRC?= =?utf-8?B?b2lCZ2dCU3BzVXZKODN2UEVwS0lUY2pTaEM3NEtYYkI2WXExcjYwN1RlTWpn?= =?utf-8?B?REpqMHFMcGxtblUyTjFXV2JTWjdlL2dWTHlTY0VsVjBxMXM2SjZ5NDJIUURR?= =?utf-8?B?TWhuQ1hCWGRZbGE3SFBjZmV4QzhqY0hlUUZaTmZ3RHRpOEpIdFpnd0VCQlUv?= =?utf-8?B?RTV2cUl1bW9nNVVXY0ZIb1hIUE1RM1V1TGkvSTZ2YzVrWlVVZkQxa1p6Vzdp?= =?utf-8?B?SGJiL1FJVFNPTEdiRjBSSE5jRXRtOTJzNW1BWGRLbEMrcm1USzFnQWI1MlNt?= =?utf-8?B?bjZQdVdaUWZwRk5Kcy8zMDVubTd2N3V6bWI2WG1jMGE1Mmk2aUJiak1sLzdv?= =?utf-8?B?QU9BQ1FXeFdBekg3Mm0vampCNkdneGNvRVE1TlNXb294L1g1aVptQmFFZG1N?= =?utf-8?B?RzJ4dEliNk91c2FIa2tpd1lRTzc5RUp6NWI2cWVPb2NrWmdSSjZaTTZBTFg0?= =?utf-8?B?SmFEU3RlR05vZnV6RDBvdERkWjFCdThvVGhBeGx6cXhwbGRyOG9ua0lrSVJ1?= =?utf-8?B?MnM4VVd0Um1nSG5uaEkvdkRIZDNTUHlJcnJxb2xydEhWTXFCOHlpUUtUT2dN?= =?utf-8?B?d0oyUEVHcm9tSEdtR1Z4R09RakhCQ2NYZGRiaHpQd0ZzV1R1NlJZeTMxR0g0?= =?utf-8?B?ejU1K0lrNXlXNkVETXNLdzh3cmFMTnQvRFpWbmo2K1pEbE0zeEwyeE9uMHhU?= =?utf-8?B?TksyRTU4ZUNQNjFkeGRva3dVNGZZWFlka29ldkRvVEZxVGg5cTBMMWtzMU5F?= =?utf-8?B?eGxHZXlHZDcyaGNobkErdkhkZk1EeVdnTHV1SlI3cnJTNjlRWTdVVjdVSGJR?= =?utf-8?B?SzBmbW1oQjZHNnYzSUpFTjBzenM0UGtVOVVTRTN2M09DNndMNURmM2h5VXJI?= =?utf-8?B?Qk83SFFTRUNHMytDR1BzMUFvVVlGUnhPd2M5VmlyaTlqSVdBSFV1T3gvRy9W?= =?utf-8?B?TUN1S29pWVBZMUM0cHZSanRTQ3RuOHJUYnpmNXZwdld0ak5MSlRQU3FLTWZ2?= =?utf-8?B?RDJRWHNyZzZzRnU3dHR1cUVvL04rK2ptekQyMEcvaWlVYUFXakphRFRRNVMw?= =?utf-8?B?Y20vZmFCbWRsTXBNS3hJdjZWVmFRdEFoZi9ENmsxWE05MHZoUDdyMFhtdWsx?= =?utf-8?B?a2h6c01PeGJ2VE43UzBQckZsYzV1Q25ZcVUvWGl0L1Rzc1ArMjdsQVRJMmNy?= =?utf-8?B?Y2psTWFhdFB1V3hBRndtNnN1NW04U2ZEWDJOeFVzcGVPb3FxWWg4bUpJRUpI?= =?utf-8?B?b25XTVlkakJkMk1wdUJ1dkhpWCtta2hxZkpGRnlZRDV1d1NpdmFFUjFTczho?= =?utf-8?B?M1lDVDZpUXRZeXJoZDdpajVNVDRDZHlOdkJYV1o3ZGJFSldLYWZoQmFJeVRN?= =?utf-8?B?WGdFNk8xcGRWUWlnU3JFRHVBUm5IQmFGMUw5RDdXUnZpL3YzRW1oL0RVTW1z?= =?utf-8?B?VXduOTcxbmpOdFB1bzNnL2lMQlB2ejBPcWpFdjgyOEpDK3huNENTMDlINEtF?= =?utf-8?B?ZWFwRENQSjlpblFIUDd0cFRma21SZmtiZ1VkTWovdm1HUG1vKzRLTjFTUWtI?= =?utf-8?B?NVIzRzl4bE9vUjRNSHl4SkNyalltNFZvRmp4ZFVEOFlraU9Ea1lLdGZWTHJW?= =?utf-8?B?UmY3dityaHVVZkNGaFE0U3hjeEdZRWUxaXRFRlBPZitCMmZBcXhFK3IzcU94?= =?utf-8?B?Zk5kNTVMaHY5WThKNjlRcktsUUZmc2MrRHErY3ovcWduZkp3SXNkMTFueTVM?= =?utf-8?B?SStSejJsaklmVDVwUURFMnZIdEFpRXFObG1RRUZvOW9qOWtNb2dLNEJxeSs1?= =?utf-8?B?Z1dYRDRJdFJndWlhWXZhdWlXN2JxcytwRFoxemkrWDNHL2UvNUxrUGdveHVT?= =?utf-8?Q?EmxLGf96AV0=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MllScjB6b0JkWXJzbFFyVkNuZXJ3L2VKWThyaC9uemdYdkNQVWpCZ2tDcm93?= =?utf-8?B?M3lJU2xLT3YyQTJwTndzUlZwR0t1d0dWeDlEYnE2ZGFlTDZXS1VxUVBMejJL?= =?utf-8?B?NUs1cUsyeWxScTh4dzA1VE9RZXhoR0xYSXlUZ3BzeFVpTDBySVRZd1o3Rkh2?= =?utf-8?B?dDBQY0ZDdS9BNHYwQ2VRWHVpcXpld1BPNTJYR2pZMldpWDA1SVc1bkkvWTBM?= =?utf-8?B?bFZ3VWJKT04vNmp4V2szRzcyNFNEc01yQzd4WnFHN2txaEpnbWxCNEdGN2Nv?= =?utf-8?B?dm43MVBabkE1L1F4OU5YK0dRVC9HZzhoSmZYZStPMmVCTy9tck04QmVhSHNM?= =?utf-8?B?MXdURkRGcjRpNjJBSE5kT3FuTTJFVGtPMzBZZFRqbW8yZlltZ1ZEc3l4Rmtu?= =?utf-8?B?cUJtVitna1pVU0lSanAyWlE3cXhOK09CQzNyWm9qWFplb252YlM2OFJ2TnU5?= =?utf-8?B?M2NXYVVDMmlHYUVOZHZFVlRDNUd4YzFaRStzYzJScU5aVFd0RXdUQXZpanRk?= =?utf-8?B?a3hYdUhpMTR6VWovT2s0aUh5YXZQY3A1VzVVbytHbDREN29vTUlmTXRwQ2RQ?= =?utf-8?B?bGFDZWZ0TnRQNm8xUmZwSTd0cFIvc0p4czE4ODZJTDBGTlR2c3RzcTV0WWJP?= =?utf-8?B?enpvM1Y4eTJDZzR0eTVzMnpNVEhHbFRyQm1tRTE5Wm0yRGE3SU5DREh3Yi9E?= =?utf-8?B?RlhvNk9nbWNIV2tHakZIUVptL0swR1g2ZFVSZCtRaGhDSUEzc3M5aDlaVWtN?= =?utf-8?B?OXZQbWU1L3lkUGhmZGpvajdCYk8xbUxZUTBTQm4zM3RiVVZIdlR0cmlwbGVi?= =?utf-8?B?Y0FML1JreURra0twcytLQ0NOYm9xNStNSVp3am5rN2w5R3Q4QWZCSWloZjl2?= =?utf-8?B?WldzUEl0MmJOZ3o1WGdLcWU3MG83bHlaTHMwVDhsNi9XQWRub0hZbFErV0tK?= =?utf-8?B?WG94MFVXRml1dmFHRlNxZnMwVDJwVk9oRGxqL2VKSmRsWEdXSzhIUXN1OTd2?= =?utf-8?B?WnRZbVJQaVA5SnY3U2oxL2ZxT2EycllieXJCYjh6alQ2Uyt4a243SFd4SEtl?= =?utf-8?B?YVMvUmhINzhqQXduejB2NDlSYWQrd3VtT0hxa3dvbXpGN3Y3bmlZNWg5cm8v?= =?utf-8?B?M1p1dEtrbllwdUM4Rm1UMitwSmJjaEFzTWZ0YlgzTkNIaUJhNWExUnlBbW9t?= =?utf-8?B?Ymo4ZHFKSE5ScVZ4ZTBxcmpjQ055c3VIR0t4ckFlZ01kWU1rSXlHZUw5L0tQ?= =?utf-8?B?dFBvNWx3Z3pyckhHMGZOYmgrMEVUUGxqLzh0TzdNUXlWUUdYajhpZXdpQ2Ro?= =?utf-8?B?SE4remh3SzdVaUxWc25oR3h1M1lCa2Z1VFJxa1Zxa1FCY1VteDBoTzBEUW96?= =?utf-8?B?U0QvTWp0NlNZVUsvRlFXTGdzMmFDeXBsQ3RtOUVxZHJsdXVvSE9RMlIzTHNn?= =?utf-8?B?aFdSUDAydzEvVHdFUnN2eFZzcXg3Nm5hOEVoOGczWGhZWU9yTFg1SW5zZktt?= =?utf-8?B?eHZWTi95Nkc3czJnMVZ2WlRlOTRWVGdybnZhajVNNTNDNCsvQm5QWm5DQ1ZS?= =?utf-8?B?cEs5OCtGdHVoNUFTSGI2dGxGYUR4UGNOZ084Qm5heGxOWGhZSGlyTHJpM0hD?= =?utf-8?B?Ullpb016ME9mTmIzVzFOSzFBQ2lQcXdDbzFOZ21FVFE3K2tGM1pIbHJvWTBt?= =?utf-8?B?TW9oeG4wOVNiQnBSWXpQSEFyN2tBMENCeG9sTVh2d01ML0NhUGh4QjlNS1Nk?= =?utf-8?B?WUFyQ3N1QllUeEcrZ3dXclZZMVQ1R2VOYldoYUNCdXZVSG9GV2RJRXIvMlFm?= =?utf-8?B?bnF4TkFSM0Z5VHZLNjZ2MGlWbFpNRFR4YUJMWitONnZGcHVTQ1dOeUhKN29x?= =?utf-8?B?YUhTUVUzSHRNK3pXbVNLcHpTNEt3UmUyOEFCU290WlQ4aXJXVFM2RkdYY3R6?= =?utf-8?B?VEE3TE01aHZhVVdmY1lBbUZQbFBoakdsc0MxcWcxbkg2elZvVGhLK0hHWXU0?= =?utf-8?B?MXphNWltNHlvTWZHbXhkSlFYZHhKdVJnWVZLL3FCcE9yTnlrMkd4NVhsVjhH?= =?utf-8?B?OVZLSU4vVGc2eStBR1RMbW1idjZDMGlpS2d0dnZwY2JRbXpPTlFsb1h2bnRm?= =?utf-8?Q?3Ltk=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c986f20-53b7-4112-7066-08dca5cd934d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:29:13.9302 (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: 0XBuE8ZrYsjsLtNUGO63mwGTL/fBlIFNY1MZ4Zu5MEzw+jVZdLzz5D5QZcQuR2xxDxV4XZvVR+vG75f0frAA5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 Add adi,adp5585 gpio and pwm for imx93-11x11-evk board. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64= /boot/dts/freescale/imx93-11x11-evk.dts index a15987f49e8d6..6bfb90f4da63a 100644 --- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts @@ -241,6 +241,22 @@ ldo5: LDO5 { }; }; }; + + adp5585: mfd@34 { + compatible =3D "adi,adp5585"; + reg =3D <0x34>; + + adp5585gpio: gpio { + compatible =3D "adp5585-gpio"; + gpio-controller; + #gpio-cells =3D <2>; + }; + + adp5585pwm: pwm { + compatible =3D "adp5585-pwm"; + #pwm-cells =3D <3>; + }; + }; }; =20 &lpi2c3 { --=20 2.34.1 From nobody Wed Dec 17 15:33:02 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013014.outbound.protection.outlook.com [52.101.67.14]) (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 2702F1A2FC3; Tue, 16 Jul 2024 19:29:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.14 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158162; cv=fail; b=nBZZC/gxRRSm+YelnhC69zBLHQlBBkOXot5y+q2YtjRiH3sOpQSN5cnMUfPIImkKtdAdruvvRJS+EBnBPwYgpX5WKZLWjrzbc/UBg+b/uMqZy6XqJNlN9rDLwezKZ5Co3o1ey27nhqmVXYlC1DtBfbu97iEOhTm/2mXdpSBmRx4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721158162; c=relaxed/simple; bh=fB3KWOR9qVEj3neL/LeJEso6Ca2a7qbn0iJ12IBTwRw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=DKk9EmusRLgI3Sj+IxarbdDnR32CdGbk24ZB0tseqEKCqMskQ8dpJqazfTK8xC6Xsh92LYvQ6kD466zjZea/5sn7D//ubNslcyn4jrWPQ81r8nc9Dukv8t3IgD55s98xz19ZFlGMjZsUMhtP2CNaNbxbJ7pRDxLDZ2Ruymvv0yQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=HnLNJFCJ; arc=fail smtp.client-ip=52.101.67.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="HnLNJFCJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=locObgZswZRSSSPMUJxQC/e9y18ai2VPOl5LfH2+igixANry3specEU2iEjY55ybwT+gzg+x/2CNCaOqWyLG+MeqzI3sRovoug/EaulyMuWp5kw1SDjmrePwcAsB9KxGEKlfXPOIRpNafikDD5RqGOFXbZuYRpOyYMnjNF+vC6/LKvV7fpIucnwBuEYewNRzpIb+rDikK7aVzp7inRx+dr10zsq9hXMY+Cvz5i6U6l1HTep1MOh4VWIwUcaZl5OJW4ssT7WrZvO2u4z5mbvxXSFjc2I43f9HNAdRzNLLoeurXCz97buAUj4ciedhXxzMC6Jz4zj3Uaiqh8rCQ8nArw== 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=mV4gpTwO1BX7D0VuhCO5AV4PaS9O/XtK6hGNoMOui3I=; b=K65o6FlH/xWPHb698pE3n8Bu7sqGmTL6glkDroZE2FU06ZceoQInIP9h4EHF85ftv+RDVgzXw41K+vMg6/psQWLO8wt79tZwG0mYWCadfv1FbnVvJlPWSXBkjMht4F7ePUuSzB1H8V82DxwJvCiJVcXjRRb2GMa6Eiigu82skdMTwRXICExt4g2/ISv408/OrQi/+t6b2pFywhBYEmhqZQ9xAM13YLlzp6vSop1atyO7TEusa2ylxIteZEJKAvrYFiMSzS+QFsD2Ttue1CgaNDnk7TJOsTMDy73oEngHsjAqJc0Q34ektn/vl8sUJL/C/j7HwRb1enL4AAC+p67PAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mV4gpTwO1BX7D0VuhCO5AV4PaS9O/XtK6hGNoMOui3I=; b=HnLNJFCJcI2i9thchmTQRap6zKw48WKHFMjUfPBM1Fbbxnfgr/K8gMav8hmNFDsnZXFfuZpmSzzTkIEBakGbf+GH32+U5B87iUt03jjDRQlgoLK9xI6eOXHWt/3CzOkb0cH/6usNlQqA7ZYY6MVRT4MZkVzPumSLtchuxNpQ+ho= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.14; Tue, 16 Jul 2024 19:29:18 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%4]) with mapi id 15.20.7762.027; Tue, 16 Jul 2024 19:29:18 +0000 From: Frank Li Date: Tue, 16 Jul 2024 15:28:29 -0400 Subject: [PATCH 6/6] arm64: dts: imx95-19x19-evk: add i2c2 and adi,adp5585 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240716-adi-v1-6-79c0122986e7@nxp.com> References: <20240716-adi-v1-0-79c0122986e7@nxp.com> In-Reply-To: <20240716-adi-v1-0-79c0122986e7@nxp.com> To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1721158123; l=1437; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=fB3KWOR9qVEj3neL/LeJEso6Ca2a7qbn0iJ12IBTwRw=; b=rfaaYgoalQNrbpVG4kUzRkVGTEO/SxNZ7H+ptYb/9MiHnC+OUjdiShJD40VYsFB/qVqpDMbNn RCxoZ7GORx8CRuoWdQ5rdc5njzLoMobyWNpYegxkJdV1PjFUZX6T680 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VE1PR04MB7325:EE_ X-MS-Office365-Filtering-Correlation-Id: d6c16ad0-7883-407c-c9ae-08dca5cd962e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?R0RJRS9GSTcrNnVtTlhnLzRBRlVFWnhSNmpWcVB0WG54aHRmYnpRUzVLWDI1?= =?utf-8?B?UmRXV1Q0VFRaWSszWHpsZVpsR3pMV0ZYQ2pPUjRLbjBiZVpaa0hhS095OW02?= =?utf-8?B?SzlQTTVwNXVzZ0ZrQW1aMVdad1phazdBOFBBNmlwSzlCZFRjTWFuNUt5cHgz?= =?utf-8?B?bEJzYkEreitTVzFwN1AxRTN1dHJYMkYyTVFQVm9OVkQ4ODA5TSs0VWVpUy91?= =?utf-8?B?RWExbkpkZThkeTkxZi9oS3Y3Wm94dTloM2J3SWxMSmdITmEvZ0lrcXMwVUk0?= =?utf-8?B?VE1SMUNlQWlIYS9STVZ1NWpKTnlrRHA2V3lES3ZXRkpNZG5ZM2NBbFlML1NG?= =?utf-8?B?VWdkek9uQUw0eXhBUzRpeVJqNkNnMnJPdmp1R0l3ZW5ybUZhbTl3RjB2NThj?= =?utf-8?B?eWM2RG01RERnNE04amRzME5jb25jdUdCVjhZcnNPMzNodTEzOEZ2OW4xTEJF?= =?utf-8?B?elBDcVZEdTZTYjFMUGpmemltUThGbHZIUCs4YXUvY290TFhtdG52eEhnZ3Ez?= =?utf-8?B?YkZWZUZZQU9JcGJUWGQ2MXp1eHdNMnFid1pPMjJ3cHdobFdXajdINDZkNnBv?= =?utf-8?B?a0Q5R0JvczRidTlLSCsyVW1QS25jTkJHcnJNR0E5SGVFNlFwSG5ZQ0RBSkxS?= =?utf-8?B?RlQ5RjFtWmw0N1hGRmxkMitRdGRpNFEyOVdrL3d3bEVCclRKTzZkcjJYRnJD?= =?utf-8?B?OU5JUC9BRmRaRDdDVk1CMzBta0V2aHB2K1VxUFczZW8waE9LdkI4MFBVbWtw?= =?utf-8?B?Z2JKb0drZ3pXQVVWUFNpU256c0RPZWN1WHRtdkxvQ1BxMUhQYW13L2JBc21K?= =?utf-8?B?Zk45c1JSNzJWa0FYL1BvRnhsV3BTekV5SGR1YzRlcHVCc3ZlK1dhWEl2Q2I2?= =?utf-8?B?SnpPTEdyK2lpZjhqb0xyQkNvYmhrek4vT212WGFodVpWNnNIRXIrNHh4WkVu?= =?utf-8?B?UW1VbWU2NWw4b1hQWVNXTFpobENkNy9wOVJWSnBhbTM4bmNsWXoreS9vSVk1?= =?utf-8?B?OWFuZzdzK2EyeklrZkRXSzdnZEdoMFhYalVRNUJVV0doMG5vM0lSa05EbXJ2?= =?utf-8?B?VlpaL0w5aXpESmpvV0VCU2UzZ2dVQk9MMlMvSFRCT3VMOVZBemwzRHl2QkZl?= =?utf-8?B?UlAyaS9IR1d3YWtIU09VQzN6TFNxblNBdXdrMis2dU9mVjBTL3ByK3RVeU1Q?= =?utf-8?B?ZGtRYllQMnUyaEsyb1JwYkk5aTZYU1NmM0FLY0hOU3lmWnVHNHFsS2ZIOGJl?= =?utf-8?B?MHpaTkkwSkhSWWNZb2x5MGhwZnFNTmp2UjRsZFhPWW5TdzY5ekVQcHZKNkpM?= =?utf-8?B?Q0gybDJyZUpuZ2ZYbGxhS3o5Si9CU01ibnRqcFdDMWxkSGFnWk1UbTNZYWlC?= =?utf-8?B?SktMazNsakFqdTNNanRjYVZQQ1FIbHA0cWxMQmxUQmhOU3JrUU5mM1RiM3M3?= =?utf-8?B?UGpacVUyZU9mbEs4L2QvRWt0bVNCQzNNNERIY2RzbnBJczJVcE9JSFhzejRs?= =?utf-8?B?MDBER2JOZ0xpWkcvOEdlZmxFcTdOZnpybUd4VnJZV05wN2NHOGIyZENxRUF2?= =?utf-8?B?MGJxNXpXQmxlYm5YaThzeUJzZUdWdnd4bXZqanZGdnBmSVNBdTZRQS9Scmwz?= =?utf-8?B?TXMvSVlpRjRnMDRLNkZmNEQycXJVS2JZK3FIb3lXVmlzb3BiZlBqT01GNEVL?= =?utf-8?B?aWh6c2w2eEk4UjdQcExVQVVZeXNEbDc3dExrMWFHOVpjZU5OVVFmdytDZFFv?= =?utf-8?B?Y3Joc1RNZFlVTlh5NkcrdjBJOFdtUG1yaXY0ZXMzdGdxWWdyRmxHUUJxZkUz?= =?utf-8?B?c1JUVGZpYk1ldVhMMncvQmRWZEROY3BhdVY4MExob2hPVnU4S3hHTCtzQVBZ?= =?utf-8?B?SlBpV01HMGpDc1FNb0FMQnlnRlVJTUNrM056djZYTU5qb3BOcEs2WG1TeS9p?= =?utf-8?Q?vwAQ93yuyAA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RlA2Rno4bFdsL0pQMWhwT2JMVzJOWDFjMnFMbWhMNENqaVR0Wm9MMEJiUXFK?= =?utf-8?B?YXdQaXZnWmlxZjdQRFZVaThuRloxNCtCa3FkeldKcjhuUXZQMEhBRWd4WFRu?= =?utf-8?B?a1RXS0twUmNnQmFyZndZTnlpMEJndWFua0MrekUzblMrNXY0QWs2d21YU0Mr?= =?utf-8?B?VTZaTmRsK2U1ZFYyT1hmVlJEMEw5WG85V2xGWkhySzBvcXdjMHoxZGhnWTVs?= =?utf-8?B?MW16djFzOHBsQy9mcnUvZXNJbHo0WlRaWk9vYVZTOTc3MkowN0JPbHE0VDQ2?= =?utf-8?B?dVdnWW9Od3RyUnVTUDlnMG5RUlNuUHh6TmUycHNnT1Y4QzNDd0VCeE01Qkcx?= =?utf-8?B?T2xmMm0yeU96RkkvUjFESVZleHNSVHhISHNwVEtZd0d1SmxFcWtRdUIwd25R?= =?utf-8?B?V1ZJa2xOamwzcDRmcVpCeEpBaVJsTUwxOTAzU0VYNi9ZNllaU0tETG8rV21x?= =?utf-8?B?aVRUb2dvaUVlSWRTdDNkRjEyTnpDM2FDcFQyZTJaUUJuaVhKNUp4d0tidUtZ?= =?utf-8?B?dlFBZ05nejlweEpOdWNheXNtUXFsY3NFS1J1bnIxN2JBK3ZDRjdZSHFBMytq?= =?utf-8?B?YTRHNWZpUVRSaFBGOSt6cmlaRksyNFozMVpKNE9IVFBzdkdPL1g5VWhvTUNX?= =?utf-8?B?aVJxandxQ01ZYVJ1cURHZjhJVmZuWXl5UUpMTHRDWHJDWFhSWjUzT1Bucmdr?= =?utf-8?B?dFdGbzNJNWZMRnMwZnhvKzBNUm9BZVhzMzU1S2xJRGNFaG9qQTJLSTdCamIv?= =?utf-8?B?T0lRd2lZYkNRQ1MxbnVqWVhuRnNCRjM4eGVmQ3Z4S3NDa0oreVdsNGVxR05O?= =?utf-8?B?aTQvbWdTaTdYdEt0K1l6QjkvZTFIVVJKbk5iRTJhOEhVQmNTdDZWbnpTb0to?= =?utf-8?B?ZzdrVjlhVUdwUEtzYmtPUlprSDlhd0M0QzV2d2dVS1hjU0VLT09idFVPQ3FJ?= =?utf-8?B?a3BjMnNjdWFrakx0cDI3R09SSTBEcTRiaVNOek1XZHlGaUQyWHBQSUZjUFdF?= =?utf-8?B?Z2Fxb2ozeTlBOWdmOFZueHVpWlI1bmRxUUE3WGVlOVhtK2RvNklBVnJmTjFr?= =?utf-8?B?cjBwQzN3ZEduTjNPNUNra2FScmZOb3QyMmZYQStUUElnLzBRV2JYdXFvT29p?= =?utf-8?B?RllwVHEyWStUdEZhMHRIVG5wcDNPRU1UcEIwT0k5U1FTMUZHMnk2YW5kQ2Jt?= =?utf-8?B?czBxMEtIT2xheGRzUHRSeDdnNThyZTZrYTdMbjVIeXpEQkVHNnVGVmdvOFlY?= =?utf-8?B?NEdteDlWaTdjWTd6SXFDVTVTemZzejhGQzhXc3pDa3FQS2Uvd0VoS1JOSHBt?= =?utf-8?B?Nm9od3d4SlQ1ZkEwUjhSV3VpQ2Y3SW1WYzJNSjVwdnJlUkJDQUhqaEIxazdI?= =?utf-8?B?eUYrZHVLSDdrcDN0QWlrMEZDWHZ1NVhpRWZXRzlacEtKZmo0OWx1VjhZeG5j?= =?utf-8?B?aE5GVVY0aHB6S2MrQWVQQVYzeHAvcGp1ZzdjcjhXWDFpNzhtTEtCcUJqTFY4?= =?utf-8?B?Y2tHMHZEazFja2Jmd3ZMZnI4VkNTVTdkczZpMjdMbnVoYUZuRzlPZXF0SjZ1?= =?utf-8?B?OXZQNEhpdTg5RW0vanJaMmRqaEpiN1QrUk4wWmhUdjZ6cE1NYU9UZlI5M3lw?= =?utf-8?B?UUNCcWFVUkduc1VZOEFxdXVlOFBIalJlMHF1QnpnQldkUnJ5N0RUTVBJTGlm?= =?utf-8?B?SnB3b1J4U0VXa1VWWDBUQVMrcnA1SzNGdmFqL3dvNmcySGpUZ05iUzlLMGdM?= =?utf-8?B?V09PK0lzbGFyTDUxTkR2eURzZWE1UU5icmdCOURjOUxzeEFvWjFRdWVQNFVL?= =?utf-8?B?ZVdycTNHR0NURzV2SFBkTElOd2JIYi9Bd3hkYUszQllwY1NOa3hwZS9mTi9M?= =?utf-8?B?cnM0Z3YwNXJEODJWNnF0RHBFdWFsNk1KbEMxdiszR0VaYTRXVlNVbDBJZ0Rj?= =?utf-8?B?bENvMGJzc3puWTUwbDBnQ2pYRk9sdnFKZXd6azM4QzNoeVpESWxEQmdORXlJ?= =?utf-8?B?ZzcyYjl3YWU0bHY5VDNTd1dSZWlJeWNsQldmMGZib0tBZTd2UEJYZ0lTV0dx?= =?utf-8?B?Mjk3WThBTUw2TEhZeGRwcVBCRWNzQlFpN3p0Q1RCL0orWEkyTjUwZzFnMi8r?= =?utf-8?Q?Zb8w=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6c16ad0-7883-407c-c9ae-08dca5cd962e X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2024 19:29:18.7115 (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: U43SIJB8SeFIl1zzIf+L1GByPGj6WGUOW4ithFD1m3g9+tCokRhflIo5MVopUUzdgHTk09UILaeqIhakEMn3kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325 Add adi,adp5585 gpio and pwm for imx95-19x19-evk board. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 30 +++++++++++++++++++= ++++ 1 file changed, 30 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64= /boot/dts/freescale/imx95-19x19-evk.dts index d14a54ab4fd47..8c52fec79535f 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts @@ -81,6 +81,29 @@ reg_usdhc2_vmmc: regulator-usdhc2 { }; }; =20 +&lpi2c2 { + clock-frequency =3D <400000>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_lpi2c2>; + status =3D "okay"; + + adp5585: mfd@34 { + compatible =3D "adi,adp5585"; + reg =3D <0x34>; + + adp5585gpio: gpio-adp5585 { + compatible =3D "adp5585-gpio"; + gpio-controller; + #gpio-cells =3D <2>; + }; + + adp5585pwm: pwm-adp5585 { + compatible =3D "adp5585-pwm"; + #pwm-cells =3D <3>; + }; + }; +}; + &lpi2c7 { clock-frequency =3D <1000000>; pinctrl-names =3D "default"; @@ -159,6 +182,13 @@ &wdog3 { }; =20 &scmi_iomuxc { + pinctrl_lpi2c2: lpi2c2grp { + fsl,pins =3D < + IMX95_PAD_I2C2_SCL__AONMIX_TOP_LPI2C2_SCL 0x40000b9e + IMX95_PAD_I2C2_SDA__AONMIX_TOP_LPI2C2_SDA 0x40000b9e + >; + }; + pinctrl_i2c7_pcal6524: i2c7pcal6524grp { fsl,pins =3D < IMX95_PAD_GPIO_IO36__GPIO5_IO_BIT16 0x31e --=20 2.34.1