From patchwork Thu Mar 14 13:25:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592425 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43]) (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 0EAC16EB53 for ; Thu, 14 Mar 2024 13:17:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422257; cv=fail; b=gtsD0F0rYU6eWzwgqMJTZBsjNij5IiLJp5BppxHxI8ojKsFWLxoJv1TZVQWBUcNtSl/ykLVB+MSKpqjhALh+cOFELdtyYVT7vEUnoqRXMc1JUnPMXqtC4JFVNKHC4dRCqgIuNDSZXx+oF5e2DgJl9cYK2JiByKS7aoFmiU2kOvw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422257; c=relaxed/simple; bh=aaFHRrcLdFxXpn3xtANy3lDPAyqrB9mFqlHPM37e3x4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=aMq8o5qanrMWAzftOz4Y5gov/JzrokESccCsh0WrOcClSnUuCig7wlbOXkCqbt5pYE/r9J2o2bvGxhJuLn58epoFaed40Kwix/KVADSwC/Gl1dOSwryT4xN04BXZQ65oKnmLa42gB+aEs4/mKO0SqadryjQjS6QzdZTJ0Z/3Ln4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=YzuXlKhV; arc=fail smtp.client-ip=40.107.21.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="YzuXlKhV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HUofnJ9y/Sef3S2DM19vy9k6//AnZEbP8aIj0YzveqS4NPupk+J5PcPyfBZeSVWVtUtnmRETTxJh0aVulIFYw28FNRnv5s1lyz2pgias1p7KE/lVTPkKrmYV6O9MwydC6VU2FuhZH+SZ8gXvxekBThPbILv+jDjyDn2attEDkgKirUQ+WYM9guH65KXLTTePCM1MjT9P/BBg6epL3wdY2SAaraZQ4JUbtl854N52x+v1xvGPP3c6DDw7Ug+ZsKawRMCsjJl/h4lTNyra4rxJUIYAlbtebdIRh/EMVbSO6SVyBp97wvjMrDeQrqioQrBuy/2ksTUm5AjU2KhFkg0vPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Yk8XFiyyANXV35TM2w/vxaNgwnnpdcdqgw24oCH4bz4=; b=lKoMpYwAy0azahO3lthiWQrUe5eXRfiDrChnzRgR9y/HcL6HoKKecpvVshZClG6qaSs4mxsiFLDLLuGbSi5MGoO0JNHC1sSV7PkD3KSF/tZLZwOhtt+g+XzfGrEClvoJGJJaWwEO93Ypg8hjzSec5KgCkOnEE12IUDZwJYkdZOMydzupES5kHwyn+hncae0zHtB7MsAJ0X0lZ3F17uLeU7TexUePFS5A+Q+YYvWxOkxoed6jCZcav0d9rtcf77Z9G1Nc/ZuajbHnt2tuyyxeJTUH2ptizcgf3ufKri+QTNzSnC7YSc++nJqHy0xHJVD9h9ps8wngYGq4MCdGEHhOag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yk8XFiyyANXV35TM2w/vxaNgwnnpdcdqgw24oCH4bz4=; b=YzuXlKhV89aO0TczgkgumQJ/sa+u/BR9ireIA/vxVcMqtAeEusqNnKgLaK3dhAoDTCLj2wMI6vq8L1C/duNAvVHhgQkSCAla7MK/4AOTR4MbTPLwwMPSO3wKDwgy7Xz7aG9z1EvovS/F0GsYbpsInpIqpGvvK0LB6PVQdCN+ZMY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 13:17:31 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:31 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:10 +0800 Subject: [PATCH v4 1/6] dt-bindindgs: clock: nxp: support i.MX95 VPU CSR module Message-Id: <20240314-imx95-blk-ctl-v4-1-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=2432; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=oBfgXvJOkUvZpqBqKyx61phq+NVdb4iyS6Nu0vXi1l8=; b=J9UCWV2mJZkpJq83v+YDYvK0Gn0se2D5+Nw0rwOnC1ogjD9MHOqQ5xuIujHBCIu/QFIEAeTLF 4KCxWT1fMlJA5Jz8Zx91gMIdrta/oMNWRVzymxPlQ/THyxMqZGHgM5M X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: f4f15a57-f1db-468f-3b23-08dc44291ad4 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 72OA4G/Kdw/0g+EdDoV1TK3z8mvy4r7nmh8Rgkc0E1zR4oKrg6Z7Oc0Qu3B5UeiIzSAaisf55GTmDf3mRdwHeWGqjg+RzjjYdkt54PlwSjBr3F4L0kIm6/BlEoOOeASoCoAp20R/w7Pzgd5Mu/JqNEh43plo7b5mvyvGh3a5nOQi7UxVhf2TOcB76vC8/UWgFGtoHp+F0dAhrPKwYE5zefv3QOr+AK+ZAlxl5oEIWLrpKgjFs3aSleO9Ftld0T95DjLdmiJmJGJqSvwp3D+UmcXxm2hyfRx+2/PueEpNctsvVbeUQsO0CDNsDy+ovhak+02snQDMw3Qana3qIFzuPeMnBD/SuG5UuW/DRbeDLW3IwTnVeyAMgG9LZVNOc67euHgeYoC8fQzBWX/QTciB84C/l8bjJ1mS+GlQiygM36CiE5M/PFNQgehlAlPBjLs1XnFRF6L/gp2xPuc/PdU8DLBC0jvuGmJx2k6ArIVdCkGk+2e24H8i5im8Yfjw5QxgmloejGHwJzK1vrHGKb/tsWwcA/XQCvarfqFHxuycNOn9KjIj8dnn4kVj1I8OFZ1OYSPkASwNaLY7RaHQL91/FYM9v7Jk4wMZk+uaphx1ftcqxtU5n53Jt20lz+3cLq4OneEfos4hA6+0UKW42ePk8/1ia+W3DNTw6P+/RPmWZj0pIFvRhT46Vxak3LxNjHKc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(52116005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?AKMUUaQ2mdwxVMCC2lnCrw1J6sIf?= =?utf-8?q?XcbGgszk/HgHzLSnMPBzIzpsFHgGFbbrxbTiKxL7vQ8WEfVB1UD6NyHjFsvfqUMIL?= =?utf-8?q?KUgD+LeRAVKb1F+KbloWGYKLzt7aLxMr81jyOStWG0Txha+Y3lXvCqKK6U5YY2c2i?= =?utf-8?q?Zeug5RQikdOMplLnoHJGSUGbczAPWNso/9tpACbgHenj9sVq25G9RslHaOlPnYJ9d?= =?utf-8?q?ySGq6GfUugRx0pdTmLg9+OTWpCSsO9h2kBYvxr551XEbyDRVV/2OsvpGcGGiXEHEN?= =?utf-8?q?UulsDg0/l6OTWV6molJJA4rLwjvd7xgr61/d+OAx11QwA18W2H9o/bbb5S5eXu40a?= =?utf-8?q?o78ni9lsn6MVZx7nUBjTN+MRrIRlDMuhgbCsXXM0CP6gJZJjmfEuRlfoK9GSzCwr1?= =?utf-8?q?wDLspf35VJUR7dkz5bd8RNvp6MfL9szLY46EEfUQZNvlkCpBtBP1DP8skTVBYHN8y?= =?utf-8?q?5+ywcsKL9iwhpzY0RSXXqZ23FZ37a9LHsfFkxdOFcQM8gmUwrV5cSAkBEjyYtRHQQ?= =?utf-8?q?74TUXHwfp09Y2lVUHxEq1PwS01WZxk+5m3S0NURb6qOfIZOl5TLAYHykvmex3jDpI?= =?utf-8?q?l0NISVCpmjHnKlgskabw2WqjdmluqxDR2Jiqxvfdion8N3frBIf4t8EVlQ87jQZyQ?= =?utf-8?q?qAnhBjdUF2SIOdhT66PaMkzmYmhgdMWG8zX7QGMtAwKZtO9/o8ISSuTelIg+oHi3H?= =?utf-8?q?CaOiRGFclh0qGYjmd6J32DE4LosmDaALwI1lAo4Uc9W8bTXqCKDgi06yjJoT8LWYw?= =?utf-8?q?uuvGN3hZr1HbqZJbEDw8tYz+Mm+HYA2mThSM5VzEzd//Vp7BpbwkBCMFwJXIQvYST?= =?utf-8?q?q7HB3Int0saNjlrKOydb+9Npu597Bf2ReYOg92nQW+Pdy3mRCtAkzYps9FIQyHU8d?= =?utf-8?q?oLbgNPxWhqYLanfUuKMhillp5SvWCN8lk59yJ7qirfZplnvjpdmZFjvOCYm9k2lx3?= =?utf-8?q?y7CJIHZuKX9r194iZ5PPJOmjYuxnl1tR71+LgmlunCrQdnKn7ZbkqDB6Ha8a3k+M4?= =?utf-8?q?ZiL0l6pX9wHqWQ4xYjiqQltG5j+9/Gnq+TaC7YC1+5y0sFnIRk+YffVUnqhxrJiad?= =?utf-8?q?0z0OUHtgrscCZYzqPiCzOVq27Ba6q9sIFyhGBY0fSGMK2Vv6fnx8z8YJ/l9uxHtES?= =?utf-8?q?yPEUBliCVZbRsqDwsbAW4UhyLEvmo/vxHq+fHgNjdX+2/vsQ08NZ/HutMy7H+0OsQ?= =?utf-8?q?gGzEmbItsz5GJsVf61NBes4Y6FepmcLv6mCAEQhwDVg7K7DDEhn78L+N17sbqNZuz?= =?utf-8?q?aPJTe+i3KE6+tsJ150H5k9W2MBmjoCVI9RIc2mas/eyTxqTF3E+ZTBZ/Ugll7N4eE?= =?utf-8?q?YOuF1vXRDBZVMPSkdXwyFE18o6LGyE8wZ6p/KQRDUr+HCg9Mp1UuWYkTDJHJdGeez?= =?utf-8?q?J2vvbea3RwLfUjqBt9oqLVHdqHijlBUBD9oqc8EX432k4er2UooK0zwwZktRHRsks?= =?utf-8?q?TiFau/7G2aqsBoGld5f5ipUlY0cTpoF0k15YvnR+pttFtOjtxTmSIqdQ7EApVSkJl?= =?utf-8?q?yBNKaSqbhAU0?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4f15a57-f1db-468f-3b23-08dc44291ad4 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:31.5466 (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: 7G7c5xzBCFI8CagsMuVOaeJdhwJiibh1Sc7W+udBG11BR32AQuwP+WpCzP3P6ABVF3XBRY4HH7hh4EZ3ZlltQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 From: Peng Fan The i.MX95 VPU_CSR contains control and status registers for VPU status, pending transaction status, and clock gating controls. This patch is to add clock features for VPU CSR. Signed-off-by: Peng Fan Reviewed-by: Rob Herring --- .../bindings/clock/nxp,imx95-vpu-csr.yaml | 50 ++++++++++++++++++++++ include/dt-bindings/clock/nxp,imx95-clock.h | 14 ++++++ 2 files changed, 64 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-vpu-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-vpu-csr.yaml new file mode 100644 index 000000000000..4a1c6dcfe3f8 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-vpu-csr.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-vpu-csr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 VPUMIX Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - const: nxp,imx95-vpu-csr + - const: syscon + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + maxItems: 1 + + '#clock-cells': + const: 1 + description: + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See + include/dt-bindings/clock/nxp,imx95-clock.h + +required: + - compatible + - reg + - '#clock-cells' + +additionalProperties: false + +examples: + - | + syscon@4c410000 { + compatible = "nxp,imx95-vpu-csr", "syscon"; + reg = <0x4c410000 0x10000>; + #clock-cells = <1>; + clocks = <&scmi_clk 114>; + power-domains = <&scmi_devpd 21>; + }; +... diff --git a/include/dt-bindings/clock/nxp,imx95-clock.h b/include/dt-bindings/clock/nxp,imx95-clock.h new file mode 100644 index 000000000000..9d8f0a6d12d0 --- /dev/null +++ b/include/dt-bindings/clock/nxp,imx95-clock.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only OR MIT */ +/* + * Copyright 2024 NXP + */ + +#ifndef __DT_BINDINGS_CLOCK_IMX95_H +#define __DT_BINDINGS_CLOCK_IMX95_H + +#define IMX95_CLK_VPUBLK_WAVE 0 +#define IMX95_CLK_VPUBLK_JPEG_ENC 1 +#define IMX95_CLK_VPUBLK_JPEG_DEC 2 +#define IMX95_CLK_VPUBLK_END 3 + +#endif /* __DT_BINDINGS_CLOCK_IMX95_H */ From patchwork Thu Mar 14 13:25:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592426 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2077.outbound.protection.outlook.com [40.107.8.77]) (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 0FCAA6F53A for ; Thu, 14 Mar 2024 13:17:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422262; cv=fail; b=Xm8NZpjlkIBIHWOF80sU30OopQ1kN4Jmf53XwWkuesTASxsM1OfboFzKm+KqEN30qS5n+2tQN7AGiUdGTjagyXwacnBcAx6Px0oPGS0yulL27uOz+QyCh4kJh0Ad/mpHsrZQZ17Ww/hLjlMjuUrkml0HPUoljwURgHclOE6kzeQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422262; c=relaxed/simple; bh=V7kjEr8z/ksjJjrvKkRb4VYngfsiraMsaNB9cU7M0EM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=IE/AVgl51uRhJHMk9G4kae3JY+KrrjYoTQpHrTnIKVKTmK2zkoC/idAEB5zd5PLg/9qvIzUuny7paiPpulf5L90ALov7zWNaOuOcJZCVEDV3PNhkrnmxREDFr5rK+gnG5xL48a8rjy8ifAPoGujREQYT7U4rOO4h8mkwoG3C4KY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=foMwpdKV; arc=fail smtp.client-ip=40.107.8.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="foMwpdKV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gN+PTq0BDFNL5lvOUX925mwf0u+n3+bL6gv0CDyZZkR9b4+w0+uCZmxV8J3P+VsSrM+YYMw1xprNrva6oVnwL5yoZGWtGa9kQdBGCxvqXVp2e4ozL04NPEiBoUvFbLrxFGbbIuciA6JbU0zQgg7zV46EKhBnW4rnK1EMOsNxUasj/WxJdYXLC6QCMQ2ZnKbWh62OBHyAgNvBOmDuVykA0vgF04p1Jl1egl2HB9L6saXhkm3LzkfcKsT/z5fESPLFG0z8msTKkipG70097Jedo+n5wh5Xi+k67NIaiq0KANs9KugZMCfc5vMjxin8RjWrkrg3gLOw5q+WFjed6Dns2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rpzqs7+B5NwK2KjUj+ZG2uQtOANI6TEgdtbh0cbT1nc=; b=L5Gc+/on1fkkc01UKJ9acGSCCzLrpYyFAnUVXnamwAMVa7+72w1pK4lMGZGtdPhP+gj/h/C/yPzLvTYitlPmI6FRgc7Aid9nuTXENwMvVT7cY+Um9/wJkO32V8vDSWBj7mzHCtB/mxyvoVLJNKkWmnjtzQ+qc6/Ghm+394BOaLOZ8hGU2B3BV/rY8CLRqiuNzAGliCSaE88/2HAYk5rNfcb2rY4ihuxJAyfxshMXbX8QrCVZkyee9X26gnYkU37EKK7Eb3qw2EVtFd0+Yh3cA2IreKVTTPccYrkcczMZkdjQIM0xQQyTU2zwtgnZLe9Fgqf+dKEbd5kf3xEGx52Aog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rpzqs7+B5NwK2KjUj+ZG2uQtOANI6TEgdtbh0cbT1nc=; b=foMwpdKVfJ3SU6jVedgn+bMLlx2MbG0Ign2TmnCxyJJCy+kDQW8ZW2ZgYW+b+2BThDD78RVXtadJ+knevmzBvIljpk3lFSIk9/3A8JpLugqVqJpUXNbj/3bcNaS6T9h20zYCR2MvNmbCxGom+GWeVHb/rBIIGd0mEolvbsrevMw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 13:17:36 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:36 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:11 +0800 Subject: [PATCH v4 2/6] dt-bindindgs: clock: nxp: support i.MX95 Camera CSR module Message-Id: <20240314-imx95-blk-ctl-v4-2-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=2772; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=P7z0swJT7PRGt/RAmx6moPJ3qMxKqwVy0GrmLcELtcw=; b=5u7Yb9YrFBzedC1TznEgaM0eVWCsRQDuxosTAGj7Bw/saNz7EMUD1LM7GIUm1R+s2zdyvnhgs 8UrdFAG831dDqgoJyheT9fBVtvrDk69JW9CQL0rr2iIvGB8y1BwieGR X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: 82be0c0c-f619-421a-2717-08dc44291deb X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c+tDPplS1pa6ZIPJyLvIChxw5cfp+TgswJWCTx2VFsorE681M37To1zry2wTyEUlkguwvtIgEKNs1P8KyI43mxImqoQbLBhNq/Ho6fDwk+jyHpyOeFrlP7dH/czs0TaS5cJ2QeukKeObCuPOAIZb6WZLy4p67QyO1WYrla3hat5FUnwH0YRTMXiIkSK2/golNf1M0nS5LsnHV4mWMvRwlfMHnosm4EBl7Fnp3z65pRVKe3jlGVtMyNgUJ6af/wrV4qFKROfxoqmMZpVkM7up1tAoesqCpa/rZ56MuxOfNLKWakJv8GiMtJjRnKAFeI2xSqvEkI/aI11EDs2zQnkpRMomInOVaBRkJ0zhEgIiL/0OdHbdE599wCRUHNKaxKfBYkrBk95S4driLshwK1xk2g/BrGeSX36b5MJBfODUzZcd73ZADZoHQRPYDzdteLvullpfF7LghcEtGl1RNZ6QOquD/nxFHUJv6V92f8b+X8PDzndo9l6xvOGTyB9AOpFZ9g5/7E73lPyIihB3hrXAD7BzMIgKpNRETS9EoijBxGz6921QpRbvLpOWCghh2YzsoQV5+KLos4SdkBkiIT9GprDaekH2ZASnNlhpVGrjusS+FGKMM+u2iNTtkRKKcFnldNwXK2iNWI6tjo7idlCHmw2U6fPqQk7u+9hcC31PE/RIPumaKsj70f5R8oXabUg9 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(52116005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Ow7r5lJ//vFfYPY3rpDE8HU+GaWX?= =?utf-8?q?gCWDfnR/u9K2MM94Ed1RQrI9Uq5p08j+9UN3gKxd4EeRHAi6HXu7Ekzn7uBpnqEhH?= =?utf-8?q?MvayMsRcMmAhyWc4OewjpMUlpkeRIAJ7SNnVrBe6+bL2xS8BuyAVZekIIv9yu8gQX?= =?utf-8?q?Fw2cO61+NYqxN4XQejWFtpGZX4kqZhpd5FDoi3Xr6mlgQH8+WPGWIPEKOQhJXfSdt?= =?utf-8?q?fe7Xvf8TTZRFvFDC7Xega4V/fZFhlJyxXZwMEXtbTC0kaVWMiX9KBqzeY0lT456nv?= =?utf-8?q?SH04hvyXx4SfbbxK+9uSVxTFbimYEu803iX5DTw+84Bw6+T8TkFQ5bA9hGMLgGyXX?= =?utf-8?q?oPEZTdVIsRMepvvch4A5XT1Ve9Jq+VmUNvVoOd3WmugK5VmrkbO7f5Cc/ZlMIF6vp?= =?utf-8?q?rkwhM6sDbhHLFKMIkVXpJbrnvVqSLkL3TbcL8bkFq4qVVoOL2HqcLIi5Mz8M7eWr/?= =?utf-8?q?SuuoVR6bOorirUrJs/mRO1vY8d5VgCtPnHJe5UFpq7dpIsBFLGsMaVuQOFtxpOYO4?= =?utf-8?q?rk8U9fVZj9rNcNvfotcOpJ7xfOXEH2L2pnezdmN+4aHKPHnzqlj6QdgwwHMp9TU3x?= =?utf-8?q?yG7iRlxu2BB+PD8u1cK3FnqWCyj51qPxjPOYl3eIvKKmOKeYrC/iDfeBSmMVpTp0G?= =?utf-8?q?YHYtsepWWN6elKGos6DswuxXimCGJHf5ciLoWzxHO7Z1suhHHVV23SETlEYfKUHjm?= =?utf-8?q?SNirNYEjld463NMizDQulTo5W3BRKs5Txz+QRi7uxzlIztnqEcscz4AzOOwU26FW7?= =?utf-8?q?FaqcYe4V4TGpwfG6Np2YzZpdYB4CmsRZAv0/UfWrzXllvU53uKp+7wohaRrp3mZX5?= =?utf-8?q?KR5uZCXBY5UzliHk9IgqbO3AqayArlBAM8kRoiL1ZkZ7WKNcxl/MnN3HkbxSJgvNZ?= =?utf-8?q?lZva7tkCihRvMfzFYpCrKUYQdhZUGv9Q41xUoxo0l9AgMyhdTa57f98kD+RFH1/Fh?= =?utf-8?q?1WJ0D/iRGnmAxgbIZ5LpsDWCBD9DKT+JaTKzP+xc7gO8o5DAFdKsdlZ/TD2D8Ma0J?= =?utf-8?q?wf5csuNtjovH7PxXOYWCoiCg4cVzIpi/Wt5TX7dXruslOTC1GNs/f2btnhgElKWof?= =?utf-8?q?GPLxnqUrA2nfzBGhIcWl9HxoSLxlSPzBk7fyXD7fIwafJHQCug2gigMWRXTCKEpyj?= =?utf-8?q?55eNCTebE1M0fxmSaC+5Mn8rk6+B82tAnxE7+Liog3WVRcg1C8kEt8I8Pu4PBD0LI?= =?utf-8?q?Fy28leqjj5OyX/7dcMLqaE+GM6/mu2w6azRykHqiccWbHLe2Ys/Tv/Ddnqznck0Ty?= =?utf-8?q?3r1lBF5aBEOfi9jQ3l9MRsGye/DBxkGCe8MWvgrfGqAyBoFAAXQLHayucPhe24CTS?= =?utf-8?q?bZnSFs5sYK0lfOql3cXDQ5UEfyi7LhE9OG7uk4c/R1j4mHPBLd7bPGCoGP8WJxD8P?= =?utf-8?q?fxgigpXM1XtsrIXbOOh8m61ZnVi7tC8/mDqd9h4u9OVE/Xuivx4zF9SQyPmHLQUJD?= =?utf-8?q?A6MSSNgyWUBrRLbdH9LuGYhYSj+HMDgrqnH7JM2h+9wtTEGCC/5JgHJCZoVRrOC0L?= =?utf-8?q?owRTtXfkwdPm?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82be0c0c-f619-421a-2717-08dc44291deb X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:36.7241 (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: uR4QpvTvjokPyDySxkkFyoct6WRqFmo0S4ZWuZq2vZwA2kMymmJ+aacirDruLTtnJdD4XmJiySQGt79BtECJJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 From: Peng Fan The i.MX95 Camera CSR is a set of registers that provides various configuration and status of the Camera modules’ operations. Registers are available to enable clock gating to the ISP and CSI-2 pixel formatters, enable transport of various pixel data and non-pixel data types, control their routing, and other functions. Status registers provide pixel data type error information and pending transaction from Camera NoC initiators. This patch is to add clock features for Camera CSR. Signed-off-by: Peng Fan Reviewed-by: Rob Herring --- .../bindings/clock/nxp,imx95-camera-csr.yaml | 50 ++++++++++++++++++++++ include/dt-bindings/clock/nxp,imx95-clock.h | 7 +++ 2 files changed, 57 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-camera-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-camera-csr.yaml new file mode 100644 index 000000000000..e62494e3a8b1 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-camera-csr.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-camera-csr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 Camera MIX Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - const: nxp,imx95-camera-csr + - const: syscon + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + maxItems: 1 + + '#clock-cells': + const: 1 + description: + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See + include/dt-bindings/clock/nxp,imx95-clock.h + +required: + - compatible + - reg + - '#clock-cells' + +additionalProperties: false + +examples: + - | + syscon@4c410000 { + compatible = "nxp,imx95-camera-csr", "syscon"; + reg = <0x4ac10000 0x10000>; + #clock-cells = <1>; + clocks = <&scmi_clk 62>; + power-domains = <&scmi_devpd 3>; + }; +... diff --git a/include/dt-bindings/clock/nxp,imx95-clock.h b/include/dt-bindings/clock/nxp,imx95-clock.h index 9d8f0a6d12d0..c671c4dbb4d5 100644 --- a/include/dt-bindings/clock/nxp,imx95-clock.h +++ b/include/dt-bindings/clock/nxp,imx95-clock.h @@ -11,4 +11,11 @@ #define IMX95_CLK_VPUBLK_JPEG_DEC 2 #define IMX95_CLK_VPUBLK_END 3 +#define IMX95_CLK_CAMBLK_CSI2_FOR0 0 +#define IMX95_CLK_CAMBLK_CSI2_FOR1 1 +#define IMX95_CLK_CAMBLK_ISP_AXI 2 +#define IMX95_CLK_CAMBLK_ISP_PIXEL 3 +#define IMX95_CLK_CAMBLK_ISP 4 +#define IMX95_CLK_CAMBLK_END 5 + #endif /* __DT_BINDINGS_CLOCK_IMX95_H */ From patchwork Thu Mar 14 13:25:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592427 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2089.outbound.protection.outlook.com [40.107.8.89]) (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 84A716FE18 for ; Thu, 14 Mar 2024 13:17:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.89 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422267; cv=fail; b=mo/VBCeC4hiF73RzdormEQv4N4WfLplPt3aBBY9djHYrt8iivmFEVilU3Wa3oKedCRNmwoS2eJtqdMMJUZAr6ySvZa2yKyLv9YdhhgsJclC2OS1IcwwNYeHHnSq+gju5mewiN/su2849EfkLj442S1RsUXlg6q2JX1JbkrMuSag= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422267; c=relaxed/simple; bh=tvYViUIbTDid4Z3f52ufjF9u84Zzsm0G8UO0Xsm67dQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=WxLsYnVWrizCJh7WalfQSn4AAPk5SR5fRHOZJOsh2jFRIV1k6ICYya9jkCQoXu2l5cAUOXjjTkQXVkUR5sGTx03zStOOlSt9KaUJv7xO1jUhOVwaPOzFV6N4AL6PQNofOINGjXZE3k7YKYze+aUS/q0/kP/ktRkM+m3ROeWutB8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=c3JrFo5e; arc=fail smtp.client-ip=40.107.8.89 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="c3JrFo5e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m9M2PHsegJScce54OF+snn0d38Qtk7TDInK5fezeUHrdASYHan5jF7IOpTZUIHt55DP4J1zAB0D1xjLUzSFFGuz++cU8zYV9qYKSyFQTj52p8q2x8bgdXaYdAWvYQyTMlYfvmyseF61HS752G0GIn9zep8FPr5Q7JUYnCfvxwi03Q+Y08oWyYCOBQoXAeKpxmoL7kER/8eA6nGFKjADsgRZ+p5MV9YkjuGSWROLD4+ZZ4nvCTzLOdXtTeRWzTYeOD+bCvp144wovhiXwzSxLEQ63AgmHrOaygNqEZlrKnySEzqirDLZGo29cGu2Dygzr8BqSUAY6JR+wFITECxLNsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dW+4AYAvZQSkGDIj7tq5Zshnwji9hswWack48oYQjRY=; b=J2w67VKY8qE/qHNXZGGH3W9+lSTvq6PU7ASGCFm7dVUhCGGFQkJTCWLmT3I7SX6S4qpAHmtGe+nFpIPTARiLgYxJtwkEW4/WK0jN8jIiPv6CIVgCxvrNbQzEw6kEqVwgaP7cpZlBy9/9GIUuftez6crepq8M6i7BiCzBVeIVv50bMbHabAWlHYvk6YBPPZBWi6kSQfPkVktvR4ECPcB9L3/QcCXxKcirifi6qvuMQ4hKXyqkDAxUWjM8tQ4v4R/8AM/ATE/iDsrC9nL0PcjQQcddoK7siLfx31cf5P0k50j7g6+sOgrz1hzs29DVd8QFQ56lWHqqwYlJmvsxhM9CGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dW+4AYAvZQSkGDIj7tq5Zshnwji9hswWack48oYQjRY=; b=c3JrFo5eIdhtnKn9g4I3+PUzkfaHzZ2K5iGrTt/5KfXIaJfLHhuereLxJ8uHfsMPUniauoI9BTf4lzZv5kqXQfpeoHA2LO8I7bV93a8rtDILjSgodUdD7nna7akhRGFUJRlvkAdhL3ID2CgOhBfjGTM6hqat0ygBg+SCSPTZrvM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 13:17:42 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:42 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:12 +0800 Subject: [PATCH v4 3/6] dt-bindindgs: clock: nxp: support i.MX95 Display Master CSR module Message-Id: <20240314-imx95-blk-ctl-v4-3-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=2095; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=LKYLMnnCKB4MgzS3T/KewJADSUUHZSkseLlKc8xEZLA=; b=x29dXCyItrhxXbgMwrSVYj9WeaPkASJx4Bz2t9PwjlvuYRIoHFWD0Do8ikxGbsKG6gOoX/u2r XQEHrMbbj4tCsysqWsnuZfl/gxUZ/HNPqrmOlR8H/9YKv7lX47Y9jg3 X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f47e5b0-f645-466c-0dc2-08dc4429210d X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Zn8jp0gKO4v7EU7dJIOjSTKTPMIhlLopp0g2DdqaCIc+0GvaMp8b3ywxhL00L84itiwZq0jfSY0F9lal2E0kdJczV2loDBNzIoSssKTb6iWxq7uY+9axtHpPupsnIb887KZdUEF8w+7pEsnFaZYda8rpaZ+oZfenG2TacHYeWeUlsI+84K3c4I9OxY7yO3ab8pvn+30w4/eoWNs0oaEAiJXMKMbd2HLS51S/9OwIxQ5TUu7Ofniz/wrjbBuBYOls7CrMdSO61oTzqrmmlUlGWkjV9jPCQ9mdqhwfiEbWX2EHWUtA5fSxp7Tu7ZcBL0JDWUOTj3BMm+thnWBqTcdPFoWfoTlMXkx5Mwyy+z/rrKyq+qjMwa8khou63QCJpPkZ17FmmYnLrmwYib+aukkxPCfqsPF4fw4TD0pFJRu4RelU7t2Htega+2ctBIOTou/4iRSAkROwpY4rpUQmwbFU7t+v1zfBnJLPenD/GmS0B9R6BKRb1gCXCmuVEwtfwgpTHub3N9Fk8bAE1mBOgSdQK2z9jA2Ha5MeM+Qc6XyJHb9rldi4bQboQKaYfu0a5/rtRXZ+v/9GYnpCyjDHvhiiiahAzNGP4GI1f2a4MIDO8dke2cYTG2s4LfG2+53uoQXYXTC3D55zMw7n5m2igKYmysthpn65docUHE1eXLnN6HapBH3+vckacWSU443WWH7C X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(52116005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?JFbGJ0zinZ5nXoSbjl/7sQx18U6O?= =?utf-8?q?bQOYcwSASArSUHc4ng5l6SOHNgzrJbaJp2isoTFBshLN23MKB2DVxfScqTeRTIn9I?= =?utf-8?q?J0P4pTmZmMUgJf8Uq9GyvzNtVS3fK9kFyQ5ayT0vy9iDoYkdrbJR8fQeZDBU72ftc?= =?utf-8?q?vWXr3be/MXoJqj2OoWMo33IuRXDt0vrci6U1jTorFYRBmUaOd0D2VIQTGb9OAjUuF?= =?utf-8?q?LgnSHmnktPovzZV06wjTj0yR3jOGuDLcnp4mkxmtdm+Vk3rCfYpmmYQA2ZfnM/qAf?= =?utf-8?q?dxTD3iF+9ycfTABGW/dwTJQS7u2MCydte31Z8lUBQILQ1E1C1RyDfWipEgYtqfppA?= =?utf-8?q?xUfN1MSLXCylVuq9uDpeZyw4vuqR4p+c3A7p1gVpq9YeuG3SLe1TwhscqiMt+aprG?= =?utf-8?q?UY8boIp4FH4cbAX8/2ZO6qwhgTmwhpnTNkiiIZH/V/qUmufj5nJQDJ1BVLd5Q/b/C?= =?utf-8?q?mXiMrLqcb86PWDTtx/tdEg9I8qnnaBd/O3rzjZfr0jOPgkKbOwlFT1RpPPIN6GgaA?= =?utf-8?q?h6usw7y0vZZXqyIftypWK8NR//AZksaT1SLWxqaBNf/RCJHvJOW9E6QTPJbla5qpY?= =?utf-8?q?r4zHKqlQ8h+z9f/qWqW5TeZA/pJjssjiScrgqVAUeJcZwI/uuS+m6jCm8P0qO2bxI?= =?utf-8?q?d5XPr8O4DUlyiUWGy6kWaIclkZ8PcSchezOTlcenwQHKrdlyHDZQSY8GPZCNz426p?= =?utf-8?q?TLJLqrDdG966nlEtYOTmtr9CJymwZ9WUdCABk950vntAAaI7JFtK84eqhGD+bDoJF?= =?utf-8?q?dl72MRPCTBN+t+1Zl4zSwzH/OfW1qzP06H/VK7mCMj39yF9ZyeABBK0ALNEBJjxiM?= =?utf-8?q?ZiLSeI1qWMhsVDtbGzCP/QBBy7/KSZtbuXZNn31joKCbRiaOJPmziF7/4+zLjhDO4?= =?utf-8?q?2A3rrWLnZHh3wzaLNw7mt3iZ8BZlutVw0YtMQZQ7LGKs/WrOlOyab6YHF5YB3HbCQ?= =?utf-8?q?zVcHg3ykofcVzZJ8wMEfJ35T2C/ZEZBeswhwBBOrEtoD+4g6IFjvWMrsA1xPY8NV/?= =?utf-8?q?pmRKaFn17tO1Z+iUO/VtEG8/8O2uS0Q53ipnef/0iNrJEIDKGLx85Afxl12GG5OWe?= =?utf-8?q?0rnwhjpetaPzb6fn7I8D4aNhkzCnRBlouU971iu58w5PTay2bTPeRnBM7FCkyTApc?= =?utf-8?q?VMgfk6XVzPHgXYe7oliP0/GaXMRUW0AlViYitFHW1uGvynSp75JqlgfO4CIzEZZt5?= =?utf-8?q?U2+2KPtauoX1TUxVi0hcpF/8M4AC3NJGql1qL1Hv/BN4ZTCb6rdESJ+9iSgrvYfCd?= =?utf-8?q?ExgPjc0ZvC6j0WBBLGo8lXoVGwCEfTW0x9GYnvRJ6utgW1e8eq1Y/FXGydW4g/vv8?= =?utf-8?q?ZVxA8qGvb7TpIcieZrmBsP9hwyszrMpwIS1VcT/4/5Hy+s9N45u0+0QOSfDfZiiCG?= =?utf-8?q?hKfvVZRyf8EbH2fHVOiGYIeYnSEIQa/zFn5F3VfCdgoTCoWxU3Nu/3t96E4ihD5xN?= =?utf-8?q?Nfun1KR9AVDKxB1L6Qsi2DQGYsTsyEGokLO6gqkB+jEHsw5ZhdqhKZJAh+P8oY5Gd?= =?utf-8?q?GEPkOjiV96Tk?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f47e5b0-f645-466c-0dc2-08dc4429210d X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:41.9673 (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: 5Y5WsWKmEfSZBxh9xc/N63AJX8GV96uS8kICDruSk7nlUNd+99Ru9ZxV5LaCWtuQeTgCqDZQ2NXiCFrjUMnNdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 From: Peng Fan i.MX95 DISPLAY_MASTER_CSR includes registers to control DSI clock settings, clock gating, and pixel link select. Add dt-binding for it. Signed-off-by: Peng Fan --- .../clock/nxp,imx95-display-master-csr.yaml | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-display-master-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-display-master-csr.yaml new file mode 100644 index 000000000000..ed0ec3a24d09 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-display-master-csr.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-display-master-csr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 Display Master Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - const: nxp,imx95-display-master-csr + - const: syscon + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + maxItems: 1 + + '#clock-cells': + const: 1 + description: + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See + include/dt-bindings/clock/nxp,imx95-clock.h + + mux-controller: + type: object + $ref: /schemas/mux/reg-mux.yaml + +required: + - compatible + - reg + - '#clock-cells' + - mux-controller + +additionalProperties: false + +examples: + - | + syscon@4c410000 { + compatible = "nxp,imx95-display-master-csr", "syscon"; + reg = <0x4c410000 0x10000>; + #clock-cells = <1>; + clocks = <&scmi_clk 62>; + power-domains = <&scmi_devpd 3>; + + mux: mux-controller { + compatible = "mmio-mux"; + #mux-control-cells = <1>; + mux-reg-masks = <0x4 0x00000001>; /* Pixel_link_sel */ + idle-states = <0>; + }; + }; +... From patchwork Thu Mar 14 13:25:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592428 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2083.outbound.protection.outlook.com [40.107.8.83]) (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 3D19B6FE34 for ; Thu, 14 Mar 2024 13:17:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422272; cv=fail; b=m5JZ2aQjSB5va20sotqxpLxVvh1fAdjOTzdOgxgmfAZYMjQvff1VlSAhX5XxKsBk01HA9De6sWcvw7J7fVNbthSRp5SD/P2vMkG+MDw457sYDShDzyVjK3oGw7BotEX9BLSroo0O5cQHAQTnNnd+U5KciFycHNDVff+oFrETWJk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422272; c=relaxed/simple; bh=OeXtsqat6KQ1ASDv+S8KaZKv7eWjrTahnKJ1rmgiH+g=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=UaE9ityqnRja1c6tUKgXTmamTNshjcBT1cZz9JO9kJEoRoxwJhDKKoRplnMuEIY5toHsDxuEH+jOk8E9lYRkmTfEdGhNJNJiZ+ZdBidZpAQpZFAkpFBx8m5tKoWckS/CYGE1D9hpDc5JDvF6wB/OlxduJWQByEvvguaCPtSih/k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=Q1P7MlvS; arc=fail smtp.client-ip=40.107.8.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="Q1P7MlvS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OK4onKoObw1o1f5x+fOFrmnhgzSyQNxTUL7ALn4wPKjIKN6hzXkvRFGDcaoKFRi8WwyjnQsJmaKLPI2DyFhJ+QyRQ8dboVCpKzeszCvKFJLjB306WD48+IcnUJk10pQkFZ22jmmWZf/IXcZbCvbsBucsOanxgKRSHBW0fh9D9mm6RlogiaWudgD2CnNeAz1+fW82mjHjaDTE5JGl5QTJ1EIKaTdThU3Z3kUiSyCnm+RWsxnX6/p4dpgq/EYYjxJXOGA1OBdDcn6nXIdHq74cAF6uPNWBKtAJTr+vpA2+oxlJtDknYpH3EZqKcFgWL0130OB4M4jt7n9XeekJmaizdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qVkPVCx2uXoB1bpqiX0SUEO1xPAztNm13cFjuRACpl4=; b=dcRFUeKd/PirfOT6eFJZ+9eRERwkhduZr0c7Yrwrrfibd6d91YdlD75FsXOSdW2Y5PKdOA6zqTUXxofxuZlkZyJfvGkWd2j+O54vFFre3i5V4jpXodEgaubcyFwU0rO0mVqkavTZTcjFufDEvYmXgWh7b5UXx7Oan0Ey9/dAGJZC1nMefenGeWqKQyVjcFFavblIbrmVe+yEMkaAId4LPS35+pw6Wpmz+bymjjX6mILgeOt6CxhkYcIRv6szNvl53NynjzEWKT4O57nX0XEhtj3Rj0O2zdwQ9kkst6PGH7HkeIVAfCdyizQ9w2osxD0e0lBq2IxnDDi6KY9ImANHuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qVkPVCx2uXoB1bpqiX0SUEO1xPAztNm13cFjuRACpl4=; b=Q1P7MlvSIKxpRne5HDxjllRoa8EstSkYKaXD3pS3NL3PfTCwIldHSoXZQ0CpqQ/gaav4WnOc7sZT7vYFuf834sCSkL3PDOxLT8hgjdZxV7Umpb5rs72Ky38nUlG8SRZlGnNZ7epRE5XyOI4GKBijvmhXWNvmyZ9cqNI3Xqjm++M= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 13:17:47 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:47 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:13 +0800 Subject: [PATCH v4 4/6] dt-bindindgs: clock: nxp: support i.MX95 LVDS CSR module Message-Id: <20240314-imx95-blk-ctl-v4-4-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=2429; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=JX7CNjyl9cprSkviDE66rU7vOase6VqCPKB/81XgSX8=; b=rAcngb6LZm9q0Le4/zHwZFNoon47reDKh816q1P6eegU+kOXhwyXBctJ/64qj0OH1oousOosK ybPJsiF7DwyCpNQjukM9MJUq+gyC7s2oui8VjUYZw5EnihPAuUSAgXl X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: 037a1d5e-52d9-4c5b-deac-08dc44292414 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VX6LBvSs138iTM28rRX/Q85rJkvBCTl0gxyZ/B+F07MoHrX1lUTv8pJIDZI+5zAh7X582WEnP+9aWAGqFUdp3FsBHlBQF+Q9oMrxgOdNI/UP2bZ8t3/1YaSSovkB13ViQYvmqKoauAKnkI6Jspzz4CghW0KAO5bt1f1ieWJLpMCfN85z1WtvrQYOZW2PJsXoAfCHAYgwkPeIOnMP91oNqqTWN+U/t5i3G0OgQN7cFon71TKCBycocbn1ByjK0YInnyAshlfqeT42VFTzWzeFACFLl39IKq5/iYgQYVG8BpZIOt3qDjrufLow/Okpa/3gH11BrETL6MAizceh1GxoBbsMPLejnJiZ3AL837pj2MQQ44HX3ixMUXUoMm1h3ZOGXopB+e/g2BfibyzM+Mew5Go5Yc6lmQzzzKKv9cBsFiFlPhPrntZYR1UumzBl99DE0Z79OoE5di6MsB5dKgfT/xuAl2spWZ4LiOi7c3th5acCoOZL7jc/hSz5QG2KtAK/wRvnNwdPJri98XDmLjGgYYOacG3JIyJoFB0+5JOCDyiXusFYz6LWL/148NMkoufIQl51/eIarE1NADuh0XZOoKchQYha5VwT61VH/Fx59VOzmgQh7iqzCnimDMnZYdePhmcg0bxszShdVxiO+wWbwiR1b38BfW8Rl1/3BS+gQntqDINZYNqZnVh5xCRuD2jw X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(52116005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?2xCqfV89xeSCYoYOoG8ktzSzxLQE?= =?utf-8?q?OTu0H7Npznn/eUvbJP6x3pYp31k/lbqfYrbauNrCKd2IkQ+MDqImQlJfBcTOdOJep?= =?utf-8?q?L2ltK0g31/XSL9XXFqFd+fcgfR9TPtzMZ3xxuFoY4Qwb8I7MWffx41VMxSiAQKWTf?= =?utf-8?q?3SkcYMObjaBktJqgvdCK4zFK2YMCGPO2oVXnpHTvVIdSZMUY++1MF2v1s4EZc4q5z?= =?utf-8?q?+BA/7kgRhDYeEPmi7HFOb4cg9sX1+5kk8NCzjcXlSRW3I9jG/baV1rq2ZiG6LC72F?= =?utf-8?q?my2Aamfj5QSD4Rsn/9KQO4fmVmfEn25LSi7Pwqg3l3e0e/MYP/gwKMb1Z8aBquJ0t?= =?utf-8?q?xcnJ3PCdStP8fn9L1xeRyBK4WtyUBkCS2S7zNxXOCmVrAc1Jf/Hu1lRfDiYLhf75z?= =?utf-8?q?SIYV0lnWbzpFfjR+43tKZkc3mfn4nIxLPJZH4yMVaNWJ/bKpyr8k2MlHO9n6bxvpI?= =?utf-8?q?OUn9JkBUryBnxyVgPlp+8ydWcE/M3BufVyT/USwVGhz6s2880C+bqImcY60e09G6z?= =?utf-8?q?NidV1gJ94zCBncdn0XptUXaA8mfR5ax08PLac+j0T0jCFv5NnZZXM0JPVyLSSuMf7?= =?utf-8?q?+n0mOmJbNQptpjiAxMRplLW2TmJv+5DRokMDghkZuhXeIuzor/9gVnPtRmgAgHil1?= =?utf-8?q?IHADvK8wV8psGCxKRvlK67RZSLtLlXd3hyZ1IXuVRkDP3FN0XnwzcMZwKpJPE4IMF?= =?utf-8?q?KzGZfWJg3Cw2SwWl35M22sor84nd49PFFAuXUsbOkF3sxVIs/3GBw8S5/MGxxNsL6?= =?utf-8?q?6yKI49kB0B5wud1QycEjlZbbia+oHEyoPU6HI2/WK+LAwpcNi8DHXAAxItCV4vnt7?= =?utf-8?q?7JRbS1UYKsckyQrI/xiKijdwWYrtQyiQy52nQIFLmwJHgMwEw36ACJHKMHigOjCME?= =?utf-8?q?80rEJDi3e+51yRQi/Idj44kpgTXCt/XcKCjmBhLK1fNOgP+NEbQEm0EAfzLQaqIl1?= =?utf-8?q?5xF3wa+9kVjajpTjUXkBvc2M5es2cy38jb16RBWoLwUkoFgn7Aj7L6/TjE1Hog2+v?= =?utf-8?q?zLL4uRQSel8Oer+PGuf3QYqRol2vVosfOFnSA4WlXOXcbKlc7mD3GPIEtNi7jQpsx?= =?utf-8?q?bjsqrK0amqPMe5EzKg0ypwUoCrIGVYFmZNCXD8NPcBrQLWTuK7uKOsdpYaUC4/SRj?= =?utf-8?q?57HCvIDZUmQrgqarHhLZfCEXskWnHetGOOWRRyrhwJS26il263eBfsWTA/LDPztcY?= =?utf-8?q?8Myc6r6j7Fiui2xco5fMRxxUgsvIVsXbcXpg6aXyEODiiMkoyGAUMMGnSABGqnJUK?= =?utf-8?q?pvmBDq2hMQJOsuyAGig5RLVgpsWLS7KVlbbnLCJvDA1ZQSckRMKOqzw0q1vwJb1lp?= =?utf-8?q?JTIiYMoIxIy342Vyj0/zFlxtgkPlQ8yCV/cxUHss4XMXVZTluZIuVnMbEcxxrvHEh?= =?utf-8?q?WPWXA3ttqjsM7796ZRzakQL8rbI2henXQ/K+UUOIb/hUXKz5FXki9yHARGVjh5t9Y?= =?utf-8?q?rQ3T1G5FGfsMujJHUY4c4Kvdlc7wjwXympZg4yQlZf7slipcIZ0g/Gla+uoAvVm20?= =?utf-8?q?BPuXAFjJGK9V?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 037a1d5e-52d9-4c5b-deac-08dc44292414 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:47.0596 (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: 97AHEhONxjIGz3apNFePEC6P9syVQgoYYBt1Cp8QoLGAhhTZ0ExSmgWvUW5K51bs/S2ynTMSW700dZMMTKEQZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 From: Peng Fan The i.MX95 LVDS_CSR provides clock gate controls for the LVDS units, LVDS PHY and Pixel Mapper blocks. Add dt-binding for it. Signed-off-by: Peng Fan --- .../bindings/clock/nxp,imx95-lvds-csr.yaml | 50 ++++++++++++++++++++++ include/dt-bindings/clock/nxp,imx95-clock.h | 7 +++ 2 files changed, 57 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-lvds-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-lvds-csr.yaml new file mode 100644 index 000000000000..e04f0ca4f588 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-lvds-csr.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-lvds-csr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 Display LVDS Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - const: nxp,imx95-lvds-csr + - const: syscon + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + maxItems: 1 + + '#clock-cells': + const: 1 + description: + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See + include/dt-bindings/clock/nxp,imx95-clock.h + +required: + - compatible + - reg + - '#clock-cells' + +additionalProperties: false + +examples: + - | + syscon@4c410000 { + compatible = "nxp,imx95-lvds-csr", "syscon"; + reg = <0x4c410000 0x10000>; + #clock-cells = <1>; + clocks = <&scmi_clk 75>; + power-domains = <&scmi_devpd 13>; + }; +... diff --git a/include/dt-bindings/clock/nxp,imx95-clock.h b/include/dt-bindings/clock/nxp,imx95-clock.h index c671c4dbb4d5..e642a54c81a0 100644 --- a/include/dt-bindings/clock/nxp,imx95-clock.h +++ b/include/dt-bindings/clock/nxp,imx95-clock.h @@ -18,4 +18,11 @@ #define IMX95_CLK_CAMBLK_ISP 4 #define IMX95_CLK_CAMBLK_END 5 +#define IMX95_CLK_DISPMIX_LVDS_PHY_DIV 0 +#define IMX95_CLK_DISPMIX_LVDS_CH0_GATE 1 +#define IMX95_CLK_DISPMIX_LVDS_CH1_GATE 2 +#define IMX95_CLK_DISPMIX_PIX_DI0_GATE 3 +#define IMX95_CLK_DISPMIX_PIX_DI1_GATE 4 +#define IMX95_CLK_DISPMIX_LVDS_CSR_END 5 + #endif /* __DT_BINDINGS_CLOCK_IMX95_H */ From patchwork Thu Mar 14 13:25:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592429 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2054.outbound.protection.outlook.com [40.107.8.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 C76D570CB1 for ; Thu, 14 Mar 2024 13:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422277; cv=fail; b=HAEjKYBX8iBVEg7D4Qzr3De7IRCHHbKK7XJiETDE14ob07yYkl2i6OF+GtUpE1E1onqE0CCdIcvcmVReCGQqjtaMqmFOXLJmXVUOsVKD9etSmiOUjcMJr9p9vGAT2+C3jqP6ivw1Mhg/m4qdp27ScdkilWPa1GrByRu7ITCZbc8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422277; c=relaxed/simple; bh=sSK8gjyJnvW6e4a+Q2EikU+ow972rVeEv2ldkP+6QDk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=JHKbs0u5bsPgPQkad+sw9G+uBM+HMwDqm1Dd/T4NVzfJxjDb3c7Q82k2hMsYg35JeVLprFe/kb1UaVhvw8FeLM+CDFevhdA1QndPH9OibrAmCl0iBE54v3IXLFcjaLdDe9MLYXvjNum1Hby9MuPq1edHUEiftmgQN5qZ+QFHc3w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=YmdwgkJ5; arc=fail smtp.client-ip=40.107.8.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="YmdwgkJ5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Gt2Jq+YK6/gnQWT3WPj+F0KFLMHPhawNndKOzNn6/4nTYQTofAfUQyXVb3BVpDScwuQCYDO0GCcOoX4isG6/l4bDJQvatvuWI7rIpZhlgkO7qFQ0z1UaxIwr1444dKu44zHdGG5FTGX/632iORZa6C0KtF9QnCAI4bIyzF/jMfvS9IGDfE0r8q50ylNGyQ6G67gzG1tHG8P+l2tHj8X3uw5VXkm1hQRmhFrmEJSAzmWvvzZQbVTZPlZvUgpyDgfIs93k89CXITRTdVStB74xOnwgN94Eg/88nR+5xVMxoQk0CasXLj2LLboOiz7T2nOC5yjCKEJSp+U7vIYxTzPBZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eXMqNr2Thpwr7yrmrWKRTfbmLVbzJoH9mHa6ZiT7qIA=; b=NHbZPyLQazbnjIubmIp05QknlVoHjG5Uv3CA7w37W6g72yZRvJFoWVmaK4YyWRvToGisk4YMoY8GIqgVIs8WV4ZWxLJHJcEMyqVworvSUstsnIWqQFttsq+VI32U6SAOasKe00n6ymsY8qQOlJ/Rg0PZG30D2NCOfSl7XMGr2TaWATOBx3fcX/pTXoBPzPk0IHwJ4Uw84l325llA/6TzoPeiJAfak2ap1YTO5JXKXzVuqiN4CxWVDIhkwEpkxlJfDrphtW8SqCTz3fNEYm7JWWaM0/aEqCjYFJgqeZw60tygKxJlWEXbPV2WoTA4F41ZAIMYTlK37Pfp/4iWWwZfBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eXMqNr2Thpwr7yrmrWKRTfbmLVbzJoH9mHa6ZiT7qIA=; b=YmdwgkJ56VNdzB25DOFEnnMtiM2nBEx3tZ8mTUSPW5n5ryAp2iQz1hEQGC5krO61SvnCxJcweC3ZEW/qSVCT1vaflpStgpIg4l4YdVKV4SgS49yWCFwm1PbGpVXFRVqvmkn9lq+pnu+tV81QTjVX/B5x0fo/jqD0PG97vX0f3qU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 13:17:51 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:51 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:14 +0800 Subject: [PATCH v4 5/6] dt-bindindgs: clock: nxp: support i.MX95 Display CSR module Message-Id: <20240314-imx95-blk-ctl-v4-5-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=2504; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=XqFgEepwtB/bROiSRZialKF+ubq+o/cNyZq02Ud6c/Q=; b=lP1flMguI40d7OFmUzdMDlQtNqqborZdq4jNFfBso/3t332L5dmTFibQfndG9s7tushhpEk6w ZQmFd2ZJfg2ClmGWlPcIaZHeyuvSJcrAoLmN+7gHuhcBHwqqiC9bter X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: 40e360b6-6ccb-457f-946d-08dc442926ed X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: S1RJUzF5jpLMdgR4/+A9xDwmCfneoPBzgAUqmcVhmQbcr9sk5/Rkkk549LhpknnZEwMMDdyDxrJ4PwiDVvk7GUGMM449UqwUNSQNd9skllb5x4dhgS7qx5HaY5Emf4cVFPSX/YqovV2HT2xIyu5yF+tOh24lgLkN84pA+mwJ+mYT3LuvhaiE6mFZyJCbDhqxdMsR1kFtNjqATQs7MZuBN56j/tJDEC6lwQXv5IL4Z+vpEwk27KAsbUwZ1l/43udu0XSoEwL34tzPBpjaADM27uDHO7KkYtJA7Bl7o7R5/oDA+GEqKnapk9KElhhye/EVQD+HqxagFShfEdU9ZWG3MSFoQYx6ckWfgWbmzNrCTwyj2BB+svHyp/AVF/vMxrsuLI97tWbQgIpfJMjpZImZJcS36gqnlOifeJYKd4TgEsHfvQZGSMqtTZXx2cYGcQyWfs6vEtAz/2ueqH03TtT6uWVafRGL8GOwmLY+qkN1bL4+uQctZB8UbcsA2W6b3zAM4Vf+VLnorW/teYk539MfIGQP9XJiwvhjZtntK48G1O2yDKq3ePVu0deUT3GFhUzGAMKF3BkfI7Ruaq2ZVmHOzAeNeCn7x3TMulXmh0ob84xbeP+2mlsktSPrzvvubPRYKy1aShEqe5KwMmH0MebTyaCi3B9dOjp18q0dnwitT7gcdoaAzT1bL7fvbqQPwB6K X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(52116005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?da0KQ6bzGd3/DoFbDDj63Zb8ZJ1M?= =?utf-8?q?2JpW3Q4+lk6XEEq0GgKs5I3oomFc1dmLmFyvODcdxvMJQ4Aq+tDfNU4nv/XIvd06X?= =?utf-8?q?1aW0TY4eezZbLmkWZyPlicRaM7jLkJYEC5iXScq+dOWbQb/hDdMlcCMi/lks3H0C0?= =?utf-8?q?rU9Tc0QdmcxkmpyVZYHDsmx8wbS2ql0uG1hf/WScPASRd7M+DtS5rIKRANnq16gG7?= =?utf-8?q?MfDPY58+9ldK+yiwJoZf7L04YCr/aEJXLxY4UNbGNrwxw8Iic0nSko7uCeIR2YjQ4?= =?utf-8?q?bIKdnEoXuFOD/Sxv/HwZk1NFIAa/nyYXvQYChrhxLAdi+XP0kg6n//u7zmGZVvcCT?= =?utf-8?q?A9Gsv8+9sVnPgcTMbpFttx0DXKUzB5MUmCfBuIKrB2yHMnU3EdkYt164OWVy0U23q?= =?utf-8?q?nzh8MjZ0l2jFpLdQi/dIeCu5BhOm9mSxZPmE6d64QOi8vMVbPTa50st2ThkOVJiqc?= =?utf-8?q?OJdn15Qg2Hfja4goeXQLaFDQOSPbqx9KDkMtmWcpfN38b59Lp2gFaIq/8+0HnxJ6b?= =?utf-8?q?RGDsWwll6wgrXHdMwXyE1AsQCNgJVw9iz0CnbQnVboJVkYmsrfb4IVsLsgPLdetoj?= =?utf-8?q?8IeLaq2J9HHQ50sA5UNNx/o334GwqmjW3MG5ONj5CGr0rZqdIOlVX7W0KooQgOCSS?= =?utf-8?q?T/H73Tm0ZDI5Tf9ylE1Or9rLpketV0INySkWZaXHBt7kKXOgXYwjYV+Y99z6ndHdB?= =?utf-8?q?qTkSxFAmSkCK1OnZrI/qwnvjm3zvtrSkF+lZC/JbrqcEC24B2N12HpoEXTdkeYpYM?= =?utf-8?q?pT2vA18BAGchgmU2MWyoqBMZQ5nOaIG7rpSx7hRDjwMbsJmxHDsy4iGjPx43AqV0/?= =?utf-8?q?owxv6PEwfTizOQU/HrJUA105UlCHjR3e3Oe+ogH8cy7fnCDy4IZjhe0hHNqCzwv+O?= =?utf-8?q?HUndWFdbNvo6nmy50cB31BWyoMf3VCexQwvWoC1qFcM6xNVXVQ3ak8gAzUdZ2zVJ+?= =?utf-8?q?q7NNXgNEngrtPsZ+EA0W0oQE5ZyFm6Vt8YsYlBYB6CgwOjxHSgk1wo87a3Z19z0fI?= =?utf-8?q?IcsTWx5KZiNAHQYmdqMf6HGlA1r3We/Qz1MtJEPoxeAwZiw2Ipw19Bkgfy95fLoOA?= =?utf-8?q?ClmcbAjoEhvRoskmcMSQpBI1Pc5C8pS/ljcIQogJl6+vHIRtS2VzOX1YTbdWDdGFA?= =?utf-8?q?GEh19QfWGiFaoEDX6CZJiPROcEIEz8UWB/eBaqQST2vrtt+tEnfi+zkPfWSsFl+61?= =?utf-8?q?+ty3d4ndLQ6lA28Jd0DHGdOeSb9OrBVKaDSR47ADxPmhsprnQi82zxuzWHtlfuWZY?= =?utf-8?q?IlgXv4XZvS9FajP2GQYBBy+x9xN+6KpnAGbA8M7cQR0OiEaHiVYORjSxExezS5rmY?= =?utf-8?q?sNVlYv+3XjO4I7Xv0bLdRosT6QQFDxWfncRv09nVGZpHPPxCzWKYS7twsdQhsGE9n?= =?utf-8?q?LP6RZw+VT78HexpEDVyZ6W2rvWeclFUvyuUU1nDSjjIssOlpC+hSMMmq9nt1c+oGs?= =?utf-8?q?1cgh5++vHsMxRRUVYXmAtHP+XOSsrc9rSDBBJjUQIsL+Ldio+CW8KyEf1Rdbitk6Z?= =?utf-8?q?o8ttrx5j7doP?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40e360b6-6ccb-457f-946d-08dc442926ed X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:51.8375 (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: rgpmcz2ZKuPvftWU60S9oH+toJHYdAzh24CHUCDH3k3DP5Wcd1DL4LoL4sAYOnB+o+KWDigmVasmwzYqLHuBEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 From: Peng Fan The DISPLAY_CSR provides control and status of the following: Clock selection for the Display Engines Pixel Interleaver mode selection Pixel Link enables QoS settings for the display controller ArCache and AwCache signals Display Engine plane association This patch is to add the clock features for this module Signed-off-by: Peng Fan --- .../bindings/clock/nxp,imx95-display-csr.yaml | 50 ++++++++++++++++++++++ include/dt-bindings/clock/nxp,imx95-clock.h | 4 ++ 2 files changed, 54 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-display-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-display-csr.yaml new file mode 100644 index 000000000000..9a5e21346b0d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-display-csr.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-display-csr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 Display Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - const: nxp,imx95-display-csr + - const: syscon + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + maxItems: 1 + + '#clock-cells': + const: 1 + description: + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See + include/dt-bindings/clock/nxp,imx95-clock.h + +required: + - compatible + - reg + - '#clock-cells' + +additionalProperties: false + +examples: + - | + syscon@4c410000 { + compatible = "nxp,imx95-display-csr", "syscon"; + reg = <0x4b010000 0x10000>; + #clock-cells = <1>; + clocks = <&scmi_clk 75>; + power-domains = <&scmi_devpd 13>; + }; +... diff --git a/include/dt-bindings/clock/nxp,imx95-clock.h b/include/dt-bindings/clock/nxp,imx95-clock.h index e642a54c81a0..83fa3ffe78a8 100644 --- a/include/dt-bindings/clock/nxp,imx95-clock.h +++ b/include/dt-bindings/clock/nxp,imx95-clock.h @@ -25,4 +25,8 @@ #define IMX95_CLK_DISPMIX_PIX_DI1_GATE 4 #define IMX95_CLK_DISPMIX_LVDS_CSR_END 5 +#define IMX95_CLK_DISPMIX_ENG0_SEL 0 +#define IMX95_CLK_DISPMIX_ENG1_SEL 1 +#define IMX95_CLK_DISPMIX_END 2 + #endif /* __DT_BINDINGS_CLOCK_IMX95_H */ From patchwork Thu Mar 14 13:25:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13592430 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2070.outbound.protection.outlook.com [40.107.14.70]) (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 562F970CC9 for ; Thu, 14 Mar 2024 13:18:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.14.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422282; cv=fail; b=Lmol+45iokNXdiZ96+dQIlbCJTc/ZHI4WIhq3Cay+qIY/eu0GhuxjW5+t1tiGjWUKzHP3ad4grF/kKu/h4tTyjAXkuIVVwJWLJ1mITQOvyS4qPoDt1yU4Hw/ZwTEUfP402w3bdjzBqnhKNhF1vqFgoQ8eqXjEz//FFGgLshVSds= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710422282; c=relaxed/simple; bh=/ONMWA5HwK7f2Lau5bEiPM0rZ6FI1rljIhuFBs9ogjY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=n7f/NvZnsWkgMfXUKdnGd+SZ4TEjBZz/uuHgnr2V8TtVfslZ/53qbreoyiARanOAkl3nd9YICoJyUGe+QocFVfHSd0pDn+weCkKff6bG4DeyOLMSiOgIHo5hOgRuJOuus/SAI5gN9POlOOEia7xk+pCLbAPU155tRq0do2phN2Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=bDwcXmnu; arc=fail smtp.client-ip=40.107.14.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="bDwcXmnu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Trtz+scAnPp45UNMgaPcakwJIyNe7hFog9VLx2/M+/d4SE2C1Jf0OQ9RlSWwr4WBKFRbUkB5adeEC20KVB/UyY2Q9eDk7s5Wyt4NHcgBq65yUqmwGQpvzYB7JELAknTC4zeXUBgBG8snGVOA3PJrfvrDI9QOA1AEpT4A4O+URWbLyulA/1DEpS67oC/bz5W8/71Ic027rOfU+iUpt02SPwhrMD4Wo0S7apFyJ/Zu1amIJJmB5ACQcnNfnD8yPmry1+kHzl3AAsIrCygiu6pnCRg892UQc/0dD8fJgSWn6+O7unMqvUe52LmCZ7GypRfXw/hQmTVNuT7M2aPO9DJW+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nSMzMeRyEuAdBLvPMQRnGts0Y+Aedb8psU6zwGhY10I=; b=Myw+7QhbsildVIA47OuqIFhQ9PmG43jI8SEQGMokMvJXdEry1ElN/N8VAr/avtAarUtfcrXKDLMPRrqHKrA9SQ59vWlautQvVDUgQQwGRP8d/vFRQTpGpeUkTFAPOcH6d8e6low2APHjVOW0j0CArlXmszJoqCBOwGzINYJJcJSGZyclbEKox9alSpe6yiY1YPHFj2Vy7sYLZuLKhLMNGb77d9SFxCvWf9SxMZWcgCP2ry8OLa69FFOlojVztLOmlWXJbSQnFiStjvC5ZDaBy13tluvuEPYpe2W0CCsPPVq5s/kTytkHlbqK3QAHP3eDHmj/JrFPLTg79jJ3sDuRUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nSMzMeRyEuAdBLvPMQRnGts0Y+Aedb8psU6zwGhY10I=; b=bDwcXmnu0bwTdsAOLq8HHZz07VsfvMScYW+q/VCfjYUbkxYdqOF7Z0iHS8XKYudawd9DByfARSNevFjOXqZg+/VyVBkGETk0gr8VtzZbvsvwggGhoJGruX235PM7SeVRTv1z9DsCTbv3hwuskfTeHqlcE6Z8IbshoPivXA2edYI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by AS8PR04MB7510.eurprd04.prod.outlook.com (2603:10a6:20b:294::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Thu, 14 Mar 2024 13:17:56 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 13:17:56 +0000 From: "Peng Fan (OSS)" Date: Thu, 14 Mar 2024 21:25:15 +0800 Subject: [PATCH v4 6/6] clk: imx: add i.MX95 BLK CTL clk driver Message-Id: <20240314-imx95-blk-ctl-v4-6-d23de23b6ff2@nxp.com> References: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> In-Reply-To: <20240314-imx95-blk-ctl-v4-0-d23de23b6ff2@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1710422742; l=13472; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=l4DlMaNZtr5nsDFzShy8D+H0Cb79cmMx/CoZVs4+aCg=; b=XDX/Fi2ozcWPJ24wZ837uhbpn7DpkRs+r3ywUepDpb/DTHuk0QfZGnLO6yWK7wcOoqnGIi1H5 kzlJrflKNJeCA9sbx3+2+KYZUuA9OMUrhRVuK0XQIRcakP1SFwjFWoN X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR01CA0130.apcprd01.prod.exchangelabs.com (2603:1096:4:40::34) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|AS8PR04MB7510:EE_ X-MS-Office365-Filtering-Correlation-Id: 762877b9-be0c-4979-2639-08dc442929d2 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: brUTQpPhLeq12yOexll8dyP57z3TicNNA9ZFq+AwlaE0qX/ovCJs0vKuYXo/AEkDJ61Pq8UG8BlwBltNx8x5SEO7oWveABdjWcF6pF9jx/7N6PZh8adKCch3t6uQyxjjqfk7t6TST308jw6ImCAUA266RkHv1CWgwISIg0U4PEY3gubPqHbYopTu+18Qb9kG+H906UUc8Oz3vUOqsUJkoSgFRjUFd84xDuG7Hj3YR5dFry/dK+TcQ9ds/wvelrU+VixPf2ilktDjnZCY2jnPrX0kMvMmg6SsIxQ8bi90KXsrTtk/9ILlW8BAqTvox+URObAlfTi9Z+if4KSo5oaU144RQOyGzJEtUOId+xVKxbPIQqFnq3+Sw0DZKNWlNBOQqic3rX0LzY7H5zeJecYGaSkkp6g57PYBMG4Brew1XDoCrrVxMtMhLFNxOkje7qzhfZilwAZybc/ijbyvD88TaNcSbTW+AsP5xSHTnqr+UyiL7Vb95z/M+ypLcYUqLkziJBXol/UhfmTu0IDNzG2yWzv5F0EOpkmaEo0BpYCWuVprZvqmQplPePD4cNZs0d1+cCF08RJLk84L75slyBoKZkgYeniXH3zFcLwLBFTuOvRW85toJ9NrhQAokU+btEd79go3YqLJ0o0z1LFEIaaU2KPFp76sWALC2OlBF5U/Z1qEQ6wvyNQuUAZsVMS65M7MuRTvjrEXTW6xxjzYSys93wllUpORiTfWjzfR4KDku9c= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(52116005)(1800799015)(7416005)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?S/ZdYSmGMYOnKRzigGnrraNUVQ26?= =?utf-8?q?imWW30MBW6diBxcr+ZJd3LmZCIsmGF/cCPvKe4Bx2Pg3tZgoXHK9FlPlw1Pb+h1V4?= =?utf-8?q?Sx9IRq0/JkaUbCPcoBCUe8GHF9v0gE7hQRBAJrkIHmoA6jsTtqSA2VMVcb5UFatFK?= =?utf-8?q?BBsULNqQfa1Eis2slDw9QyyozDBkG0atRGnPIzx1af8cQ4X9yrAi149+d6EUUVA3m?= =?utf-8?q?FvSTGBGrPVrO0GWd2j8lf4yyRtXjzsuY11HOy9K8L4FXlSPbF2V05zugGxVnxTT2G?= =?utf-8?q?jLsOMg3xzbvqX8xd0+MFczg974DscWDBGSjmzHy/M+q7o3D8cx/KrXKdmZCUzzbON?= =?utf-8?q?W1HoLpAe6tZB/iUVFYFzFv1tLovERbTrjCROtLYe238xfsyL8URnreuZ95Ixeh5Zb?= =?utf-8?q?oHQQn2JU8UHFEll9mOXlrV/a8aFMLTlyBlHin3eG07PN+vI3sDI+jR/bpdlKpVkrE?= =?utf-8?q?k/ClxnWEzbBe0174J8TY4qYcwyu1Lg2mUgRwQJ+1PDdkFBwXw4T2KPqtlM16LIzeI?= =?utf-8?q?WtWkS0L9gOgj1GNnWklP0elWDupjPyGd19W/zStetJHDrutSg3sn58xOH2WM8+mOv?= =?utf-8?q?qAm9JCMq1bf/4A/Vrq07CjPcicxqRq0HY3ZWj/eQGnANrgQy9DbUBSzFGGODAQXt2?= =?utf-8?q?vvViWrg6ONTx++uTVwXrB2FKogTE4N/ztANYXBiOb5jYDb/RkT4MttfQ+Viv2RXvK?= =?utf-8?q?/l1zbEUAf2Mpu7VGDouCaxZnFljZwFURpMnhjzPXgnVyMRzOxyA2Ty1W3l7VXkbQx?= =?utf-8?q?Fy27nK1FUOnNThoZSUkXk08MOMDxNlUwW5rAxlmO+5d3D6Aw8J2FUZzn0GrO5A4hX?= =?utf-8?q?tAfRfrC175paTmizKmd6b2FJqj5Xjw6oTg4gqZTTO2QQ+3w/VaPt4GFlUuNSpcRgo?= =?utf-8?q?JShPmXiVt7zLlyrbhNqILeVClFSnkTwNLJK3dDk17dn42pQ2WNR9ZxXpnbsU9a7WO?= =?utf-8?q?9gsAi2UA92tNUg3JYCZefFsWzAIbVlCbQVExYcb65KycAGmDRHNuE10yn8+SHl7x4?= =?utf-8?q?pJyYIC633u399oWIEsWJjBd96zpI8c7VNUcCnIoIkypJVHidMhL0pxnGKRCh2FncC?= =?utf-8?q?FHew5K6nfCftBPP2eR1sJN1Uz4ZHSEpPKycwX94eaH8jKaL09scEs5fNK5LWG/8Xy?= =?utf-8?q?r4mOOYqV2TG9197kZV9jqYbdoX9BAsbu5QxrQ1P/2oJ8YvQVehzhOM2YaciQIdmlp?= =?utf-8?q?P/cT/Ri6cb42A7kEyOtxTd4X6/tWkr6Y+6EGGPVPNyTruY9F+xP8uo6W9ogwM9/H1?= =?utf-8?q?9CvRnAxUFPWw/UkvVpBCdMZMp/ffzJh73VgmEAviagM7mtZte63CuHY3OPEk34wN/?= =?utf-8?q?I9y2/U+YFXczYVoSk4pxZSdSmlqfNpnM9jUyS6hhNpaI4NK+E/SalGTTH/Q4Ek330?= =?utf-8?q?apmyH3yWTBaLCEGEJcjKDjQibQBrTRw5DvgaQ7VDNnuAR4o+G9H+zSlTqxH3inKWy?= =?utf-8?q?oDu3rLhRkct6d7QVvXlmYyIzXGPTzZ6nC1U0KDU1C/2nWLZPYtl+SFJPHldR0SXrc?= =?utf-8?q?7cejFYSyswQv?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 762877b9-be0c-4979-2639-08dc442929d2 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 13:17:56.8027 (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: pTnO+1b0dFX9rXy2PKb6QXczdnkeQKApJ8tc5lQKVuQ5+fCqXKjDMWsN1PylzJhOTEO5nuS6twfYChnm3KNQYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7510 From: Peng Fan i.MX95 has BLK CTL modules in various MIXes, the BLK CTL modules support clock features such as mux/gate/div. This patch is to add the clock feature of BLK CTL modules Signed-off-by: Peng Fan --- drivers/clk/imx/Kconfig | 7 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imx95-blk-ctl.c | 438 ++++++++++++++++++++++++++++++++++++ 3 files changed, 446 insertions(+) diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig index db3bca5f4ec9..6da0fba68225 100644 --- a/drivers/clk/imx/Kconfig +++ b/drivers/clk/imx/Kconfig @@ -114,6 +114,13 @@ config CLK_IMX93 help Build the driver for i.MX93 CCM Clock Driver +config CLK_IMX95_BLK_CTL + tristate "IMX95 Clock Driver for BLK CTL" + depends on ARCH_MXC || COMPILE_TEST + select MXC_CLK + help + Build the clock driver for i.MX95 BLK CTL + config CLK_IMXRT1050 tristate "IMXRT1050 CCM Clock Driver" depends on SOC_IMXRT || COMPILE_TEST diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile index d4b8e10b1970..03f2b2a1ab63 100644 --- a/drivers/clk/imx/Makefile +++ b/drivers/clk/imx/Makefile @@ -31,6 +31,7 @@ obj-$(CONFIG_CLK_IMX8MP) += clk-imx8mp.o clk-imx8mp-audiomix.o obj-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o obj-$(CONFIG_CLK_IMX93) += clk-imx93.o +obj-$(CONFIG_CLK_IMX95_BLK_CTL) += clk-imx95-blk-ctl.o obj-$(CONFIG_MXC_CLK_SCU) += clk-imx-scu.o clk-imx-lpcg-scu.o clk-imx-acm.o clk-imx-scu-$(CONFIG_CLK_IMX8QXP) += clk-scu.o clk-imx8qxp.o \ diff --git a/drivers/clk/imx/clk-imx95-blk-ctl.c b/drivers/clk/imx/clk-imx95-blk-ctl.c new file mode 100644 index 000000000000..afda463e28b1 --- /dev/null +++ b/drivers/clk/imx/clk-imx95-blk-ctl.c @@ -0,0 +1,438 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2024 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + CLK_GATE, + CLK_DIVIDER, + CLK_MUX, +}; + +struct imx95_blk_ctl { + struct device *dev; + spinlock_t lock; + struct clk *clk_apb; + + void __iomem *base; + /* clock gate register */ + u32 clk_reg_restore; +}; + +struct imx95_blk_ctl_clk_dev_data { + const char *name; + const char * const *parent_names; + u32 num_parents; + u32 reg; + u32 bit_idx; + u32 bit_width; + u32 clk_type; + u32 flags; + u32 flags2; + u32 type; +}; + +struct imx95_blk_ctl_dev_data { + const struct imx95_blk_ctl_clk_dev_data *clk_dev_data; + u32 num_clks; + bool rpm_enabled; + u32 clk_reg_offset; +}; + +static const struct imx95_blk_ctl_clk_dev_data vpublk_clk_dev_data[] = { + [IMX95_CLK_VPUBLK_WAVE] = { + .name = "vpublk_wave_vpu", + .parent_names = (const char *[]){ "vpu", }, + .num_parents = 1, + .reg = 8, + .bit_idx = 0, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_VPUBLK_JPEG_ENC] = { + .name = "vpublk_jpeg_enc", + .parent_names = (const char *[]){ "vpujpeg", }, + .num_parents = 1, + .reg = 8, + .bit_idx = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_VPUBLK_JPEG_DEC] = { + .name = "vpublk_jpeg_dec", + .parent_names = (const char *[]){ "vpujpeg", }, + .num_parents = 1, + .reg = 8, + .bit_idx = 2, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + } +}; + +static const struct imx95_blk_ctl_dev_data vpublk_dev_data = { + .num_clks = IMX95_CLK_VPUBLK_END, + .clk_dev_data = vpublk_clk_dev_data, + .rpm_enabled = true, + .clk_reg_offset = 8, +}; + +static const struct imx95_blk_ctl_clk_dev_data camblk_clk_dev_data[] = { + [IMX95_CLK_CAMBLK_CSI2_FOR0] = { + .name = "camblk_csi2_for0", + .parent_names = (const char *[]){ "camisi", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 0, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_CSI2_FOR1] = { + .name = "camblk_csi2_for1", + .parent_names = (const char *[]){ "camisi", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP_AXI] = { + .name = "camblk_isp_axi", + .parent_names = (const char *[]){ "camaxi", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 4, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP_PIXEL] = { + .name = "camblk_isp_pixel", + .parent_names = (const char *[]){ "camisi", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 5, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP] = { + .name = "camblk_isp", + .parent_names = (const char *[]){ "camisi", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 6, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + } +}; + +static const struct imx95_blk_ctl_dev_data camblk_dev_data = { + .num_clks = IMX95_CLK_CAMBLK_END, + .clk_dev_data = camblk_clk_dev_data, + .clk_reg_offset = 0, +}; + +static const struct imx95_blk_ctl_clk_dev_data lvds_clk_dev_data[] = { + [IMX95_CLK_DISPMIX_LVDS_PHY_DIV] = { + .name = "ldb_phy_div", + .parent_names = (const char *[]){ "ldbpll", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 0, + .bit_width = 1, + .type = CLK_DIVIDER, + .flags2 = CLK_DIVIDER_POWER_OF_TWO, + }, + [IMX95_CLK_DISPMIX_LVDS_CH0_GATE] = { + .name = "lvds_ch0_gate", + .parent_names = (const char *[]){ "ldb_phy_div", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 1, + .bit_width = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_LVDS_CH1_GATE] = { + .name = "lvds_ch1_gate", + .parent_names = (const char *[]){ "ldb_phy_div", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 2, + .bit_width = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_PIX_DI0_GATE] = { + .name = "lvds_di0_gate", + .parent_names = (const char *[]){ "ldb_pll_div7", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 3, + .bit_width = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_PIX_DI1_GATE] = { + .name = "lvds_di1_gate", + .parent_names = (const char *[]){ "ldb_pll_div7", }, + .num_parents = 1, + .reg = 0, + .bit_idx = 4, + .bit_width = 1, + .type = CLK_GATE, + .flags = CLK_SET_RATE_PARENT, + .flags2 = CLK_GATE_SET_TO_DISABLE, + }, +}; + +static const struct imx95_blk_ctl_dev_data lvds_csr_dev_data = { + .num_clks = IMX95_CLK_DISPMIX_LVDS_CSR_END, + .clk_dev_data = lvds_clk_dev_data, + .clk_reg_offset = 0, +}; + +static const struct imx95_blk_ctl_clk_dev_data dispmix_csr_clk_dev_data[] = { + [IMX95_CLK_DISPMIX_ENG0_SEL] = { + .name = "disp_engine0_sel", + .parent_names = (const char *[]){"videopll1", "dsi_pll", "ldb_pll_div7", }, + .num_parents = 4, + .reg = 0, + .bit_idx = 0, + .bit_width = 2, + .type = CLK_MUX, + .flags = CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, + }, + [IMX95_CLK_DISPMIX_ENG1_SEL] = { + .name = "disp_engine1_sel", + .parent_names = (const char *[]){"videopll1", "dsi_pll", "ldb_pll_div7", }, + .num_parents = 4, + .reg = 0, + .bit_idx = 2, + .bit_width = 2, + .type = CLK_MUX, + .flags = CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, + } +}; + +static const struct imx95_blk_ctl_dev_data dispmix_csr_dev_data = { + .num_clks = IMX95_CLK_DISPMIX_END, + .clk_dev_data = dispmix_csr_clk_dev_data, + .clk_reg_offset = 0, +}; + +static int imx95_bc_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + const struct imx95_blk_ctl_dev_data *bc_data; + struct imx95_blk_ctl *bc; + struct clk_hw_onecell_data *clk_hw_data; + struct clk_hw **hws; + void __iomem *base; + int i, ret; + + bc = devm_kzalloc(dev, sizeof(*bc), GFP_KERNEL); + if (!bc) + return -ENOMEM; + bc->dev = dev; + dev_set_drvdata(&pdev->dev, bc); + + spin_lock_init(&bc->lock); + + base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return PTR_ERR(base); + + bc->base = base; + bc->clk_apb = devm_clk_get(dev, NULL); + if (IS_ERR(bc->clk_apb)) + return dev_err_probe(dev, PTR_ERR(bc->clk_apb), "failed to get APB clock\n"); + + ret = clk_prepare_enable(bc->clk_apb); + if (ret) { + dev_err(dev, "failed to enable apb clock: %d\n", ret); + return ret; + } + + bc_data = of_device_get_match_data(dev); + if (!bc_data) + return devm_of_platform_populate(dev); + + clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, bc_data->num_clks), + GFP_KERNEL); + if (!clk_hw_data) + return -ENOMEM; + + if (bc_data->rpm_enabled) + pm_runtime_enable(&pdev->dev); + + clk_hw_data->num = bc_data->num_clks; + hws = clk_hw_data->hws; + + for (i = 0; i < bc_data->num_clks; i++) { + const struct imx95_blk_ctl_clk_dev_data *data = &bc_data->clk_dev_data[i]; + void __iomem *reg = base + data->reg; + + if (data->type == CLK_MUX) { + hws[i] = clk_hw_register_mux(dev, data->name, data->parent_names, + data->num_parents, data->flags, reg, + data->bit_idx, data->bit_width, + data->flags2, &bc->lock); + } else if (data->type == CLK_DIVIDER) { + hws[i] = clk_hw_register_divider(dev, data->name, data->parent_names[0], + data->flags, reg, data->bit_idx, + data->bit_width, data->flags2, &bc->lock); + } else { + hws[i] = clk_hw_register_gate(dev, data->name, data->parent_names[0], + data->flags, reg, data->bit_idx, + data->flags2, &bc->lock); + } + if (IS_ERR(hws[i])) { + ret = PTR_ERR(hws[i]); + dev_err(dev, "failed to register: %s:%d\n", data->name, ret); + goto cleanup; + } + } + + ret = of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get, clk_hw_data); + if (ret) + goto cleanup; + + ret = devm_of_platform_populate(dev); + if (ret) { + of_clk_del_provider(dev->of_node); + goto cleanup; + } + + if (pm_runtime_enabled(bc->dev)) + clk_disable_unprepare(bc->clk_apb); + + return 0; + +cleanup: + for (i = 0; i < bc_data->num_clks; i++) { + if (IS_ERR_OR_NULL(hws[i])) + continue; + clk_hw_unregister(hws[i]); + } + + if (bc_data->rpm_enabled) + pm_runtime_disable(&pdev->dev); + + return ret; +} + +#ifdef CONFIG_PM +static int imx95_bc_runtime_suspend(struct device *dev) +{ + struct imx95_blk_ctl *bc = dev_get_drvdata(dev); + + clk_disable_unprepare(bc->clk_apb); + return 0; +} + +static int imx95_bc_runtime_resume(struct device *dev) +{ + struct imx95_blk_ctl *bc = dev_get_drvdata(dev); + + return clk_prepare_enable(bc->clk_apb); +} +#endif + +#ifdef CONFIG_PM_SLEEP +static int imx95_bc_suspend(struct device *dev) +{ + struct imx95_blk_ctl *bc = dev_get_drvdata(dev); + const struct imx95_blk_ctl_dev_data *bc_data; + int ret; + + bc_data = of_device_get_match_data(dev); + if (!bc_data) + return 0; + + if (bc_data->rpm_enabled) { + ret = pm_runtime_get_sync(bc->dev); + if (ret < 0) { + pm_runtime_put_noidle(bc->dev); + return ret; + } + } + + bc->clk_reg_restore = readl(bc->base + bc_data->clk_reg_offset); + + return 0; +} + +static int imx95_bc_resume(struct device *dev) +{ + struct imx95_blk_ctl *bc = dev_get_drvdata(dev); + const struct imx95_blk_ctl_dev_data *bc_data; + + bc_data = of_device_get_match_data(dev); + if (!bc_data) + return 0; + + writel(bc->clk_reg_restore, bc->base + bc_data->clk_reg_offset); + + if (bc_data->rpm_enabled) + pm_runtime_put(bc->dev); + + return 0; +} +#endif + +static const struct dev_pm_ops imx95_bc_pm_ops = { + SET_RUNTIME_PM_OPS(imx95_bc_runtime_suspend, imx95_bc_runtime_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(imx95_bc_suspend, imx95_bc_resume) +}; + +static const struct of_device_id imx95_bc_of_match[] = { + { .compatible = "nxp,imx95-camera-csr", .data = &camblk_dev_data }, + { .compatible = "nxp,imx95-display-master-csr", }, + { .compatible = "nxp,imx95-lvds-csr", .data = &lvds_csr_dev_data }, + { .compatible = "nxp,imx95-display-csr", .data = &dispmix_csr_dev_data }, + { .compatible = "nxp,imx95-vpu-csr", .data = &vpublk_dev_data }, + { /* Sentinel */ }, +}; +MODULE_DEVICE_TABLE(of, imx95_bc_of_match); + +static struct platform_driver imx95_bc_driver = { + .probe = imx95_bc_probe, + .driver = { + .name = "imx95-blk-ctl", + .of_match_table = of_match_ptr(imx95_bc_of_match), + .pm = &imx95_bc_pm_ops, + }, +}; +module_platform_driver(imx95_bc_driver); + +MODULE_DESCRIPTION("NXP i.MX95 blk ctl driver"); +MODULE_AUTHOR("Peng Fan "); +MODULE_LICENSE("GPL");