From nobody Sun Feb 8 18:18:34 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2044.outbound.protection.outlook.com [40.107.20.44]) (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 1C27914AB0; Sun, 24 Mar 2024 07:43:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.44 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266241; cv=fail; b=MHuZsSUh4Ckkx+od6rRqTN2RMTg9pI/lkRzZEXFwuzxfDoyIBKiKEophQG2c7X1o2WT8FEDqPFU2S9wXAwebn1IKNUCVYdBQwOkvnZ6ijn3mGbnVablCbsdKFEXaV30zqqUaN4ICuRQiqu0WZ5LE9tGuoTQdTZfShA8K2Z3IsoY= 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.20.44 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: 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?B?eWtWaXhoSTduUXo3MksxSnNpc2VEZXBtNTdVNTRVNUlSWEd4clA5VVhIaVEw?= =?utf-8?B?WnJveVM0a1BrZEtJL1c4dW9GMTE5VStucUNMOG9kUmxuYVRnZk9RbE1aRTNy?= =?utf-8?B?a3VWY2pIWnN2eGpFYnlmSnoybW5pWm40ZStRSVA2MDNOdzVDNThHTXVzSjE2?= =?utf-8?B?VkwzczR0YXJJZWJiTlhkN1FCcHVxR0xvZ3JTQUI4YUJoRkEzWTBaK2hXV3lF?= =?utf-8?B?Y29UV3c4R05vYjBvd2V4bFdSTi84ZHRlZ01Xb0YwSDJDVG94cS9zRlhYYWp2?= =?utf-8?B?a0FRWUFYeDNLNThiaURhdjhPcUtMckRSU3VqYlRuZVNyTXZzalZMOThGUmo1?= =?utf-8?B?NEtIWk9INi9wNlkwcWVGaG1HRmFvL2VHTHVVZ2JIN3RRQ2dpQkdpN0g5RDV4?= =?utf-8?B?dktaK3JqaGh1WUphdW5JSmhDQ0NKa280NU5hTjBpNk9jYWdYL2lvbEV1SEVL?= =?utf-8?B?bkVwdERkVmdIaW03UHdEOTQvUEUyM3FpQ3BYR095bnJKVVdnYU1BKy9ZMkt4?= =?utf-8?B?MHJKYkdaUEdUbzhJaFN4SnkwMHhpKzhlWmV5anlTUlVJVVpid2VFRTZ1RnNm?= =?utf-8?B?NjhmQjB0UWpoNGFvWUREODNrSUszZ2psODJ2SjcrRHJ5VWhUNlNReTAzU3hh?= =?utf-8?B?dXlFSENiVkRiZFl6VUdFRzRxaDBkSld0YzB2MnBmems2UDAzOUN6U2JpenZo?= =?utf-8?B?QTdtK1hlSlNHUnRpOFpOaklJMy9RTlA4VGpaZVY2clhBZUY4OWZ5VWxnSXAv?= =?utf-8?B?WUFkdy8yY2hkMGJIb2lxOWdPTUk4TXFCUkRiZmhMZzNyOWMwejUzK2kzOEpM?= =?utf-8?B?M1hsWW9jNGJCT3plRytyc0pscDU1NzVXRmJFK3FXRTVQcWcwZ0JBKzh2cHRu?= =?utf-8?B?NmR4eElCZ2tLWU1KODFmbXV6UUJKMUJBdkhhWE16aHp2T1c5cWpQZXF0RkJ4?= =?utf-8?B?Qk1XMXY1VGpzQU92Y1FMdGtSUE1UM3ZlMGFQYzdWaW43amhkdjNrRjNXSmg1?= =?utf-8?B?ODlQL0dvMW9RYVh2bldrNG9ZUkMwejFRZXBkT20zRTFTQXRoSW9wU1QwWlNV?= =?utf-8?B?MHJpRlFXcnRzdmt4SWFQN3JxK2FsUS9sOVNCcTU5bWRvZnI5UjhGYU9IQUFE?= =?utf-8?B?M0JFdkFnNEFkUFNjUis0YVhJUGNtNksrYVVFZm5qK2doZmptczJ5bVM1UUwy?= =?utf-8?B?NVlhRUNHN1NYc0xVWFVxVlpEMGtzMUIxc05pb3gzdTZJNlo0Y2F5bkdiajhs?= =?utf-8?B?Nmt0WlhHeTJUZUFUeXdlbzNNOFdJenNabFN6M0lOZHFSeDhoVms1QlJGdGVo?= =?utf-8?B?d0ZkSHhLWFp5dUg0eHFrYVpaZGVVOWxiMUs4YWNMQ0NLMjFKWDJHRERjdEFO?= =?utf-8?B?VldLZEVNQk9xZnduYmFMUi9RYU9keXk2Mng2YTZEd09sbXp3VnFCdVczS1ly?= =?utf-8?B?OTg5TTRFbnNCOVp0ZHVkYklZMjUwZmdscjdpWktwckpONisralJUc0ZCejV4?= =?utf-8?B?RitqQzZLcW9scEh1UmNGRW02alpVWDNZdzBNQVcvOHBxelp0WkJZNWtBLzNl?= =?utf-8?B?NVJ6TWtscUZHR2hRdmpDTlJncVJVOTRRYVJxR1QzQkVHQmhZQTZJekkrV3pw?= =?utf-8?B?SU92cEVOR21YRmFveWpwMlp5SnVLK3RxMEdNZzF3UEZ2U3VVYm9xYUwvdmta?= =?utf-8?B?cWZrc0gyZ295M2RGV09sRXRaNThJQkd5cnBzaVVIS3RvWlArVjBvT2VKVnRt?= =?utf-8?B?Wm40MlZtZWVVVkhDUGZlWTROYm1sdEVQS1Z4eUtkNGNycWkxZitWU3l4Z05o?= =?utf-8?B?V2ZCTkZjZ0lqbEVJdEIrZEx1T0tMQjdVdndDWFR0TnVCMk1XMnB6MS9DT0l1?= =?utf-8?B?WDZMdVRuQ0FZVW4xZnpwRUc3aXNaUHVrRzB0d1U4cWpUMlJjVWVSY0J3MlZH?= =?utf-8?B?TjZURFZ6b3BReTQxTTN4bEVQbTVPVFJQU1ZISHpwWmUvTzNUbkRQWXNqNU9O?= =?utf-8?B?T1NObDRCZ1BOR29ZY3I0U0dDYUFzRzZsUTQ4cjlYY0NNTU5kWERMYzBPU3Zz?= =?utf-8?B?TjVUaGcvKzlMQmZrTi9IMGc2Z0R6QlpzcXpkdzlBUVJhZG9tMmorVVVHRUJ1?= =?utf-8?Q?7r2jf7lh/dv4+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 cl= ock + 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 =3D "nxp,imx95-vpu-csr", "syscon"; + reg =3D <0x4c410000 0x10000>; + #clock-cells =3D <1>; + clocks =3D <&scmi_clk 114>; + power-domains =3D <&scmi_devpd 21>; + }; +... --=20 2.37.1 From nobody Sun Feb 8 18:18:34 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41]) (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 47DCE1759E; Sun, 24 Mar 2024 07:44:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266246; cv=fail; b=mm/qCEw6MMmMSycBaim35gDI/jcHd2E2ji9zSRHNRKqRdH35FLXeXTVisj2RsfVsc8ST7Ba/erdydZlK2MT4S+5P0JJq7UgTZsrT7iQyhZY81PW1jarABmEbMJg6VCiPmweq6t9Z5znOgCIl7zc/GM6f56RcVE4XlXhJnpJ9IRM= 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.41 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: 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?B?Z2dpS2FJc3ZQUG0yemc3UFBiWHpMRWVJMkI2NGIvYVplZWp2OXlRZlhOdzZs?= =?utf-8?B?a1A3U0VKVjNFKzlaMEFsWHdBamRXK1ROVEkyeGJHejE5Skd0SXROWFBOOHlL?= =?utf-8?B?Yk9ZakhPejRYL3d5QXBzZmsveU91cGFWUFBFOHhHaXZ1UXdXSVZGTTRaSkQx?= =?utf-8?B?ZVRzeUQ5dFBJWHpBUEtOVGk3Wm9wL3lQZWRrdC82TFFQNm90VzFwd1VqMDhP?= =?utf-8?B?MS9LNGR6SzJ0b3hhY0RhenJDZ3VLc051aDMxYUd5N1dKdWF4UW9RYWwvSk1u?= =?utf-8?B?MUtoWlJaV29wT2t4MG1SYXJNWEVIcXZMS2ZjQWkveXNCZG1senV3NWJVUi9j?= =?utf-8?B?REx4OEVxWHA5L2hqZmZXcjR1Um5tVWZBNjE3M09TZzl0SGFaYUVvRmVubElM?= =?utf-8?B?WncrL1pTS25UNUNXMnNaNTkwNUpLSmo5U1JXNG9UYXg2Rk10M004TE9uME1x?= =?utf-8?B?bWZNZDdwMTM5anBpeTUwcTYxdzE5YlhEbWpSNDVlUThxQmlSTW41V1VkU3l3?= =?utf-8?B?N1djeUZlSWtTbUJHOGtTQ3lPdFMyK0RldlFpcjlxZGk1TjFIcVlzTmZzaDgv?= =?utf-8?B?bXdoK1NEM2ZRRllPdzNYS2ZjWVdnMWN4SHVMdEQyNkRhRXpuV2VmbXBMTzJP?= =?utf-8?B?YzNqczhYK3BmdnZTYjdhbVg5T2lGSjYrc3FPa3NyUk05QTkyZDJUTUJLNDBq?= =?utf-8?B?NUJET1FxdFdjMDhGS2g3a1ZSM3BmVTNhVE0vWU03cy9mY254MG5sczgxcy9V?= =?utf-8?B?eVRtSHM2aFQ2ZHFmN1RZQmhBUS91LzVqVVZzVHZRWEFyM1grUUN2MWFlL2o4?= =?utf-8?B?MVl3VEtMdWxIWFdsSi9ad0UyekFmNTEwZmRpVkJpdDZjeXJPUnBQWU9GbEdS?= =?utf-8?B?eWhnZllrNFI3cVFHYW1HUlVOd01USjFENFNkaHJQdEpIalBhRkhlRmlrK0tv?= =?utf-8?B?dlpNYUJnbWFWWkRBSmJSSjZYdWduc2s2ZzZXOEREYlpTUmR3WWp5OGFLQU1v?= =?utf-8?B?RnZrQndUM2lLWCtpdnZ5ZHR2VE5tOFA0cWI2RE91Vm5oR1pvaVJUUlpNSEdB?= =?utf-8?B?blFMT1VXUzVwS3g0S1VPbnNzTFExMVlPNlJvTEtzNWwvNG43Y1N5blA5djI2?= =?utf-8?B?Vmg4QXdGUzYvUysrQVQrYU0wYndJZk9vVTlMYTdGWmJJTXI5U3dNTEFtZ2o4?= =?utf-8?B?QkVCRGQreWtJUytOeVpMS3VzcnliYXRieVR3UENnWnZyUDQ5b2JoNlNFNzNY?= =?utf-8?B?NUlveWtoUXlpWjJDVloyRC9WY0o3TzF4TmRPMUt5TDl0c3pYdjFHREsyY0NH?= =?utf-8?B?bFBRQkpHeURHM244ZzFET3F3QmhxZmw2QlliL3p3dHhLUlpHSXR2MUJiM3No?= =?utf-8?B?Rk13enpUVmw0aTY2Wk1rdndzeWVka2N2UmNhWHRKK2Z3bC9WVVQ3UjcxN3Y3?= =?utf-8?B?NEV2SnBsZEUxcjRqd1pMYlh4SVRwSCs5ZjFCQ0FDS2FTdUVxM3V5eXNVVGJM?= =?utf-8?B?RFZvRW9XeGpVSi9wMGdreWRFSzd3cnJRdDh3eGRMcS9xdlhhTWx0a3hIKzN5?= =?utf-8?B?Sm93QzR4cG9lT1dwenVTVFJhOERWbWh0bUZ6ODFZUWQyVE1ReCtxUG5DR2JT?= =?utf-8?B?QjQrUkp3NGExMCtDZnhiY3d4c09LWXJuQ21tU0VZblV5bGhwN3U3ZjR1cWU3?= =?utf-8?B?SFJIR21UeWFIZ29nZWpta3ZaU2d4KzVlc3djaTh2VFlHR2pGdnBFd21wVU1u?= =?utf-8?B?RUIyRk9USVY5R1krVXNpVjRzdkMvMndWQWp1UnpKYzZWVlg0R0FjbUV2MUVQ?= =?utf-8?B?bkRIUGxZTGhOY285VlNtUFpSMlY2UE9TN0ltcWx2enRscnJ4UlNMaXFxQTlD?= =?utf-8?B?ZWR2OGVQZXhBS0J1a2pkaHlQMEdIcmlBalQzVjZWZHZiN29oRm8xNmpzV1h4?= =?utf-8?B?M1NCMzFac3BGVGZKb093RHJhc3E4Q1pqbWgvcDkyUzYzTW1SUXgwZmFwUUJt?= =?utf-8?B?NjZva3pHZmxJZThKOFh0REcvS0hFTW9wbXN2MC9NM1lscjlBdWdDckJScHcy?= =?utf-8?B?UTFYWGF0aThNS1FnU1YweDh6UVFPYlRwQmVkbVRMVVNJbHBvQ3dyQUc5Vndk?= =?utf-8?Q?3ljtCq5yHBSr7rF+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-mast= er-csr.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-display-mas= ter-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 cl= ock + 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 =3D "nxp,imx95-display-master-csr", "syscon"; + reg =3D <0x4c410000 0x10000>; + #clock-cells =3D <1>; + clocks =3D <&scmi_clk 62>; + power-domains =3D <&scmi_devpd 3>; + + mux: mux-controller { + compatible =3D "mmio-mux"; + #mux-control-cells =3D <1>; + mux-reg-masks =3D <0x4 0x00000001>; /* Pixel_link_sel */ + idle-states =3D <0>; + }; + }; +... --=20 2.37.1 From nobody Sun Feb 8 18:18:34 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2046.outbound.protection.outlook.com [40.107.20.46]) (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 B05D917741; Sun, 24 Mar 2024 07:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266251; cv=fail; b=Utstecwhmw370omTDJ490qS/WvPGzJDWZssZyxz+IH4ucN+yPM2AwYP4NHNuG8CM5vRBoS7k2vAfAB2diNFwG0MZ8GRvKc3vO2KMpdIEu6GfMn8W+bjKDmxqiTDRn5QE9VlBNt4u9ZLwCayaY1bvOMb0UXtaRxbWfYL8wDQK2Gw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266251; 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=AQ6c8pIFsGAd6FSTv1nrN9h+BkoLbStYpQxHE8O3WzZyO7068Vg1qaZPw+DEQ8u7qrPWdRtuCDZ/832ic3s23ypy+uMisbmE8Rd0nP9A7y7Q+yKIxN//8NwVsjGtv2LFn+YG2ClmnouHeYOzvPAucM2lVcSatexF3Or6hx2Ndgg= 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.46 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: 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?B?MEhKN1ZGS3c1Um02SjE5L2MwdWxVMkR0RDRPS25nRE5oaFQydEZrWW9qRWMy?= =?utf-8?B?aEVKQ3JrRXZDMHhtNXpNSmlZeVdoZndxUytUbDRleGlPRE8reHJ3a2RSU01n?= =?utf-8?B?cTE1RWJNbnBCZU9oTVZQU1RJTk96dHlzM0ZPenE5OU85aEdVOGJvQ0ZHWlcy?= =?utf-8?B?ZFNOZ0pzV3ZORFA3dVhSM2oxbVpjeEZrNlFkeFpnSUNLUEt1cER1Mk55VDBi?= =?utf-8?B?c1lKVVNTRkpxamc2TUxTMTcwb1lpOGw0anVUbGRkd1dtSTBTZ3RBa1NnT0VD?= =?utf-8?B?bG9SYkJSVXN5Qm12RWp2bmNleUlxVUprakdoalloL3g2VlpPbGVXY1Z2bUNR?= =?utf-8?B?VnZvN3VrS3M3dmlSYzlKS1hxZmo2ajJhbUFBeW1sL0tmQWdBUWYxdmwrbHlL?= =?utf-8?B?TGg4bTBSSlc5MjNFbVZERXVqNjkrZHRBbzYxTEt2YU1ETkNBUG5PNEV0djBK?= =?utf-8?B?N3YvVmRaa1BzZGVXV21RNFNxOEIyV1NDVWFsRXVoN3hPT1BJVm15dmZIdHQ5?= =?utf-8?B?YlprQnM3TTljbU1SQUIwYXUxVFRoa3RUSlBZWDgwR29kUUlQU2NIemtrNENP?= =?utf-8?B?VWtEQlpwdFFSbHA5TU9jaFUveXBMb2s0UTVFWWdCOEY2akRHMnhMcTdHclVt?= =?utf-8?B?VG5SY0JONFFxOXhzS1VMODNDTnlVR3hBTzVoWVlWcFIxOVMzZTZBSm5sN3R5?= =?utf-8?B?WjRnQmRjZis2aDZTRnNWL3JJT1NlelB1N3pxRThNY0VJQVlCZWhZK1NjMTNZ?= =?utf-8?B?YlJnc1BRVWFWL2hRaFpBMUg0WS9FaW8zcDE0ZHBwMGhkR0Fxa2lWMjdDbDh6?= =?utf-8?B?a2NiT25VcHFZbGhKL3cycWE4TDA4dHNidWI0enBOUHFZS080VDZjVXZlZ05T?= =?utf-8?B?bEdZQkdGYXUwTUp3dWdkRkdHbCtnZWVxMHFCWmh1RldicG5KWGt0ZEh6dGVh?= =?utf-8?B?M2NSVVdLVzlxYkFpZHFqNWhuZWdNbzY4RFBXNmp5QkZCSkFHUlFJTWhpUitZ?= =?utf-8?B?czYzcHZ5TlBicEE1YUhOb080TzBIV2NkdHR6K0E4UXhvYjdOM2tYaVUzSXB5?= =?utf-8?B?bWdrckRhbVpCQjBPQVBnYlovTkVza2l4VEJLamQ5SUl0aXBoUkZRVG1yMjNl?= =?utf-8?B?Nkx0b1NSaUswM0V3LzNKcis2VWZIYVc2N2JvMmRVcStXSjkrdjJkMHU5cFh6?= =?utf-8?B?b2xGb3BIdmY1Z0hQWXZ2aVFnQnhlRFE3WGVZTGdSdzZLb1huU29TR3JyVlNS?= =?utf-8?B?Q3Z0UDRCSTdURU95VXpmY0I3WTY2Ukx3Sk9VcUlFdHhXT1lTU0JjN1RaRDNm?= =?utf-8?B?YTJlU2RPRkhQc21UUHZNcUZwNG9VTWtMSlVrdDFXSmJiRDZGQlR5aUlmUFc4?= =?utf-8?B?dEgzaFFhQ216R3dFSzJ5amdYTklkcUlRZ2NqUEtrM0REOC91RnNabVQ5UW05?= =?utf-8?B?RG5MeWZDcUo0ZXdyZStJRzZvVkV4T3MvQlo5K2RIU1hjWjRhdi9iOStvdENh?= =?utf-8?B?L0dLWVBLZUxNV1NYOVdDMGpFV2FDL1JTeDZ1VHJoN3p5WmY2LzZrc2sxS1Vr?= =?utf-8?B?ZGtPRFNycUJINmo2QlU4WjFHTWp1TVRoTXpWTklrZGRZbDNSUGlaK1Q4QzJS?= =?utf-8?B?TTc5bG42VHpaUThITks2ZkRrWVczNGRsSVFjaVQxVDdUNXVxak9yRWtPcHgr?= =?utf-8?B?eHczc3JSSjRCOFNyWDZOZ2lLbjNudGd0TWplQzNvWEZCZTFmT1ZOZ285WDYz?= =?utf-8?B?eExBU00yQzlOL2REcExkNEFnd2h1bXQ0UW8vQmR5aXZqZC9xTkdvY1pzOENC?= =?utf-8?B?YW5mUUhjU2pYd0IrYmlENDRhbEtUNVMrQlZ2NlRHWG1jVHBuemRWZGdXcm55?= =?utf-8?B?VnE0WmREdTFRSjdudmN2U0dMNWVQVDlTclY3ajNUN2FQNzBmSXBqdDAybkh0?= =?utf-8?B?dEszaDJEZklDR0VFak5raXY4cUFaUi9UQkhlOTBUR2FJN2pVSXNkeDZmRm1X?= =?utf-8?B?d1k5YURxTG0zK0c5T29LeUc3NUdMSDNjNXBVR1d5bVVjVFF5SWhYNENKZWZG?= =?utf-8?B?eGtEdy84S2VEdU8xS1JDKzJhWG9mVHI4Um9QNUZrcjlhaXZUL1RXUlpUMG00?= =?utf-8?Q?z1wz01dFPGXyhXXC2ECAElxnI?= 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-bindi= ngs/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 */ --=20 2.37.1 From nobody Sun Feb 8 18:18:34 2026 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2058.outbound.protection.outlook.com [40.107.14.58]) (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 4A46B17BB4; Sun, 24 Mar 2024 07:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.14.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711266256; cv=fail; b=j5TVyycjCvBJaPGcoGkbLiddf+K7aj8zTWccB0y0KEzsgGoJwZChyeTCOTj2MBABoZGp4DBHT5i+lOMQNlODwUZscuKj3F8kUjBoqefwfzGLFWVE0nn90MasS4iym9jLuYe6u4ncIRuQN7QWicUeYw9eOqAa8zvqDnmfB8T62Ts= 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.14.58 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: 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?B?YVFOVVhpU0s5VCthV1ViQi90bXBYUHRkemJyVGYrcE5hUUJnbGxSaTJDVmM1?= =?utf-8?B?YmZNMytVUUl5RjNIUERBNTFyK0t0anlTaTQvYUpPM2Jsa1l3dTJ5TFFPcVdl?= =?utf-8?B?QVZZd1ZNNG9VcHNnSitlS3RqSlVtaXA4Q09Sb0wyR2x6eWhJeS9vWjBvMmox?= =?utf-8?B?T3doOXJiMjlGL3RNdnAyZGx5ZXB4UWIyeDhtd3VHTFpUcEUzbElsZDl4ZUE4?= =?utf-8?B?TEJUR0lqY0orOExqRUtIMmVZZC82RlQzZ2dkYnRQRXpoV2gzSDdOdThHNG1u?= =?utf-8?B?ZVI3N1I5L2wxOFNTM21zcVlabEwzeHNBTGx6ZWtJWmVwT05jbnNxRVVpTkFu?= =?utf-8?B?NDYwWXhBNXQ3VDJqWW1rOWo3UkpUTVdXL09aUWdjMkFyV3gwRlJFYXRYbXg4?= =?utf-8?B?bGlYWTJKTFF1TVpuendCSk1rR0hwTVUwZUxUNUkwZjdWRVU5emRUdmUyVURZ?= =?utf-8?B?V3NQUSt6TmpNZklybG53SWVDMTlFTjVJOEJoaWFtMUhyalNkTm1yS1hIRXZy?= =?utf-8?B?Y2ZqVDF2cC9Vdkk4TVE4TkN2TjN5V21HUXNlaEsvdCtGekNLeHZzV0VzOVg1?= =?utf-8?B?d3M0VUs3ZTltb3YxcG5vMEQrVFg3Y2xWaEpXT0xTNHZRemtQbVRNcktOa2l1?= =?utf-8?B?eERLRndsWGhSM1IxRjBqZk1qL2swVE1PY1VnYk5FSlNnV3F6S1RXcG9QZ29B?= =?utf-8?B?emt6bkczVndsejFaUnVRNnI1ellOaXhkNjJyTEhLNkhxZ2JZZm4xdFNiOTVt?= =?utf-8?B?YWNvQ2dWRVF0Qlo0SzdJaml5NEpidHQ2TWJMQ1l1aGFkeUdra2tLYXFza3NB?= =?utf-8?B?RExwM1E4dHZnM0VwSS9RVTNKUk0reTBjbXBMQVBoWGgvaVFMWi9OcnE3RTJP?= =?utf-8?B?Tkxwa0pYWkRpWGw2Szg3a2RiOFF4eitCREswVWM4V0htZWxIdFV5TWRJd3RM?= =?utf-8?B?NExsaThiNFI1MER1UVBtdTdsa1JpbVhlTzgzTjhaUmJDWFh4WGF2RHVGcVhP?= =?utf-8?B?L2xPN2YvYXgrTzdaN0Jyckt3eCtiUmFQY0FiVFFCSU5jeXAvSEh3ZnJ6THVq?= =?utf-8?B?d2N1eWRCcmxGS2lQQUtCNGo4L1AySHVpNWoxNmI3bWUzN0VSWUNQL0dPSnk0?= =?utf-8?B?aDZZWE9rK3FLbFQ0V0dhVFVRbEk2cUYrMlNUdXd2RDh2blp3dXFqMUhEWits?= =?utf-8?B?Mk1aYWR1cFUzaDYxWmQ2azBiRjhPWU5mTkFmUXF0ZkthR2MreUo2YVgyb2FL?= =?utf-8?B?YTBydjlORFJWdFdOWE9yRWlIbytwRGVFWG9vWmlxdlc2L01zTlNjY2pVaG1H?= =?utf-8?B?dUxHV2V4R1pQVGJpRXZUVjNRcGtIdm8rdGgrcVh4TVFOekl5eHJObkZURTAv?= =?utf-8?B?aDhwQlB4U213NWFHeFUxMDg0TS9rcGIyK3F4eXJkaUt5K1RvUEw2dnFVcThw?= =?utf-8?B?Vi9kcXhXWUFCL1pCZElBdVFuOC80TFVVaWR5eEx4TjdPV1FweWs3Rjhmdmpa?= =?utf-8?B?Q1pVQmlWaEZhWWhxTDVOOXp3aHdhY3pTOVVla0lFcisxRDBveG1IRkhYYmF6?= =?utf-8?B?VXdJWDNRblgrbERscERnN1dQd0I2QmhnZTBVeHlrVE50RnFQeko4dm9wbzY3?= =?utf-8?B?bUlCeGpyOFluL1ZLUW40QmJIVjZzN0E2bm1oWk5ONFRKZlpSOTFaT1pCMFhh?= =?utf-8?B?WElQSlVFZS9aZjY5dVd6cWs2V0VvVlRLeWcyWGJyQWFwVEh6YnZBeWd0L2xU?= =?utf-8?B?SFR2c25ocnpQOUlJN2tObXRPY1lEdU4wNDZsOGxiN1hJS1BuQXJ3bUJ0cnJ1?= =?utf-8?B?N3dBWHhadCszWU1UZXpicmRDTFBNdHlhOG84MmQxc3JpK1NJUnpNQS9GTmpQ?= =?utf-8?B?SmMvSTluYlVtakhDZG1tYmg0RzRQUTNRek1PMmJBSVY0NzNhT24zTjJuYldq?= =?utf-8?B?M2pvZWZ3SzlLNmRhMU1GVHFJd3RHaWJyV3dwZk5tN1NqQ240SExjdmhEbmxK?= =?utf-8?B?S0VFc0JPdXcyc0p3L3QvZTFvTFhZN21nb3l2b3JEVytDYlVFempPOWNQd3lY?= =?utf-8?B?aWdGbGFPWEEwenYvR1piQWhUZ1NFV25kNm1IMng5d2lKdlhNSndja0Z0d2Zp?= =?utf-8?Q?v2ImxwRVfCqX4VNCFsRBOUQlb?= 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 =20 +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) +=3D clk-imx8mp.o clk-imx8mp-aud= iomix.o obj-$(CONFIG_CLK_IMX8MQ) +=3D clk-imx8mq.o =20 obj-$(CONFIG_CLK_IMX93) +=3D clk-imx93.o +obj-$(CONFIG_CLK_IMX95_BLK_CTL) +=3D clk-imx95-blk-ctl.o =20 obj-$(CONFIG_MXC_CLK_SCU) +=3D clk-imx-scu.o clk-imx-lpcg-scu.o clk-imx-ac= m.o clk-imx-scu-$(CONFIG_CLK_IMX8QXP) +=3D clk-scu.o clk-imx8qxp.o \ diff --git a/drivers/clk/imx/clk-imx95-blk-ctl.c b/drivers/clk/imx/clk-imx9= 5-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[] =3D { + [IMX95_CLK_VPUBLK_WAVE] =3D { + .name =3D "vpublk_wave_vpu", + .parent_names =3D (const char *[]){ "vpu", }, + .num_parents =3D 1, + .reg =3D 8, + .bit_idx =3D 0, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_VPUBLK_JPEG_ENC] =3D { + .name =3D "vpublk_jpeg_enc", + .parent_names =3D (const char *[]){ "vpujpeg", }, + .num_parents =3D 1, + .reg =3D 8, + .bit_idx =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_VPUBLK_JPEG_DEC] =3D { + .name =3D "vpublk_jpeg_dec", + .parent_names =3D (const char *[]){ "vpujpeg", }, + .num_parents =3D 1, + .reg =3D 8, + .bit_idx =3D 2, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + } +}; + +static const struct imx95_blk_ctl_dev_data vpublk_dev_data =3D { + .num_clks =3D IMX95_CLK_VPUBLK_END, + .clk_dev_data =3D vpublk_clk_dev_data, + .rpm_enabled =3D true, + .clk_reg_offset =3D 8, +}; + +static const struct imx95_blk_ctl_clk_dev_data camblk_clk_dev_data[] =3D { + [IMX95_CLK_CAMBLK_CSI2_FOR0] =3D { + .name =3D "camblk_csi2_for0", + .parent_names =3D (const char *[]){ "camisi", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 0, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_CSI2_FOR1] =3D { + .name =3D "camblk_csi2_for1", + .parent_names =3D (const char *[]){ "camisi", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP_AXI] =3D { + .name =3D "camblk_isp_axi", + .parent_names =3D (const char *[]){ "camaxi", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 4, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP_PIXEL] =3D { + .name =3D "camblk_isp_pixel", + .parent_names =3D (const char *[]){ "camisi", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 5, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_CAMBLK_ISP] =3D { + .name =3D "camblk_isp", + .parent_names =3D (const char *[]){ "camisi", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 6, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + } +}; + +static const struct imx95_blk_ctl_dev_data camblk_dev_data =3D { + .num_clks =3D IMX95_CLK_CAMBLK_END, + .clk_dev_data =3D camblk_clk_dev_data, + .clk_reg_offset =3D 0, +}; + +static const struct imx95_blk_ctl_clk_dev_data lvds_clk_dev_data[] =3D { + [IMX95_CLK_DISPMIX_LVDS_PHY_DIV] =3D { + .name =3D "ldb_phy_div", + .parent_names =3D (const char *[]){ "ldbpll", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 0, + .bit_width =3D 1, + .type =3D CLK_DIVIDER, + .flags2 =3D CLK_DIVIDER_POWER_OF_TWO, + }, + [IMX95_CLK_DISPMIX_LVDS_CH0_GATE] =3D { + .name =3D "lvds_ch0_gate", + .parent_names =3D (const char *[]){ "ldb_phy_div", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 1, + .bit_width =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_LVDS_CH1_GATE] =3D { + .name =3D "lvds_ch1_gate", + .parent_names =3D (const char *[]){ "ldb_phy_div", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 2, + .bit_width =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_PIX_DI0_GATE] =3D { + .name =3D "lvds_di0_gate", + .parent_names =3D (const char *[]){ "ldb_pll_div7", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 3, + .bit_width =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, + [IMX95_CLK_DISPMIX_PIX_DI1_GATE] =3D { + .name =3D "lvds_di1_gate", + .parent_names =3D (const char *[]){ "ldb_pll_div7", }, + .num_parents =3D 1, + .reg =3D 0, + .bit_idx =3D 4, + .bit_width =3D 1, + .type =3D CLK_GATE, + .flags =3D CLK_SET_RATE_PARENT, + .flags2 =3D CLK_GATE_SET_TO_DISABLE, + }, +}; + +static const struct imx95_blk_ctl_dev_data lvds_csr_dev_data =3D { + .num_clks =3D IMX95_CLK_DISPMIX_LVDS_CSR_END, + .clk_dev_data =3D lvds_clk_dev_data, + .clk_reg_offset =3D 0, +}; + +static const struct imx95_blk_ctl_clk_dev_data dispmix_csr_clk_dev_data[] = =3D { + [IMX95_CLK_DISPMIX_ENG0_SEL] =3D { + .name =3D "disp_engine0_sel", + .parent_names =3D (const char *[]){"videopll1", "dsi_pll", "ldb_pll_div7= ", }, + .num_parents =3D 4, + .reg =3D 0, + .bit_idx =3D 0, + .bit_width =3D 2, + .type =3D CLK_MUX, + .flags =3D CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, + }, + [IMX95_CLK_DISPMIX_ENG1_SEL] =3D { + .name =3D "disp_engine1_sel", + .parent_names =3D (const char *[]){"videopll1", "dsi_pll", "ldb_pll_div7= ", }, + .num_parents =3D 4, + .reg =3D 0, + .bit_idx =3D 2, + .bit_width =3D 2, + .type =3D CLK_MUX, + .flags =3D CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, + } +}; + +static const struct imx95_blk_ctl_dev_data dispmix_csr_dev_data =3D { + .num_clks =3D IMX95_CLK_DISPMIX_END, + .clk_dev_data =3D dispmix_csr_clk_dev_data, + .clk_reg_offset =3D 0, +}; + +static int imx95_bc_probe(struct platform_device *pdev) +{ + struct device *dev =3D &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 =3D devm_kzalloc(dev, sizeof(*bc), GFP_KERNEL); + if (!bc) + return -ENOMEM; + bc->dev =3D dev; + dev_set_drvdata(&pdev->dev, bc); + + spin_lock_init(&bc->lock); + + base =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return PTR_ERR(base); + + bc->base =3D base; + bc->clk_apb =3D 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 =3D clk_prepare_enable(bc->clk_apb); + if (ret) { + dev_err(dev, "failed to enable apb clock: %d\n", ret); + return ret; + } + + bc_data =3D of_device_get_match_data(dev); + if (!bc_data) + return devm_of_platform_populate(dev); + + clk_hw_data =3D 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 =3D bc_data->num_clks; + hws =3D clk_hw_data->hws; + + for (i =3D 0; i < bc_data->num_clks; i++) { + const struct imx95_blk_ctl_clk_dev_data *data =3D &bc_data->clk_dev_data= [i]; + void __iomem *reg =3D base + data->reg; + + if (data->type =3D=3D CLK_MUX) { + hws[i] =3D 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 =3D=3D CLK_DIVIDER) { + hws[i] =3D 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] =3D 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 =3D PTR_ERR(hws[i]); + dev_err(dev, "failed to register: %s:%d\n", data->name, ret); + goto cleanup; + } + } + + ret =3D of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get, clk_h= w_data); + if (ret) + goto cleanup; + + ret =3D 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 =3D 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 =3D 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 =3D 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 =3D dev_get_drvdata(dev); + const struct imx95_blk_ctl_dev_data *bc_data; + int ret; + + bc_data =3D of_device_get_match_data(dev); + if (!bc_data) + return 0; + + if (bc_data->rpm_enabled) { + ret =3D pm_runtime_get_sync(bc->dev); + if (ret < 0) { + pm_runtime_put_noidle(bc->dev); + return ret; + } + } + + bc->clk_reg_restore =3D readl(bc->base + bc_data->clk_reg_offset); + + return 0; +} + +static int imx95_bc_resume(struct device *dev) +{ + struct imx95_blk_ctl *bc =3D dev_get_drvdata(dev); + const struct imx95_blk_ctl_dev_data *bc_data; + + bc_data =3D 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 =3D { + SET_RUNTIME_PM_OPS(imx95_bc_runtime_suspend, imx95_bc_runtime_resume, NUL= L) + SET_SYSTEM_SLEEP_PM_OPS(imx95_bc_suspend, imx95_bc_resume) +}; + +static const struct of_device_id imx95_bc_of_match[] =3D { + { .compatible =3D "nxp,imx95-camera-csr", .data =3D &camblk_dev_data }, + { .compatible =3D "nxp,imx95-display-master-csr", }, + { .compatible =3D "nxp,imx95-lvds-csr", .data =3D &lvds_csr_dev_data }, + { .compatible =3D "nxp,imx95-display-csr", .data =3D &dispmix_csr_dev_dat= a }, + { .compatible =3D "nxp,imx95-vpu-csr", .data =3D &vpublk_dev_data }, + { /* Sentinel */ }, +}; +MODULE_DEVICE_TABLE(of, imx95_bc_of_match); + +static struct platform_driver imx95_bc_driver =3D { + .probe =3D imx95_bc_probe, + .driver =3D { + .name =3D "imx95-blk-ctl", + .of_match_table =3D of_match_ptr(imx95_bc_of_match), + .pm =3D &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"); --=20 2.37.1