From patchwork Sun Mar 24 07:52:00 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: 13600765 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2081.outbound.protection.outlook.com [40.107.8.81]) (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 C8E6814F68 for ; Sun, 24 Mar 2024 07:43:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.81 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266241; cv=fail; b=GMtRok+BZt10dKeY32gICDKIFjCQ0578EYH/6Vde6u+jnB6BygQ+eYrYUmQIfkuMaDk3vFiKWs8ko6r/R86ygc5o1EW9+wCp5m0YW0aSeZqSEmMudi4PnTAMbng2D3tkixHs+gn7c+toelljyJ5EsB0bZ/5FwhF1DL73Ll1SPaU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266241; c=relaxed/simple; bh=m+r5SUBL4v9ntlfw34ONh+x4EEDqaBnMWcDfcBb020c=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hTJs4pWysgo6rU0pcWL8C5RNJBHTp+0jBvS+UN5XDCU9wc/yzXWQOYvvM80DqSlFVbV1GRHrPqkp0ZGPAO8qocw7vnzaTsAUgk1bwSMWgVTkuyXZvUKzauAI+fD2i6m/uDmz1BY7P3DPJMoRPx8a3sVNxmwnqiKs/fZ1TGScZLM= 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=klkBJ7LK; arc=fail smtp.client-ip=40.107.8.81 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="klkBJ7LK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IdXLQ/J0TSycLLH1l8Nlwu8XpEmE4oqcf9kWBwZrcb+OiDYhp9oKXtK0ytHhcSdNiTwsJfrHtCzStuvI5il1yCmn6d8WTXCKzdHmIwXdNlb4vzXXwT2zbNdrtvS8WY3OvlaQhhslFkhpzuVUuxPgnx0plRuCFFRA2lkM6XvQpcA4tGHW8pB7WEkXM+uO/BQ+yj2WjCAOH8TOC+ADGiNbJ5aD8wGBD+X87It8wd5r5Nc+/f/gaAUKLgSDBUqhI705UZZmm4FfXIrVRD9PCOswuEKziePBBjN7QM/edLh0XlcHcMQaPzSaxqQ/lzSBSH92Dns1emS4ksPWaHxMIq++JQ== 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=8vJG7nyYLtXQbNZL4JHRaQLlGcrEr801+/wSHUrIZWc=; b=Xfg+aebyDtUsI82OeRc/pI00roM3pmSPF1QrisDpU3wRX/tOMEyVWfO41Dfr0OZW7JcqhYK38ZwmI6iLIwgVQqYN/z8bJsL88l+m2zn5xfYLEniUqwhMpcizpvQcDVg7KVKLpMqyzDj7KMGYuRwSIkE+2qrKVUxR8Wb8EPRYteJ0rhCWxNzIAMwtQTwmNNmfnIVP2vAYr0JduLpUailp4nDStYZMaU9el2UR+SdYLl+x8szSX5Hdlv/xNV3ZZKcphKuU28d55gj84GoP5LCuGk5vUJ3yUkKvtxS6ioe4nOT+Bpbiu/+GRWG6rXqJllbiAC2Fmk4wmeqsTfv4xxVfDQ== 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=8vJG7nyYLtXQbNZL4JHRaQLlGcrEr801+/wSHUrIZWc=; b=klkBJ7LKyDY3A/RYQfI2j6y4uoVTrSSLZXomPR3xCZem03+aiweMzabvRAfWfnnXZ0ovoOZzr1Gxbfxf5nNuwfmCd73xlJ95Y9KTNaJpyAcq+WfM2feCkCHvj24H1g7+sofiMROdP6UJok4v2sCOTbNYGg5QtvTiGtxSrjU9xM4= 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 PAXPR04MB8573.eurprd04.prod.outlook.com (2603:10a6:102:214::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Sun, 24 Mar 2024 07:43: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.037; Sun, 24 Mar 2024 07:43:56 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 15:52:00 +0800 Subject: [PATCH v5 1/4] dt-bindings: clock: support i.MX95 BLK CTL module Message-Id: <20240324-imx95-blk-ctl-v5-1-7a706174078a@nxp.com> References: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> In-Reply-To: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Abel Vesa Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, 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=1711266729; l=1998; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Y4/LUiMlKLBfTGVdss+IGPH4VFaA9w7WVQalTBlF5Dw=; b=pwlm4dp0O9uVJj7nwzYvv+lQvtU/DgujDfy257RmZtQOvRKRUtXq7Z0ShvOrNoemUwRU702h3 n/b1PA/1q+HC39XmvGs5Z/AXfb5VhNH/jxT8yCjh3TIhzUiq9+7UTNX X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR03CA0110.apcprd03.prod.outlook.com (2603:1096:4:91::14) 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_|PAXPR04MB8573:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a522348-19c8-403e-af14-08dc4bd62947 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: 4fMMYCsTl5pHnzO7PaPfPQwy64uaSeBVHO64qLQPXc3+ojbAHG2HWytBQW+nYjgcR2vjmYnOnnXjoHaG5Xw+ZPs57CkQm5RBa435wBFmZZyDBE7lhxDc8nb2Bn0oArpLloo1x0PV4Pyd2CbCVIHhTKPfvyUDEf648IMZQlIT4wJnNE0YDL6tEvzDa+GPv8pkBOdZ8M9o/blopvJVG4jAFcgeY07cJOj/rs2vhHD2aC5RM1DsXjL6UeE9YfLWfmyQWACnCTbt53wq2NdnUDaZ3YbeEZd+U1Yz7RreFUf9huIjbDjPS8w+B1+BZLCCA/ivwkvS8tfY0Uo68A9RBSupmHvGtnSMcL9tSlfXHWcZq/AoQ66Y6YQ/VJ6p7zz8pcqx0Ax/M7tLVqEo56bfPMeqayilgi7bqvVRtZb1Ajj3i3lLXHrNnBW+ljkSvIJkjIw0Z8uelWlp7y1OHcHvOx9pX38JH8sfa9bvSRsk2PX9w1vw+Afn0NVA4LSvfY2ZakhbOwcoqlPAv61ZwEyvUdZvuMrGXPgEvguASBs1Sq8FkQcodmcDR/T4iCuuEtBppRMNt+Mde9i+8Zq4ImmAhgm0XfUaeEoZJJiLW1UaFFxu+cHWbWLNbF13TSHCx5877zG1ARXQQoIbt+1HK3njelLkdxacFM5pJ0nFdC7PrQXdvjkEvf3sNW4EniUqGocqvMU/ 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)(7416005)(376005)(1800799015)(52116005)(366007)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ykVixhI7nQz72K1JsiseDepm57U5?= =?utf-8?q?4U5IRXGxrP9UXHiQ0ZroyS4kPkdKI/W8uoF119U+nqCL8odRlnaTgfOQlMZE3rkuV?= =?utf-8?q?cjHZsvxjEbyfJz2mniZn4e+QIP603Nw5C58GMusJ16VL3s4tarIebbNXd7QBpuqGL?= =?utf-8?q?ogrSAB8aBhFA3Y0Z+hWWyEcoTWw8GNob0owexlWRN/8dtegMWoF0H2CToxq/sFXXa?= =?utf-8?q?jvkAQYAXx3K58biDav8OqKLrDRSujbTneSrMvsjVL98FRj54KHZOH6/p6Y0qeFhmG?= =?utf-8?q?Fao/eGLuUgbH7tQCgiBGi7H9D5xvKZ+rjhhuYJaunIJhCCCJko45NaN0i6OcagX/i?= =?utf-8?q?olEuHEKnEptDdVgHim7PwD94/PE23qiCpXGOynrJUWgaMA+/Y2Kx0rJbGZPGTo8Ih?= =?utf-8?q?SxJy00xi+8eZeyjySRUIUZbweEE6uFsf68fB0tQjh4aoYDD83kIK3gjl82vJ7+Dry?= =?utf-8?q?UhT6SQy03SxauyEHCbVDbdYzUGEG4qh0dJWtc0v2pfzk6P039CzSbizvhA7m+XeJS?= =?utf-8?q?GRti8ZNjII3/QNP8TjZeV6rXAeF89fyUlgIp/YAdw/2chd0bHoiq9gOMI8MqBRDbf?= =?utf-8?q?hLg3r9c0z53+i38JL3XlYoc4bBOzeG+rsJlp5575WFbE+qWE5Pqg0gBA+8vptn6dx?= =?utf-8?q?xIBgkKYMJ81fmuzQBJ1BAvHaXMzhzvOW9qjPeqtFBxBMW1v5TjsAOvcQLtkRPMT3v?= =?utf-8?q?e0aPc7Vin7jhdv3kF3WJh589P/Go1oQaXvnWk4oYRC0z1QepdOm3E1SAthIopST0Z?= =?utf-8?q?SU0riFQWrtsvkxIaP7rq+alQ/l9SBq59mdofr9R8FaOHAAD3BEvAg4AdPScR+4aXI?= =?utf-8?q?Pcm6K+aUEfnj+ghfjms2ymS5QL25YaECG7SXsLUXUqVZD0ks1B1sNiox3u6I6Z4ca?= =?utf-8?q?ynGbj8l6ktZXGy2TeATyweo3M8WIzsZlSz3INdqRx8hVk5BRFtehwFdHxKXZyuH4x?= =?utf-8?q?qkaZZdeU9lb1K8acLCCK21JX2GDDctANVWKdEMBOqfwnbaLR/QaOdyy62x6a6DwOl?= =?utf-8?q?mzwVqBuW3KYr989M4EnsB9ZtdudbIY250fglr7iZKprJN6++jRTsFBz5xF+jC6Kqo?= =?utf-8?q?lpHuRcFEm6jZUX3Yw0MAW/8pqzZtZBY5kA/3e5RzMklqFGGhQvjCNRgqRU94QaRqG?= =?utf-8?q?T3BEGBhYA6IzI+WzpIOvpENGmXFaoyjp2ZyJuK+tq0GMg1wPFvSuUboqaL/vkZqfk?= =?utf-8?q?sH2goy3dFWOlEtZ58IBGyrpsiUHKtoZP+V0oOeJVtmZn42VmeeUVHCPfeY4NbmltE?= =?utf-8?q?PKVxyKd4crqi1f+VSyxgNhWfBNFcgIjlEItB+dLuOKLB7UvwCXTtNuB2MW2pz1/CO?= =?utf-8?q?IuX6LuTnCAYUn1fzpEG7isZPukG0twU8qjT2RcUeRcBw2VGN6TDVzopQy41M3xlEP?= =?utf-8?q?m5OTRPSVHHzpZe/O3TnDPYsj5ONOSNl4BgPNGoYcr4SGCaAsG6lQ48r9XcCMMNdXD?= =?utf-8?q?Lc0OSvsN5Thg/+9LBfkN/H0g6gDzBZsqzdw9AQRadom2j+UUGEBu7r2jf7lh/dv4+?= =?utf-8?q?sM/49RizeNkL?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a522348-19c8-403e-af14-08dc4bd62947 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 07:43:56.8529 (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: CkqbM7jlXl1zTx4lOmEMmSI9n7Sv6njt680DjZF0Hz7NMdsBLrmoCFtfzSfTjkDv8KYlsi+/KaWSAyyH03PFFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8573 From: Peng Fan i.MX95 includes BLK CTL module in several MIXes, such as VPU_CSR in VPUMIX, CAMERA_CSR in CAMERAMIX and etc. The BLK CTL module is used for various settings of a specific MIX, such as clock, QoS and etc. This patch is to add some BLK CTL modules that has clock features. Signed-off-by: Peng Fan Reviewed-by: Krzysztof Kozlowski --- .../bindings/clock/nxp,imx95-blk-ctl.yaml | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml new file mode 100644 index 000000000000..2dffc02dcd8b --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/nxp,imx95-blk-ctl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX95 Block Control + +maintainers: + - Peng Fan + +properties: + compatible: + items: + - enum: + - nxp,imx95-lvds-csr + - nxp,imx95-display-csr + - nxp,imx95-camera-csr + - 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' + - power-domains + - clocks + +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>; + }; +... From patchwork Sun Mar 24 07:52:01 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: 13600766 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2055.outbound.protection.outlook.com [40.107.20.55]) (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 0DF6917591 for ; Sun, 24 Mar 2024 07:44:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.55 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266246; cv=fail; b=CpkrCJzzGuWKiMYlYziz7CAjBU0T/FTfctyaBnmVvd8mczvv5FsggMk3l+WO3FAxKiHJASc9x4PYysxQwM3Dfha/eC45CSYB14WhrfWJCsuoAfRYrFVuF3Oe0aBihmUMfOi+K2zWWbAD28ywSQF+a90YfNLy4TIKn6084LObbUA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266246; c=relaxed/simple; bh=Q6Nt0YKU5hxvxIwloORUOKG4BW0yxRrF8UJL2yq05wU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Ji9ihRF6c7qaZCYvLBA7yJrADcNG5TRMGfu98BGVVWYoWtxCQNc8h1yBGI7kqIMyg6NOXI6nUgK3gMwhYzZGzVAIqBpWonOXtilOFP06FVo0hpmU9UaNIYqd9AEV4IyNrGpRd9Wzh4yCUK7xcVKLMhLYmAIzIsEfyuTUfPDeZUs= 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=aDwcCscQ; arc=fail smtp.client-ip=40.107.20.55 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="aDwcCscQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Djpd+Fc/UjvUBdHcAVYU14KAfB9TFJn9VVr83Ybk7vpYWH1lAB4MaHqkic/CM+5ocUn2Dk6UNSfZHQ+YWvouefiI0U9DA2w8pmFMsYqwTnCNwoxnH7/z9SukT1agG9XR4coQGJYY7DzlmrL35NmtH7luwfTzLg2kb3at1hLCSEps4rYywvNfkTRd8gYDkop1BkLOrIoqguCxsbSYRmOPopwQzWlpGM74X4LqknDc36nzZ5yGGiiwfpwfFozaPPBG20lX+uVwhxba+xaX3TgHl1TobNKAsM981xrH9PDZpJjFoBNp4enKz4AQgKs7d0ee9r2PE6+MMPhAKLL4FfugWA== 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=tXn7A4A42e0zMGYz7OukSr4fWxtPhi4VfBmYQ8wzWBE=; b=Wm2NZ69mzK5tIErq5itBWu8tTIxUp9IckOVgXNe+vHR5VbzA4QE0hA3W2Svlcd2lmve3xicaIRaLD8tNVxck8k2C1K7yRhOS4bAFGhDwvz63qTrtw6U9vh0fuya3n6c6W2Mxcg83+ATPX1wdZBbRcK/vE4I5CwOKoHZ38ctrgdQC/KEUKMAXcMVBhw3HRg3hutLlKPDfdLmUvYy27kf5hkxkR5CA+Z1F3g29IOO/EQXvDSr8rKNXukLV8EBNw6kSaHO2o7bdk+V1k1u/S+84vK1z/zravkVXeiY9Dfmj0c/hvckuyY5jIToO3/rrParOTQ/j+e6zGQGbRWQ9rWsFPQ== 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=tXn7A4A42e0zMGYz7OukSr4fWxtPhi4VfBmYQ8wzWBE=; b=aDwcCscQIWoozx264zBTXf+/w6RurI0fUW/zbUyme0XYC/AuPwl8YTDP6YMX1htyC1+HMvIyJXhzErr45y+rnhJrPJlCMmzvLHczE7pX4m1ig/Xfut+LFz4Ru+qgtXb4dD3o0svq1GGbYLwYtWFxJmrJzC6PyZ35N8sejEOKHK8= 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 PAXPR04MB8573.eurprd04.prod.outlook.com (2603:10a6:102:214::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Sun, 24 Mar 2024 07:44:01 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 07:44:01 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 15:52:01 +0800 Subject: [PATCH v5 2/4] dt-bindings: clock: support i.MX95 Display Master CSR module Message-Id: <20240324-imx95-blk-ctl-v5-2-7a706174078a@nxp.com> References: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> In-Reply-To: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Abel Vesa Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, 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=1711266729; l=2127; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=2d9nh8kBtXx1E9vliQEQis83+mP6bDEMh2YtH/J8JOg=; b=PIAM+K6aWC7Bc0adGLVpq/tWe1m7e0CarnziLvZFZf7NpgZfjXWpDpe2YjSVaCTzTz//yAkMs 1yH34JeY8HMCGTEw7x8fwCyoldQOqkh1icNtmPSU01NPAzbR7vAPsPK X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR03CA0110.apcprd03.prod.outlook.com (2603:1096:4:91::14) 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_|PAXPR04MB8573:EE_ X-MS-Office365-Filtering-Correlation-Id: f4801788-9331-4222-17bf-08dc4bd62c15 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: FpcZ3/S6hT0U5PLrRkWg1g65Zv6RCQi1CwAAck9ucqzzTeNdzcYoFzzuLJFo6drbQxdWrm0roFZi6RrRWJK0pioon4o5lS2LtqBhS0C3aPONf/98f1qzCZmhm9uLQRCJWCoYYBkIWMWGcBpjqwi6Fm+IWxQkKORRImPL4melpEV2812QcWoquiqysF2Pj4H7hE7rgnIGiA98LzNaCDbtv+wu2HSaa3tIKJSsYBWoMP4MtrR4u9GP2BjcwVi2LuG9urDk4cvInz7fpU9de7U8xza03VxAYz8cwBb9iCAcsIq0vyEdk0QtoVUxVlS7AZETAFK3ncmE65KKzjioKlY7lPKiDY6mKuFYAOKzyjWGuoidkW+hFyaZLbmzJQjG9dn5+Grz5quTCHaM2Dq8avoIna0J1iEhdyYvaKmnXVnVddKwLXYRsTKN02t/h8oTZO84wiXc0kADnDNIC9uzl70ZqQt0Uob7b++YDZKquB45ZQ25+t3/QN72Ncy2t3zGMTluc8yQeXbbxdv0Pk/VX07dd4Ll7DdwOHDXIcNqbnE+Ql4E+pHmP0Sr+hpu+6s1hT2Bto4vFFjyvaw/7EzwQrZMGZ/WRSbT+J7IFQgPdW3oja4I2fNMXNpXJEof7z2BHUuXh9kzLhu1TtA5zh/yRfMhZgNPw39O1ho4KONzZoZRM+itA76O67ZFfiv4z9/Sh8Bh 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)(7416005)(376005)(1800799015)(52116005)(366007)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ggiKaIsvPPm2zg7PPbXzLEeI2B64?= =?utf-8?q?b/aZeejv9yQfXNw6lkP7SEJV3E+9Z0AlXwAjdW+TNTI2xbGz19JGtItNXPN8yKbOY?= =?utf-8?q?jHOz4X/wyApsfk/yOupaVPPE8xGivuQwWIVFM4ZJD1eTsyD9tPIXzAPKNTi7Zop/y?= =?utf-8?q?Pedkt/6LQP6otW1pwUj08O1/K4dzK2toxacDazrCguKsNuh31aGy7WJuaxQoQal/J?= =?utf-8?q?Mn1KhZRZWopOkx0mRarMXEHqvLKfcAi/ysBdmlzuw5bUR/cDLx8EqXp9/hjffWr4u?= =?utf-8?q?RnmUfA6173OSg9tHaZaEoFenlILZw+/ZSKnT5CW2sZ5905JKJj9SRW4oTax6FMt3M?= =?utf-8?q?8LOn0MqmfMd7p139jpiy50q61w19bXDmjR45eQ8qBiRMn5WUdSyw7WcyFeIkSmBG8?= =?utf-8?q?kSCyOtS2+DevQir9qdi5N1HqYsNfsh8/mwh+SD3fQFYOw3XKfcYWg1cxHuLtD26Da?= =?utf-8?q?EznWefmpLO2Oc3js8X+pfvvSb7amX9OiFJ6+sqOksrRM9A92d2TMBK40j5BDOQqtW?= =?utf-8?q?c08FKh7kVR3pfU3aTM/YM7s/fcnx0nls81s/UyTmHs6hT6dqf7TYBhAQ/u/5jUVsT?= =?utf-8?q?vQXAr3X+QCv1ae/j81YwTKLulHXWlJ/ZwE2zAf510fdiVBit6cyrORpPYOFlGRyhg?= =?utf-8?q?fYk4R7qQGamGRUNwMTJ1D4SdhrPtJHjPaFHeFik+KovZMaBgmaVZDAJbRJ6Xugnsk?= =?utf-8?q?6g6W8DDbZSRdwYjy8aKAMoFvkBwT3iKX+ivvydtvTNm8P4qb6DOuVnhGZoiRTRZMH?= =?utf-8?q?GAnQLOUWS5pKx4KUOnssLQ11YO6RoLKs5l/4n7cSynP9v26Vh8AwFS6/S++AT+aM0?= =?utf-8?q?bwIfOoU9La7FZbIMr9SwMLAmgj8BEBDd+ykIS+NyZLKusrybatbyTwPCgZvrP49ob?= =?utf-8?q?h6SE73X5IoykhQyiZ2CVZ2D/VcJ7O1xNdO1KyL9tszXv1GDK2cCGlPQBJGyDG3n8g?= =?utf-8?q?1DOqwBhqfl6BYb/zwtxKRZGItv1Bb3shFMwzzTVl4i66ZMkvwsyedkcvRcaXtJ+fw?= =?utf-8?q?l/VUT7R717v74EvJpldE1r4jwZLbXxITpH+9f1BCACKaSuEq3uyysUTbLDVoEoWxj?= =?utf-8?q?UJ/p0gkydEK7wrrQt8wxdLq/qvXaMltkxH+3yJowC4xpoeOWpzuSTRa8DVmhtmFz8?= =?utf-8?q?1YQd2TMQx+qPnCGbSB4+RJw4a10+CfxbcwxsOKYrnCmmSEYnUylhp7u7f4uqe7HRH?= =?utf-8?q?GmTyaHgogejmkvZSgx+5eswci8vTYGGjFvpEwmpUMnEB2FOTIV9GY+UsiV4svC/2w?= =?utf-8?q?VAjuRzJc6VVX4GAcmEv1EPnDHPlYLhNco9VSmPZR2V6POS7ImqlvztlrrxRSLiqqA?= =?utf-8?q?9Cedv8ePexAKBukjdhyP0GHriAjT3V6Vdvb7ohFo16jsWXx3SB31ZspFTfJoOwDra?= =?utf-8?q?sq8CZjmh/p92S63MmRQx0fapQBm66okzGflIe8J8XtDG/KHEMopmsv0/M3Ylr9Aug?= =?utf-8?q?CrBRpw2Q1XXati8MKQgSV0x8zQQObTpBedmTLUSIlpoCwrAG9Vwd3ljtCq5yHBSr7?= =?utf-8?q?rF+r6odsv2ih?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4801788-9331-4222-17bf-08dc4bd62c15 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 07:44:01.6042 (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: 7XQdzTQIKhIZG6wIMUnWh3Ap7ZIBcpz+y4J/AnDzhTBC94hEomRZsQ9XHUnxr7AA9yU/B92oKYcKIyBi620tTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8573 From: Peng Fan i.MX95 DISPLAY_MASTER_CSR includes registers to control DSI clock settings, clock gating, and pixel link select. Add dt-schema for it. Signed-off-by: Peng Fan Reviewed-by: Krzysztof Kozlowski --- .../clock/nxp,imx95-display-master-csr.yaml | 64 ++++++++++++++++++++++ 1 file changed, 64 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..07f7412e7658 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-display-master-csr.yaml @@ -0,0 +1,64 @@ +# 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 + - power-domains + - clocks + +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 Sun Mar 24 07:52:02 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: 13600767 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2065.outbound.protection.outlook.com [40.107.20.65]) (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 B10BD17742 for ; Sun, 24 Mar 2024 07:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266250; cv=fail; b=QVpTES2vsnaaZDfuABe8FkVfB45lODKs7j5Knz8dGmAOT+xklbOaIl0x7M5SHl4AtapGrcCDSrHWTkPNxwU53pkL/0DIbRlNUJbnUBNEftreRNWi3cZ8tUhgnVi54sNkY/OOPE2sTfYZoBT7svZuGNHgLLh6AiE20MsxC6uxxsc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266250; c=relaxed/simple; bh=7tdr3h/HTTEJE3q8DazH5/K0y+BnTjed9OAXzpMGoLk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=MMzLsyCjBacmXfwEWET6hIAIFl89oJFf7IxNCkFnnk37dep4ueFdQL28XLqgIoNPBplLrGAcogE89r4OhfFv83taNiVrtONBkdd1bwaUoo+Dsg9MUOg3fk+Y3Mk24lPdCrqQkprA0iiZWg/h2rs5RgyIkbCYHp1BL3MSnhMN9q8= 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=k3ezXKWh; arc=fail smtp.client-ip=40.107.20.65 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="k3ezXKWh" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a8T4ZL3JTwfhGxXdXuio/lFFf4lxq2bA2zqjpAgJ0XOHYOF4zELQfhcQkBCu0BoNhy2ejbHdMgT2DJ9lVHVA/cA8vT6RtNwbegjYLC+287g4X2xGdk/DlE2miGKoc3ui+srmFl7VX5zA7xVEJ2/dPh2IfcRE25OZ3OBNxDditr2/sGQC5zdACtFd+dLo0Q8GjnVI0/CNhvFiBpc6lMagMoxviDS74eb2idiZtqOfQqUNsRVuoPeS38ngkRfV+djxFd4seYaZ8FuZ7UXjy9LyP3ibW4jZ7eyQDz2dpMrakomAMZrbIsHpxux0jx3jAKwo0+pwaozNd6g0zCUwYiERmA== 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=e6pAU5eB93W4CduMOMhCHfS66QhNiKyFrkaoZUM3IhY=; b=Sk7AoC8Q+gbe3xzRHM7uT7YLHnOoaoCzIvcmklcqYrufEnUAe71BUFLJQpFpmbDDcix0NyWiVP/4u7SvALAf3z7pm0K5hj+EZ/zDszRA/TqgR2yuT7C0bgHtC/cZoglzFy1KoLC1/2mvT6tR5gXj8gWyRffTFnBl8/8ocX7QeTBtPHLIEcWo/LpmkvblheSYT86IgoH/j0wy5Y8ntIXWxu/fQO/EVJDrHlBj0chBenFrY1pGCxmQI+QdsZ/CE2EzQTXYIVHi7TY1CFNgtTF33Yl5EyP68TGAMvzMOyp+qMui9sfcWQKtO9Wb+O3uG6vfNa+uTDehMo/rerZ5QbhVZQ== 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=e6pAU5eB93W4CduMOMhCHfS66QhNiKyFrkaoZUM3IhY=; b=k3ezXKWh0iMhuvcMcqW0uQXT71l3BNnfb5g/fwFSv59UryXN8fCp1ris3lra1s9oFqFEUZarbLBj2h8YGc4d71HPWMYT0Z9zIiFIu2Ul0kdrFrBkRk14bLr2CQCv0pdU9xBPCn4DYCj5jazv0gZ38UslzocdXulXVbBcy35a5mM= 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 PAXPR04MB8573.eurprd04.prod.outlook.com (2603:10a6:102:214::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Sun, 24 Mar 2024 07:44:06 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 07:44:06 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 15:52:02 +0800 Subject: [PATCH v5 3/4] dt-bindings: clock: add i.MX95 clock header Message-Id: <20240324-imx95-blk-ctl-v5-3-7a706174078a@nxp.com> References: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> In-Reply-To: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Abel Vesa Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, 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=1711266729; l=1454; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=6c81DhzZwxP9cW4ETMKqIYeVfbSUSl1cFIcvnIyWuH4=; b=TxXcyR9ZB4Prtd/4AicN/aDgYIxz8Wp+Y0yrojWoLkWJ0ukMsWYde8EMe4M0dux+r6TaMFutQ jUeTCh1Xyx/AyJSy2bhReDimQlpNSX60nQLSrj9MXJ06+I1Tsc3wvDC X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR03CA0110.apcprd03.prod.outlook.com (2603:1096:4:91::14) 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_|PAXPR04MB8573:EE_ X-MS-Office365-Filtering-Correlation-Id: 48732bac-3505-454b-12c0-08dc4bd62ee9 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: odd00kEPB0L+xmGMerHJ5wsqdjRNJT/ulV26LopASP7traTbKPQttt2+6YJb9SFcSguREu++AN9PGUCHgYReuvTcI57lB2ULuxzxkbDDUp8UzB1zo3TzfH37noTtzKFJlRoEookv68zoJQnK0/YPf0gKYGjKC7lTVRL8QtVMNLAjYNsW9830KE+xkGjghBqkKrg9Psju2FTOj91vd2KRIaJrRo0SJ0UdD/qIZ3boxo5l5xSZpNKtGB9OG8beIzi/Srihuu9fDjGxO5Y05SJJNxHOilsgJE7NHaa/o0/07Ipj8hC1iKN1gqRYdJShwvcQN/ONk7HX0RLdfVTFh97c1Xl2mru/9NJ2+NprBH/wkWIctE4q7FoSIoLu61JYtOK3cBcx7lVkJBO9sJAKZpCZe2NCVxG+BuZFNkIP2SXsGO2DzV5RcdQwVVeVWZj6YV0WWfuFCqHABIERKAAI23RLrfcevLdLdKj5wuQ3c6gEv752+xtDjkJUgbpD9G1gpffHBtsW8G0yT2jwqFmy9e1xbkgngtf1v4jkvt0Lr1RLoFbd9pNIz770Jpz7nXBUA2Y5oLWPUxL6mypcR/FdT9nBhin1z3J6EothZZSO3uRjdZYOQYJ6Hb/n4W6bTMC4fUaeSnu1m6fJ8mHTdnOzHrea5ADUP4daG0M/kuHvVlAcrrmVrt8Ha6Go2E69+Iot/5Yo36jzuA6JvH2gDn2MLWAphanYs5D6UEoeEaK6CAleuzo= 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)(7416005)(376005)(1800799015)(52116005)(366007)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?0HJ7VFKw5Rm6J19/c0ulU2DtD4OK?= =?utf-8?q?ngDNhhT2tFkYojEc2hEJCrkEvC0xm5zMJiYyWhfwqS+Tl4exiODO+xrwkdRSMgq15?= =?utf-8?q?EbMnpBeOhMVPSTINOztys3FOzq99O9hGU8boCFGZW2dSNgJsWvNDP7uXR3j1mZcxF?= =?utf-8?q?k6QdxZgICKPKupDu2NyT0bsYJUSSFJqjg6MLS170oYi8l4juTlddwWmI0SgtAkSgO?= =?utf-8?q?ECloRbBRUsyBmvEjvnceyIqUJkjGhjYh/x6VZOleWcVvmCQVvo7ukKs7viRc9JKXq?= =?utf-8?q?fj6j2amAAyml/KfAgAQf1vl+lyKLh8m0RJW923EmVDEuj69+dtAo61LKvaMDNCAPn?= =?utf-8?q?O4Etv0J7v/VdZkPsdeWWmQ4Sq8B2WSCUalEuh7xOOPIVmyvfHtt9bZkBs7M9cmMRA?= =?utf-8?q?B0au1TThktTJPYX80GodQIPScHzkk4COUkDBZptQRlp9MOchU/ypLok4Q5EYgB8F6?= =?utf-8?q?jDG2xLq7GrUmTnRcBN4Qq9xsKUL83CNyUGxAO5hYYVpR19S3e6AJnl7tyZ4gBdcf+?= =?utf-8?q?6h6SFsV/rIOSezPu7zqE8McEIAYBehY+Sc13YbRgsPQUaV/hQhZA1H4Y/Eio3p14d?= =?utf-8?q?pp0hdGAqkiV27Cl8zkcbOnUpqYlhJ/w2qa8L08tsbub4zpNPqYKO4T6cUvegNSlGY?= =?utf-8?q?BGFau0MJwugdFGGl+geeq0qBZhuFWbpnJXktdHztea3cRUWKW9qbAidqj5hnegMo6?= =?utf-8?q?8DPW6jyBFBJAGRQIMhiR+Ys63pvyNPbpA5aHNoO4O0HWcdttz+A8Qxob7N3kXiU3I?= =?utf-8?q?pymgkrDamZBB0OAPgbZ/NEskixTBKjd9IItiphRFQTmr23e6LtoSRiK03Ew/3Jr+6?= =?utf-8?q?UfHaW67bo2dUq+WJ9+v2d0u9pXzolFopHvf5gHPYvviQgBxeDQ7XeYLgRw6KoXnSo?= =?utf-8?q?SGrrVSRCvtP4BI7TEOyUzfcB7Y66RLwJOUqIEtxWOYSSBc7TZD3fa2eSdOFHPsmTP?= =?utf-8?q?vMqFp4oUMkLJUkt1WJbbD6FBTyiIfPW8tH3hQaCmzGwEK2yjgXNIdqIQgcjPKk3DD?= =?utf-8?q?8/uFsZmT9Qm9DnLyfCqJ4ewre+IG6oVExOs/BZ9+dHSXcZ4av/b9+otCa/GKYPKeL?= =?utf-8?q?MWSX9WC0jEWaC/RSx6uTrh7zyZf6/6ksk1KUkdkODSrqBH6j6BU8Z1GMjuMThMzVN?= =?utf-8?q?IkddYl3RPiZ+T8C2RM79ln6TzZQ8HNK6fDkYW34dlIQciT1T7T5uqjOrEkOpx+xw3?= =?utf-8?q?srRJ4B8SrX6NgiKn3ntgtMjeC3oXFBe1fOVNgo9X63xLASM2C9N/dDpLd4Agwhumt?= =?utf-8?q?4Qo/Bdyivjd/qNGocZs8CBanfQHcSjXwB+biD44alKT5S+BVv6TGXmcTpnzdVdgWr?= =?utf-8?q?nyVq4ZdDu1QJ7nvcvSGL5ePT9SrV7j3T7aP70fIpjt02nHttK3h2DfICGEEjNkiv8?= =?utf-8?q?qAZR/TBHe90TGaI7jUIsdx6fFmWwY9aDqLm3+G9OoKyG75GLH3c5pUGWymUcTQyIh?= =?utf-8?q?X4CJefFxkDw/8KeDuO1KRC+2aXofTr8RoP5Fkr9aivT/TWRZT0m4z1wz01dFPGXyh?= =?utf-8?q?XXC2ECAElxnI?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48732bac-3505-454b-12c0-08dc4bd62ee9 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 07:44:06.2735 (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: vefhOPMjH1YdFb6Q4/kbC8WG3StjZ1rNpO+7UU8eRpmWUe1ejsQip78feg2QfzGzGEIunqEwUzLMxF3vRHe+BQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8573 From: Peng Fan Add clock header for i.MX95 BLK CTL modules Signed-off-by: Peng Fan --- include/dt-bindings/clock/nxp,imx95-clock.h | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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..83fa3ffe78a8 --- /dev/null +++ b/include/dt-bindings/clock/nxp,imx95-clock.h @@ -0,0 +1,32 @@ +/* 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 + +#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 + +#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 + +#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 Sun Mar 24 07:52:03 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: 13600768 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2070.outbound.protection.outlook.com [40.107.8.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 2CBEA17BAA for ; Sun, 24 Mar 2024 07:44:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266256; cv=fail; b=juEPYJ0ybpIeR9zSPxDUUVQPB5f5PJI6xumRsOow7HAI9jJhTyOxnjl49nYGJyvxyOMGgWfit/YzNlrvRL4UVT0S7DoMwELyOsRX4F/GIhgBWdf3OXVzY9uy6ZF4pffsmkbSG4q0Q7v5fYw/Fo3fCzonDIWa1DdACCxr6lLUf+4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266256; c=relaxed/simple; bh=/ONMWA5HwK7f2Lau5bEiPM0rZ6FI1rljIhuFBs9ogjY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=bTxh5jP8TeTM1+lowHdACQkEppk3BfxPcXUrbDlmbKsRv4KV57/4Y74j5LlUU0yj/J2ZnH7Z/pATeaFlLJPk3dTczYFEEmOoVgfgK/JdQ44x5AoqCYDPAb498/tlWPtnAerP9O94cMwL4yz0sSNk19uEqYk4TQuVf8Z+DI5iBd8= 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=RV/Bh+hj; arc=fail smtp.client-ip=40.107.8.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="RV/Bh+hj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L1Ckw7Xqv2+qII/3Q3YDmKyDHeT8NOF2k9mvaUEx4jtX1QKxdckqafOnw4KYYAHQ7xw3EVeFEimxqHjfrTdtS/w4Jny8n0ZhjV5RzV+A1LLOm8MzebrRHtjNnvTMwnPkWA4/VTPrKx+rvu0VP8Jpr27PLhypAlLda5+t7n2yqDhTCzmmT3JFmdlSBXt+23P4EKqdSUsSaDwU6VYr970eXr3yx2B/liCYX0WdlPwvhVJotwNc8gAx0A7bxkgRahirHZs8S15Jy347OmO6ONYRkxmTd48LRYPUkaD+bqEoKRjnLqxrSolLuqPMSDjqkAtAltNLDiPnM72rShhi1YbemQ== 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=Yv5PCV2uOARDiwkRFvc+xheK4EXKRWHf+cVogi9F7CXvM+U/Y6sLs1nNyLw3O6lhSLi9eFW78Dh3kU6X04BZwu9oRvaaaOF3yg9KpVDtnjTf+7SI/PSjDoArORucPIm2vG41IOS0Xd+zIl3SCnYuk32OkCzE97RRpJEh5FMDmS/jagkxBAveIPZAIpCHDYDRHDLZkDLFZiEBhVleq98BzE7hLUY83UqnOhWYKvaJxh1RGxEPe3eq9FpOBCgamYpB3cYRdYKySC1p8jMhqrwIOXNNNDQzT7jmsDokDfY3lJ4FSTN32k2hdAEg/4oLnU4xfH8To4pJEedCF8BswQT8ZA== 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=RV/Bh+hjXSq7jjdd6Z+OswBUWC+bxVOvW0qBLnj786h/QzUknczddX+99GbmfcquJopH46AkH42No9+C44Ka0otFkqThvY2Ien7Qyse0ZElkMOH2ge8rpQHJZmViSVqrBaOSTmq6FJP9BbWFJqPwmarzHAyfuHA5Pf+a0VRWmHg= 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 PAXPR04MB8573.eurprd04.prod.outlook.com (2603:10a6:102:214::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Sun, 24 Mar 2024 07:44:11 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 24 Mar 2024 07:44:11 +0000 From: "Peng Fan (OSS)" Date: Sun, 24 Mar 2024 15:52:03 +0800 Subject: [PATCH v5 4/4] clk: imx: add i.MX95 BLK CTL clk driver Message-Id: <20240324-imx95-blk-ctl-v5-4-7a706174078a@nxp.com> References: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> In-Reply-To: <20240324-imx95-blk-ctl-v5-0-7a706174078a@nxp.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Abel Vesa Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, 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=1711266729; l=13472; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=l4DlMaNZtr5nsDFzShy8D+H0Cb79cmMx/CoZVs4+aCg=; b=wAeVNu0Lnlb7BIheYg8vwO33sGCHCkBBf34IbLSeyYmGomVsz1d0WsIcvExgncM1wVZMDWqkc DRD8HpwpEZKCBWADhE7ngD1KZb6PB7/wfCs4mViAg6Ye5LzcL/fNZhD X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR03CA0110.apcprd03.prod.outlook.com (2603:1096:4:91::14) 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_|PAXPR04MB8573:EE_ X-MS-Office365-Filtering-Correlation-Id: 3be63ba3-5698-4cde-89d5-08dc4bd631bc 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: MG74kizBpw8GKuQaCk4nxH8lzmLoKs/+e4JKROPGiSnk1Z1QLnxvkAEyzPb7tkUCQGG2Qjh93gP3WLEQMlJROm41PpJ4SuNjShBl4ipVJY3bmvjkNewoDaEF7Xw0TqG29U//IfcSid6zdX3EMPzirQiY/jDszp/dbruUv67eAlUPkwGf9W4wA6+vpB8HZEeDFUNCliYoSDcxw5qLRy/G7PkxhY4IFALTe3RW1HkppeaWzrWfxq3OXNXy8PaaYCmakEh5ozX3wAwtV/zBDWvYoJ3XuT8pTOMZHxtbwMP29E/dVXdsz5GetU11BbAVfU+KJyZXUZ9v3Qbt9TPZPFPsW7AGCTzpr4BrBt0yS4584maJE/nV43NBLv7S7ih2Bo6+fg3Kn4KTkS8TRifn/OdI5/RJsYCVO7yjcjQS2x/9eV032DXyDpDCdHhNHyFxBpQLceXBrQn8cexOwCvU79g9yKgYDpVHqGBzUZmyradC335Y5LDSIYXQ9gmbQZ2qgjFjSuLvEfBUIWNBwWFuuW/z0qZrtdwJWysMvZS2PuGf1mbNgQeIrBZnq9UPBQTU8TIWRh7MZOdhkgNnJFZv6JPt6Y8G6PseAlQYYUdxloh8MYAB6MSs0lIxWA4tWctT6FSwvWQ+jY5cUE3VaL/sIJU58eoCAgjWU0VWtHyZZNqqFykhbX6ULlsPoM5NXP/BSLIRKWAnyqlvPJ6F+HBYDqnJV9+E6g4/MVKL5Vpw0MlvOT0= 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)(7416005)(376005)(1800799015)(52116005)(366007)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?aQNUXiSK9T+aWUbB/tmpXPtdzbrT?= =?utf-8?q?f+pNaQBgllRi2CVc5bfM3+UQIyF3HPDA51r+KtjySi4/aJO3blkYwu2yLQOqWeAVY?= =?utf-8?q?wVM4oUpsgJ+eKtjJUmip8CORoL2GlzyhIy/oZ0o2j1Owh9rb29F/tMvp2dlyepxQb?= =?utf-8?q?2x8mwuGLZTpE3lIld9xeA8LBTGIjcJ+8LjEKH2eYd/6FT3ggdbtPEzhWh3H7Nu8G4?= =?utf-8?q?mneR77R9/l18SS3msqYZlL3xsALlzekIZepONcnsqEUiNAn460YxA5t7T2jYmk9j7?= =?utf-8?q?RJTMWW/OZQgc2ArWx0FREatXmx8liXY2JLQuMZnzwBJMkGHpMU0eLT5I0f7VEU9zd?= =?utf-8?q?Tve2UDYWsPQ+zNjMfIrlnwIeC19EN5I8Bhiam1HrjSdNmrKXHEvrcfjT1vp/UvI8M?= =?utf-8?q?Q8NCvN3yWmGQsehK/t+FzCKxvsWEs9X5ws4UK7e9mov1pno0D+TX7clVhJWOLS4vQ?= =?utf-8?q?zkPmTMrKNkiuxDKFwlXhR3R1F0jfMj/k0TMOcUgbNEJSgWqzKTWpoPgoAzkznG3Vw?= =?utf-8?q?lz1ZRuQ6r5zYNixd62rLHK6HqgbYfn1tSb95macoCgVEQtBZ4K7Ijiy4Jbtt6MbLC?= =?utf-8?q?YuhadyGkkkKaqsksADLp3Q8tvg3EpI/QU3JRM+y0cmpLAPhXh/iQLZ/Nrq7E2ONLp?= =?utf-8?q?kJXZDiXl6K87kdb8Qxz+BDK0Uc8WHmelHtUyMdIwtL4Lli8b4R50DuQPmu7lkRimX?= =?utf-8?q?eO83N8ZRbCXXxXavDuFqXO/lO7f/ax+O7Z7BrrKwx+bRaPcAbTQBINcyp/HHwfrzL?= =?utf-8?q?ujwcuydBrlFKiPAKB4j8/P2Hui5j16b7me37ERYCP/GOJy4h6YXOk+qKlT4WGaTUQ?= =?utf-8?q?lI6qF+2STuwvD8vnZwuqj1HDZ+l2MZadupU3h61Zd6k0bF8OYNfNAfQqtfKaGc+yJ?= =?utf-8?q?6aX2oaKa0rv9NDRVtWNXOrEiHo+pDeEXooZiqvW6/MsNSccjUhmGuLGWexGZPTbiE?= =?utf-8?q?vTV3QpkHvo+th+qXxMQNzIyxrNnFTE0/h8pBPxSmw5aGxU1084M/kpb2+qxyrdiKy?= =?utf-8?q?+ToPL6vqUq8pV/dqxWYAB/ZBdIAuQn8/4LUUidyxLxN7OWQpyk7F8fvjZCZUBiVhF?= =?utf-8?q?aYhqL5N9zwhwaczS9UekIEr+1D0oxmHFHXbazUwIX3QnX+lDlpDg7WPwB6Bhge0Ux?= =?utf-8?q?ykTNtFqPzJ8vopo67mIBxjr8Yn/VKQn4BbHV6s7A6nmhZNN4TJfZR91ZOZB0XaXIP?= =?utf-8?q?JUEe/Zf69uWzqk6WEoVTKyg2XbrAapTHzbvAygt/lTHTvsnhrzP9II7kNmtOcYDuN?= =?utf-8?q?046l8lb7XIKPnArwmBtrru7wAXxZt+3YMTezbrdCLPMtya8o82d1sri+SIRzMA/FN?= =?utf-8?q?jPJc/I9nbUmjHCdmmbh4G4PQ3QzMO2bAIV473aOn3N2nbWj3joefwK9K6da1MFTqI?= =?utf-8?q?wtGibrWwpfNm7SjCn4HLcvhDnlJKEEsBOuw2sJw/t/e1oLXY7mgoyvorDW+CbUEzj?= =?utf-8?q?O9cPwyXigFlaOXA0zv/GZbAhTgSEWnd6mH2x9wiJvXMJwckFtwfiv2ImxwRVfCqX4?= =?utf-8?q?VNCFsRBOUQlb?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3be63ba3-5698-4cde-89d5-08dc4bd631bc X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2024 07:44:11.0207 (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: 8n0DzLUIupEAnolOywkEeU1YWoj5B6FcfpFheG+X8ueWk96kgombGmfzUrczn3i9c5IfHGo5C1TK8rG8b35QiQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8573 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");