From patchwork Fri Jan 31 21:33:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955870 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012060.outbound.protection.outlook.com [52.101.66.60]) (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 0A22B1F3D5A; Fri, 31 Jan 2025 21:34:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359251; cv=fail; b=GrCL4grgp6KEGpMVATjFN6JsRlOMepVxbcR1YjQbmQYms0liZ1patCQunUcW2TH2hCQjXNwaYA1SELyyHk7fdLWF4WO9TCfyuZ0u5ayahQxKbLPQ6p5mEyQYNLdnb88ZNHQTsRSBh56EGpi5VkdPkrEbwcik+HaigBzgGGdiARk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359251; c=relaxed/simple; bh=O/DfegO3FnDVkNBleOb11TI7X1PFuSWNAoj8ZBVwC9I=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=BM8JbKeJvBzlvkMpndAt2uujj5bwFgItZhUfzMq9kayE4HFylXzgY+zNHrUQI16xly6uaIyM0u2q/WCoXv9JXDP/MC3v8FTiQPUQ2nCnCwb5KySeG4ugNLLN+e8RVF5aUpr7eajqOrc+sAp2bTpBqW9UzQPk0wa2LD6ZhdnZ83k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=TmtUR1b0; arc=fail smtp.client-ip=52.101.66.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="TmtUR1b0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SiYm68sHIIb6Ntk1DmdhxobKbAwS5phS0IsTXXYfLFyHiSkSLOxotlYekn3xfr9/EVl0wX73cNA6cKncuSLBz5A8muYOxRWUHDeAxBkhuJS32Pv+hLsV6zZn9Y+ZQ2AN62F3tHEICXHwVwW+VTznBIuVt5NoIxViRvw6+IV9NOx6VbEBPPGK8ur1hm8LmlsfpLrjO4QhNXPZGY8cK77NKqNORSyk3Fc+87rMJTZMFQvHQ6Z8EjMXCIkx00CRBebNN1sLCrjLqcMrlUecKW+fgsEDlIndE5X618sO84/3QUQYFXRx9Kn33PZSILdwuoad9S/JrD+ACxGTxw9jxpynwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Af2wgKE5GzwhoX2W2BCY5ASceMOOOhZXQpVpW0asK/w=; b=FnuDOU0a8XGsuhSuX+uppCDw2XEvtcPbaCENAH8h6/9OhO1Cp7zIe0IJgQV0OK9pBdCFml1ljWq1/ggIerhpWxN/D10+hovLrmnc+vU34Au3WwYL18RUe872t1the6awdIWZI73dS7U4Wc4iSCWJUm5pkru/p0swdw4c2O+vjbPo97yMsY9fKS4SW+u1iE5Fu9/I1O61Kj2oC1nKPnCk+d1pQJtZvgKeGa6i3mppkvDvdxzc5mSAfDk992CdPPLbUOx+TtOD3k1tzupGDcf1926ifL7ARwyUH9JAAu9YCY7SGgTR93EC6ENn1P5BgamDFUzaCo/g7rplmcp0lUII5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Af2wgKE5GzwhoX2W2BCY5ASceMOOOhZXQpVpW0asK/w=; b=TmtUR1b0eMb+DxDwUfEUNN0pFMEuce75IRET6myt7gU7rN+E5alzNR/Fr7FCHfWO46RYEYChTcALNalXMQdea2lbvgovPt9Y07O9LxjVwq+E/inj8Fzbq8naOMZpFAL18uTvFJB9k2euW1KiaHaTkgA1dvKvs9uyeDbpYCHMAvrsgjfXkL9ejogkWxONq7uE0ZMHW7gYXXbarBn2na1olqMlp8+hzHmbZ5G6MovNL/YdiMOsZjsWgglMfRX/iAIx5AwdcIdyYRGftvC4Rx2Xcjnk00YeT6RmzDuSdX92PCy1PUEISo2GL6ZUlW/KCetimIEkGv98JojNY8dVi10fmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:06 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:06 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:46 -0500 Subject: [PATCH 01/14] dt-bindings: phy: Add MIPI CSI PHY for i.MX8Q Message-Id: <20250131-8qxp_camera-v1-1-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=1598; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=O/DfegO3FnDVkNBleOb11TI7X1PFuSWNAoj8ZBVwC9I=; b=QJa++5IuxVbhDvFng7GlhNjhle96UIRj2ilSE7Q5uo7yMMwbUjjHhw+x//Y8iVt/PSYdd4UwR K7mC41xB5b+Bzk9vzsAEZZkZfLBSYNl/67e321rOM0lFu6ryJCBtrpF X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b64777d-9783-4771-e136-08dd423efd64 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?366J2TQvMf3sHzBGVCIrc1P2e5xvg30?= =?utf-8?q?ryoBuvuV4QI2LIRzA/qEDz0w7ckMgq34b3Yvx5oAbCvyzDUDU/nic8NH0y2dAaZ7d?= =?utf-8?q?vvNK4Vmw+y8SadYAZZleYJfHGKVUGZTeVnl2BqGK13wST/A7QK3AZW5qjcxzwVT+v?= =?utf-8?q?UG9FNDVvZmHPzRoUzeCeRKkAnGk2TXM3+x9RfCQCpcdw3AEYC9DbxcP0dI3ZFC4Pi?= =?utf-8?q?/t1JcJ1WCMetsdxfV5WiTUyKunSZzqiPMAZv2BKKaTRjXV8ARCVgqbY8HWY2aK9TE?= =?utf-8?q?Qt9Fdi7Sxi6PzX4VCindYsOIZQyBd8tjrEWo+qyGuYvk5fzhnj4MJK69vR7494B99?= =?utf-8?q?MyTN/BzcRAvqAyECE2hwiGy2rI5l2sIevaVE3lK/xTS5yCJu61m/To3TrF/jQDb9u?= =?utf-8?q?AEmYwGf0V6g3AZBtdCn9z5vDq6IKgRM0YJbRYoO5wCjqImhaJ1ikKiMfsFzlnPixZ?= =?utf-8?q?Z2OvqhQz8kQmu+KphjGTpOMrFX4aG30dKSyHIwxaIjOkzKYFCofWtO5mSvIXpwqOd?= =?utf-8?q?D0mVCucEf+L/US9RtRzEkB9oTmEgd07w2/jpV9IrUiHESVOB+Xk9zZMN6VdVB1W3J?= =?utf-8?q?Wg7hRlE1LZRocI6yoCtab/1xasQZFjCT/Ld2rkksSxLd5qbg5nnSb92CWcVMBi9oU?= =?utf-8?q?xf0OX/rBIs3AcNyBNp+wh4TLQe0p7j7icooKRWCEkmmSYPYrBSDgjduE64B0H+knD?= =?utf-8?q?4n0qxujkIF5kUrvjz4qr3tryswsnvCt+DC8SLebYVlGKb8ysLh2YTtpOLNzHaDhg9?= =?utf-8?q?9MGmjn9EnB/uR101wH7j0KON1hdochHQlXhrAeAWNrNouaSP1aamXzglHScHV2aGw?= =?utf-8?q?IYW4bdurGJiRC9SVwPYhmDxeVPPIKCA7pFkTar/99O9MfOpn4Yr93255wiEs25nq3?= =?utf-8?q?I/duWTi4STSqw/qpUzV0JROOMNOYYjV/JvBDYzjlXtuBhRjBKlCEWRDTuLVkyCmpa?= =?utf-8?q?ZTBV7YylngJQCOJjeC/X6U+CCXv5T0qRaG+T3Am98tFGLF7YrVQ/kiWXNjKLEnfR6?= =?utf-8?q?hbR4K2CjU3OqqCbcJ4k04D7KnYt+z9pFVBE44EC7HTeokCGDVCEQGrI1DfSVRSh9L?= =?utf-8?q?Uo80DAYoXKZSWmPW04zXUmP4Jmj2o3wADINctVsEKqP989IsRRFGu60qekZ+NhKqI?= =?utf-8?q?IbvhgpOXGdKIEJATp+O7NjLHh2bGSux/LhNd7bWQq/WKgZcX1JqKpl/hBPcDLF5jb?= =?utf-8?q?eErRyUCAqL2VDBbA3GNCWE6AbgH9k+sp1L5LoxM7YBJPyrJG4aqyowZJwZdX2mBHS?= =?utf-8?q?sNK1XOgrbAarR119hhvkGb0jSA812KDnnoovQ+/ym7YWAorfA0fLv7li/W0BIWep7?= =?utf-8?q?HedvgQdWCWI7KzAhvudp6GpsLdkbmsm4pw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?BGjkSMU4dqzZztzTEAobycFimIpm?= =?utf-8?q?V70cBox+RFDSebOENubWO7oQAq1i/bIHrlR3r+CQwik17uU4NfrLchluqxr0r6ayp?= =?utf-8?q?yBtrtVh6av3HR8ndNWXvhM33358tmVFwOvcaovY3BlzYDlLCb+FFzum6q+LnKmBRm?= =?utf-8?q?amNfZyRyloRh0ANwk8rIPh/Er9dJOjLGaG/QdiaMeQzwlkXscx1ckNqDYorUGjS0f?= =?utf-8?q?lPiM41JjLZcKQHz163s1jAVl6azcknwYA/IY6H4L837yn/1uOljdJ6Fb1eQ9bgH0b?= =?utf-8?q?nkZvPdvwR3/JALGXdZ277gUzs1pr8ZKOjJykMsEJF6yA9q06/XkUahJB2BBK/CKVr?= =?utf-8?q?50pX3eXsTqz2yJyzAYOPOWslYptRQAvk6nw9PbCzdGFCB4mgxaXpkTJjiIf+YSBF2?= =?utf-8?q?qZlJbbf9QF04GtJkDIXd2I5i2XCuDx6QfNwkTOUgZ3ThkpepdIKbuVaTB7gUyeED4?= =?utf-8?q?vwDFCRg7e7lZSBX7EmXjSTMNhdzAw7bf4bFHIM2mq4deRyALPlzu8lPGdrb7nPt6z?= =?utf-8?q?ojtM03t86kWzPNE93+Y/CbRNrnT8RbZL/XdZL0+BGcd0QI4q07rkhNQ2O5NK70Lwe?= =?utf-8?q?jhMDy3QmqCh0Z3ntXj65HqTFGltj8qssCml+eI27Wfji/3ve+6wqHx6wXrE7ZB6bl?= =?utf-8?q?GVqN4YM2Uf5P6L2UU4mqKCxzgklal6gz1yMrPhAphWVYp4J8fOAHhwSf4ZLxLGmhz?= =?utf-8?q?raoo6tsYIOdLZp/sPPrL9X49qsmzg7lgfJ7iWtmZn2dvcgiechn3ZhDu7oVk3lrqH?= =?utf-8?q?u8C5SLq8hvywQmax4+ImGGhfK1PhxEZKZQVbrq8G45VccBlO8WEqXzZiD2iT+BWoX?= =?utf-8?q?Z9B2yCBYDbDLRf0Y3eF73KFz5+W/IXhgTpLsnazW5dXXXHwGT5pFTGK9regFMAlJW?= =?utf-8?q?SglVws+e849WZ785HGDblga2d6kxS9UOZnmkELd9mBih5g29c8C8eDvOY99OA8ynD?= =?utf-8?q?M10tUmMR8pQa1nZLQc/YW38OtIazYT2i4R4pypbgM8zWOcxgJKwmFDo3VK7CxHPYv?= =?utf-8?q?m9pE0ysUqIeO/v0Labf2fKj9oetHlyrigpAezo/TXU8MV5Hg1QmKd4OE/pP2fde3m?= =?utf-8?q?i3mzy2G9bhQa/VrH9CJjmjaVjQxNNJKltmw77v7MFFC4n1mkqglZpSob6SGgcnYxX?= =?utf-8?q?PHVEf5IwjSATmFeuT70Pn5Nwml43VfbN6VJESIV5Txx71ZZNh0A41VvcknWcUghLY?= =?utf-8?q?6/kyTnFS53lu1qMnp6STgIOd7qMXM4YoBAfP36x7eoKraWEjexQ034iE477fMq35J?= =?utf-8?q?HN5iqgEb4gaTIUjtEks/g5VQ7kxgEwoWZXca/HBdwwUif7vB5pSJsqmg2UH4ZshEH?= =?utf-8?q?xDYRpGfi1RJ45voihHllBF2l/keYbMVKjFm6DmCeDJA0B+ncd5F/1EQQ4eDANTCIf?= =?utf-8?q?u5EOjVLxPhtbbPSbah5XU1g/q80qMo28IZczpTdc/FfnrkkpDKXuPEGYygXjhZ9TL?= =?utf-8?q?0SRASMsSwaSWaqQUeQncrrM4mghY6cpRuwVxQPU+WdRBpR08b1tvyYjM=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b64777d-9783-4771-e136-08dd423efd64 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:06.4576 (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: g0JVYJhJL7eTlxwHZum9tqxOAAUQfNBhy7viDivfj+NmY49GSl5bSl4jJld9cVPu3DBQmX2DBvEVag8vYyUhhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add MIPI CSI phy binding doc for i.MX8QXP, i.MX8QM and i.MX8ULP. Signed-off-by: Frank Li --- .../bindings/phy/fsl,imx8qxp-mipi-cphy.yaml | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/fsl,imx8qxp-mipi-cphy.yaml b/Documentation/devicetree/bindings/phy/fsl,imx8qxp-mipi-cphy.yaml new file mode 100644 index 0000000000000..c6cbedd9ed114 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/fsl,imx8qxp-mipi-cphy.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/fsl,imx8qxp-mipi-cphy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8 SoC MIPI CSI PHY + +maintainers: + - Frank Li + +properties: + "#phy-cells": + const: 0 + + compatible: + enum: + - fsl,imx8qxp-mipi-cphy + - fsl,imx8ulp-mipi-cphy + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + +required: + - "#phy-cells" + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - fsl,imx8qxp-mipi-cphy + then: + required: + - reg + - power-domains + +additionalProperties: false + +examples: + - | + phy@58221000 { + compatible = "fsl,imx8qxp-mipi-cphy"; + reg = <0x58221000 0x10000>; + #phy-cells = <0>; + power-domains = <&pd 0>; + }; + From patchwork Fri Jan 31 21:33:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955871 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013069.outbound.protection.outlook.com [40.107.162.69]) (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 4CB061F3FD1; Fri, 31 Jan 2025 21:34:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359258; cv=fail; b=f6EX4/pMjfEIR5AU1vp6QtsRczXvl0ZM4CIio3CctaCzFPuTpJYc6v6BTa+kyz9fH/lDQA2FLGdDUDqMRmxqBHVNIqLvQBELv9cgtoJ2vRWfwDb7rhGWD/geHAcBVrn8vpUvvjUwZx8j+W0VUehl7nLMd740fW8VKQgkB4Uks10= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359258; c=relaxed/simple; bh=+BgABT5JD6se100o47vkNG0fbS5GR0FL8Pokmor2dOA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Rl7hBJVTF/9Tq/Tbbrn4lcpyTner9ZzxnRJhTYhHKjAzPHOmzwqTmkzUdXyE44dwYku0l47qPu1nnlY7W192egwE4tzsCaif29z5BpEzqaTUdgt2bxlM/bpPECiDEtkFTfM5GpHK18Dfh9VWA4NiItQJd/Yub9NvL/Tl18cgIEY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=KDzwKRYW; arc=fail smtp.client-ip=40.107.162.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="KDzwKRYW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V53kcnMbPDHsA+NO/1o7aXf/UE8G5xLMCZYijstXz/Dp840ZPnmS39FxA+dZraidCFobUAIff9aIo3h0Irpj9znfd7bLhzI4QvALVQRT9csR/qucNFcj2RSuiHlHJgJEZU46NDd58bGMdsu85GOT1MYwW+KtWxP1nharEewanVykrKzx6PsKpdZLt+bkPBueKvhuM2fLnMkEG/u6sPxbZPJnjs6Ma9+aC4NclpffjBLxKuEZiJJp6dtuuNz/Jb5fMaHG35P1w6cVhbcEa1enoIdl5d/KcVKgcm92Nqlv3o5uNBODevgyq60MZKJWFIbDYxeLk1xMMU2iBDtV63FsPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SYGMufDbyyPYD5KZ53Pip7wlOJ+1f4P12+/SG/z8hhs=; b=sn5/XhmTJvA4dnXW0yYkPgPCjICB9qnaqdB4KW1DrXwqp2PFj3V2NdzPWJ4+cLUzdh+8P+yyJDU52U2v6nXC7y2hhWUamHGPYWG77GCCb28f2LCHq5yORIJX6Hk8p31Hx3t7uRHv6J5V8csilUNcgg1b7FHz+LZB74BnU8v+wWzum7EBRkdvJzD5/Cmgqf9uo5Ont2oL51NYbsa4noxiGs/4k1mwQYBdfwtBdhhYYIKtCUGx3u+zLlqlASxQ0cC05j1o5wmzwPEFUydcliwCmive5kqI0wjPyTtDBWNNfPxVcdHPHETN4Kwvgk8OOAE40Edkclr68I77qpOais2OHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SYGMufDbyyPYD5KZ53Pip7wlOJ+1f4P12+/SG/z8hhs=; b=KDzwKRYW1fGGb/nkHpEHmDr61cPlvVLQspuz/C0CZvFp8QW4v/snn0/AvoeAMnOF/VSWIc4naPiDWQ7aJVctRdpT1PkI+RmcHTFP62DwfnUbZTYyWHj989GJISac3lyCPY3QAwW6gL2MPdtAYuVVaAqs57pHlZy06Mg4eqnHc3zi+PmBtjhJfcRxIm2dwkihXprBrBevrADBZOiwsI6Ek2k15lxdwa9k/2MWNx3Do9pV7AtJz++KCzu84AoCcZ/4S58NakpzlEF/iDJeWw1TvGmkf/eF+Ja82Id0cRoyinXvmq6H2wFH6jY3Kx8kAl9BYcT1brqOm8HNj2FbyFl0GQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:13 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:12 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:47 -0500 Subject: [PATCH 02/14] phy: freescale: Add MIPI CSI PHY driver for i.MX8Q Message-Id: <20250131-8qxp_camera-v1-2-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=10265; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=+BgABT5JD6se100o47vkNG0fbS5GR0FL8Pokmor2dOA=; b=Am1gLfOJ7I57mr7o3CjV2+LttO+h0zYGVcZn9d+GP5VXGMQEDmC0Bs8oOVM0GlidmSh4y8wuv n+5sdIrT/dJD9RRcqJW1DN5MUoSWYddlvwK+vuKn56pVYFeKbByNd40 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d349738-8a30-4028-1838-08dd423f00cc X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?VUtbqU0f7ibWqpRGEetfktzmHrfOE4j?= =?utf-8?q?cBmhXkC78rLt6AEVF4cUUCY3zr2V5oyWW5u2PFBZRYOwr1eBmWwkwQWFiNS/2joOS?= =?utf-8?q?aT05bdTrB+t5FNKVd99K+CAUkeKuZ4NuAYTQr8hc+v4u2An8Uq1YgDvFlGwDErDRI?= =?utf-8?q?37yhzQdBFSFo0oB6yNLL2bV+ZwJoU7tQYFJSjxHywsUIN8PKnfTOJJoOqby97iFTZ?= =?utf-8?q?2+OS2vTbaBy8BhchMWWIY5X2x31/VdtF/yoNU+L8Ngqd10EL1fMlQLOsyJOua062Y?= =?utf-8?q?jkXMmWhy3XlLIlwnjOBUl3eTllyllEEyWtKucpwhDGYX8XB9eu1+j5uVPGkWnrrNy?= =?utf-8?q?LdqsP94opoisxbLw0gYyUDzjtqjImOMvwV6lZ3wMU2qD2rMd93lIr6IiqAACgZiZu?= =?utf-8?q?l1uTljDXVTJx8UXXZ/PXIozo1YEulTteNfGoc4ccUR4epsCTAeZSwGn+m9Amg6ejf?= =?utf-8?q?NmWDaCsBK+j4USTWHLa4GW09ZxBo9uAAXcLG1i6a2ZSmYnpcVHcPo6wNSdJeqTVtF?= =?utf-8?q?1eQKxi70r2adXZzNX9PUAWjYq5RK3TZOZVoyJ+rjbIx/rTlPH+KDwBxki9tGRaipS?= =?utf-8?q?Y2GG6vfC31Eo2jLPC5nm2ONIZFC2j8EXh0u3KDYuLZJEEZMVMNU/JTwoy8yIVZzcK?= =?utf-8?q?IhhlGpRnlVwqcvXwquP6O+c38muu1HG23IbeX8JZLgZI+XtliuC2wGw6zY2QeRJ5e?= =?utf-8?q?jnLmlHT68fDgw/vJnvJBMi5Qq3oxeYjWPYpncMdJTeBxNK8jf4T7yzhU/J30yVyWU?= =?utf-8?q?cInXibuKkONE7hZfWblnlDHiQptLyEiB8sRXcHtUcb9qNroebY9Z7MagiV57SSzL7?= =?utf-8?q?GfhBfGdfUBWiKEtZEnlUJPzi4mb3TX8uJZyc5wxpGQfC2n4q5JpD9fZQzL3HGKFlF?= =?utf-8?q?Mv2d278j11td4pHGJ3tKim5LzW0iHB7+IyDohXAADXCe/UXFwze2y7Jxq/CWB8Hnv?= =?utf-8?q?k27sRvOB/7RtspaKnBTJeAWHaXZOA8RA3LwXNkxe4Ocs7w5g6B0khYPTfBK6LIU1R?= =?utf-8?q?AyZZVuX1wi7skPsWvDeGVMJZbs3gX3HQDSfLjsPh4lBw/+miCPYlAD2f965KBQV+0?= =?utf-8?q?EyF9CbirfVYloI02C5NXZhFEQ6oddiCJpG1rQ1w3OakbbDHDsdemMGuwWuPfPsakq?= =?utf-8?q?CESXum/OTgM3X1Xh6YuwqiSdNlvL9+/N9/MrDfD5ckNtXVvg3FBBKdmDG3/d5RNvf?= =?utf-8?q?G2p9eX3gw2+XlSoTw5s1GW0RnLNIQ7NxfY446oSEBnmBGRbWHyQcbpRcnLqsyX3R+?= =?utf-8?q?L75HSVSMhH4lL7+uo40Cx1XmC+zCNljwL+JsM0Oj+y3ecfPYalPwXg0GOB1oeWmFZ?= =?utf-8?q?8nf1HFIX32RIe+aj74/RFS/EAv1FynYtPQf7BKKslvSn2r5Alh2BCdLe7J3mk1wzU?= =?utf-8?q?bH0SoAu5uad4MqnjsSV95Z8PcZRVSwcHg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?orT0Z9oZCkSVjszlLPWXxlwgVf7S?= =?utf-8?q?Nm5ryLJb0kdDNJrXx96Hrq2vUgSUS0cgWu5uUHY7+7eoLDbx/0mOTFet7pBytDLlh?= =?utf-8?q?PezBRtlchcXjJUW/Vl76/RfhMdAADMMSbSRv2QNMh6vhHJHEPfJbvRhHfnAtZ7sjO?= =?utf-8?q?HYIxn9gAVAVvhfRrua3lzZYd8+uCA/7LeNzLMa5yaS8C9L1e8SoovEb3ViEdZn2Dn?= =?utf-8?q?8pzM3u9TYhoMLq4spZrPx6+9a5o6T6sF9imLGIwkAdr18ojD9PERgrGyJIaHEyfjT?= =?utf-8?q?MpJgse1lj5vjtgcOwPo4DVW6odIeXT6vrzvoNZgz/mGQiroT4BUqRZ7UBRDH19MWo?= =?utf-8?q?Gc1ed8FpllX/rsRzWE/L6P7fTNm4O27fU9bArYgeS/KUEEe6SrU+iZpgAaNWVuDES?= =?utf-8?q?nZaTKQJoOQarnbhKjC4DhFo3ul1iBmm69JxOwDSMGiZQmi/9SvqE03PcvdYt7EcZ7?= =?utf-8?q?lajpjDqP6hkLA6GyTOBHdpUghfnFWFBlcR+5xunlff/IRiJRQRHVCUU/9K5YNB2w0?= =?utf-8?q?bH8Qz2UzRVq6EjdpD6DtCmLTuPts2D8/Q/9Prn0v5iPl5ysUZ8ttvJ+2xY1ch0COs?= =?utf-8?q?c192c3Y6RUUE7Rf7r+uTj1/CcdBhRXYHe0uaTCCtZEr5XBrFjSByMeHfJB1/bTdbq?= =?utf-8?q?mVkbFF10xgQhdveOI1Upwu5fPvnhMS4Wso06AJWH9bFa0mHLZJF5kdYZd9GwuNs10?= =?utf-8?q?tJRKJ/HP381tG3QEvnAYRk39ImyUzKm0CPW1ZG0UcEBH8z2PItY1wLtcZ0qo30eBf?= =?utf-8?q?2lNXqerczKGzkvpncswa+uFqh7ZfNUvy4ndtO+F3afjT3dN6WFeVe8Jngxmfkg+xY?= =?utf-8?q?rqNnhKiVIu/KcN8M9GaiDvA4/k3YIEnaFu0TQyo82663iep/kSIYv+gh5VCCgGYLc?= =?utf-8?q?NzrTny1CZd7cV2aNA4G+SzY1sUZ+Ttqy1Bi9UNAYu2rV2x3JXCVSinpqZW/7YKnon?= =?utf-8?q?uuwtihrAhOzJmcXa2L7YW15ziAt3fnokYQk9q+FIRYWYaqktjiV7KpP+hljHKYFpU?= =?utf-8?q?zpg9/JfOxAu9hNiWGn1CWl6lvFw8M7h+KGWuz8gGkLB6nJaiWa437SameiLmF3/o2?= =?utf-8?q?E+ty43P4yWJq7hY+hRoaLun4n+7Dt+DV6f3DqDmI48eZkWQJRxpUP0IlxpXYO4i8i?= =?utf-8?q?PHVLcaC3QzPCJ0dsKny3crMKpIwVivDEM2CkmCdffwaTQw7XWhXbdnsFxz1S6CYdJ?= =?utf-8?q?zOXx+EOiILM+nCUbZqQh/42RXhla1x7Fp/6COHYAwOc2/tPxR/sZpQcMgm+0NeddG?= =?utf-8?q?sG9tL1BmIkN6IVMPaAl+h0OENBS+Bt85ay+fHVNsE0ulLAuwp5XYa0EOZ5PhJqjQh?= =?utf-8?q?qbhfDMrtxEwWyfi0B7Oei3T/9A5enth3JWinrGN8z5dlpZAvcTgGwcDPDGOUU8NTS?= =?utf-8?q?G0Cxodt/Vz9Nbyu+/SyDBaQBvbW2eMcHtY3OyaA34s14LqoVz5MktnrzsuhDsA0LA?= =?utf-8?q?JCUnHkU+LRlpWh1j7o+Qw3Sd5q5fN2Y8hLlSF9iGUFcfEyXVuOFwB9ik=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d349738-8a30-4028-1838-08dd423f00cc X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:12.1582 (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: /ZohEb+UL3zJ7QYhyYvgGa9cAkwptU52U/b5DVZmIVh7MGVv0owgSrW7dYqaUrTCUj12k53QBY3fuAm8PKlRXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add MIPI CSI PHY driver for i.MX8QM, i.MX8QXP and i.MX8ULP. Signed-off-by: Frank Li --- drivers/phy/freescale/Kconfig | 9 + drivers/phy/freescale/Makefile | 1 + drivers/phy/freescale/phy-fsl-imx8q-mipi-cphy.c | 254 ++++++++++++++++++++++++ 3 files changed, 264 insertions(+) diff --git a/drivers/phy/freescale/Kconfig b/drivers/phy/freescale/Kconfig index dcd9acff6d01a..f412fa405b9b6 100644 --- a/drivers/phy/freescale/Kconfig +++ b/drivers/phy/freescale/Kconfig @@ -35,6 +35,15 @@ config PHY_FSL_IMX8M_PCIE Enable this to add support for the PCIE PHY as found on i.MX8M family of SOCs. +config PHY_FSL_IMX8Q_MIPI_CPHY + tristate "Freescale MIPI CSI PHY support" + depends on OF && HAS_IOMEM + select GENERIC_PHY + select REGMAP_MMIO + help + Enable this to add support for the MIPI CSI PHY as found + on NXP's i.MX8 family of SOCs. + config PHY_FSL_IMX8QM_HSIO tristate "Freescale i.MX8QM HSIO PHY" depends on OF && HAS_IOMEM diff --git a/drivers/phy/freescale/Makefile b/drivers/phy/freescale/Makefile index 658eac7d0a622..8ff72dfdcf654 100644 --- a/drivers/phy/freescale/Makefile +++ b/drivers/phy/freescale/Makefile @@ -3,6 +3,7 @@ obj-$(CONFIG_PHY_FSL_IMX8MQ_USB) += phy-fsl-imx8mq-usb.o obj-$(CONFIG_PHY_MIXEL_LVDS_PHY) += phy-fsl-imx8qm-lvds-phy.o obj-$(CONFIG_PHY_MIXEL_MIPI_DPHY) += phy-fsl-imx8-mipi-dphy.o obj-$(CONFIG_PHY_FSL_IMX8M_PCIE) += phy-fsl-imx8m-pcie.o +obj-$(CONFIG_PHY_FSL_IMX8Q_MIPI_CPHY) += phy-fsl-imx8q-mipi-cphy.o obj-$(CONFIG_PHY_FSL_IMX8QM_HSIO) += phy-fsl-imx8qm-hsio.o obj-$(CONFIG_PHY_FSL_LYNX_28G) += phy-fsl-lynx-28g.o obj-$(CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY) += phy-fsl-samsung-hdmi.o diff --git a/drivers/phy/freescale/phy-fsl-imx8q-mipi-cphy.c b/drivers/phy/freescale/phy-fsl-imx8q-mipi-cphy.c new file mode 100644 index 0000000000000..eff3c9554b95e --- /dev/null +++ b/drivers/phy/freescale/phy-fsl-imx8q-mipi-cphy.c @@ -0,0 +1,254 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2025 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct imx8_mipi_drvdata { + int offset; + bool bsyscon : 1; +}; + +struct imx8_mipi_phy { + struct phy *phy; + struct device *dev; + struct regmap *phy_gpr; + int phy_gpr_reg; + int speed; + const struct imx8_mipi_drvdata *drvdata; +}; + +#define CSI2SS_PL_CLK_INTERVAL_US 10000 +#define CSI2SS_PL_CLK_TIMEOUT_US 100000 + +#define CSI2SS_BASE_OFFSET 0x0 + +#define CSI2SS_PLM_CTRL (CSI2SS_BASE_OFFSET + 0x0) +#define CSI2SS_PLM_CTRL_PL_CLK_RUN BIT(31) +#define CSI2SS_PLM_CTRL_VSYNC_OVERRIDE BIT(9) +#define CSI2SS_PLM_CTRL_HSYNC_OVERRIDE BIT(10) +#define CSI2SS_PLM_CTRL_VALID_OVERRIDE BIT(11) +#define CSI2SS_PLM_CTRL_POLARITY_MASK BIT(12) +#define CSI2SS_PLM_CTRL_ENABLE_PL BIT(0) + +#define CSI2SS_PHY_CTRL (CSI2SS_BASE_OFFSET + 0x4) +#define CSI2SS_PHY_CTRL_PD BIT(22) +#define CSI2SS_PHY_CTRL_RTERM_SEL BIT(21) +#define CSI2SS_PLM_CTRL_POLARITY BIT(12) +#define CSI2SS_PHY_CTRL_RX_HS_SETTLE(x) FIELD_PREP(GENMASK(9, 4), (x)) +#define CSI2SS_PHY_CTRL_CONT_CLK_MODE BIT(3) +#define CSI2SS_PHY_CTRL_DDRCLK_EN BIT(2) +#define CSI2SS_PHY_CTRL_AUTO_PD_EN BIT(1) +#define CSI2SS_PHY_CTRL_RX_ENABLE BIT(0) + +#define CSI2SS_PHY_STATUS (CSI2SS_BASE_OFFSET + 0x8) +#define CSI2SS_PHY_TEST_STATUS (CSI2SS_BASE_OFFSET + 0x10) +#define CSI2SS_PHY_TEST_STATUS_D0 (CSI2SS_BASE_OFFSET + 0x14) +#define CSI2SS_PHY_TEST_STATUS_D1 (CSI2SS_BASE_OFFSET + 0x18) +#define CSI2SS_PHY_TEST_STATUS_D2 (CSI2SS_BASE_OFFSET + 0x1C) +#define CSI2SS_PHY_TEST_STATUS_D3 (CSI2SS_BASE_OFFSET + 0x20) + +#define CSI2SS_VC_INTERLACED (CSI2SS_BASE_OFFSET + 0x30) +#define CSI2SS_VC_INTERLACED_VC3 BIT(3) +#define CSI2SS_VC_INTERLACED_VC2 BIT(2) +#define CSI2SS_VC_INTERLACED_VC1 BIT(1) +#define CSI2SS_VC_INTERLACED_VC0 BIT(0) +#define CSI2SS_VC_INTERLACED_MASK GENMASK(3, 0) + +#define CSI2SS_DATA_TYPE (CSI2SS_BASE_OFFSET + 0x38) +#define CSI2SS_DATA_TYPE_LEGACY_YUV420_8BIT BIT(2) +#define CSI2SS_DATA_TYPE_YUV422_8BIT BIT(6) +#define CSI2SS_DATA_TYPE_YUV422_10BIT BIT(7) +#define CSI2SS_DATA_TYPE_RGB444 BIT(8) +#define CSI2SS_DATA_TYPE_RGB555 BIT(9) +#define CSI2SS_DATA_TYPE_RGB565 BIT(10) +#define CSI2SS_DATA_TYPE_RGB666 BIT(11) +#define CSI2SS_DATA_TYPE_RGB888 BIT(12) +#define CSI2SS_DATA_TYPE_RAW6 BIT(16) +#define CSI2SS_DATA_TYPE_RAW8 BIT(18) +#define CSI2SS_DATA_TYPE_RAW10 BIT(19) + +#define CSI2SS_YUV420_1ST_LINE_DATA_TYPE (CSI2SS_BASE_OFFSET + 0x40) +#define CSI2SS_YUV420_1ST_LINE_DATA_TYPE_ODD 0 +#define CSI2SS_YUV420_1ST_LINE_DATA_TYPE_EVEN 1 + +#define CSI2SS_CTRL_CLK_RESET (CSI2SS_BASE_OFFSET + 0x44) +#define CSI2SS_CTRL_CLK_RESET_EN BIT(0) + +#define CSI2SS_STREAM_FENCE_CTRL (CSI2SS_BASE_OFFSET + 0x48) +#define CSI2SS_STREAM_FENCE_VC3 BIT(3) +#define CSI2SS_STREAM_FENCE_VC2 BIT(2) +#define CSI2SS_STREAM_FENCE_VC1 BIT(1) +#define CSI2SS_STREAM_FENCE_VC0 BIT(0) +#define CSI2SS_STREAM_FENCE_CTRL_MASK GENMASK(3, 0) + +#define CSI2SS_STREAM_FENCE_STATUS (CSI2SS_BASE_OFFSET + 0x4C) + +static int imx8_mipi_phy_power_on(struct phy *phy) +{ + struct imx8_mipi_phy *imx8_phy = phy_get_drvdata(phy); + int ret; + u32 val; + + /* clear format */ + regmap_clear_bits(imx8_phy->phy_gpr, + imx8_phy->phy_gpr_reg + CSI2SS_DATA_TYPE, 0xffffff); + + /* clear polarity */ + regmap_clear_bits(imx8_phy->phy_gpr, + imx8_phy->phy_gpr_reg + CSI2SS_PLM_CTRL, + CSI2SS_PLM_CTRL_VSYNC_OVERRIDE | + CSI2SS_PLM_CTRL_HSYNC_OVERRIDE | + CSI2SS_PLM_CTRL_VALID_OVERRIDE | + CSI2SS_PLM_CTRL_POLARITY_MASK); + + val = CSI2SS_PHY_CTRL_RX_ENABLE | CSI2SS_PHY_CTRL_DDRCLK_EN | + CSI2SS_PHY_CTRL_CONT_CLK_MODE | + CSI2SS_PHY_CTRL_RX_HS_SETTLE(imx8_phy->speed) | + CSI2SS_PHY_CTRL_PD | CSI2SS_PHY_CTRL_RTERM_SEL | + CSI2SS_PHY_CTRL_AUTO_PD_EN; + + regmap_update_bits(imx8_phy->phy_gpr, + imx8_phy->phy_gpr_reg + CSI2SS_PHY_CTRL, 0xffffff, + val); + + ret = regmap_read_poll_timeout(imx8_phy->phy_gpr, + imx8_phy->phy_gpr_reg + CSI2SS_PLM_CTRL, + val, !(val & CSI2SS_PLM_CTRL_PL_CLK_RUN), + CSI2SS_PL_CLK_INTERVAL_US, + CSI2SS_PL_CLK_TIMEOUT_US); + + if (ret) { + dev_err(imx8_phy->dev, "Timeout waiting for Pixel-Link clock"); + return ret; + } + + /* Enable Pixel link Master*/ + regmap_set_bits(imx8_phy->phy_gpr, imx8_phy->phy_gpr_reg + CSI2SS_PLM_CTRL, + CSI2SS_PLM_CTRL_ENABLE_PL | CSI2SS_PLM_CTRL_VALID_OVERRIDE); + + /* PHY Enable */ + regmap_update_bits(imx8_phy->phy_gpr, imx8_phy->phy_gpr_reg + CSI2SS_PHY_CTRL, + CSI2SS_PHY_CTRL_PD | CSI2SS_PLM_CTRL_POLARITY, 0x0); + + /* Release Reset */ + regmap_set_bits(imx8_phy->phy_gpr, imx8_phy->phy_gpr_reg + CSI2SS_CTRL_CLK_RESET, + CSI2SS_CTRL_CLK_RESET_EN); + + return ret; +} + +static int imx8_mipi_phy_power_off(struct phy *phy) +{ + struct imx8_mipi_phy *imx8_phy = phy_get_drvdata(phy); + + /* Disable Pixel Link */ + regmap_write(imx8_phy->phy_gpr, imx8_phy->phy_gpr_reg + CSI2SS_PLM_CTRL, 0x0); + + /* Disable PHY */ + regmap_write(imx8_phy->phy_gpr, imx8_phy->phy_gpr_reg + CSI2SS_PHY_CTRL, 0x0); + + return 0; +}; + +static int imx8_mipi_phy_set_speed(struct phy *phy, int speed) +{ + struct imx8_mipi_phy *imx8_phy = phy_get_drvdata(phy); + + imx8_phy->speed = speed; + + return 0; +} + +static const struct phy_ops imx8_mipi_phy_ops = { + .power_on = imx8_mipi_phy_power_on, + .power_off = imx8_mipi_phy_power_off, + .set_speed = imx8_mipi_phy_set_speed, + .owner = THIS_MODULE, +}; + +const struct imx8_mipi_drvdata imx8qxp_mipi_drvdata = { +}; + +const struct imx8_mipi_drvdata imx8ulp_mipi_drvdata = { + .offset = 0, + .bsyscon = true, +}; + +static const struct of_device_id imx8_mipi_phy_of_match[] = { + { .compatible = "fsl,imx8qxp-mipi-cphy", &imx8qxp_mipi_drvdata }, + { .compatible = "fsl,imx8ulp-mipi-cphy", &imx8ulp_mipi_drvdata }, + {}, +}; +MODULE_DEVICE_TABLE(of, imx8_mipi_phy_of_match); + +static const struct regmap_config regmap_config = { + .reg_bits = 32, + .val_bits = 32, + .reg_stride = 4, +}; + +static int imx8_mipi_phy_probe(struct platform_device *pdev) +{ + struct phy_provider *phy_provider; + struct device *dev = &pdev->dev; + struct imx8_mipi_phy *imx8_phy; + void __iomem *base; + + imx8_phy = devm_kzalloc(dev, sizeof(*imx8_phy), GFP_KERNEL); + if (!imx8_phy) + return -ENOMEM; + + imx8_phy->dev = dev; + imx8_phy->drvdata = of_device_get_match_data(dev); + imx8_phy->phy_gpr_reg = imx8_phy->drvdata->offset; + + if (imx8_phy->drvdata->bsyscon) { + imx8_phy->phy_gpr = syscon_node_to_regmap(dev->of_node->parent); + return dev_err_probe(dev, PTR_ERR(imx8_phy->phy_gpr), + "failed to get regmap\n"); + } else { + base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return dev_err_probe(dev, IS_ERR(base), + "missed phy base register\n"); + + imx8_phy->phy_gpr = devm_regmap_init_mmio(dev, base, ®map_config); + if (IS_ERR(imx8_phy->phy_gpr)) + return dev_err_probe(dev, PTR_ERR(imx8_phy->phy_gpr), + "unable to find iomuxc registers\n"); + } + + imx8_phy->phy = devm_phy_create(dev, NULL, &imx8_mipi_phy_ops); + if (IS_ERR(imx8_phy->phy)) + return PTR_ERR(imx8_phy->phy); + + phy_set_drvdata(imx8_phy->phy, imx8_phy); + + phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); + + return PTR_ERR_OR_ZERO(phy_provider); +} + +static struct platform_driver imx8_mipi_phy_driver = { + .probe = imx8_mipi_phy_probe, + .driver = { + .name = "imx8-mipi-cphy", + .of_match_table = imx8_mipi_phy_of_match, + } +}; +module_platform_driver(imx8_mipi_phy_driver); + +MODULE_DESCRIPTION("FSL IMX8 MIPI CSI PHY driver"); +MODULE_LICENSE("GPL"); From patchwork Fri Jan 31 21:33:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955872 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012007.outbound.protection.outlook.com [52.101.66.7]) (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 CAD621F4730; Fri, 31 Jan 2025 21:34:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359262; cv=fail; b=KPlT54xTR4M+7CAb0BtcHAT+EspKQartebhpTxA1Yl0YXWihjdJ9OKCk2Ksfh31E0lPOJPRqu9birFM70jcfDgj9ZdXv9JHf7X9I33TlRx4Rc7f5mL3KKB5SX0sriCPeANWov6MU+9lVvl1sWbEc5quw3vf/DsehrUph+Mnpnis= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359262; c=relaxed/simple; bh=UvN8crUkbDBRRd8QGCoJg6J3AuuYE6nT2A4OmIbg0X0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=USPV7OWNFAIuB1pdOvH+b8EA5sKDX87RhoM5X/JRtC9K9Y975iTH8puLJt7c2TA1QUrWUAIEZ4oNdcMsNHEkX7jGhNJZmpH0zMlYx6OFTnctHsi3Vgz1/8C/LqRpv0aC6UJlitoYPi8ibZ2uSLEFcgOZwPIVvTmW/oZCfETgkP0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=IxYxl7Jd; arc=fail smtp.client-ip=52.101.66.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="IxYxl7Jd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qpy5a4Up9cLjtFD86Y2z8OBRY3yLOdFf8+21dwIfjcFP1g0j2jbTLFPrfi61PYj/tHmqI/G1Czmr+ShSXb5TtGlccJmoSQvvjh+Fm/c8YpPVrpk0xC3Bkxju1VHCYZLmaKoyO2WmpNjKV4XLSCXUelCVUcx6WpBiq3A9Df7a7CDTs8h+8Ksm1CXrMzRRDgUU818Dg/bEIipY69jEBpRAWN+JZ7SNhkUZjlSqna5Nq6HUYYl2+zyeUNRJrrh5hZoDQRj2B8iMTtcehfTFQmW8k4/mUuEIc5/5ENVIXHutYu5Xq4kzEGo4YWSam7ect+HiDUnucywIs4bLljTZpVTxBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=h3PWy3O3Nbf3Odcn2EuDbDP1pTd8eC18moleokeyf24=; b=TKw3gBM5u8gduREn+45WMDK0loflD0R951E9e0pQuoFoYRxxTL1w92C0nuWytEQYTtRuqFYjpYHR9dQ/91K7Jng3HQNceF9Z5qAgUK/dk/F/6tdElYjTrr9RCl96ELBKJyjaSBldGhSNz9gcvqxPvIS1ZbCteEbmbnS60WeaAUJ2zF8/CcHGus1ARSsMqCTgH89iC1F5x62JPHrqCjc9eJXucmCrleVf5/0I3PcPvBCltxjEen5rMbWsA+kfokfjZFAf7lQvu82/wHnMfr48q41AgLnlq9q41yvnH41L0os+uD4/Xg2fNFtK8lRgCzXM8THDUsfZqPuvZPtzScE62Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h3PWy3O3Nbf3Odcn2EuDbDP1pTd8eC18moleokeyf24=; b=IxYxl7Jd4cXBluKc6QUiHloDK7947GHfmOQPZLNTfKqsVnkbrdM2KmDKCDXffpZPJd4M8n0so1HXP9wFCFM7NZV/Ozd0ku6XzmLtZ2kBbw7RD0xG8f1ihlpke2wRbrw0Z2AmkgsGq9HeYiV6Wsu1kIvTTkdly5TSO/Qte0L/j3pxw7okvHX7QSDCqZtHRSX76/IZADLcD/wF4mgnYk+LeV9S1IR3Ae8jM5k1y06LliqmnSnRDb9j2PjpE1rxtZzWQkOZfsda3nDwluXVx7nyZtSiCsXPSZAUYBSwHVST12t+FssYkdrSg4MZZ8GRJcOxiIDnYrwzx3FPg3JFaaEjsQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:17 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:17 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:48 -0500 Subject: [PATCH 03/14] dt-bindings: reset: Add reset controller for i.MX8QM and i.MX8QXP Message-Id: <20250131-8qxp_camera-v1-3-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=1340; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=UvN8crUkbDBRRd8QGCoJg6J3AuuYE6nT2A4OmIbg0X0=; b=bOW+6oxNvYh6XdmgY/ON2sYqe0PwHV7emZ5CPOW5kOFIM8xiWJx0bERgONHMvXcANCkbLlS5B QRwgDjNOCYTDrsySiwQcqXikzAAqdb0o0/etJFVgGSXtnnOs6QIpEHk X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 0894dbc6-0823-4bcf-222d-08dd423f0432 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?R3mzaR7p7TL9WXjum+y/Frss4LRDJJn?= =?utf-8?q?mJtBkd5RFMXLEyLnXe7E1Yw00KeonUZgNvQeOO56uQ61Wc1RWw8aFKiyHcIqHVq5f?= =?utf-8?q?B4OURfR/NHoKBgWFRhT3ltEc8rADlE0VaSjSHBcP9Hxg450SX9tgGPLdDPCyldXo6?= =?utf-8?q?1AeN2yMMBufFbXU2nObSFT68ILrwBkasFHuuIZGQeAToj1gdfw/t+j/BHtfphyupz?= =?utf-8?q?OweQ49gm1/gVwwhOKzyokbIttXdHQnzB+AEV6nAUpIxGJf96BGa7dvQ/LRhlXvOQb?= =?utf-8?q?LuyNuOb+NsR7gT16bpviKLfoI/esdptA5QKztoV3Adi6+u6nVVf6+dY03vhd6FIQR?= =?utf-8?q?wnKpm6akHa+PoYxybvFxf/4L+pPK2R/eocxx+P4GQoxJ8+lx6lf1AIo2fxC9cDIE8?= =?utf-8?q?K0Zd8/G2I3dYvPqH7F9+NeT0YUieriNdJRWOEqKc2mOKuk0VW7ydPwc8FzHiakcQ3?= =?utf-8?q?0+3W7/j1fCJ+q2nFUoR04A6efJlKcukp3h7prczSgmVlrymF1qCGX8SdslxiAYKvH?= =?utf-8?q?6mhgpTcb7KgJdLFVuoVh/Lmb6/ekOoXphif9YfLfZGurfQmnMvl5hoHuAcVmVfbc+?= =?utf-8?q?RdSrV8CJrdtEkosQlcD0LCDfy3toWx4IGw/jSN0zHWXkawOAv1ptHJfptQNl7Qwzb?= =?utf-8?q?u+CayyY+qKwkoDQeqYnl79cySIUClsawkZr0T7u6oQ4xtcfzmXaxxZsXHJhgEecOV?= =?utf-8?q?SHzroG/wQModP5co/VdAJVxALRMTRTFSQw/9+tkXJtHi6LZFa86c3Pw5yfrkPDPJh?= =?utf-8?q?XLEU6dcyEMXsm7Tvrb592LINTFQKzdg7np2EMeILj9udsk/2ZZgRpBXqExllIzisH?= =?utf-8?q?spKae0136eOcjqcHwVTHm6THr/6s53cEvfLvt2j9SnSfCW1nm/4d7CBIRSw8MBGAB?= =?utf-8?q?W6ndZne/P0E3dgThap94lcrM4JSFgP8acUm14NtTTUKLsH6f/WWUixBamW/q2TuU5?= =?utf-8?q?QP7IeD4a0o0yKB1nVSu+iAV9b2ZkfduE3ReniD9VE4YlQGO/1YTqUnvRId1vFhobF?= =?utf-8?q?aoKeC+OFJNu38D+fMn13QtydpFtJngmbQempTVsc/oVMQ8ntPotdEXJIe48Ra372N?= =?utf-8?q?R55JDC4OR6Kne3MMPCW2xJHRMtbljTn4rME90fnH6gtKL5P2X4dmos0wHfJ8xW48z?= =?utf-8?q?5Xccg7sjusVYNlD0I64o1QdntVhn3W2SVuJCEl7bOv7fWvU+fR+j3r40O+oBYRg80?= =?utf-8?q?Rbm6yV3GlKRgDaRB8vAvs0ATHPQKpnNoCDgaqnk9KHcyWZ2F5DSSZ2/IkS97JUQjQ?= =?utf-8?q?qI8nJ9/cgeFQ92iFxowXcMW4gCkDb07841xm5K8CKSkoUpxfbRpB9Gb8dlrDyq94u?= =?utf-8?q?Whaf7EN8i6Ipy/Ny1+uy/rlxVckmZEYkNg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?aBTII6bfCbA67B1WgMOE4WqQTvIY?= =?utf-8?q?fIWPSNcUpW4wcHyJULzdlfyBVfEXWNx0t6UsJ6IpibRwH7eLXByTHkJtzuOE/UvgV?= =?utf-8?q?U/irXw9XFjqvXf/WNidKmcZd0h0v0T2ytJhOVzw9/8QzhV2AmoxThkoLko8o48fIt?= =?utf-8?q?o9z+eV+Dgg8PVvoTezEnOCvaeAw511yR8bhX0TiGeDZF4fOE7IesjlS/cCQYk1Ada?= =?utf-8?q?czwbKVOkxZgQG4GcAnHTHPvXhh1Jws2tGV3UHnNRp/qXwBztI4L8f+gtWkE7FUPMc?= =?utf-8?q?kmRHaSMZigHjBvmqaRh7SlXvIghWY8qxxw1JjtMpKgKjxfu8LvpN7T7aVeVMnuC2v?= =?utf-8?q?X/nokdDJLEAXxUMXFNWIbNx9jKeSsm0IArMBNe4FzdUZ2jEvVCrWce5UiCuW4T3aE?= =?utf-8?q?HnGqwFMQremk7O0XKm5ZQ2qG0RsmVGcU12F8C6kufxPFsTcXCN+8diAFzY3UsyR5l?= =?utf-8?q?drnssdGxP3ejWJm+MseHczSGwE1L/2bjmET2axDJaO2ED6t9xG9f1Bs+zakPTVua/?= =?utf-8?q?XqLPDDEBYBra6qXAfNYK/3Yjag2YppSynW/O4R/ydWrdeWe3AHk+OwhdBguWKUrnf?= =?utf-8?q?jMQVcT3MgtGxTSFnaH0zGzJNXAwaaZqqB6P3Y0O5bH+Q3qtB8ivflqDQghTiKEDQk?= =?utf-8?q?Ptz4xv5rullF92zL/Z7eW2DSsVr8pvsvcFBPnnOiuk6vqMePFjFl0hbjjlZWrH4Ss?= =?utf-8?q?I3vK25ryQVWe+N1wNZgt6ywdoBFvaC3CqJx/N51WfPYpy3WW2ojKvx6GwfeBBn9LN?= =?utf-8?q?wljv5mcNR2FO362Mxp5rmWhsY3qfg4C238/mWqc+CihS1+Dz+G69w41o1LG2SW2kH?= =?utf-8?q?O3lvxp3UEGpeV/HG8PoNQePYZWFdEn3TUryGMiTxQG8t/BqpBEDnI6sIKASgO+9wa?= =?utf-8?q?nNVJfAB57ftEn1EUKYRbrenYDk4MMKUUg56esPI9wRVskCUh6qUsR/pSkeLeNhPJj?= =?utf-8?q?Al9u3iZWa8V2PdcGxPxBg5TtEJVUIRipcwrjjx9KuchPr0dcIGbOQornpKIDqfaFm?= =?utf-8?q?6W9HYT28daMkPTpxSoect9Kr+haKI4o1dGmsE+WjoctwDgrIQXRmsA/2A5q2CgTuN?= =?utf-8?q?BDYxO0hqptvRMdMadbfwAsmuD6NVmi0UdxVgUjyTMUKIFu/CJMq2oMj+3VdQncOlA?= =?utf-8?q?7NMGmsOi3oroTP8VER1olM0ecE4F1cljZGQq7naF9iOpUBZDdcQKud4eNsOnQcmUB?= =?utf-8?q?zh/8C6j4j7V5AfUI6kVJEbu/L9FQ3b0f3uspz3sd9LaoljMRWAxKpTvaIYhTjX8Ne?= =?utf-8?q?9LiyjD1GpPJow+CU7GhpfwfBos47xnflS4AvBwUN3wT7u/4e0XDmyk9/YJWRfGONa?= =?utf-8?q?kKS4ZqLJd2gI/TYp9Swi+pfHzuY1eX79LGEPEe/8MSVYeAdLnzDYVBcwVvC7z0PEQ?= =?utf-8?q?ff4rkHILMNSR0VrJ8ZEEATkYBJzW1RaQ6xIl4tbYcHIm7nTlJTRFeSDd/3flCN6DY?= =?utf-8?q?aZGA/SSA/+cVrMiQpuXcl2smDqc5QIEy0McCoDgZwvl1j/7wPF/KlFyA=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0894dbc6-0823-4bcf-222d-08dd423f0432 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:17.8498 (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: cmOxZb013XNFFoQCYIKfP/4Q4kB30jVRKX+qP8dF0ZwGDSMTNrRww2D+vQCmj9HOAAJDufwzuTe6lKLtd9scNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add binding doc for reset controller of i.MX8QM and i.MX8QXP, which use System Controller Firmware(SCU) reset some peripherals, such as CSI. Signed-off-by: Frank Li --- .../devicetree/bindings/reset/fsl,imx-scu.yaml | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/reset/fsl,imx-scu.yaml b/Documentation/devicetree/bindings/reset/fsl,imx-scu.yaml new file mode 100644 index 0000000000000..6046df8723262 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/fsl,imx-scu.yaml @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/reset/fsl,imx-scu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8 SCU Reset + +maintainers: + - Frank Li + +description: + i.MX8QM and i.MX8QXP System Controller Firmware(SCU) provide reset for + some peripheral. + +properties: + compatible: + enum: + - fsl,imx-scu-reset + + '#reset-cells': + const: 1 + +required: + - compatible + - '#reset-cells' + +additionalProperties: false + +examples: + - | + reset-controller { + compatible = "fsl,imx-scu-reset"; + #reset-cells = <1>; + }; From patchwork Fri Jan 31 21:33:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955873 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011007.outbound.protection.outlook.com [52.101.70.7]) (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 D39361F4E4C; Fri, 31 Jan 2025 21:34:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359269; cv=fail; b=u2KyJWjPLzX9s9OtptT33YWqIlSUHWnEenRrVpTv6kNhK8z5EE/h4hBeqE137Ne6Uhd66OivnQs0TJEfN8qNhof3oy+PzMvWrWLS4vz+Xmc7WGBS/CgMTBEIk2lz4MOyn6kPWL+0b2iq0CAbpkH6HpTXiCHqls/UfPiOwT/RxKM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359269; c=relaxed/simple; bh=noz4pIlNf1mez14RLgu5rJEysQlETRbqvH4Qt0s7Has=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=nzpTFvkI1yD3nKJIzYHr1zmB7n4MvGJMKenX9n4yH9bVxcwszPjKCPGr2uON8rnJw9dSxGpuC8YmtB06mM7sSyU1shrNibhumT+yKyWR9c6ojUXPg2DgDrrV/IgOaw6/G0TNZN89hoP8IXo/bIA09mAd3PEtODkgwL289aWIoew= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=HP+uanGl; arc=fail smtp.client-ip=52.101.70.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="HP+uanGl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FcqID03unl45d2vINEQnOyBQvcZ8FE7flOBfyRgZhLmebexe+B4fa00cOY96tbVas5wFeHYPoFwBXGWi69HVzmrU1KeFHSk/gsYhE3j7yEAxRXdPo2JonSZbIHBSwyPFtu2HDwto6sRKR1ylIiH/JLtyQgn9C7SL76UfyD/HYaKm/+l6PN+9hTtZVz4FGEKh6z8gqk58lDD8NEn5GXfY3JqIWbXbMILlTOtE61TYSOCFrWleu08BqrIu0TQu9ZGh2RoeGIa3mI7bIUAcFKZaspmU1KSS/nypBgFzYJRt2UekeYF186wrAF0jKJei+2rqtclNNL7eKwKH3AarqjLaAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OGklPLs4ngtTFBU3SRLFmS2+Ps/QfmN7nqU5P72CeQM=; b=LZLWjOlD0HIljam317cqthv2LqWDzQIK3oJAGyW4SkyP35kkWaWhjhP2nHhiKXJUvkmXFV9XWAZJ+CtLq7B5scPItxdWoLxRHPQlYBSAuhbFzu6+P/gOu+CKzlDuQp5Hbu8/fmYoixnwq0i/7VqIM4yu2qx4yz0JrGC/UbCGByXYzCimMVb9puLI31vXHLcMPdGorIc0c4b4K6FliIYYnzCGC5KIKYSs1alHL4T5rSEZouqNqwf6MG4QJbLUtfTWn17QaHO5Gp8yvhTg2lvumwwIfOtVRt8ewf9v/Er51BeMTWQU3cK2ZkiFixVZB7mtk/LpYJwmGjYfgoI23Ha13g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OGklPLs4ngtTFBU3SRLFmS2+Ps/QfmN7nqU5P72CeQM=; b=HP+uanGlxu0lqVHKmu7DUsjw4jHB4VW9k1EYJouz/ksgmhrfxBbWFS7bO1iFZTc0cyH6vrV8eFjffuDGTcPXf9qyjjRNUqA1hpAwprLNokXyyh1s4v5XGKMCZGPb1m+WYdpyM4q43ZpOLi0H0Jd2qTt5+LaKbLsYzkFxRiV3QCl4UszNG8/SC1sf2pkM+kRPhvSw/KJlzcUc3gIm4AZ9vyoPZpcLcCdfY/7k5qS2+9MYe7iLd6VSa0gEQWdd7sfHD4RQpna3gxOBTVjKtO2QFbvAseJozysg/1lzN9ukW2oyprNO+7ygP8BHHk8HvELKCUGXtvGU6ZowEQ/1SK7gkg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:23 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:23 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:49 -0500 Subject: [PATCH 04/14] reset: imx: Add SCU reset driver for i.MX8QXP and i.MX8QM Message-Id: <20250131-8qxp_camera-v1-4-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=4573; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=noz4pIlNf1mez14RLgu5rJEysQlETRbqvH4Qt0s7Has=; b=fpFhJrRGhJWtTPKyj4D6mSi5BlMnEJa1oviePOTVUb3oWXz4NHXTRDZLGBZfFrfvQ8u5ptN/N QlaoGtEpk2XCBxbT8SSj21ePcB0ymQHdzaFeiK3/WRhGPObSyBRApp5 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 626718d9-a3d6-46ef-4577-08dd423f0792 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?23DBn0zMVUsAwpKTIkDZHsYBhCYWqOX?= =?utf-8?q?IELlnRw+3ZKMLPNRTZdtamJOzQAWs6N+pcZBmcMDLiyfauk0qSb5Ui3uAnCHgbOCV?= =?utf-8?q?NJp1wvkvV3ODb6KGF6lNvD4chvfjAGsHJFbB8hLRMRNElGnecQHQMEaSBBQLBITnH?= =?utf-8?q?W83KhViZBvCJZp4qhE2/fnHpm7WiUAw4g91eUb9DQUgr20ncPLYIYR43X6jz1fORb?= =?utf-8?q?0CY51dylQxPOBEQcsenWQWhGcZPL2SneNTXWs8a97FeFZ0yNsYr19A8oOhAqoayv2?= =?utf-8?q?yAxEbu3L5BWQAEQvOSR4nBJDceSNquYSUXzqC45DPk3SBNV6gzxkOReSfl3FyXxY7?= =?utf-8?q?q5Z3DOqwiJwst5yqXut0YapdH2VwvtJUKPOyrlU8dVTCkfSaLq61fxj8x9qmGKbRM?= =?utf-8?q?kLxd96XFCePtC/EHdPeAfGaRWo3d/VV/Cjy/TDH2+N4fbBXeYZVP7f1VZhAaRCn4l?= =?utf-8?q?boIxStU8rf3jJe7QgA5IZC6gO4+VtftUGlrJkXJX6S8mUr7sIRXKS4kR19r2oq1Nl?= =?utf-8?q?qKRmAeNGnfLBgmXD8z9tm+8vHYtyN/8f1Xu76AkFFLLiOa6iPe+6SdoPGeSw8fvPL?= =?utf-8?q?ssuHH/y708VRQ8KEZD252GLuBWHq5zrqJbt1dSwRYbKeeXlUaVT7/ouGQjxUh6nqt?= =?utf-8?q?CwkUOsUeuiycYvjC08jAvZxYW9qT3FYadp2FFWZgKprm6vzfD5G0xjRWssAKA69nq?= =?utf-8?q?TKJRXeay4ZX1Yq1G9WVkFkHWF4rjbertk+aIv+NfdwE3Lrgtpmc5G5oi6iUcAnzV3?= =?utf-8?q?4FzdLgnOI21R58xqRa0s5yv3nzSho2pxNQqy3suU5pxungMaLZ9MbEtBe4powP7IX?= =?utf-8?q?3qPFYMJd4M1G83cC8JUvP1IQpHB015c2d3f+mPjr8J4IkDnxtQG9M2asGm/RuURr6?= =?utf-8?q?BJz8W9F2SZfZnh0WUB6jYgiN4xAnu+XQa4d0+g8a205pOqeW15NIfSyNGeeyPRWZp?= =?utf-8?q?63NrPNY07n8qumij/dc+psh7P0jezmDGZrvXPYUHO0VXB0XDF8rVFijyuaBLR+wlX?= =?utf-8?q?TzVeBUFOhSfHEBinJ7rFxNFMDLXFAJlq+Qi6+rMEt8DMr0F0BQ7g+e6tAGWuZz/h3?= =?utf-8?q?U1fZZnAYjfeaPONFXOGgzWo+7vhyWdVjsvqr8l1IJV5yiiPK+DzbD76YoC0Rv+cxm?= =?utf-8?q?C4Gkf0AiqlQd79hGMhymW+Mo1ZhwoCQ5HGDDL7rquNY0J+wJBsbmv1pusRbdOhTit?= =?utf-8?q?By8E4yh7dnMDl/Ng7WbtK6XFH2XN9yFMMKHW8FJ8FFNVORH1p16IXldnmw35ZLZK2?= =?utf-8?q?8vKOekUNZk0QW/Fahd0sqPAz6YMzMijQklcZU/1ML6SMuJTOjYZpp1HrrwElf5OAM?= =?utf-8?q?0anPS85kUQCWyxcGEPDC7ERM0yTw2OHnMwgyaYsSNLD6Qs4+CsVBrj8yPoGPGnpFE?= =?utf-8?q?0z3+eIWaJ1FjK1Oi1Ts+JtBK3KSPbX9kQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?92e7YRhByF5038hsde3goRP+L3W9?= =?utf-8?q?xmmK4d6WwIkjYGLgVZ+0vb1QFwXQGxrY/ZT+5b/PKrvrDefvqhOikOXoRxwo+Np32?= =?utf-8?q?ZpY4MM+sLlzkX4ZhpmGePH+A0ACFRCqBa8qY4D/5U3gy2z0/lLI7fbp6yCXGyucDh?= =?utf-8?q?r5xr8fi0m6VIHfGe2+2/rLpvIbDBrg3poPGOAKsA/+oXXCQxOSMD3x6CmdLdSsAEE?= =?utf-8?q?0E2TIyHnVdO45qapz8tpCqCQuQiGkXLTM0Dt+Ar/rQ8xa/8u3CmJkU3JJa6YCsp4o?= =?utf-8?q?biroRBYZs7PxCWzDt2qh/D8O5BqjUr6lnlz/Jpfyij+jUGYAG0+Hv5ejldHK4VlPt?= =?utf-8?q?eTaozmqrshL9t0mi3okQ3GcksNZIk4+Z+Bq0KFJeQ9SPY7wdGSI+VHwERO3NSrBuU?= =?utf-8?q?PdSPdyiF6tYZmEIbm61YTge9HiEWNqIGvKPRQ6l2dpeSHycxfsp21sNKbmHbf5mJG?= =?utf-8?q?hJp/XvN7CLyOxqjSmHN7UFJnLOkSwGzta0f3W/TbeGh9BJCYkyI9NkjzTRp679feU?= =?utf-8?q?+7Agk/WALQzUOBx8bdaBV81iULJAhAQlVCnqnq8x7AC/bv7w7Hp0CvbU2Z0Rt5QrD?= =?utf-8?q?zAIawz3xWLekbNR4Ny57uOgMHoxDS4W1k1GpdTnIlraNN22j529CpBA04E0W+3cKh?= =?utf-8?q?ky4v535wZU4DF/q0YaGC0qFxFhf+Kwr1YoNfRa5Tu+AssXMHiNsw8THCxwJAiM8Be?= =?utf-8?q?GRgnJ11o1LgL0TiYnUUUi+0KsDrllJEEjyGxWmsizZ29PyGMVU/95cCbrhdl9uv/L?= =?utf-8?q?5ZYfpAIXzgnAsLx8GeCNk21ndlt+nrxsO2eviKIDWmHiuC8xKCGaYlW6MbMcsJAKG?= =?utf-8?q?9c4Fm8RoyivuZZ5F93u8mYQaWH3pPMYOgqedEeKs/W7DzGh2jR4ynzjZ+O49PRBzx?= =?utf-8?q?O2fGGpEkvG3R9C96bzJofJ7HYlvaRRiEw3dv83xHAD2mUhUR1Qa+vF5CRULgdMsRT?= =?utf-8?q?OqBrBuD2ds8GvixMEu8ZhiRA3rDr16K0I+h6vTpDOfrohhT2eBpP/ctTeDZo/+gLP?= =?utf-8?q?+HO4AIGMnnDvAgK620jX17Y+TYCnbMReZipNs4zKNOY93tCDhc43lqWdjyCJ5dnAg?= =?utf-8?q?kn7H1ODPOiwqpRLQYAVMW+BMsXJR/DT4aCH9iVnXUI+1I0TbNVnRJ0wSzhVLMcZua?= =?utf-8?q?scPtOrdvnCehiRVYbnZA9gjyiLBuY2YM02Z1LR6mSLyrBUNh+ZXrZPHH2R5hkbyg6?= =?utf-8?q?yRwsP6QPVoI2Tbggdgl2Jri01zQ4NRcUv5ntp30j4rplavzqStkZIby893sA4Z0DY?= =?utf-8?q?3CD6pa8d0TfXgednUfyYkrYCLXzot8yGJDZuNdy6a/qnthzx/OVGoRTyav6iGawfg?= =?utf-8?q?7LjzOZ+wDTkplOOSAjGPPmtfIxWd+vKswvzu0eMOtlbEaMmcWioDSypdMLw5nPmln?= =?utf-8?q?qzHa3RKynPD5tg+wi1KpmV6v+xjWPkfHuJ7f6Q7qvXl2cfY00j6NZA+X3iUFoGP0c?= =?utf-8?q?RxBwjuzOwNo6jwumegu3PIioE7YAbVTF9Na7ii4Ofqtn38z6H4MqQgbY=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 626718d9-a3d6-46ef-4577-08dd423f0792 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:23.4927 (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: w4reuE85Nyp5HvJ61hHGoIgjXuCCnon51uwcAnEF16rFPaw6qtIWrkAjTPxqHPp/QOPVRWFXG+0zzfyM9M+RFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add System Controller Firmware(SCU) reset driver for i.MX8QM and i.MX8QXP. SCU Manage resets for peripherals such as MIPI CSI. Currently, support two reset sources: IMX_SC_R_CSI_0 and IMX_SC_R_CSI_1. Signed-off-by: Frank Li --- drivers/reset/Kconfig | 7 +++ drivers/reset/Makefile | 1 + drivers/reset/reset-imx-scu.c | 101 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index 5b3abb6db2489..99f6f9784e686 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -96,6 +96,13 @@ config RESET_HSDK help This enables the reset controller driver for HSDK board. +config RESET_IMX_SCU + tristate "i.MX8Q Reset Driver" + depends on IMX_SCU && HAVE_ARM_SMCCC + depends on (ARM64 && ARCH_MXC) || COMPILE_TEST + help + This enables the reset controller driver for i.MX8QM/i.MX8QXP + config RESET_IMX7 tristate "i.MX7/8 Reset Driver" depends on HAS_IOMEM diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile index 677c4d1e26320..31f9904d13f9c 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -15,6 +15,7 @@ obj-$(CONFIG_RESET_BRCMSTB_RESCAL) += reset-brcmstb-rescal.o obj-$(CONFIG_RESET_EYEQ) += reset-eyeq.o obj-$(CONFIG_RESET_GPIO) += reset-gpio.o obj-$(CONFIG_RESET_HSDK) += reset-hsdk.o +obj-$(CONFIG_RESET_IMX_SCU) += reset-imx-scu.o obj-$(CONFIG_RESET_IMX7) += reset-imx7.o obj-$(CONFIG_RESET_IMX8MP_AUDIOMIX) += reset-imx8mp-audiomix.o obj-$(CONFIG_RESET_INTEL_GW) += reset-intel-gw.o diff --git a/drivers/reset/reset-imx-scu.c b/drivers/reset/reset-imx-scu.c new file mode 100644 index 0000000000000..d3074eaad4c99 --- /dev/null +++ b/drivers/reset/reset-imx-scu.c @@ -0,0 +1,101 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2025 NXP + * Frank Li + */ +#include +#include +#include +#include +#include +#include + +#include + +struct imx_scu_reset { + struct reset_controller_dev rc; + struct imx_sc_ipc *ipc_handle; +}; + +static struct imx_scu_reset *to_imx_scu(struct reset_controller_dev *rc) +{ + return container_of(rc, struct imx_scu_reset, rc); +} + +struct imx_scu_id_map { + u32 resource_id; + u32 command_id; +}; + +static const struct imx_scu_id_map imx_scu_id_map[] = { + { IMX_SC_R_CSI_0, IMX_SC_C_MIPI_RESET }, + { IMX_SC_R_CSI_1, IMX_SC_C_MIPI_RESET }, +}; + +static int imx_scu_reset_assert(struct reset_controller_dev *rc, unsigned long id) +{ + struct imx_scu_reset *priv = to_imx_scu(rc); + + return imx_sc_misc_set_control(priv->ipc_handle, imx_scu_id_map[id].resource_id, + imx_scu_id_map[id].command_id, true); +} + +static const struct reset_control_ops imx_scu_reset_ops = { + .assert = imx_scu_reset_assert, +}; + +static int imx_scu_xlate(struct reset_controller_dev *rc, const struct of_phandle_args *reset_spec) +{ + int i; + + for (i = 0; i < rc->nr_resets; i++) + if (reset_spec->args[0] == imx_scu_id_map[i].resource_id) + return i; + + return -EINVAL; +} + +static int imx_scu_reset_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct imx_scu_reset *priv; + int ret; + + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + platform_set_drvdata(pdev, &priv->rc); + + ret = imx_scu_get_handle(&priv->ipc_handle); + if (ret) + return dev_err_probe(dev, ret, "sc_misc_MIPI get ipc handle failed!\n"); + + priv->rc.ops = &imx_scu_reset_ops; + priv->rc.owner = THIS_MODULE; + priv->rc.of_node = dev->of_node; + priv->rc.of_reset_n_cells = 1; + priv->rc.of_xlate = imx_scu_xlate; + priv->rc.nr_resets = ARRAY_SIZE(imx_scu_id_map); + + return devm_reset_controller_register(dev, &priv->rc); +} + +static const struct of_device_id imx_scu_reset_ids[] = { + { .compatible = "fsl,imx-scu-reset", }, + {} +}; +MODULE_DEVICE_TABLE(platform, imx_scu_reset_ids); + +static struct platform_driver imx_scu_reset_driver = { + .probe = imx_scu_reset_probe, + .driver = { + .name = "scu-reset", + .of_match_table = imx_scu_reset_ids, + }, +}; +module_platform_driver(imx_scu_reset_driver); + +MODULE_AUTHOR("Frank Li "); +MODULE_DESCRIPTION("i.MX scu reset driver"); +MODULE_LICENSE("GPL"); From patchwork Fri Jan 31 21:33:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955874 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013025.outbound.protection.outlook.com [40.107.159.25]) (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 419B21F5406; Fri, 31 Jan 2025 21:34:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359274; cv=fail; b=dei5Wmh7E3EGH+4D3ubjDIXeCz2SFNtEf3mDjPqQcAEdaRa4MYKWYU5Gk0kKGlcN7nX6SJ35OT9p2xePHtVwB0AhXDmyioe5XkBMFTJ6u2kxpzunEV1c69N4uzZO6aIjsoM1szGQiiCsgG/H9TFRhJi1U/yEmI64F+kzT7tahH8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359274; c=relaxed/simple; bh=sf0bHrBQSWPQzkKdYLRb2ZK/LLSyYvMzMAD2iXxbi9E=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Mqy70ZRdo2Rpcdc5RY2kiSJuN4elhtQZZQPuMZjy38R+839awG5oyu7a64XnhawWgEbc3fZnCgfXo2fh2dRWeXTFVd0KX4hIcGqIPmJ5ONaUu22CjE0RwAM1zqT8VFXqd5V948TSkmC4KhgUmscV7J2FCjM7nfGnhrHxK3Kp0Js= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=dAZcDSYm; arc=fail smtp.client-ip=40.107.159.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="dAZcDSYm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E/gQwns2Idkd6rSJXkSLFqkSGeT4hi27Eo0djSX+fibJ4DUXWwIIJ/ZAJ/7sjzDkEB53ISiHexMVcnUhQSNy83PKScpL/uBAIuVfaFgkP3RWhFTuxLgZ8s23Sgd9wn+kErhfKzoWPam5KtbsOOsRW8H4gqpU+tzM2rMf60WiAj0E2sRjruqwuHXrK3XUZuMUSfBWV6GMNz7KzQ1dw1/+WaAUPCztUqJW2lBR6xi7U32WRlRkibBqe0DuC3MOdxYEWpgl97m+7iIVSl0eSYcvqVL1+1j+ScmRTCSTFcNJcuxojjhIIG8hoUiHYPfRp+TtJenWrQg5BW+Zw3elHMv0xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oeNODSpC8UXf68tNpYXn5m+o4IdQb+bs5eGymmWYVJQ=; b=heazZvp671XPDXAVTlXt4B03uG2hSStux5/0R69DU9RDJu01iFZxTazs3o8mHYfmAlivMswKxPficoyN7cPvROnMHV+Gm2PEnP3ZCxBiVZ3SiiApb+ftUWHG7wbWE7bBILE0/QkXDIQJaWDpQD9ktAp0F76228Xn3OO7fvqhfXxubuFWMXweCeyc8jDHypoQsxw3I1GmnH4n5BdO/7a0o77xPLSBDPiYg46EtS4Y5WCXQz3KuLyIYQLJ1RHgORoLUdZ3vqQfBY9d5hHNSGNJNYjOdLnlWkhpabmW51mOSiPmidYSQ4hf0qmveGd73AiExgYoSMTQywTkbo8wcmCWQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oeNODSpC8UXf68tNpYXn5m+o4IdQb+bs5eGymmWYVJQ=; b=dAZcDSYmq/PplIMCTTcLLCWV/N46z+Chs7tPOdx+mLg6YmgBhgcLjqPW4MoBVD3c0Z3eQRwfXSM+Ss4CoKbl52rOkourL/aSc6Lcbaue/0TkkBv7JX/tsCcmmFF12Sqy3tMx9bLcD6+BgDoUoK68BBnpmq92+S2AtpgzrmzBODGtd0tkGun4PRpEWAmds9fgfSgD2RLk6WlD25ftZdQRnfmO3MWCOR5+QNwBzMdv8AtWq377wp3gO0xPOSE5VYC0c8B8jvLnFuxCC5wfIe6AZozd4LVWo7Qh8y6OHxYdUkNImZgpofaCnKNfXy1UPmoEFkewSPKbjXwPQEYTMp4azg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:29 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:29 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:50 -0500 Subject: [PATCH 05/14] media: dt-bindings: nxp,imx8-isi: Add i.MX8Q ISI compatible strings Message-Id: <20250131-8qxp_camera-v1-5-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li , Mirela Rabulea , Laurentiu Palcu X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=4464; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=olwoNKUv2Iz/uV0wReMpTGr1fl4Jzhdfj9hZL2fu/9o=; b=MeCK4FEhYjVRft8ZJ4xJW+rv3Z5+mhwjSUs7EdxqW8LDSf1iGh1MDfgZd6ey3i1fho35C71t0 0eJa6RiNYIcAHu197hSOrOd2dYhoCjMgPrVOev4NijP1jDpcNzhNWI5 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 42ccbdde-b1e9-45d7-93c3-08dd423f0b29 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?A55puTbVgKfqhs5tHkzr3m408Ae4ndV?= =?utf-8?q?OWzZUmoebCGKu0hAwFtOf/r4hvmrIeLxFk3gj8IchBsc5AJ3tsOH1OFaYrWwFZGlO?= =?utf-8?q?R6T7AwFC8PCkGvsMV+aPXbo4503yuoiGNN0FBhwnN9vUisGc2JP0MRzWy3uOHk58O?= =?utf-8?q?8SDMiROshBh9tjds7x4hfK68kwIucanqb2PxEWlIb5ac5IWAZjferSlvMnJZkoyTh?= =?utf-8?q?Nc/t5WIx/W2ZR+u0vGnBVYXgxrwjNjE/MLpFVR0Mhtf6LV8GQlDB+BZh7X8J4Ez22?= =?utf-8?q?MQhMzPtfK+UkuRadT9mGDk5HLQa6pCShcSgz3WYaNThv0kO95/23iwaRJjc4f++G5?= =?utf-8?q?5ASaGZT4VS+pFYTLxxTpO4YwYsP5Jam2LLjcB3CVecfM+X5YXR62Pb7U3ojE1L6/I?= =?utf-8?q?8/KQJWbBB1x1UmbmUalkxETT9GYBJbIpEUasR+1sQg6RmkQqt9l6Rl/7NnNYlYfN+?= =?utf-8?q?ZvugUnIRDdTqdJRFjVaiCJrACMIbZ5+P5LftbsfT10MfggdF/R9WdhfL240NnQf46?= =?utf-8?q?O8Z/DdsLEvmPbl2RpAvb/lSLfze7z4r+zWTha4zGO51qUCTNjQsdqDE6UA/iFmGc9?= =?utf-8?q?bX9qoJdWS7849kVTjr+ZQ7+6wEBhMJlHd4pnmADdA4w/pHniponvBFpsoJUH+dKZK?= =?utf-8?q?fYQzCn8Zha1EcVFIgUhC4uEmczNwXprY58GWw7iHzYBq2Bdo/RrIFsouNIaZFDRYJ?= =?utf-8?q?n1CB+2V1zcFljWj92sSnka4ICVgNkz9kv/Jwfyr4XXz4yg9RoxDrjuPx471quRjIo?= =?utf-8?q?bbDGyqFe5zBJGKaeLGsCeQcHfRrUaEk66il3GJFlAwPsmyv69Zxy2Nw9D8cJ8C6Lf?= =?utf-8?q?3bYAM7F/61YO1RgP7mzSgRCKLt8+eZRzQuIu4lVbr8JuRuIEoGzLwtaYC3uQH42j1?= =?utf-8?q?+1pvzMuMmJpNJXjOaaSC/tgqGE6JvK0LPLHz+vdLylDW1x2BJ8T0mD6qpaVLNuwsJ?= =?utf-8?q?bI1o1f7wWFSXKHQ0ScWZq/2riA5e6elS23hAXTXEwEB2B28KQrGx6v9f+KcFvcTav?= =?utf-8?q?HcNt2wjnZ3p0H3skIv7aJFH+3RWJh3CnZT6GqNdfBCDPt0EoMLx66o72CqiH8ksIQ?= =?utf-8?q?yWzJCkfWH3kvWyuHA8X+AzoafzhF+GZUq2Goh803uImDpkJizcXYbmHpOw1AaGaoV?= =?utf-8?q?QtCHlfxvaJK9vThNZDeS7BefQQFX91Vt+FAmoqkSzTT9Bn2EjkhgZmI/wHZftTCzc?= =?utf-8?q?X6G/ZTvHugGI/iwffq8C0GVyNwL4P5aoHxTibtDfrcoVNkoMGU7bKvlRXSyIenU73?= =?utf-8?q?Kzuzij9JIMjbap4K0uDU83fFjSEiTSWqYHWUe7t6kXB7wUBfkEb+4Cl97vTJPsej0?= =?utf-8?q?LnqP061kkWtaZl0HkAj47x/kCeWEroRxZBaqIPYrwLnq/zGL/WuEwJ+h+yvfyUBWL?= =?utf-8?q?iVlqRg0YUiaF7hzLlTJ/Sbta5g5qlQmBA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?D4t7Qwmmpn4KMZCLRV585qAfo86w?= =?utf-8?q?kfYji+dWaDitiQYezJoisK3dC1YgS/nCgLmEEXhn1PGNH3qeterSnOVQzSK5W3iIt?= =?utf-8?q?67UTWz6GJHVFXgJWl9Qxh5LpJb7yPnoQDLFmSY04V3VxnOSTCppsIasVeqHGCoS2/?= =?utf-8?q?xC7lhsS0+am0jPdH47e2a+CaJspvNXxBVSRwmhFaoyVJpDx448BrMfOHROTGW7uvO?= =?utf-8?q?h/6RMUEqN+wlor7WVo05Sb6EElxFQ190Xop74U0aXNM/8B9ZnOqatPV2fkZ74CIAj?= =?utf-8?q?Zz5hrBRquU//zrFxDicloZwADFn1WrcX/s4Leaz6cf7U/8tx+KmoIk4OZnEIEGBhL?= =?utf-8?q?oZABcHgPWbL1gRrt6XYhrhKKWPiLy2SO0ldwIBIb5avEvgueP5WkWVseapzQcRZI+?= =?utf-8?q?gdTU92q4ubEi6f6W+PDAqi2qQBXyvn8CW8uY10DpZqWa/DyrOhQLKoxnDp+l/nOrQ?= =?utf-8?q?IobU7ha7UfoJFitMBjOqEV6XUXU5mZVl7XhGOA9aMoKDMMomrXbS/aTahF3kyaKu1?= =?utf-8?q?TiI4PmdaNl10drSFInojFvoP+Qu8ygD9iE7bxzwQKC7VQ4AbPjpMrQKHkapPLYVOQ?= =?utf-8?q?OOGaCWIIFOvB7x05ciwAfspiUVcoU+zdJGg47sLfL59hpbbPL19/dljdc9veUoJ1H?= =?utf-8?q?GeeZYDNQLzWYkNQVz237o+8HFwM0daP+H3hm1JQhA0ZaFwvBnUGyU/ayZ3Ht4Kazb?= =?utf-8?q?tsZ5dB/whaXTfHuMPnwqiibPAI3hKzxYX7RcDaK0bYgFXbj6hda8she/+3MCNNfyz?= =?utf-8?q?Qs4oFX3WTV1/cmCW/5w/IMoTAk4W1YGzVgFuTo1IhCsAhNynMvcSZnIYg7eJjSRHx?= =?utf-8?q?PoZHglg8ERNxngChPTp5ASq/BB41WIm1G0I9iJWQgJ3wqZgPTjEmYKL9OJ8YFpGrC?= =?utf-8?q?iJIM/IUlevLzUogIt/3q1xdu0TGOTuedp6pAXfIp1NdAB6j7XI7HUgCtZFipQh/x8?= =?utf-8?q?Ad4TOMv2HASB6A1+bu16AlOiR7AUDFac4Unspts5Phg73id9vMo5OAPCgOlzM32Sp?= =?utf-8?q?yHCq9VufNsyX0aRnS8b577SvhioQZlxVK47D3iS7P0keQyhd0/BIsoHFtzb+SQMPk?= =?utf-8?q?J4cG8fHymutreUPjiFYjdD72LNHKISbNRS/AfKmrdr7PtJwWhQZdocvzkNuiRgKX7?= =?utf-8?q?S/z+BJwaXTojK7Ysw6ZfGILJDZtVI2S773ZQazaVwoqOtMwQvCYuGtSoI0kkmP7lS?= =?utf-8?q?NxTLBCF0AyaREkHcyQoQeimK5I8MOPJC2HIfXYvgIcPqGqdSdAn/gACo0YJc5AEdv?= =?utf-8?q?R9MHtWIZtSltjwQXb8F0om+YfGqFUwxEdfaeT7WZ3LlNa9o9h17p3GOwiFjY9nxNz?= =?utf-8?q?Y8OSU4tqcfBwEHg+XIJFU0PG/sCbS4Y3lq+AcUOx5sIGpk7ULZXFrMa2zuTUH2v8K?= =?utf-8?q?br1fjbFW/oz6nhSOzwuF1d5vW/dRCnDb7YJTV3Cy6du73yvurr/L5MxA3KFTPy532?= =?utf-8?q?TJdu0s4ebU4jEjx8wh12j0G2VYGTOmuaD7qYUHnu3knTXbN+8tSW/QZQg2gkG55kd?= =?utf-8?q?jFEMqC61PyYD?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42ccbdde-b1e9-45d7-93c3-08dd423f0b29 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:29.5225 (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: StH17j7L47Dk73v1rjUfYE2ufU21wxJxb7tiSPevyuCvosJNQOmXERdmwqDwZRcOvkRUsTXuzkbjPlfm4qsUyA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 From: Robert Chiras Add compatible strings for i.MX8QM and i.MX8QXP platforms. Increase the number of max interrupts and clock to 8. i.MX8QM have 8 channels and i.MX8QXP have 5 channels. Each channel requires one clock source and interrupt. Remove fsl,blk-ctrl from required list because i.MX8Q needn't it. i.MX8QM use port@2 and port@3. i.MX8QXP use port@2 and port@6. Keep the same restriction for the other platform. Signed-off-by: Robert Chiras Reviewed-by: Robby Cai Reviewed-by: Mirela Rabulea Reviewed-by: Laurentiu Palcu Signed-off-by: Frank Li --- .../devicetree/bindings/media/nxp,imx8-isi.yaml | 87 +++++++++++++++++++--- 1 file changed, 75 insertions(+), 12 deletions(-) diff --git a/Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml b/Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml index f43b91984f015..b713c8ba79e39 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml @@ -21,6 +21,8 @@ properties: enum: - fsl,imx8mn-isi - fsl,imx8mp-isi + - fsl,imx8qm-isi + - fsl,imx8qxp-isi - fsl,imx8ulp-isi - fsl,imx93-isi @@ -28,17 +30,12 @@ properties: maxItems: 1 clocks: - items: - - description: The AXI clock - - description: The APB clock - # TODO: Check if the per-channel ipg_proc_clk clocks need to be specified - # as well, in case some SoCs have the ability to control them separately. - # This may be the case of the i.MX8[DQ]X(P) + minItems: 1 + maxItems: 8 clock-names: - items: - - const: axi - - const: apb + minItems: 1 + maxItems: 8 fsl,blk-ctrl: $ref: /schemas/types.yaml#/definitions/phandle @@ -49,10 +46,11 @@ properties: interrupts: description: Processing pipeline interrupts, one per pipeline minItems: 1 - maxItems: 2 + maxItems: 8 power-domains: - maxItems: 1 + minItems: 1 + maxItems: 8 ports: $ref: /schemas/graph.yaml#/properties/ports @@ -66,7 +64,6 @@ required: - interrupts - clocks - clock-names - - fsl,blk-ctrl - ports allOf: @@ -79,9 +76,17 @@ allOf: - fsl,imx8ulp-isi - fsl,imx93-isi then: + required: + - fsl,blk-ctrl properties: interrupts: maxItems: 1 + clocks: + maxItems: 2 + clock-names: + items: + - const: axi + - const: apb ports: properties: port@0: @@ -96,9 +101,17 @@ allOf: contains: const: fsl,imx8mp-isi then: + required: + - fsl,blk-ctrl properties: interrupts: maxItems: 2 + clocks: + maxItems: 2 + clock-names: + items: + - const: axi + - const: apb ports: properties: port@0: @@ -109,6 +122,56 @@ allOf: - port@0 - port@1 + - if: + properties: + compatible: + contains: + const: fsl,imx8qm-isi + then: + properties: + clocks: + minItems: 8 + clock-names: + items: + pattern: "^per[0-7]" + interrupts: + minItems: 8 + ports: + properties: + port@2: + description: MIPI CSI-2 RX 0 + port@3: + description: MIPI CSI-2 RX 1 + required: + - port@2 + - port@3 + + - if: + properties: + compatible: + contains: + const: fsl,imx8qxp-isi + then: + properties: + clocks: + minItems: 5 + maxItems: 5 + clock-names: + items: + pattern: "^per[0,4-7]" + interrupts: + minItems: 5 + maxItems: 5 + ports: + properties: + port@2: + description: MIPI CSI-2 RX + port@3: false + port@6: + description: MIPI CSI-2 Parallel RX + required: + - port@2 + additionalProperties: false examples: From patchwork Fri Jan 31 21:33:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955875 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010031.outbound.protection.outlook.com [52.101.69.31]) (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 428251F5439; Fri, 31 Jan 2025 21:34:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359280; cv=fail; b=X1pvvQUuei3LWHGeC9KwFZtuaa6JKQYkWT/9q9OlfeyTGPuwRlWa5cxNRKrMOp0z0cn04HTaKVALJHH3oONzcTj6c75Y8fPkkKwlZSYkNdZFJmep0qg+EH7Uc1pi+d7TLcXLwGvXWL9JCKMw+EzyrShbpDFHzPNWCRJI4HiYn68= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359280; c=relaxed/simple; bh=yZxMDMcZ0fNNRbJ78kOjbG5arrBzpUHNSu7I3DYJTR8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fNBo+4d9mgjOfJ3NnO3s7bQeC/kgjm1FgXl+jv61eVl5FcHSxez4QORKMYIWOOcgSJKvDQU+pDzTwP2LX/2kcDv24AevU00ao0U7A1NTa6foMQm9cWO9HWiLy9GgmWfXFc51zINECzUhX1GnpJ/+RRqXQ4bFvxmlkH6mwmDKxVo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=DFW+aw5E; arc=fail smtp.client-ip=52.101.69.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="DFW+aw5E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wlL9aTymSRtHYrGqFsxrxx1DZoYfCfYZGB+K+Ps5lNbaWVHwn+TiskHvgC3PZ73D8YSZaxat1bAgqOinm74OgeoqlKuq4TK+vVSNFNp7BTQyKn2GLtO4lA1Nzlyh6Hj6j/vyFz+zTfwr5R0BWpOQu17rpb7jJSR9CFS4j83kAKtpmVlXcTguUc6IB6IDtp8u8ok5lq/a18H8QEH+1Jsh4BZHa7wolGwemCwPGnsQ5ecW8Vp9VRvvRb2uPY2dSfxGFGEJm13W9GWtXwfZsPY9XPqQpEEI4RgBEmNf3GHia786+BPsi3uN8U+eaK/i7ltv3vnRx4qnqCPJd67C5sW1RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HAMxKSY1QWFnn/O4OwL0ajYy84VdJKjkizOJjoyo20E=; b=gfRl392Ynn0tdpO8kbd/db0isOES1OKDCSyV3phGSOVMw2zsgSfhAM5BWxCnf2wl1yWqDsitdTLcjrnQG6wTJkOM6kjWAGqay075CTzXh7xSGErFjA3gENNtes42kYAS65p2+Qw24P2xC35Z97YR5ccTUwa0iNzOxo/GQZL/r6jXibTneRIkbVmLCoLN6aKD+A4E2CCw98t5svbKnEhKqstX6D5wBjfviUpVSR7Yoen3DfQg8xNWncHrKT+5Rg5/elvSl/nXGs/ow6LbGbQc1o99bPve+NSt0suICNffZq10jm8+FifOlgkVHNSOMNb2WpsNASW+XZeOchaheJYN1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HAMxKSY1QWFnn/O4OwL0ajYy84VdJKjkizOJjoyo20E=; b=DFW+aw5EmuqIQbrJ4DaNyD6sQLqKhxxclFRtP/DvNTSov0NyPZh+LLmbAtnYM+7s+3NVeolsPj7EgTvsKUU2+k2WHRaLRL/Zkqnrn0aL1NlJISV9bS6tNFT0ARXOM4wyy0xxYDEZwgoHbhljgiuPw2bPYWKbpHYzuZ9/rs+Qr9ZFW0Shxpq/Ib42ZktSTPHo2pagTFnVzc4pxfx1ptKTqftF9UUE0FjO4C1I796j7qKVFpkfWslq0I3ytGKTpMyzE+dlZnqI969BlGeKzGeGRoxuXcBkE8eDI/PbhtoS9bx7a4SwLu+FW531CEWcTqTIjhpWp43SwkMpDdxF3EjMlA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:35 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:35 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:51 -0500 Subject: [PATCH 06/14] media: nxp: imx8-isi: Allow num_sources to be greater than num_sink Message-Id: <20250131-8qxp_camera-v1-6-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=2036; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=yZxMDMcZ0fNNRbJ78kOjbG5arrBzpUHNSu7I3DYJTR8=; b=JPvaKAiuQB+KbLat4HOJlt56XhTPiZFpwWEUJSEvvLOrQXj08wYR5TMUPy2LohQRm3EPN+KC9 8RjpLz7lOtaCnZpD9fwZBTU0PTWcHPPkO7CVa0r2/ODxKymHijrBkOw X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 7393559d-b014-4bc1-cf6b-08dd423f0eba X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Sj0DKYSFgEnq4Q9t8baU25M/wnJUZwf?= =?utf-8?q?Nq9goKDHw78w2i5+zWhom6NMS9Mi2aUI41EoD5TQvC/o1iipSfuGUygnO93ZNxOWW?= =?utf-8?q?FxA03Hqf4fbaJFUoYpOcSioyz/j///z041teKekdl0LngGuB+WdVAT+UX/IG30ZFc?= =?utf-8?q?wm+ioSlFwldrV8zVVwoz+3WIc2PEI2Ta509VwyZHg+f7B4OhBiDbEAkwZqbJOLYLs?= =?utf-8?q?2z14BkrLqrFP1pbG9KNnmLxyd3p8zw2rtjgqGlqhRv1Y9eWAHDX4UKlbw7//I9zr6?= =?utf-8?q?3BX98KVaFBkRsp6XPBIl7gRV8VhkVd6W0DwuqZrdnN+1ef/koTb9rImEa83Cg3ZO/?= =?utf-8?q?ztPaiIYfsoeVfobNJR8+dvJdRzlitsoodzqSwSsfYRLKamHtBsOCx+mt0gnzKNI7b?= =?utf-8?q?odGpbPdLnhEgHyyk6NC/I2xImeew58Fka3jCSl6Er+h1th8Iczny1KcWmcOLHjHH+?= =?utf-8?q?uoFQXaXTNjOt30ostrR+39f8BYTrwVIv9D+s8mhowNvmMwWh5B2tVqwazC5XWOEA9?= =?utf-8?q?m9p5N3tHKv7mrwUPKeR7HFPpOBpN2RW8Znvexuyxme0Q7pzZCtn5ro21ENiP0YIOo?= =?utf-8?q?ctyxJg6D+uhaMuz3ckkcHJHSQS5euNOV4BW7S7IJ9trl/jM+JJEuiZIfoIg4fbqss?= =?utf-8?q?jKu6h6ntoQcfOlGdjPyUUHN21BRn1CtqLUqh1CMR9CddbsuWyqCGhqLCuMiPc913F?= =?utf-8?q?Qi08R4LQAt2++JnbDpwreu/K9pMarOYkLTz/Y//MYBWlrUCtfnEDypj2PsW1pt4Nc?= =?utf-8?q?2r+JCQLjcv1j/J6OSuOZBHAhKXmpopRFrAZRh+oIRRGc/zOhy5gn/XhDSD1Oexp2G?= =?utf-8?q?9lPXMQjA060c4ou+owcTxiHZdaPwZvIhOI82HgNrygfTHR3+0pg+tSaJ+2dCW/vJn?= =?utf-8?q?Hy8L46B6Y6FzJCIRTeXEDb/spxv8WUjTj2lCtdRKEPWPeKOuRO1esP4wlieT8l/pC?= =?utf-8?q?mwCDAZi587F9Xk0CCPaAYt4TRFG0ICcZKKHRRa2aJLM/00cONb0EL8AIkSNZ2Pldl?= =?utf-8?q?Q3HYqXuuvJBoaOz5zrB9CF8zaAyml2NgP3xvJer1pDF8b5tf2tXnu9478j8rDh/Az?= =?utf-8?q?WTtx0umY03WTahyLomSg2BE0IGSTMnSV5KkjFYSXjy2arrH6W9ZyLtx+1wxTs7l//?= =?utf-8?q?roRiRhYioo1GJ2maXl7Bk7ZahCn6280LnXUA/4H9tPlalkABIWNCnMD72BJ0Okmt5?= =?utf-8?q?28OVM8m/M6pEiieXp36ZgsEAfeVxp7aavKanTsffoJpHJ3uNFxlCOLhDhvcnkh9C9?= =?utf-8?q?Vcxa+8OBRH4tGwD07wP18RajayCHqUbV2WsN8/5Dq/LzWXlm1IAptsnAmRhlETJ4a?= =?utf-8?q?G97rV+Q4JYc20GXiNUK0qGO0r+WX6pOVu7IunZehZENOOnkFjk6rRfhJZApFyHlns?= =?utf-8?q?HuwzuKH5M1G4T+kMq/gHSRX2eewzmhJVg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?E/80PXap3vlrm93OknoDfBFaCc6d?= =?utf-8?q?yI4HCSC0rTrc78QJi4cs1qA64Buow0gCT5AKWWCj97rVdqWMcMUb8PI6PXy8l8mZK?= =?utf-8?q?a/opuD0L7jqIAoOsisXqnkC4QpuFJBbcsinWyfpxsnLGDBsf9mpMVA73+ZyovJ67s?= =?utf-8?q?euIdzVeMk8X7GIEoVTJooseXfD2mtAb1z3WatlpPyKno+Nabp2kDW2mfXoD5aJvYt?= =?utf-8?q?jyW3aoTJzBeBwEXp5wpvGyxSVoZXSgjE6spAY0a1LImwWirzqYNI6V452uk4+BrXz?= =?utf-8?q?8SZA1IZwjl2sVZNQVABt3fYza5nPPl2oCu3RSyOdRcrpsI83VSgQTmbwEnCw735Tw?= =?utf-8?q?xLHT3Q7F8rE3ORvX/l0ZvbgS5KW3FN0GIXNiJg5tqUeGYQ7RvamIPx34KxktKQ1J0?= =?utf-8?q?bo7H1/fy3L6MzFpyd8vZtLs03ZI+i9tf5hXCnP+pCJFUMLUB4TTArs3tYauoLP6+w?= =?utf-8?q?pXICbXb28nLEF4QfkySDZqGUbWxBRjIU+pH4+6+fHHjMwy8JRzdxkrNjzGEGlqffR?= =?utf-8?q?rBYLA31VKsMw4tcoxlx/XnCIDMhJTulNnw/7IQhKq0b07kKeYu/40YO0s1EBdY0V9?= =?utf-8?q?S70+e1fdm8EXVVcMItabpCYMLsgv05lxKQ1ln8V7V8ySWl2ZP0gHEifSBPBQezKT4?= =?utf-8?q?AQAFx6cNzLcyWITx5oU2Fqd6XnQh9uv35vPGcAN6KtK9N94mhYAwOzdLtOZmEgnLi?= =?utf-8?q?PwlPdDJnGRLkvOFUG1+dwJIlMJzEpLk+Lzu00elc9o/4Ub0zI9aYwHWf4EH7E7gm6?= =?utf-8?q?+F5oq9ABG1UTnpi1O0kBYW2cJW8q3tMlFjySpydQUTJ4xD8dZ8Qdu7TiM/pQsyyAq?= =?utf-8?q?uzG/EiZLtiLwqApozbQGhLn0A2okglOrZHHQ0SVfLL1mVHLeNo7aj/0Rd/8SNAwr0?= =?utf-8?q?QuzixuwUpTEYJDV8B5BalfovrmDOz7YDyMOg6RKu9GA6dMsk0BBwq7nRTNaD1hmvC?= =?utf-8?q?OmuDepHhaVI4BydyfIQEseBcRzCOkltFx0jSfiCPBqmTTgj3xEDr9slYhwCvfjssG?= =?utf-8?q?XN3nmx46/AmXIAlDuhPiGIAfOjUDn3j3ZJucY2Nken580KyE9B72eauiRLWCyk7VG?= =?utf-8?q?cZ/4yFuDRj+R0fGIq1qo3XBK64+HjId95CGBeHXCDa6azh+K4v0+PY33z/CCPVRQ5?= =?utf-8?q?2iQbtmgRlH3iXnHHEnX66e0LJpKGn31rX+6//W5JOTzt6a68FYxvYlzRo3hUXsRiX?= =?utf-8?q?tWkuv6Jki8RXPzNw9CztuvxfCv7yhI7c40KjyjsijzgIIrtSyk+VoSKYe5k1kbOyV?= =?utf-8?q?7ETLUd7XWaaPldd3MJQ3opPd4XVNWy37F2fVWf2LXzPQ2+RGNeH3h7pNxo7saGvia?= =?utf-8?q?FcVlF1W/oZqxXsMwHiU/6YnwKKIm8z2KwXv6NH8Ba2NmXuYF2trZSKOlk6S4j75Q1?= =?utf-8?q?dHZJMA5J332oJ/KpjdUgzawdYHQYXiWn6UA2G3FcFIrK1d9CFTuh3cwpqnvngpfMx?= =?utf-8?q?6XnMoTmU5HSiqslzwyg2rvCXg2IXMrQ5OSq+FuWc9mJWQX5Bm/el2v66UvzduloNj?= =?utf-8?q?Y/jefSiV/o/D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7393559d-b014-4bc1-cf6b-08dd423f0eba X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:35.5111 (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: wndYocNQkDRcO+GJnFClJB4T6ec2+/B3+lDgMq0AwQV0KYF270+C+Zf1QkrhNP4wcPmjNJ+nDTBOrrfUuVrAHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Allow num_sources (drvdata: num_channels) to be greater than num_sink (drvdata: num_ports + 1). ISI support stream multiplexing, such as differentiates multiple cameras from a single 2-lane MIPI input, or duplicates input stream into multiple outputs. So num_channels may be greater than num_ports at some platform. Signed-off-by: Frank Li --- drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index 93a55c97cd173..ba5b2d3617a23 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -188,11 +188,11 @@ static int mxc_isi_crossbar_init_state(struct v4l2_subdev *sd, * Create a 1:1 mapping between pixel link inputs and outputs to * pipelines by default. */ - routes = kcalloc(xbar->num_sources, sizeof(*routes), GFP_KERNEL); + routes = kcalloc(xbar->num_sinks - 1, sizeof(*routes), GFP_KERNEL); if (!routes) return -ENOMEM; - for (i = 0; i < xbar->num_sources; ++i) { + for (i = 0; i < xbar->num_sinks - 1; ++i) { struct v4l2_subdev_route *route = &routes[i]; route->sink_pad = i; @@ -200,7 +200,7 @@ static int mxc_isi_crossbar_init_state(struct v4l2_subdev *sd, route->flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE; } - routing.num_routes = xbar->num_sources; + routing.num_routes = xbar->num_sinks - 1; routing.routes = routes; ret = __mxc_isi_crossbar_set_routing(sd, state, &routing); @@ -453,7 +453,7 @@ int mxc_isi_crossbar_init(struct mxc_isi_dev *isi) * the memory input. */ xbar->num_sinks = isi->pdata->num_ports + 1; - xbar->num_sources = isi->pdata->num_ports; + xbar->num_sources = isi->pdata->num_channels; num_pads = xbar->num_sinks + xbar->num_sources; xbar->pads = kcalloc(num_pads, sizeof(*xbar->pads), GFP_KERNEL); From patchwork Fri Jan 31 21:33:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955876 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011021.outbound.protection.outlook.com [52.101.70.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E5781F5600; Fri, 31 Jan 2025 21:34:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359287; cv=fail; b=O6PzTirTDEMhmsefdTo2xy+PNjUVRT33CZ+ny2yk6ke2t31J9BGue8/jaBDwdc+SePp1J5EbVo4ZtmfL6KzMRcOFYzrK9QdTuKMXb9/mVWHMGRQQiA1t+eZC8Hkb8B6VwT3+FvnaRBNEM0A6bUUBrpiHFpHQAKwFon3ETfraeHk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359287; c=relaxed/simple; bh=tscqvOYKx7ykaDjl+4U/r7amChrdpZfnlGxBcMh8jjA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=mh1vIHauS/eMgu+lkoZFX236TDKSv5/k3u5GoPWW3hfBfLY+5JzrhUjEpyNW27DrKSfoSAR/wqiuxwnmAXQ7uyqvPwmAvNYcMs1LGUxcVnqCwIW8Y/kn2CkJM0k9AVZ9RxDM4Z5qRroaDUFkMJ3M97zOFm4pe97c4PbKZblq8LI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kck9iYH4; arc=fail smtp.client-ip=52.101.70.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kck9iYH4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GoEIwNYla18iN5+98qtA3ffzo6tkOatxJRoFTOgE6RPaikDY/as61SEIoLdHCYkv9mcjMPKgxSH3W7aQ7yFNsUhrwoPf3Lip9YfmjfrOHivRiXNm3gqnAIOhYmNDkmWPofFlSB9wQYrrFA3kGNTzzj9vkbwHsEJSyhcS9nK4dYdrO+RmRf8m60dYBCed/6B5arew5Pp2zRcXqEVHEfrJf067eNrbgflx4vuJM6WPeoXa2BcQCwvqVjmXHybG5nYA21T1IxutKF9AtVmXXBwzSWPpZNfioqZUDkBH0Z3FCo7GBUREiduzlpEMR/yQxBdItMAxayWr2FYaSM6s0Si46w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6pf2vlhQI33JLuIp+otVW543/HqPHvOAvfOmaixq3qw=; b=eAwrgiViEMshI4nHTA+5YxXzXKU8AV2jpfemu2uUZipXXvyEWZjSSDb/F/QRv8y5sZW7PEEeRTCYBuuxWimggr0Xg5qQgAFPYKcMQU2XkAv+9v53ZllXk0bv7dB9ntQy51wChWUxMKj4VOfblFB+5oOmm5lYt8Cb0mbHn3ycF1DDw0TeHba+rjoGVS7Nixxq9NWU/t0iYxe+ALrmjH9XBOA0wMgpDrRL5ICWt26uhMdLxTMy4bt7rTrOmAEv4PW3jYzizHpooQCjXQg7z9746V4v2YHS3nElKKDgjRYpkbf7EfwJQ1f7CxlPGNDqBVb08t/vQBFwLJOKzZSQ+XWG3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6pf2vlhQI33JLuIp+otVW543/HqPHvOAvfOmaixq3qw=; b=kck9iYH4nDVTF9KXDCoqCoWYAUFqRTeKcAGrHunYSGZ/WS3qALDfBOoaM3XYEZ53KSBM3DqpgY668BDkXbcmrdNXq4NkjAX1x/PWUz1zqHIeCw9tCkLLZ4fLwm2Ep+Db4de67TQgPlNIVExc2ZErcZQ8G+C697o0Bt9PWQlsHOWyj5IiYZ2J2Pi+1T8iO4Nm6buKMDFjaiYmvcIa/WT3Q2w/WhUDX/WBBf+6LjFsyeg2194RmOQ7A3SDlUExAJ5a0HVkH6iic35HPc4Kzu1MTO0aIAaUCtpcP5fVQOho0XcI0VcnDByzp4YTMu2gwN0sCvXPw5ns4Alw9ygWpR8N0w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:41 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:41 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:52 -0500 Subject: [PATCH 07/14] media: imx8-isi: Add support for i.MX8QM and i.MX8QXP Message-Id: <20250131-8qxp_camera-v1-7-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li , Mirela Rabulea , Laurentiu Palcu X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=3555; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=A4z6XQP+PLeK0xyKR3sCZcOLH+Q5jIXDTo+sf8T+3j8=; b=cfe58CewxdkNj2u+Zq4iaSn9Ds6hZ467UXXyqd6pwxuyP2fdqEijm4J5DC/KXHYpyG0Q+HlGz TTnTmDTHVkrAcE298M6bDThZdfe59ZfgBPu1oGbf1YfH6CY/tXW0KuQ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e4ac5d8-b753-4d62-cf17-08dd423f1256 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?KIoGgtcYiAXqo9bKaBPJ/7r5eONF+MM?= =?utf-8?q?t66MVL+41Dtd3tlKrTl0WjpGHTofhVnwEJjdqxLRTgr7eG6wWOEaNS8L22qZrh272?= =?utf-8?q?DqYQNRILqqPHwHO/LvWQUscF0apfhMl/lus4e33rmyvYmj4FvBUoQ6uq3herlp7IR?= =?utf-8?q?TDwcDM08qMqNrVdHhtMIy2T8pBhvRDW2jKXmLrhClGKsRVeP0d044Zg0JZryaP1DO?= =?utf-8?q?JTwCT7T1RsqM2hnDEFQg+6O5H8AW6+ybaQtup/C+QMy3AuusUMFHP93+OPkUFyi+A?= =?utf-8?q?JdX0KoMQd3K7V7LUkKhR1lDXxGTOOPsSTo00EHhD2GerRtW2iQbm+QKy4Mhwx0FB3?= =?utf-8?q?MemV2Ezcmf0l0Q/VYDHcbvWAdRWGKnkDniyujxwHZld1Tz1kO0LSgu13xWyD0jz6Z?= =?utf-8?q?qIGsf2TrhZX1eLsIOat7hVLOQUspMF4BdZAYm/Z7Zxs2ZdtTjlapvu+KYSm5mK/Z9?= =?utf-8?q?JXZ1QJAHEe1EOz9ORZc0ttDVZOm3lMz6oqntIKoNvaba4T0Jlqpqf37nHSWMTVJ5B?= =?utf-8?q?LGoKn8ISa0x3s9/9WrxPPa9Oj6qqCZYBUXvtBjlb0TEzg+jU6X3VB9cixYc8AKTm1?= =?utf-8?q?sMK8VgSZgCPeR5YzMQXPV1cG/P2i6RglEll0YS5zA39dq8FvkjwApu5QhPXPrlkkc?= =?utf-8?q?IhmwsgaqEnqMOIlwPp9ubAePalZ7MsYgggB0bHai2/k0GaBJeZhGJver74AbUJkdQ?= =?utf-8?q?38S5yPBR5MFDuU7kMwr5nWYLeF69lGZSfPRhkSrTWPTwUZys3R3R9g7gong8NWJ+K?= =?utf-8?q?tSw0ohYwL8rjDrbE5jB14p+R3c+5UUQt0F/y5OxCiGxdJraYBt7p0PNdSYL7P4d7c?= =?utf-8?q?KfL2vZpElZgyblxESqcuVM3Vci0Pmj/jRoHleusdXV/ksTnaBuWSKVys3JP4uqfSq?= =?utf-8?q?BLFRMamXp21KWwrivC53GDc64BeKK5VNYvqwAWuaf2UBPZMPwpy1rwXcA8Y2Ea/u7?= =?utf-8?q?+1tVPLee92gal+Q7X14W58HgC/d8sw9T570WTdNcse78osTe9qkZImmnp4x0RJpyO?= =?utf-8?q?R1EDJd3T+N01bVjNGHCRDZV1AsVnrvfnsvM9QMrKhVtsj1sIJv/Gx/4EWkOnRQySf?= =?utf-8?q?+4GQvJTqR/kEXXLyXdb4/+VYLPnAMsw5+5iKKGWs1YFykbjX8rrt0tYufF5fsN7Y4?= =?utf-8?q?Erhx+DcBkA5ObvTs/5rzP4uq095fh9E4tlu8IFkbBJVXeNQdMmrpXX8kLIv23lmKE?= =?utf-8?q?QK9Vwbhsc+9LJmCK98tW9Zxk4K1jQer2QU8/EMh8KiIDHeb/oHhOrH3ysRw79T6Lm?= =?utf-8?q?GSoD6Zk3iIxTto4amJS/ZHElGYQntTexXkJJzNQkbsQ13bLYgIUc76KNH9oP0kDht?= =?utf-8?q?7bLury76pVzXge8O+VjLZxOwrhBJAu3UG3CLvCc1gT64QKbSL7P9XtqisASY45vtD?= =?utf-8?q?qs/W8Lx/2aMajLQvhSyoDWq1ngYwMcpRg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?XEvck+2hBMaYPwMP7ipjLMmf9CRr?= =?utf-8?q?eGO/AgDgc1cgmdLZbhetZW43jX5hgI4ok7F1KtW6PDoHRgXUYtV5RJ1zdZBlpo6qO?= =?utf-8?q?e6G09Htyvl7bQzO0cIx1QdZHLcrFCXqw9NqbbMLS3+VyFARymr3JsnXky/MsRZpsw?= =?utf-8?q?D7HlurnPZBBX9OLNxb54AU3P4BbkPPEDK6WxB5ns73TMMEgyHvBeuSlsGF7YN5nBf?= =?utf-8?q?Z637s59/rf2wBMY0XCccc1SY+zQGkgfkVrwbthvUIFR4rKCOnAXAPE17SrXK9AloV?= =?utf-8?q?qiS3mZMPB0zbhanMuftbWggVU96edgSp8YQH2rqLR6TMHvaYKWTC+SzYzFyVy9yDl?= =?utf-8?q?KAc4GTKLuKiplDKwCejLDUPAkT6EucIYJRnRHiQWhTeI3kcnxXBIti80pPHczDN3x?= =?utf-8?q?HS1duxujONY5RpCw0sfp/vYYgnbdGjUrP9vkQRoz/T8haEIul7XcafnNuzUQ26Mvq?= =?utf-8?q?Ax6vcVdNAeObeAILpXs6Efh5GyLsfjzuQk0I/r6G5tCUW081xYfnjFmdpBfEssiwQ?= =?utf-8?q?hq5Lnj86yVjtvpwotwj0HLFO1YqexYdSOTrgaT8TiK36ZppIzTrrCPGrz42RyChtV?= =?utf-8?q?W7xnkOuaVGpKVRFrZgkr5V1lfneBqX+okAdwjWlPorcwMXk+F9ECYFVmo6v6PEnCP?= =?utf-8?q?1FnOcK/1KKtjwrQ/Bf6TvXS4v1DmKZn8vgCMCII+UlWq5hNYRESFMjeSEK08PMN7p?= =?utf-8?q?+a9ORtzcabJ6jHupdyJHZzbr4lGjYKx6OeFKk0knshUEFr2hOhHJIjtttdzkdnit+?= =?utf-8?q?kRp8NlUu6XoTp18j5tW45zwP/9EENLZn8OtGtp3JXOOAWdiMmjXURe/Zj74PmnVDm?= =?utf-8?q?XncLqfmsAtRnK9TViEevcZKQoCNArX3qLryhRoMslSjZjuM8HtfwI87gfldmO4AEz?= =?utf-8?q?nRZQjm4KFj4oiODFxdU0yFe3ZVgJ/kjpTX/CYyTJQlA14tkMNX43GKMVuu44/VBVM?= =?utf-8?q?ZINxB9AUr2WCVoF/C8YpQGlLhfUi4/nnLPWML4rlxEWQ1vKjZTmI0KoQStuHQ98mx?= =?utf-8?q?2Pi3pqSWA9fCLyxWWSMamAbHPQpIDvS1DdBgYKuTGDRtiyquM7+CpoUDbpxuOTM86?= =?utf-8?q?IvsnNTyNHq2GrawdhKmUHh+4xvtiijcytbWqnu3Kvz/QCLPyoq+KEXplKc62tBSMf?= =?utf-8?q?vNtEmDtpsRiQu0+PSfdB3H0CQnesiPD0Bt5VFIfeqegnkf/OteSx9Q+6K/hqBHo4X?= =?utf-8?q?PfzS0Fk2PZkNBHRFNybEUFn4XY0lR/pjmX+Pe4bHMuZCFyiPs20MJZmI3zGQD+uZB?= =?utf-8?q?KQlhUTJSSoICTzqGi1dt/JnwfVLyvMNmsANy9nNjhvNX/pdYgegF+SJIg3gQ6V6qA?= =?utf-8?q?Tcp6xD9wAbH9He37S6+QQvOkkU51ZotSbBFHHTFvh/hSOLmAXYmOPgdiLSlhV/l6b?= =?utf-8?q?00fGWDwKKDTdTvF1TYAHQ5nVKgqVWS0zdgKOFVvdNzwkpPK7c+hsbSvR5tQdMKqZV?= =?utf-8?q?WEbrXl6VzJSRJ5ETFrAmuapoQufz+40q6fD/O3iobFg5cde2jwKHiqfUT1sS5fYc6?= =?utf-8?q?huwcrCx29yMX?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e4ac5d8-b753-4d62-cf17-08dd423f1256 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:41.5586 (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: f/PcT35EjBikMgJXPrIxhN4i3W6PGfSf7BqXuEwjG7QfMwsETKPQDPLKt5zuUW1OF3a2r/ITLa6Aj5q3hc1G9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 From: Robert Chiras Add compatibles and platform data for i.MX8QM and i.MX8QXP platforms. There are 8 ISI channels on i.MX8QM while there are only 5 channels on i.MX8QXP. Signed-off-by: Robert Chiras Reviewed-by: Robby Cai Reviewed-by: Mirela Rabulea Reviewed-by: Laurentiu Palcu Signed-off-by: Frank Li --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 47 ++++++++++++++++++++++ .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 2 + 2 files changed, 49 insertions(+) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c index 1e79b1211b603..a3237d76f7aa5 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -274,6 +274,25 @@ static const struct mxc_isi_set_thd mxc_imx8_isi_thd_v1 = { .panic_set_thd_v = { .mask = 0xf0000, .offset = 16, .threshold = 0x7 }, }; +static const struct clk_bulk_data mxc_imx8qm_clks[] = { + { .id = "per0" }, + { .id = "per1" }, + { .id = "per2" }, + { .id = "per3" }, + { .id = "per4" }, + { .id = "per5" }, + { .id = "per6" }, + { .id = "per7" }, +}; + +static const struct clk_bulk_data mxc_imx8qxp_clks[] = { + { .id = "per0" }, + { .id = "per4" }, + { .id = "per5" }, + { .id = "per6" }, + { .id = "per7" }, +}; + static const struct clk_bulk_data mxc_imx8mn_clks[] = { { .id = "axi" }, { .id = "apb" }, @@ -334,6 +353,32 @@ static const struct mxc_isi_plat_data mxc_imx93_data = { .has_36bit_dma = false, }; +static const struct mxc_isi_plat_data mxc_imx8qm_data = { + .model = MXC_ISI_IMX8QM, + .num_ports = 5, + .num_channels = 8, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v1, + .set_thd = &mxc_imx8_isi_thd_v1, + .clks = mxc_imx8qm_clks, + .num_clks = ARRAY_SIZE(mxc_imx8qm_clks), + .buf_active_reverse = true, + .has_36bit_dma = false, +}; + +static const struct mxc_isi_plat_data mxc_imx8qxp_data = { + .model = MXC_ISI_IMX8QXP, + .num_ports = 5, + .num_channels = 5, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v1, + .set_thd = &mxc_imx8_isi_thd_v1, + .clks = mxc_imx8qxp_clks, + .num_clks = ARRAY_SIZE(mxc_imx8qxp_clks), + .buf_active_reverse = true, + .has_36bit_dma = false, +}; + /* ----------------------------------------------------------------------------- * Power management */ @@ -541,6 +586,8 @@ static void mxc_isi_remove(struct platform_device *pdev) static const struct of_device_id mxc_isi_of_match[] = { { .compatible = "fsl,imx8mn-isi", .data = &mxc_imx8mn_data }, { .compatible = "fsl,imx8mp-isi", .data = &mxc_imx8mp_data }, + { .compatible = "fsl,imx8qm-isi", .data = &mxc_imx8qm_data }, + { .compatible = "fsl,imx8qxp-isi", .data = &mxc_imx8qxp_data }, { .compatible = "fsl,imx8ulp-isi", .data = &mxc_imx8ulp_data }, { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data }, { /* sentinel */ }, diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h index 9c7fe9e5f941f..496cad3f9423d 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -158,6 +158,8 @@ struct mxc_gasket_ops { enum model { MXC_ISI_IMX8MN, MXC_ISI_IMX8MP, + MXC_ISI_IMX8QM, + MXC_ISI_IMX8QXP, MXC_ISI_IMX8ULP, MXC_ISI_IMX93, }; From patchwork Fri Jan 31 21:33:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955877 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013015.outbound.protection.outlook.com [52.101.67.15]) (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 5B3731F472C; Fri, 31 Jan 2025 21:34:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359292; cv=fail; b=V3Ma9ZtXjPf3hDWfM12nEQLruDUNWnyA0UVWC20+lApO1K9JM2zcrLaTDMMW+F7437HKq18zh2W4fiGbxYEGOCDrE3PA4tLixaubcCp+qSxtIAkIBm90/KjV+NwuswLvogp71wGMl8gnCO6XHt3XSXp8Pb6VFtHPzH6P3wB2fZE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359292; c=relaxed/simple; bh=R5t+/ZXNW3Jaa+QvmuPlbAJLAwqM2EQdGD3IuCTlYTY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=PkxRQ9ow9fOdZ0N7MY9x3SY/kRapcbiZMzqnTYC1LZfcL/lWFdHx5zDGumW89bs6YL8NEkBK1X0z8An0j0iW7Mtfuq42OLnAhSR113AX52KBkWkSJ90ZobJH0VUSO31sdkC+tc3lHcmJ2cZ0tsjwU0KnGSVbd6xEnyvhkbh93Fk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=icI83HI2; arc=fail smtp.client-ip=52.101.67.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="icI83HI2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YFI1bnA4LMKOkaZ/EFAZmjqSEQrRjc6Me+0MdIyVIavJz6F5IydgWI7UTXrP5i3INzAzrV+hfY3GKnyH5t1r+5ihcuEOAaDdYT9L/8TFp3Cq5n1QWik0mHZtCcNhe0HqaaPwQfGL4rygUbSD4RUnvsHoB5GN9BYN0tFbnfyxh+8pyDFrCBnM9ZWeUMBc8jDhGZqQUYzm5CNHUGsDFNXInuRpP+Hxj+r49y13hs9NeFtyXykvWE6qKsW0HpocMBKpAR4AMTov9gBw3vqfPY8mByT1V9lxq0L90P4ibwcZB6zXU3A+wrTUdObMmGuEkPgZ9uxMR/sg75tS8tIYGyJLVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=K7sYQPVi6ujWW5Rt6k6pkwPR4oea9KE4jLO9DMxcO6Q=; b=Mll8hHNKKEr5UfViTC77ELtajIdAVaT8spXC1ZQ4yi6+tqFNZhXAhYH2wDBgoA1CpUeh45WVbSBtTVmknQ56D2TbIqktpFYeswRqaLc0EHodXLe6H/I+76FcstEZVem2E5LAQ1mfK7pW9wA4pZES0DNZaVXbCz7M1L6ufmLmvBkriMyL2MXh/NgiiRqOEVqKlOQ20+CoCvcxKCgDrfQQQY1kCfrtLwIDAHtf3dmy+wqA3q17ojlwkSa0mSaI0lzMsOY1L5/z3WP1AZNycbBZlQ9APtty7SvGWjebgJvFDc+mbRV3AIjCvUPOLlMKEB/YyRbPjeJQUoD5JDLurX3xxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K7sYQPVi6ujWW5Rt6k6pkwPR4oea9KE4jLO9DMxcO6Q=; b=icI83HI2y8g8b9NJbmZsMs16jQaUaqoxfickw1SSq7sXzzob/s7kXwUYKPU0cSwD+GcRD2+MI4WZRWo05tEWETkgo0ZxVGpdwMGHBFeo1aN6LVPuZantGdEYtYYAN0IJvxe6QXRw1WlfZD9IkFHafgZUEphURohXrRHFQ3byJYrxSVn2rhReXBP7OPZ3cb9xxHdyAipievT5KalJz3cWuAufq4fRGYGV8lhTdfDf/F3See+DCFaS/agPSmoJsbDf+NMrKVGJrS+yXMVczoWm7uccQnPb1l0pAzC9kpciV3gbWFcDzSRZCIHnlksO8mUE9GG5UMLEZgnn23qEApw/5Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:47 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:47 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:53 -0500 Subject: [PATCH 08/14] media: dt-bindings: nxp,imx8mq-mipi-csi2: Add i.MX8QM compatible strings Message-Id: <20250131-8qxp_camera-v1-8-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li , Mirela Rabulea , Laurentiu Palcu X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=2150; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=JNtGfG7oYNSgfXhw1+locx43vkgnzw9x8oafgpMA04I=; b=Oc7KrPS8+UltuOn7aGmnoDb/OiuQKi4TE6WD1zQjj1KTMRJccrZajD4aw0pGLzjYbBiGjEL0S qJh+3ifIFDPBXiRfiVj0qDuEWY/regD+SRKhQ3h4c1uqtGFrg83taag X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 03cc759e-1c0b-4870-e4cb-08dd423f15f2 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?pHkkx4oRUP/xbbhwHiU6JfKO0MuSmiP?= =?utf-8?q?B/RtjR0Yx5clTG8S2t4ZYV8E32yoVpJKj6TpIyNrz0TcqD1aO2HhVXIsE/Y8R7lY9?= =?utf-8?q?t8cfBoODkdQG7I83TGh4bcbqBuq891iW/GfpYZxF7Zpx8N5QkLwsWK/ANdbYdiBx2?= =?utf-8?q?CGgEC1OLfd3U5DwutKR763pQZz6ruqHyG9H1i/IzmfJTvLtNmXIHZrVRt4m6q3EZS?= =?utf-8?q?Z8TX3BZ6akrLRbM7vT626QsURADce/ycOxE+5SPNwM7xUvXS90yJRzcefJ44lDGZf?= =?utf-8?q?/Ewrcoj8ku4dbWEwTWKgOF2FpErlULtRRvatn3T4VKSTF5HkR8Na6RMMgStL1BZXV?= =?utf-8?q?+u19pHAxHAq0oHSmJHw6PefajAIzXjAdDo1+HTqyAfYDqH9YKi9937W6y4C5v20/W?= =?utf-8?q?c/EjedfALMVeZvo8N5XjESB8fSnkucpdWmGIS9YNVmph5aehuidQ6Ltqssuh3M7Z5?= =?utf-8?q?S62AtYO/0mNaQxSmhyq1eLzTpnKpGgFrGC77ztsDMONcTwLH9diHnePj+ldH4QdsU?= =?utf-8?q?HXL/dw+9YEkuurtqiX9IBuBljvvs/3i1WhBKMT1eXPiLcEni4U0KmV/fWBRtXxa/9?= =?utf-8?q?KyufitvjrHbYvTnLfAI734qVqMkx/Lt1Y1qZCCvkFXllUVAnbq5X3LgXQW3Q82LU5?= =?utf-8?q?eoRVt6+g9VLeRlzkyW8drL/JaEdXQQ7cAzaDsJeSp+NpfoXHZ/ZJv06k0ue3WNayU?= =?utf-8?q?b0w2sS8Izgomcof/113ScbOjB8REdV0tgJepBiYvl/ulld5cz3h3wvZB33D85JbAR?= =?utf-8?q?11nGKD7CrbIJGsBqzfmtQrdDe/3BHx1EK5Bw6QIyhA61OlRf3JV4W7HtNFh5KayOM?= =?utf-8?q?B4h9xWTdH8uBcEOzBem5Liv5jCTVyf52xS0HjjwZMB41qDG374TaimGKgnI/ldYQZ?= =?utf-8?q?nVZNTCEYgAdpU6eKHvBBDxANAtWztUULF7ExlQYN5reuVJt7Xbouo342ffdqdbqLM?= =?utf-8?q?2dfFsMf8IVRdoe3sZWM4IEAkFRlAt1/42boGJhA2D05KePS2yWLQgZ9F9JUjDh/3a?= =?utf-8?q?VmXnp9r3aLScqvZkX8+okCrUxYOL98PSkB7QVdGufN1/JWJZ5ZkdIcC0GPdQV9yEc?= =?utf-8?q?PaHOFYldJK6OqbTwqveOGSbkS07dLujQB9L3QRlhwOeAtqQLf66e9utC59I0W/jg5?= =?utf-8?q?AttKSJvAFLQL+wqPAEnfoasA2GefTmQBtIHr/dZAcv9HhLKpdXxUv9PDjrKIWfaza?= =?utf-8?q?qeO9ePqkOOmblPRTdh1IMGdHPs6sIP9fRf1n22KnGUla0iy/2oBO/0e8sI7V+agwd?= =?utf-8?q?RSMyq25FktRujTHucVd+Vh873FqfQV1J0zSguSkO0Lprfk8zqM02uN+WSBK8erApO?= =?utf-8?q?m2v8HdWaxnT5jhzzmslRXLWNOdxDI2uDJd7nfZvHenCnbYoyd1jOEZ2c0xOnW1taj?= =?utf-8?q?wJGXzHhQUf5MFpE+cWHKnwRfy84LoCwng=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?J2BZdGwxuKk9VHUr6DbsrNArLVwU?= =?utf-8?q?KwueQfQLK1IbEGAUICgfzfuvs7kAWFbRE1JikvwKBlC6uj9D+4yDlFMkAOwDCr+R1?= =?utf-8?q?z9MlHhQ7J7QhtVAFqRaIZ0JzjMBDO/JQTMyD/EZA2mBRChs/LS8J2k6eq9LoqUEJ/?= =?utf-8?q?P2peE/rTr2LqYdalOcxf3Vayxr1+fjxOUcFu1AUzSAhwXm3qHhq4nLERL//Ckqf/P?= =?utf-8?q?JvXaXcWWesuV2ddxZazrgJfe0nn74MEJW3UMIj0xoueK3aCNJuG5wo5HCXx+/t4H0?= =?utf-8?q?c4so0dGnRqXD/mdhABwiBNOfHfFYsAxiOkZ7QRHIj0M88ek2Q/8roTI5L/dVRbUPE?= =?utf-8?q?Y2q1uGrHQ+ZcuG5D0Piya725VqV8GMKLKJ9O3JroBhogRMN2n0DvNcvCQ6uONFlDk?= =?utf-8?q?K1FPxnxqkV0m4yCSKk1pKsdte4L5Yls+44LyxKrvJ6eJetnZOH732Pm7zPvJewmPI?= =?utf-8?q?FGVwEc37R0zjybLhqioVltKSAKoPIwDtgT7JuaZP7MlNPA4zAD/r2QakZTxZ5/Cxx?= =?utf-8?q?ue+/TQTc7DJQgF/u0ZzpPF5WPmGdN/FQcwoL3TgTASzQyB9wKFrRN8OriAOHFLsVW?= =?utf-8?q?0iTcWWXhNs/f+cDfLc+5dom3aimCNiVd0VWEIpuqdyWgA2tXeKzu5Ehn5Pu1BMc/Y?= =?utf-8?q?R/mmt8CyIk/EmsUcljqIuo/SED4W4WaHu9nHUNocJ6zK1vKgfvE0cAMUvXKTlmJk4?= =?utf-8?q?mBcfOeZYYaq80d4ZZqP1Wy3gyNz8Exb2Wf2AugEn8/F392tq9fAUanlR2exvbSI1i?= =?utf-8?q?ERDyULHjAcCi0Cdf/we5pQQDRFXpk+wZKhSon4sa8bjTDuRtNFlsCjbyLnyiw5Ckl?= =?utf-8?q?djX2/3RANdCVylg7wd4yGR5IOS6Rx+gWNHTjV4HDbD7e8tRQowG5SWop9H3SOQ4un?= =?utf-8?q?jE0eai+Ju4IqzrnakeNNYKpjtvpzmojN4YzHZvPwF9fKBXaUhrPRfBUMDb/cK2eSG?= =?utf-8?q?BuwYy12sevVUiSoki6/6pPTjqYsPT0zMge4ZABX+QW0xrGcukljQmwWbwl7O0P3fB?= =?utf-8?q?sPN0Bx5FvF4r6BwAcRBhL7svnC9mHXY2URfctw2lY8ArWoPXF5o7H+9nUG2DbB1ZG?= =?utf-8?q?Ik3w8X5ZB1Fsp4wDEbxHO9EzRVyKAtAKbVYWIyp7ZgIGJ7pRHOkIU7/MlCxc+5tth?= =?utf-8?q?QzS6KXcRfGZvEuiLVRttIlpE22wrwZF8LTckaKRAINWxmBtBKIFZw9ltSAlX0VmnN?= =?utf-8?q?nOtYotLVNO1Xm0Bkw42TUfkuvxXb/n4Ny9byVGIqut7YkMFsCGn0O5APJv1Fu+nyP?= =?utf-8?q?/1qGVAqzJayRrDidUdLAhGAbzJzRjOGQDJNktW9ojUMiVsccuauYkDBP5dJnCEwSm?= =?utf-8?q?QLjCrxMr/tYc2JJmRndftB/AWLurfkcT1dcntzuaU3crO15MmRJjLDL7uEfcXWCTF?= =?utf-8?q?Izg95pxCz5H2Ed6v6AQb2CsH/2Yrj4W16HfU2CkCyR5WvLaHjx/QJVQmnAf/FkX8l?= =?utf-8?q?phZHRmc6SkNskhlM8TIxMZs8TjlcAOo6S915qLgizyijqB6g1pspRWks=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03cc759e-1c0b-4870-e4cb-08dd423f15f2 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:47.6301 (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: 0QiFDOaea1+NVpbXkvDx2YLsjTfcq63u9gEj5Wu1rMlNK9LvrrR39KGv6oO5fUgNWVGAT2LUVmlVufp6EsgsQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 From: Robert Chiras Add compatible strings for i.MX8QM platform. Remove fsl,mipi-phy-gpr from required properties and add 'phys', since i.MX8QM use standard phy interface. Keep the same restriction for other compatible strings. Signed-off-by: Robert Chiras Reviewed-by: Robby Cai Reviewed-by: Mirela Rabulea Reviewed-by: Laurentiu Palcu Signed-off-by: Frank Li --- .../bindings/media/nxp,imx8mq-mipi-csi2.yaml | 30 ++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml index 2a14e3b0e0040..91c4d8fbb1f8c 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml @@ -18,6 +18,8 @@ properties: compatible: enum: - fsl,imx8mq-mipi-csi2 + - fsl,imx8qm-mipi-csi2 + - fsl,imx8ulp-mipi-csi2 reg: maxItems: 1 @@ -39,13 +41,18 @@ properties: - const: ui power-domains: - maxItems: 1 + minItems: 1 + maxItems: 2 resets: items: - description: CORE_RESET reset register bit definition - description: PHY_REF_RESET reset register bit definition - description: ESC_RESET reset register bit definition + minItems: 1 + + phys: + maxItems: 1 fsl,mipi-phy-gpr: description: | @@ -113,9 +120,28 @@ required: - clock-names - power-domains - resets - - fsl,mipi-phy-gpr - ports +allOf: + - if: + properties: + compatible: + contains: + enum: + - fsl,imx8qm-mipi-csi2 + - fsl,imx8ulp-mipi-csi2 + then: + required: + - phys + else: + properties: + reg: + maxItems: 1 + resets: + minItems: 3 + required: + - fsl,mipi-phy-gpr + additionalProperties: false examples: From patchwork Fri Jan 31 21:33:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955878 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012050.outbound.protection.outlook.com [52.101.66.50]) (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 59DCA1F63DF; Fri, 31 Jan 2025 21:34:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.50 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359298; cv=fail; b=M/NUwnOOMF6ZiybkLnPoOF9n5yDrjWgCPHuj2dwDcYtdS2DUGgvhK5AcoVjUPEC1K20yDSfrOMLd1eoAP19YkunqQAZzdPTtZifGkV+MIm8uo4dCPFzALy4P/8ZwUuENpBEl2SAY3aHY4lJysxudRhvp5cb/16Pa6rotMsQUcoI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359298; c=relaxed/simple; bh=CPvDy3Ge2QOQh4jJmGCEfP1PLWvtY8UqiifcOnps5gU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=grKYjALU+6oWCJSjeP3o/AnHmbdndyzFaB0XIz5DkXqGJsQLnU4I4DnLTkXDAcku8m3ICbCyaY1VxM3H4wBkNeRp3TmwQEzoM3WmbPrZ1a0k2Cf9Ot4CqUb3D/TLZjtBRrSszTjHZ3qGpouSoidnGUgT0/D1XBsXnnDFVgvpOe8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=ZekVgyG8; arc=fail smtp.client-ip=52.101.66.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="ZekVgyG8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YmjNuB5vRbMXOAYxMRaY/gskHFZZX/4E4/FhAGDhHPX4hEZBX4B6Wa7gY0LNJpZLfLmI3mIjEHCxYXGg6BHQXM4qzBl7Ll0fIJ10eyAya4BtEI2mAT15cnYBQbBylGzEZsPpyTc0f0j0DW6+ZfvAkmhTxfGtSu8uupfMmPY/BXuHrSgYYDglhQIb/FYOQM9hciV29dy07sU2uOx3UGhsJfLTayjetJ7gmYSH6/9gy8aCaXaPFiKXlyNA9vvOqKtXNcb1c/x0raQtpgKcK/yeiPqhNAo2TBm/yLKTJW/MsWctqWzV1EdIJDFuWzZfM7yELQAamyZXFsArTL1ERQcX7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9HSKfbaLEraRA+Gx53ZKU1HqU557OEjqeB1wIjDieYo=; b=sbhKgYCYWKE9NG/yJBjDMrIGozwzsedCxX3EeLe2nBxOSir56JbSzZlkHRaYVe4gWXFvv0YH1TzpgPkNcu8F6x1NPC4BbOfxsUCsxtj9dBXKD9QoKVSv/FqsKUimyCHs+4mZ2gWi40rSkXYlwNsqFE0rhrjt4vlixCe8sWoDKMAAZVgnRE44d62hRDz2MY/UXf5gRbs1Fwm7yRrq3mpG2C/J163oKmGBOI07qCrB5Nq4a5DG1+ApOD7iAZFyL4KzoHtT+1BgQlb8Shs2LAJKAQF69Oun1P0LraA+0axZI0/7a/CTS4fEeS/pXwjrv0TD+Lgn+7TIR2a0pBJe69ESPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9HSKfbaLEraRA+Gx53ZKU1HqU557OEjqeB1wIjDieYo=; b=ZekVgyG81A/8yY1cxUQO03Sv8ZjINWeBLIsrVdzCeUfQmStynVa43xc+vi0AIsVvejCywk/glVCxbIx2Yots8A55o37IaZs7/3oDaBe/Omay0nQDSD5NM1aVTl63Hsccs63EMe9maTyTAoeqFOtw3R8+/8rrpDH8bmhLe3UFaK2u8D9akzXERzJCLpfoF6JGDEL5Duye8ulapDj2+uVaSt81KOeqh8nW3zsbFE/otaph2hb1v7bGHkOVUF8fM62bnGl2D801RhWgEMu7ngWTl5cosoVy0njTzU3mNyTWYdfq2Spg4BsG0MDulm9n4fLzX1iJCYa7IubboWp7RCPNcw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:53 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:53 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:54 -0500 Subject: [PATCH 09/14] media: imx8mq-mipi-csi2: Add imx8mq_plat_data for different compatible strings Message-Id: <20250131-8qxp_camera-v1-9-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=4259; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=CXhxbITFSLWBmd22rrPhYJoChgSX254KvnZOLWQTyXQ=; b=QwiRZ5xBjXOIeB0M3FdlWsSAu/utg+3PXTgjI6yiqEtUsY+48Sgme8kpwRY8Yh2vdNk6UwAdZ WJKSbL2QeSgBr5ktJn78du06BZWd5tTjLxOXqERA3q+70t2PcYVIzSp X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e5f3fb6-e052-4acc-fa14-08dd423f1987 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?jPacl6Q5Sw590jd6KGBxDC2HN104XSn?= =?utf-8?q?DFSq3lRFOwbkwXrRNztSX5QPbNbmWWtD4XRyHaj5O+o9hxhXhfyqKbvWIgpxvRMj2?= =?utf-8?q?1CMhIFW3Nsd/aOaMUOYBmj9baop19WmoPMYwphuRz0DTEtTiUs14hZAkTvOgYSR24?= =?utf-8?q?OiJpTnn72SDhlboTCgv7G2UC3c0E9b/YOfaieMRgVV18JVASfz85K6ZCZPdl8J6e4?= =?utf-8?q?jjBAtAEzoSCes92XMljf08AWgH57dWp8qUQT+bMdIqMmoBX3TepqVFKbVOC6z8Owl?= =?utf-8?q?jydlNU7VksoRTy70q7JpvzyO+9ehuaAM2qgO/ooDvyh87Riibo5KuVRHPpRwvXuHm?= =?utf-8?q?4J1Mb5QaJd3QCJ1N3Jb+vt6DS+XTWHNznKnzSC10BvMf7zLt8oeIYdLLKnF+a3gMy?= =?utf-8?q?/FXDrrz01QWVfstAuWjXybzBrU07ILp06Jo9L5KSw5V+sx0ETYTu6HoVEfyAgVV4a?= =?utf-8?q?88joUof4Dic8r+sXnlJsr+39MGZVaISi+bwDDVAiIOpR/Gv4IEz2OHj41Wv/u8OvF?= =?utf-8?q?fjkSRkbTaz3ucZhVw2siJA7Vx5m6CnVXW4R7nHMmxBSa9/ZlHloEp9mqvz4q/WiaD?= =?utf-8?q?XEtbVNX0J7q/WbPBwjgmD0OtsioNWc+eTppwbREUpiQKzOHVOzIhX4DAXQpGxDJ0l?= =?utf-8?q?ZloiNzlsUqBssaSfwfyfuRUdT0KzIpMrMBOn3WkoyuCRW2cuKbKOcqG5v3xCRYt4v?= =?utf-8?q?Xta+yjiyLm58CIFDGYMXP//miglyr+mL7+pKLHbLqIC/3R38VuFSMq7jxeLE+VTs4?= =?utf-8?q?XYMTd0a4LR1Eez5gFLC1W8g+vF6kzx7vh5eecGmy2CwQW3t2Z+NOqVq44sdOxslGl?= =?utf-8?q?H9ZuQbsGXrZHoF89QztU2gPlgnC/5UZd5Tm6fhjZ/qULo+acUnOYyhBjI6Au4w3dv?= =?utf-8?q?XtLyz/rWLPwhTce0gDH5aufIppJQePKs7CGRFC51I30V1xOf5KcdRcbywDNCx0o2k?= =?utf-8?q?fldznQeMiH5ChjcHgin4bVdZkFUNcGAPeKe2ysSEOqZy0n8VrohzIIeYuGxN2TEu2?= =?utf-8?q?x5cme/vpPUE85JI+l9NUBCe68VAR8+IAmulpSwIUYLRtnkf71m78tvcfEeJEstxZj?= =?utf-8?q?Dxe2SbU+IKyRJOzSn0wgJIWk4WSbIcNV/72U8lQwmz90fmYnzX6Fdrnojc26KftI5?= =?utf-8?q?4quECaX6WLgyqbU6nUOGSl29kQZhCJAwNHnjCn4rWXTLJ24G8gYOoUYZYpWIJW9OJ?= =?utf-8?q?h8BsbSAg8IiqGyjrXqHTrSlPB9020etEYE3nNSp0Awv/lGIeExsEEssL6Qg/nPSgQ?= =?utf-8?q?DE/fmuZ6X4KbPkOI1UKSlRGrjIK0mZ40H225oR1s9p814ifl8yIy96qOckZ5bqyJL?= =?utf-8?q?8kN62vZ1bbN/FNtAYppPEEtgFc/h/QciEj1sDsBlekd+efnWr8tTEfJ5ZAiMm2Z6f?= =?utf-8?q?/0wXlbczGut6g06jjH4Q2iis7hIFvLpUg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?YNGxfmlVBMd8hJjP/7MsWzsLjwoh?= =?utf-8?q?oaeMi1CX7KfUdEEObeMEbaT5OjkhkiL7Is2F5Q6jKd/5ySwVAiqBP7eJJnBSHIH9Q?= =?utf-8?q?r7KuAvql/ivX0rVpoW5eD5706FoniA3ZFRGIYIczclwRoIF8J4TPB3E2EoLWN8IrS?= =?utf-8?q?JiAOAyjidfnZ7ibgU+rFi3Vm17gM1c6ZJbp3OPE7Cm+2P+klbLB7+AYv2d/MRqL9U?= =?utf-8?q?LJpQu7DgzvgYYAjbRreKrdNHQwvCFciCTW2Cek9Sm9cGuTRSiMHhcjD4gCAlZQ21H?= =?utf-8?q?dDD9UzzfeMzmY+KXgaN0ZXyD3nNG43M2oJpmzo41sbp2JjhedKXv/aJxaE2JkL7NS?= =?utf-8?q?EdfLk77RCOkQw5uDWhIENMuu3Pp2s2ZvQFD0gg8UUKRy22PaDOwNQd587OKQONobb?= =?utf-8?q?uZrIj5qJBGKYq4kCBu3V+0TcCzEHLHp0bmVtIgBK4MBe8h9i+Ws9SagaAY6R/VPyu?= =?utf-8?q?MWs2MYLCMYgQy/1l03evB+tfM55Ea7p7R/fs++wL872qL//UOOv4B3lPanaHpJzJW?= =?utf-8?q?GHFDDr1V/vQoGGIgfB0zl2CnoHFXRRzhXpn4TtQ8G81OIB/I04x3OqpWlz5VPNbyZ?= =?utf-8?q?AF5P2yCo6/1kzLZHi+Du/P2rfESt677oeoEFRvQfa/8jnYg/4V2R1dQipd6JfdTRo?= =?utf-8?q?rc9TYVo6YCoTa4edonMPEBm8jCJp6lY8OfD3VHP5iimOLGX2Tc6S5Ok9e9omJ8RWe?= =?utf-8?q?49rOLFF94qZmlzl9sPPC0ylRvq9j7uGuMw79xuJqC3RoChWIXlRoKyC5Np5W1Ct5O?= =?utf-8?q?wRfQf4IyZvzs4mkhhmyDb85IUbpKuyHiYALbZ4vHIx/cIQ/Un+7Y6c7XTrXr6IYli?= =?utf-8?q?2LH7DXHA3lxkKqDV4f8P9z8IS32kjjysmF9JqoU31PFzKgi65ahYzlYjPxy/wRP99?= =?utf-8?q?8De4/O+Tm00KwrMLmRogZ9sKLQNsmTd8hvVrBxGxljVaaM+u5GPbPq8fcwEMilEpP?= =?utf-8?q?IYq/8LsWNresZwT89IDBAe+f5lNWvYb2IeCZqlfFDQFt9e61HKKbb7WmIBIpaFRI5?= =?utf-8?q?1P5IA4HM7X0R0QAMrlb2OaWY3s9oVxYFloiJNwx/S0vfoKv9pHNNVBew2dx10F11o?= =?utf-8?q?FPWewoxYwqIlEfj9fkeumo2tsIuR80kG7jL7RZznhK28E6eEDY1VvKC6JEThPjzx8?= =?utf-8?q?UcKx65jbWk1zlTKhga6sJZzJdQYEQtV0R2yjPPTQt+sjY65F6FsqA44bbskL77vCC?= =?utf-8?q?V8m+CiauVxtN74UqC7Pc6goUGhbcUEihwX6tc9unPIv6Nl6aVLyRndKRfXFIIa9Mg?= =?utf-8?q?BNUIlAza1RiWNS8pIrMDerKQNyAozBDJ5dT8n8jaU12OPpUbqZY5Dz6KkMkOAUiSx?= =?utf-8?q?sjZttumkt9p01qpuISpw//Rf9haDcaMSz6yvSoxskdQjATP35o5OlQ57nu/OH5+6b?= =?utf-8?q?npt81KdzdthKG1HKkzajqc/a0sL5HUBbiPXG8glUMqKfWXqNbyCEB/HcBfU/UxUVi?= =?utf-8?q?Q2j7QgQKPQJtu5+wsvDSUQo0XK13bIb0mfjt/tIBXYwT+B8N7ta7M8cQ=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e5f3fb6-e052-4acc-fa14-08dd423f1987 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:53.6653 (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: e2AobA3VjC2u+SZhJzLJayziPaM/uPQQ0REIjiIJCcKEYaU7aKCWII40jsk8bisvElexlfBkrh08J4QwGno3zg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 From: "Guoniu.zhou" Introduce `imx8mq_plat_data` along with enable/disable callback operations to facilitate support for new chips. No functional changes. Signed-off-by: Guoniu.zhou Reviewed-by: Robby Cai Signed-off-by: Frank Li --- drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 60 ++++++++++++++++++++------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c index 1f2657cf6e824..b5eae56d92f49 100644 --- a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c +++ b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c @@ -62,6 +62,8 @@ #define CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL 0x188 #define CSI2RX_CFG_DISABLE_PAYLOAD_1 0x130 +struct csi_state; + enum { ST_POWERED = 1, ST_STREAMING = 2, @@ -83,11 +85,11 @@ static const char * const imx8mq_mipi_csi_clk_id[CSI2_NUM_CLKS] = { #define CSI2_NUM_CLKS ARRAY_SIZE(imx8mq_mipi_csi_clk_id) -#define GPR_CSI2_1_RX_ENABLE BIT(13) -#define GPR_CSI2_1_VID_INTFC_ENB BIT(12) -#define GPR_CSI2_1_HSEL BIT(10) -#define GPR_CSI2_1_CONT_CLK_MODE BIT(8) -#define GPR_CSI2_1_S_PRG_RXHS_SETTLE(x) (((x) & 0x3f) << 2) +struct imx8mq_plat_data { + const char *name; + int (*enable)(struct csi_state *state, u32 hs_settle); + void (*disable)(struct csi_state *state); +}; /* * The send level configures the number of entries that must accumulate in @@ -106,6 +108,7 @@ static const char * const imx8mq_mipi_csi_clk_id[CSI2_NUM_CLKS] = { struct csi_state { struct device *dev; + const struct imx8mq_plat_data *pdata; void __iomem *regs; struct clk_bulk_data clks[CSI2_NUM_CLKS]; struct reset_control *rst; @@ -137,6 +140,35 @@ struct csi2_pix_format { u8 width; }; +/* ----------------------------------------------------------------------------- + * i.MX8MQ GPR + */ + +#define GPR_CSI2_1_RX_ENABLE BIT(13) +#define GPR_CSI2_1_VID_INTFC_ENB BIT(12) +#define GPR_CSI2_1_HSEL BIT(10) +#define GPR_CSI2_1_CONT_CLK_MODE BIT(8) +#define GPR_CSI2_1_S_PRG_RXHS_SETTLE(x) (((x) & 0x3f) << 2) + +static int imx8mq_gpr_enable(struct csi_state *state, u32 hs_settle) +{ + regmap_update_bits(state->phy_gpr, + state->phy_gpr_reg, + 0x3fff, + GPR_CSI2_1_RX_ENABLE | + GPR_CSI2_1_VID_INTFC_ENB | + GPR_CSI2_1_HSEL | + GPR_CSI2_1_CONT_CLK_MODE | + GPR_CSI2_1_S_PRG_RXHS_SETTLE(hs_settle)); + + return 0; +} + +static const struct imx8mq_plat_data imx8mq_data = { + .name = "i.MX8MQ", + .enable = imx8mq_gpr_enable, +}; + static const struct csi2_pix_format imx8mq_mipi_csi_formats[] = { /* RAW (Bayer and greyscale) formats. */ { @@ -364,14 +396,9 @@ static int imx8mq_mipi_csi_start_stream(struct csi_state *state, if (ret) return ret; - regmap_update_bits(state->phy_gpr, - state->phy_gpr_reg, - 0x3fff, - GPR_CSI2_1_RX_ENABLE | - GPR_CSI2_1_VID_INTFC_ENB | - GPR_CSI2_1_HSEL | - GPR_CSI2_1_CONT_CLK_MODE | - GPR_CSI2_1_S_PRG_RXHS_SETTLE(hs_settle)); + ret = state->pdata->enable(state, hs_settle); + if (ret) + return ret; return 0; } @@ -379,6 +406,9 @@ static int imx8mq_mipi_csi_start_stream(struct csi_state *state, static void imx8mq_mipi_csi_stop_stream(struct csi_state *state) { imx8mq_mipi_csi_write(state, CSI2RX_CFG_DISABLE_DATA_LANES, 0xf); + + if (state->pdata->disable) + state->pdata->disable(state); } /* ----------------------------------------------------------------------------- @@ -869,6 +899,8 @@ static int imx8mq_mipi_csi_probe(struct platform_device *pdev) state->dev = dev; + state->pdata = of_device_get_match_data(dev); + ret = imx8mq_mipi_csi_parse_dt(state); if (ret < 0) { dev_err(dev, "Failed to parse device tree: %d\n", ret); @@ -946,7 +978,7 @@ static void imx8mq_mipi_csi_remove(struct platform_device *pdev) } static const struct of_device_id imx8mq_mipi_csi_of_match[] = { - { .compatible = "fsl,imx8mq-mipi-csi2", }, + { .compatible = "fsl,imx8mq-mipi-csi2", .data = &imx8mq_data }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, imx8mq_mipi_csi_of_match); From patchwork Fri Jan 31 21:33:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955879 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012007.outbound.protection.outlook.com [52.101.66.7]) (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 9B8AF1F63FE; Fri, 31 Jan 2025 21:35:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359303; cv=fail; b=RRGYwswrWqAuQaA7ueX2oHgeIAIhw95YI6geTZ+dMdJubWIggkdJq8nCfbBtUblHz7Oae9SF8vUmeszdq11icrJ3QP5NCOTU0FhS0H4Ngr3X6xjJYicXV0Sqzqe+7ih/8F+oeulFt9wAi+K5/00yAvDU4HpedIfVHhKnYy1ARPw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359303; c=relaxed/simple; bh=1oLpwAyrYNf6Ig/blWTgvYhrlicXZ0tTYOH1sW3sX70=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Q4ijiDqaMPndGoKEwpQGtZnXWoofba5Hyog5us7UluotWqOLtr2sVpa3q1eo896dnFQgws1uY1ddk8L4talNt/vvmH7rHqOhNh8bM1FV/uZa//h+XYmLrfe8lx+oKNW7Nsv8hK8246M1er+G+QZrzssPOpX+HDjtF1jhEaCQ7ZU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kq0Y2c5k; arc=fail smtp.client-ip=52.101.66.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kq0Y2c5k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iE4mNMfqVa50kRh2h0+9edgHYPadvYemjnjDUaQwl/JudWB+q9M3jtC25AF0z2T7TZR1MStW9r08rW+2fAMo8ke8ERBMIk95F69CM1TE/iUkfPCUYJE9ZtNd4JRvkTptkIYfzwU0nEQYwWAq3tcbfjqPjj0a2CI0mBk78KBOdiwjdL/G63GfYugPXd+sIypDH6jhxwNSCcoFQoaAEboS6Et+QiRzWkdU9AhuZcFcXZlzyKbsakKj83k+haK7wNuDkTTsaxEjr96enQrCnCXsKdi/LapEb0RM7s6QvdB18fjtBXCEpubxgH07xWh9Xx5RBTa9Y+bM9KTRa3iRqmoU/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=y2VwGfFdXjpracPZASbDZNkCa9YmcKdmrQin11NIj+I=; b=ynXC2K9yu8Olpx0u3ANunpj/u9hyndIn6+JOzjCFEbCiPr2VFqn4sSEikwESjADSiV3NlDlj+UQ9wc4cegcBqtk4MBbqBd+QMyNAHhBnnqXREtnkLJqyAFx1xIM2S8jvnyT6zjApxXTwgfJ4OwBcRdog/RcPD3kuv9GaS1R7jEBG7h3rbcxcQl+X1SflxNHFWcss5JkNw5S9OImL4wJ7qUsvdKJx+nb46XkuNpLyWUH25WpgmVfLa6KtGL7o90LqjV1xN2/ODoEW89cVS5B+J4nxdWmXdRfW5o5Ci1xmtxyvkys0LUO8QIulGglhW7jp1128x6f5EZh35pl3PKdTIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y2VwGfFdXjpracPZASbDZNkCa9YmcKdmrQin11NIj+I=; b=kq0Y2c5kGHxcn/Eowx/mYzRFJLPLTFQGXbnkdOT0/o4aFpkqdPVDjA0rQVObvPSH6306sdlKoEysjaCKz4rNpqCLFTIoV/6teGeu4ON8zuhj72zvyojOrqdH2dWVNeSmtZ8/jT7+0NR+KoE0p+yPAUWau2S5XQ5bG673I+E1fEx9ki9ve67byjQIkVejFXGZXxGQB0ThWdgMFhsNBzjP61hwig6oMMj31v5qRgfX3zEeYDso2qVxV9VI+baIns2ZewGFlbmVgEkhEd5YNUDu/co2nt+wAoadOgrMLgP8ICrKRHWl2Bz8TUsqf/PcfPPEtlKE+QuvbXNPXxEGloFm6Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:34:59 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:34:59 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:55 -0500 Subject: [PATCH 10/14] media: imx8mq-mipi-csi2: Add support for i.MX8QM Message-Id: <20250131-8qxp_camera-v1-10-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=3213; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=1oLpwAyrYNf6Ig/blWTgvYhrlicXZ0tTYOH1sW3sX70=; b=2oKEwVa0aL78BBv7CBxujsD+7GzrfomFN/iovpE26hG8HGvSkETKTgyIfGiDGIPXEtAzRgE+d /bsrx/ZkJEvDM4IQPYeAdz+SNim4Vc1qHmv5xA0gz1ngmUaC+M8H1jm X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: eb9d7df9-b9fe-4f98-d97d-08dd423f1cee X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?gEHql5F221Gsvi6MVQNDml2W6OePP4E?= =?utf-8?q?1eXsbJSc9F1z2hb1yHVaC6XyFMVVjE2rqWn+CLv6Ui+PGKI/LyjfpBhaoleLMI/4Q?= =?utf-8?q?Zndei5QVrZ1Vht7AxLDxD+G8752xu4sEJE7vXk7wV6jeqKYSwZckWAAbeehsdnsa7?= =?utf-8?q?cCoJj0c9l9WdehG4vNkuee72P5lTZPskK9YtO85vaUKqCUZDFuv7V+3c+u8eZbC1V?= =?utf-8?q?hcy4fuIY3nmfztibO4U2tyHgaMwgQKhJL8RI7R+gUK6PEisaouPZRn75PwFPUHQy1?= =?utf-8?q?RpTIea+/93THLl3fS/QkqDXN1GvnpTK+9fY55R9ev3UyaAFVa73lwN2nlUWVJeWVw?= =?utf-8?q?qTMcifVwTGMTgIeuwLokDcZ2S/I6Q5Uqi+7WoiDmktkq66xTrWKu5tDFc+p2FMxJ2?= =?utf-8?q?DoHfIqzSFA+3cdDhfJiEte9k5OF177lGui05/uyHrW11dY8/Bd+qSApYMnBt4Fw6u?= =?utf-8?q?tFLdz3QRMwVKX88akIwYJXNF7n7wvmg48CC3xYR4HHjZmSTrExX9wzUHvUxCqqsFh?= =?utf-8?q?N1HMi2Xp0wV7Vrj8eJT//ab/VfrHQkAJufdbMBSMFytEi4ssgfTvZqfL/EgCaw0jA?= =?utf-8?q?oxrIFEyvXiUizpVgAxxORJF4rFwtAO/F+20YOFz55SE+WRjjMM8I58u8xhWRGpx39?= =?utf-8?q?C/BbkdP+22Knrc1MYNQpd8a6zZHnC0R/Ebea8cjkrB7JNIhsyT7IMTgnE7/4tUQaB?= =?utf-8?q?Gfl5IXYWJuU2kM/8+DBFKGKudDpFGHJBH1rrOqvpS4WWmAODatThJ+o1RYUYQjEef?= =?utf-8?q?7Yf2pIWklknN+lyH9ddJbCyxLkexeQ8WRx4U+fOcUScK2Gnd1ZVCvycAjURXLVPmm?= =?utf-8?q?gW+5ktkw+09Lf0ohg0/hfWCUUGgs416JOOVuTw5KCNwVkEDKUk24dgBPnFvaTW8a6?= =?utf-8?q?5Cq9jN32FnTvKIThArjBlWXRANCBiI4zjFqmUjH1abFRMpLWqFylJF7ho526Ah+oi?= =?utf-8?q?xiZEJUuocX7klp1QZUyw1ksy+lWbkIa8OMUC63uWtn/bFRPa1Tz+f4r0eBwNEHMi4?= =?utf-8?q?rwKeujGSO9xR5r5zV4QcatX/pVY1IyjzAJ/tZZCh7YhGtpg2aIrkHxgLIPbQfWOOG?= =?utf-8?q?ATrhEg4DaInpGV1ljXR79WHLieJU2DE3yW7ED+327Ks1EtkhLZi4pMiKD7IyXQM+Y?= =?utf-8?q?Ho8eWw8LXGYFhmg0+bdB6OcRzfwF+qQtH6tjb9+hC1ibD5xEoZhuhZbj8vOfbwmZn?= =?utf-8?q?hdNWSk3VCl8xKuXFd1HKT5FVHyaMdQi4ERnCwoyb1+cF5qprEiXBxtMdlQUoSZyde?= =?utf-8?q?AolK6VyGFFLS8GkVilyPttqOvXsKriMalYmhAVNJDbzErj2rpo0JNYgUX8VnDiFKU?= =?utf-8?q?eqsaxUxFjYKwWAqrd6ZxREzyu2YKYKVQT95w8AkOI9F2H68lTqXpG+HQqaCTg9s0f?= =?utf-8?q?NWAw9tnWW1+1y+dcDw2oZrWMXyhuQ8+GA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Uv+rDDfblxhGIdaA2ikBxRXy9/wP?= =?utf-8?q?mSIy7e3x8LjDZFCKIqyfPZ9fs9u+2RXc/Wj6Vxog60mYkTcrLzIUH+WbKDvFLFPsi?= =?utf-8?q?qUFmr4aBM6gzydOR5iicE6MYaamQVNi5AhiLxncik3SIRKfC6eRmiKpuVWQeYVA59?= =?utf-8?q?Taly5xi5eQ4E7TOdXXWo+S1V+3mnbLqHWwN4tZi66McVZkMWHcgAcNR6URw2G2YRp?= =?utf-8?q?ia4k8WPxGetT9jqGdWQQjqUxiu/h98Oe0aneBIwuLk6oX7X/6l5X7t1UW1TiRg+Xa?= =?utf-8?q?PZib3bXpGLna6formSmoYjOpRWMCjv91upe2nU7nFkhYMdhJ/fPZgYuISVVJ/A3iS?= =?utf-8?q?v0n+NFrhS/90/+Rcwl+f+1s63So3le35oRuKudgSOQDnUR4QOB8c7yxkA2xOXsvwB?= =?utf-8?q?l5AwU/fpnxRt2lcfirhFOvpj01qz928kJLuSrNxmo6m6uN0ytz7x7c/wTYRuTeZeK?= =?utf-8?q?4RaVBB3wx6qge3C9ofUkBkCxy4aoM+43SmtSo91LmjPvd35BUZZ14r4jlhTOTFWBR?= =?utf-8?q?VX7YMs+8Y9Rxe6yQy0DeOegl0t9u08Mw5kWgk2r7fEOki+9aA255BRtMDd93nicss?= =?utf-8?q?6GWsUZkem5KpL6XLmxsjxpse7Q/6KGTj0mWCRByJaOPBP/TZ6iPtwcrH7KCU731O2?= =?utf-8?q?bSXIJAi5/Cjn5t79GmEJ3Z0SZ+jgnjk/aN5jfFHBJYMz5h9pn/EkHoxhaL+d4mJD9?= =?utf-8?q?EWAgcHvVxF/RPoLfksuCoK0gEo2ivBRHF/Go9P9CqTzIz4LM/9/6Sx7NUBOk2ifzc?= =?utf-8?q?cGH5z+iJ9anCYRmr/byilmMNadR6pvskKYI3szabupxncVZugv4lh+JR2E54LoXdi?= =?utf-8?q?ZeUu4VQMJhQS7DtcKA7pIREco4Da+YCI/tdB4QGcLVTlfrJUxVjtMWBLAZJxBXjaf?= =?utf-8?q?D9PokTWeRNG+BUOzVeKyZPmj6C4sln/K5Cr30WDPLJQK04kXcJJUO130vu+7cmgzE?= =?utf-8?q?LAA8AOjdKkSzYFQGl/R7ofhmhfFrir+eF5Or3R8vTM5UC0NjYzNqkepjtrkFkYMTE?= =?utf-8?q?gwfE0U/9qHmLUMWqcoS6Oc2BaFA9I9LA8hkkF5hUagxHOz5akKJBnEf9F8sMsBIoi?= =?utf-8?q?r9219UWkSSvgjrxQNVofcmmW5SrSvWFWKY9ijy+InrsltDYY0yT4If390LgQBAWBi?= =?utf-8?q?yB0C8toJbGgANBcuKV/2wAjMhIYw2EDZGTXIMOiEGOQi73daQf2qTehBipyCGNaKo?= =?utf-8?q?D7IXJpztD/pDav+Ln5X1EAleYsnXewuLmS/bMoxBTNxm6SyS2MnhSqwaxBNHnoH++?= =?utf-8?q?1PSYJUwd3w9EpvMKMdZVhpNduGnEeV+IPDgYbnF1jFMLLCakrZHks6vmArNDfnrj4?= =?utf-8?q?6BeSP8RETT8IeaiQMcHQK6xe/6nmdcqFY9JNzACxoo3hxnQGCocZH2pD04L1Ujw7T?= =?utf-8?q?1+9QDAnuk39zyYHWOXCsYA4QRfgJkwg9e6nm72WWrR1q35+JY5OQOC7aPHUW5jk8/?= =?utf-8?q?ghGzKljbVIYlzWylTfgn228wXkEB2d6+linblO4qToRotFCP02rrUR5g=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb9d7df9-b9fe-4f98-d97d-08dd423f1cee X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:34:59.3396 (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: r3gojYEZ9USqHgOMDNc598AWCIGcFgthJl1Zg/NMx2eOtbZjNIVrE0miRXmZE0ZO+7K6Rtvv3KWBhjctsShFAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add support for the common PHY interface to enable and disable the MIPI CSI PHY. This is required for platforms like i.MX8QM, which rely on the PHY driver for powering the MIPI CSI PHY on and off. Add reset delay for i.MX8QM. It needs a delay after toggle reset. Signed-off-by: Frank Li --- drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c index b5eae56d92f49..df34caffd4a3a 100644 --- a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c +++ b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +90,8 @@ struct imx8mq_plat_data { const char *name; int (*enable)(struct csi_state *state, u32 hs_settle); void (*disable)(struct csi_state *state); + bool use_phydrv: 1; + int reset_delay; }; /* @@ -125,6 +128,7 @@ struct csi_state { u32 state; struct regmap *phy_gpr; + struct phy *phy; u8 phy_gpr_reg; struct icc_path *icc_path; @@ -169,6 +173,37 @@ static const struct imx8mq_plat_data imx8mq_data = { .enable = imx8mq_gpr_enable, }; +/* ----------------------------------------------------------------------------- + * Use common PHY interface + */ +static int imx8_phy_enable(struct csi_state *state, u32 hs_settle) +{ + int ret; + + ret = phy_set_speed(state->phy, hs_settle); + if (ret) + return ret; + + ret = phy_power_on(state->phy); + if (ret) + return ret; + + return 0; +} + +static void imx8_phy_disable(struct csi_state *state) +{ + phy_power_off(state->phy); +} + +static const struct imx8mq_plat_data imx8qm_data = { + .name = "i.MX8QM", + .enable = imx8_phy_enable, + .disable = imx8_phy_disable, + .use_phydrv = 1, + .reset_delay = 10000, +}; + static const struct csi2_pix_format imx8mq_mipi_csi_formats[] = { /* RAW (Bayer and greyscale) formats. */ { @@ -273,6 +308,8 @@ static int imx8mq_mipi_csi_sw_reset(struct csi_state *state) return ret; } + fsleep(state->pdata->reset_delay); + return 0; } @@ -860,6 +897,14 @@ static int imx8mq_mipi_csi_parse_dt(struct csi_state *state) return PTR_ERR(state->rst); } + if (state->pdata->use_phydrv) { + state->phy = devm_of_phy_get_by_index(dev, dev->of_node, 0); + if (IS_ERR(state->phy)) + return dev_err_probe(dev, PTR_ERR(state->phy), "Can't get mipi phy\n"); + + return 0; + } + ret = of_property_read_u32_array(np, "fsl,mipi-phy-gpr", out_val, ARRAY_SIZE(out_val)); if (ret) { @@ -979,6 +1024,7 @@ static void imx8mq_mipi_csi_remove(struct platform_device *pdev) static const struct of_device_id imx8mq_mipi_csi_of_match[] = { { .compatible = "fsl,imx8mq-mipi-csi2", .data = &imx8mq_data }, + { .compatible = "fsl,imx8qm-mipi-csi2", .data = &imx8qm_data }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, imx8mq_mipi_csi_of_match); From patchwork Fri Jan 31 21:33:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955880 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011041.outbound.protection.outlook.com [52.101.70.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 DC9AE1F4E3E; Fri, 31 Jan 2025 21:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359310; cv=fail; b=XC9XkSd0mVcfMvSI/jpv0v843ZSygv3QRhZOMyuhovP5HR9P65L9NFqrG1a1dm8jzDcaTl8hilkWXLZXms3JTWRO7shC8zu39bhoSvCRyxYFHfWJTFQPW47oRu2LlPmfjlLyJRq9sekdDjvQupMPMQyQBFCbl6QUHeKPMJWR1Eo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359310; c=relaxed/simple; bh=QaVEesB5DDNjrLw0SH/IbtAhZ1YlADolV5683h08vTk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=pWLN7lmztuPtnIcPzcGWBU5YQBMSxeuY8t2ttkhb5BQo1aqa3HQbS0ZnNLQcx7J/BHdvG86sljiztlns4pZMHIMThx95nRodijDlZpyDIwUH+exEJhCha2xdOsEOcMEE3JRKrMeCfVaqtbNpcaSCxHd2hlIZS+rtbE1KqAEhTZM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Lqty5r6q; arc=fail smtp.client-ip=52.101.70.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Lqty5r6q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jpNlW73e8opKksFkvpywd8e0ErkEptV/aIGb5NEFov987lnrwIgxwyi+r3YEOGiSTmbbQtD7U2zvtEBsrkmvIhjhr09R2QHjv3zkLXvU0wJayKxf74V4JtNSFI6/EYs8qK1QVtdjinG5+2cVU5nhMyncJ/orldr5Y2Z3A+/212AMeZnTCh5SqwlF2YlS7xVVwMB/RDhNnMX2cP2nby50Q2tehThYRKkNc0cl25wrxp2adfGDwbUGjeRRJS29MGqr523EgotIOHATA4t3+ZZsJFlRLiwoSeSQdEz9QfKkqRkh7HV9mowRmDw/Xa/eC+5guek0alxnW3+HZXpL/i0mBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vOYTi5kbcariKAg16FmpYZXGtNoEpFKPoq8wkHMlEdc=; b=BRAc5azEYk+jB15xIIHfpfZqqLdxmkORa1r3NHzUOt5deFYG2xsTaI3hMDBWLzyOotmC4C+oKcwbH8PxgOhpuB0u7ECDBZ8N0PrEKgDr19NO99635WLgxqR5Q/XXIVSl4yFy60TINz3f0DoIgR558uhjBUgJJPRgG0sFgam4d1Y48HLNTVlpD76Gc+U9x/7hXDRdKAxDFSQQN/cTdI4SLcAtjvzsuzIIHA2w794hSW8dgATxh8SuXBZnlIeE6ISft5+GMBaVXXs4OiOqrThQvjIlMrQVGbVlPUoLeBGl9JOoDNoH0dzhID7bsu5pu2uERpAf1uyXkH/rV8rJYcRjtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vOYTi5kbcariKAg16FmpYZXGtNoEpFKPoq8wkHMlEdc=; b=Lqty5r6qbfkS6cNjnFV5VM9+zsLdakwnGm5z4yMMhoR27sl3Fgna9pJgD2BlStmcz2yZE3fZR8vKbnQA6ydT1kiPahoXMl7B5d6ipYUGBH7IIeL44ikAbU8BHxwZ9IWv9rEvQGubeg+FiElZrjBoMtyTaIw5Gr6Azb04IVceCENG5IFpcv3MBvV5WfjH4Yjt4RUBlUuSGMKEaTdEDvWQBf2tGO7BdsPrVdQb6CovKrPcG29ClF6cA7JqCDObw+4v8My6/JzDW6CVO9qib7Shcy/waI+RX7RkQIqcDGptDbdMh/BDP/HDxMB7/7buEytpXkixjfWREpfg+YE44Fp7Ug== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:35:05 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:35:05 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:56 -0500 Subject: [PATCH 11/14] arm64: dts: imx8: add capture controller for i.MX8's img subsystem Message-Id: <20250131-8qxp_camera-v1-11-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=16238; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=QaVEesB5DDNjrLw0SH/IbtAhZ1YlADolV5683h08vTk=; b=djUhKCYWxYLscUdIf8acS97qNqZZU8f3cAuqBgRfctsCcbp0WDukI3CaLXDijDxAzM0F8mbLZ PG16VWysBTXChT2sb1kgSXv+NKClFgZVddCJTH90lyFYkvo6laN568p X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 774c28ac-aa69-4928-0f2c-08dd423f2059 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?MOc1ikN3OcGuCwlHDLayU7PW0pmF4Ru?= =?utf-8?q?+xoZnYkUQOh3BK20nxeMsj4LOb9tJzf3dMklW2JpN0onmiFmCbHJQolvOfc/kNkwO?= =?utf-8?q?nEBzIqFuOhASmvQtz7DGBGszuFiknPi8nzb/fx+PF7QiyScYzWtHCO49tUBanK2nN?= =?utf-8?q?I871U+OjnIa1dua3Ze/TRgZM6GkdWuHSd6ZJx5YLwU/2cgqsvIqQwb60RFjdL9+n4?= =?utf-8?q?0Zq2wwPs4OvXelQuGUNwuinQXbDZ5vTVzG/AjgmCIAMAYRyqmGbBKpd6opVTIhbq8?= =?utf-8?q?qPGbgrTLqSeqfY3Na0V0xaFw1BPEnfhz/w56fRDPA27yBVlx6iPuOEOJcw5kbgRYx?= =?utf-8?q?r4S4eRRCNKDrKjXqOWuISqqVsFsH0TEG8YJ6U0Ayko8eGsvu3WKLiZXiJbfAdjsmD?= =?utf-8?q?VIFj8UiGhU5cMesK0GwCp7QJBYoFDWZViaVYnJ6QdhYUYeDX+WnA6nCHdB9IzXqD/?= =?utf-8?q?g6APMXNNF3wvsN9hSMocOXE7L100LAW5D9i/fgKe9QHB8cGrjWhLw78CjQwKNziCR?= =?utf-8?q?ak8/RfqHtkxtSX36UoQdCcZYLEj03R6W2YlhhjPlwgNAsZmu4evIqDBtnEWVB+qmT?= =?utf-8?q?Q3TgVwXCCY96cqPpaZ0wnOwDGtw6/B2UUJPzLsQbAPsL7xjLUkob6tqP5owBKZ9GJ?= =?utf-8?q?eGnH08RaK7hjzoxubzH7Y6go5/4znZ17eRToofc9j2qvDb/XuRbfkvd531M6Y5TKl?= =?utf-8?q?jf620vv/P2VGCEqBhPHmiYV0de/yClYKJC4cjBf1uEBJQgU4v5TOyNDO7bdsCO2Di?= =?utf-8?q?VEAziiILyvHZOF690QRJBXay6TtYfFEEKFY+DnQVkEU56JppzK/mdcjirsTWceakW?= =?utf-8?q?O4Lj75mIZqG9DLGQ2ITGoXOLPgPQlC+BCf1tpn1xE41yN8x3yRb0TtIyEUWyraNxh?= =?utf-8?q?eF1ix3oyv0iXv3cXmDVb9TYzhlV+X6cn/cPBad+yH+O4IG/n7DADqX8F4TUHJRmdR?= =?utf-8?q?1iqIKS3mHk3DnPfb7U8IXXNDM1vYlFi0W35N7d0ohhap/tnuAij96JFNPXA01d1k0?= =?utf-8?q?kj4vkWbmGWLmnVjdIdbo8ZWtBXyi8CtM5JqRfLqCdBr22TrZzSzvCbYzVdGH7HygF?= =?utf-8?q?9q4LcJvf7g55bCKPaAR/D9hEiZA3+xqe8tN6Tx1jAx+AJ7o+kD+CENyUHU3BHl8Yc?= =?utf-8?q?VWBKSLoaMeb2yA3vXjUlhAEWA1oVfwqIAzENm2OOZTgDd3Uk4uWaGTQBzeHbfxT6V?= =?utf-8?q?o/Wj7/UPHoyJqqmNd0Bdk52X+QDk6LEXwvQW7r1xdD2upauTFcec5xU+Ybk7FOWkv?= =?utf-8?q?9W7VTgjbq36pZ3eJr2F3rgXzQh/Va4u/anYUpkdM5B6Fpna+Tkm7RgxmmbudsGTJB?= =?utf-8?q?hjQuBKxZPl4KEW8vaT4734zysPIiWN+6j6pCvdjwDUA4WyILE4A1rUTEG3bUMR/og?= =?utf-8?q?SRvdhhSYzVpf45RKp1R5JlSsWlssLlhSA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3G+kCTp0SeG5zog7HFHAg54frzdS?= =?utf-8?q?JvC4YnpCljAnj7hQqm7mm29cFt6v5TmuLGdK1QTp+eeJ4J6Xpbef6VjgpOFzeWQ6S?= =?utf-8?q?jnZrltgBxRugUcoYZ2IcDyaQ0Bze55nBg0ZKghqGE/qFheat4GHUDYoCWrUbTyv7s?= =?utf-8?q?x6SBRW6BahuVn86FHRdTCcm76RKzjnKI0PiEye81N/6bxSzxtHxWjH4H4FmInTylN?= =?utf-8?q?LpWdigodVaY0ATLxiv26oLfgWehEWUAQq4mhxdAIMOW69PLiPiKQvSs8qV4FebpiE?= =?utf-8?q?GbGoe72CH/VLimYyBz4tjC6MbMIosgD8Hn7/0GJRbsKI96bU24jlyIB8e64EChzH/?= =?utf-8?q?rsACYLl9g7/jUHX123G/Kr7/MldvsQrYFed3gtBmInn6Jml4AUuz+mechqJ8yPHvF?= =?utf-8?q?ZZXsdOfgWgJEKodjAz20NR1lJ7OD6tiT6XNtwvkq24c8Ke6WSDUkm8+enmywTnuLb?= =?utf-8?q?zaBkDU9RhEF+LwCVsTEoXZ3dQZpo/uT9GVjEZQuIS+118J8Mq39q31eu/h35DXA+k?= =?utf-8?q?ZjnjKm+8Abp6o7pO7pWG+2gWec/P1ANdqrl9Uw4tFkEcP0EW91dK4Q/j50Su/kerA?= =?utf-8?q?yx6wNFVDbBGK4KrLKwXhuPKV1ry8DqvLWaQp8TSj6RMUor2avbBEzlMH1Z0a9Fs+L?= =?utf-8?q?tgpkqV4txpN8ZDCpcVb6aqfzkhLRV1bRzvnccLdmjKraVXgK51/eXSiBfiIERYmLk?= =?utf-8?q?xE6cfYqe+0O7fxbmBEAE5S4Q6OSNZyzF5hk2k9QXxf0gmgZyF13MUrEaxmLjBY6Nl?= =?utf-8?q?XwARMdGpqdYdJBU859Ym+xZcuQnwlq0pKYKt41m1jjX6gcP1WP7fm3BGHr+MVpOWV?= =?utf-8?q?XxTnnSQ/DuwXk1YBYfpstt9hfuC5dBEgdI6c9LO6EnSYcE6MOuiN+jtiAirN31h1v?= =?utf-8?q?k+WYTIgVHtd60B/LTmYuR5bZyaGnckh6F2VSEjrjvVjPgbYUjWhToHYkEF/zsDF4t?= =?utf-8?q?k53nnSgkfOM+5mPp+mKHAN3fu1oWiFhMER0wVfyP8goJ5+ixHQFcTTmpsIkls8rkV?= =?utf-8?q?MJ1W4EEQVVVtCTpFhwDFBgfXcizrMS5SBCZulgR0Yq/XqsiYCR10QoHxtU67vS6fd?= =?utf-8?q?RcV8nzsyd05r9Ukk7PeMSRAao3ML4EO8ROVJjS/0GjO6F22lTWuHi+v0F7J++chiO?= =?utf-8?q?kGL6zLXaaeJT0TmqV6YpLSMUGEWY2l8QmDxdQU8JxS8GouBycBpfGarenT/KrtxC7?= =?utf-8?q?/5e0jSbUMbjT/ikXk8fBCkC8NjRBzW7aq4GtFVsk1dcMkYtm1+CHAZxltIkmEy1mO?= =?utf-8?q?xnNtnUE6SXWXqJqxoBu4nfa3TjX4aCYcLOFYir6AickCOgNX27qFt2AVEWXq3eSzG?= =?utf-8?q?7vrbYqjHVJroIVUg90y1Vb5h/ky0pR1R0+AlI9VL/ajbA2JnYfT0gMgwe3lPC46Ea?= =?utf-8?q?akuYAJYXFDRxM7Iqhphe3Uz3WcH2bjZgCIwjRxSuBAkxd2PwZEmUxCrdaopw9WF0J?= =?utf-8?q?+1KTchmj+kAuZsR/c5bQmD/90ZebZKz6NiNvXyt4KO215P9JadiAuEFI=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 774c28ac-aa69-4928-0f2c-08dd423f2059 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:35:05.0664 (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: fCqrlFKJTac+3se9DZPQFopg5/vfWQ1FN1Z5BDbU+yX6PDAVCWrpXgcg/YUq5UTI7HYssdqE1rZ8eP3noT/gWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add CSI related nodes (i2c, irqsteer, csi, lpcg) for i.MX8 img subsystem. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi | 396 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi | 37 ++ arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi | 60 ++++ 3 files changed, 493 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi index d39242c1b9f79..edcf7976892aa 100644 --- a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi @@ -3,6 +3,14 @@ * Copyright 2019-2021 NXP * Zhou Guoniu */ + +img_axi_clk: clock-img-axi { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <400000000>; + clock-output-names = "img_axi_clk"; +}; + img_ipg_clk: clock-img-ipg { compatible = "fixed-clock"; #clock-cells = <0>; @@ -10,12 +18,290 @@ img_ipg_clk: clock-img-ipg { clock-output-names = "img_ipg_clk"; }; +img_pxl_clk: clock-img-pxl { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <600000000>; + clock-output-names = "img_pxl_clk"; +}; + +scu_reset: reset-controller { + compatible = "fsl,imx-scu-reset"; + #reset-cells = <1>; +}; + img_subsys: bus@58000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x58000000 0x0 0x58000000 0x1000000>; + isi: isi@58100000 { + reg = <0x58100000 0x90000>; + interrupts = , + , + , + , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, + <&pdma1_lpcg IMX_LPCG_CLK_0>, + <&pdma2_lpcg IMX_LPCG_CLK_0>, + <&pdma3_lpcg IMX_LPCG_CLK_0>, + <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, + <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", + "per1", + "per2", + "per3", + "per4", + "per5", + "per6", + "per7"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_ISI_CH0>, + <&pd IMX_SC_R_ISI_CH1>, + <&pd IMX_SC_R_ISI_CH2>, + <&pd IMX_SC_R_ISI_CH3>, + <&pd IMX_SC_R_ISI_CH4>, + <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, + <&pd IMX_SC_R_ISI_CH7>; + status = "disabled"; + }; + + irqsteer_csi0: irqsteer@58220000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58220000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&img_ipg_clk>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_CSI_0>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + mipi_csi_0_phy: phy@58221000 { + compatible = "fsl,imx8qxp-mipi-cphy"; + reg = <0x58221000 0x1000>; + #phy-cells = <0>; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + gpio0_mipi_csi0: gpio@58222000 { + compatible = "fsl,imx8qm-gpio", "fsl,imx35-gpio"; + reg = <0x58222000 0x1000>; + #interrupt-cells = <2>; + interrupt-controller; + interrupts = <0>; + #gpio-cells = <2>; + gpio-controller; + interrupt-parent = <&irqsteer_csi0>; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + csi0_core_lpcg: clock-controller@58223018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58223018 0x4>; + clocks = <&clk IMX_SC_R_CSI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_core_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + csi0_esc_lpcg: clock-controller@5822301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5822301c 0x4>; + clocks = <&clk IMX_SC_R_CSI_0 IMX_SC_PM_CLK_MISC>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_esc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c_mipi_csi0: i2c@58226000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58226000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_CSI_0_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_CSI_0_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_csi0>; + power-domains = <&pd IMX_SC_R_CSI_0_I2C_0>; + status = "disabled"; + }; + + mipi_csi_0: csi@58227000 { + compatible = "fsl,imx8qm-mipi-csi2"; + reg = <0x58227000 0x1000>; + clocks = <&csi0_core_lpcg IMX_LPCG_CLK_4>, + <&csi0_esc_lpcg IMX_LPCG_CLK_4>, + <&csi0_pxl_lpcg IMX_LPCG_CLK_0>; + clock-names = "core", "esc", "ui"; + assigned-clocks = <&csi0_core_lpcg IMX_LPCG_CLK_4>, + <&csi0_esc_lpcg IMX_LPCG_CLK_4>; + assigned-clock-rates = <360000000>, <72000000>; + phys = <&mipi_csi_0_phy>; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + resets = <&scu_reset IMX_SC_R_CSI_0>; + status = "disabled"; + }; + + irqsteer_csi1: irqsteer@58240000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58240000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&img_ipg_clk>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_CSI_1>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + mipi_csi_1_phy: phy@58241000 { + compatible ="fsl,imx8qxp-mipi-cphy"; + reg = <0x58241000 0x1000>; + #phy-cells = <0>; + power-domains = <&pd IMX_SC_R_CSI_1>; + status = "disabled"; + }; + + gpio0_mipi_csi1: gpio@58242000 { + compatible = "fsl,imx8qm-gpio", "fsl,imx35-gpio"; + reg = <0x58242000 0x1000>; + #interrupt-cells = <2>; + interrupt-controller; + interrupts = <0>; + #gpio-cells = <2>; + gpio-controller; + interrupt-parent = <&irqsteer_csi1>; + power-domains = <&pd IMX_SC_R_CSI_1>; + }; + + csi1_core_lpcg: clock-controller@58243018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58243018 0x4>; + clocks = <&clk IMX_SC_R_CSI_1 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_core_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + csi1_esc_lpcg: clock-controller@5824301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5824301c 0x4>; + clocks = <&clk IMX_SC_R_CSI_1 IMX_SC_PM_CLK_MISC>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_esc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c_mipi_csi1: i2c@58246000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58246000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_CSI_1_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_CSI_1_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_csi1>; + power-domains = <&pd IMX_SC_R_CSI_1_I2C_0>; + status = "disabled"; + }; + + mipi_csi_1: csi@58247000 { + compatible = "fsl,imx8qm-mipi-csi2"; + reg = <0x58247000 0x1000>; + clocks = <&csi1_core_lpcg IMX_LPCG_CLK_4>, + <&csi1_esc_lpcg IMX_LPCG_CLK_4>, + <&csi1_pxl_lpcg IMX_LPCG_CLK_0>; + clock-names = "core", "esc", "ui"; + assigned-clocks = <&csi1_core_lpcg IMX_LPCG_CLK_4>, + <&csi1_esc_lpcg IMX_LPCG_CLK_4>; + assigned-clock-rates = <360000000>, <72000000>; + phys = <&mipi_csi_1_phy>; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + resets = <&scu_reset IMX_SC_R_CSI_1>; + status = "disabled"; + }; + + irqsteer_parallel: irqsteer@58260000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58260000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&clk_dummy>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_PI_0>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + pi0_ipg_lpcg: clock-controller@58263004 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58263004 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pi0_pxl_lpcg: clock-controller@58263018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58263018 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pi0_misc_lpcg: clock-controller@5826301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5826301c 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_MISC0>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_misc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c0_parallel: i2c@58266000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58266000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_PI_0_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_PI_0_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_parallel>; + power-domains = <&pd IMX_SC_R_PI_0_I2C_0>; + status = "disabled"; + }; + jpegdec: jpegdec@58400000 { reg = <0x58400000 0x00050000>; interrupts = ; @@ -40,6 +326,116 @@ jpegenc: jpegenc@58450000 { <&pd IMX_SC_R_MJPEG_ENC_S0>; }; + pdma0_lpcg: clock-controller@58500000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58500000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma0_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pdma1_lpcg: clock-controller@58510000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58510000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma1_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH1>; + }; + + pdma2_lpcg: clock-controller@58520000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58520000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma2_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH2>; + }; + + pdma3_lpcg: clock-controller@58530000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58530000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma3_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH3>; + }; + + pdma4_lpcg: clock-controller@58540000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58540000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma4_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH4>; + }; + + pdma5_lpcg: clock-controller@58550000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58550000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma5_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH5>; + }; + + pdma6_lpcg: clock-controller@58560000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58560000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma6_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH6>; + }; + + pdma7_lpcg: clock-controller@58570000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58570000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma7_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH7>; + }; + + csi0_pxl_lpcg: clock-controller@58580000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58580000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + csi1_pxl_lpcg: clock-controller@58590000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58590000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_CSI_1>; + }; + + hdmi_rx_pxl_link_lpcg: clock-controller@585a0000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x585a0000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "hdmi_rx_lpcg_pxl_link_clk"; + power-domains = <&pd IMX_SC_R_HDMI_RX>; + }; + img_jpeg_dec_lpcg: clock-controller@585d0000 { compatible = "fsl,imx8qxp-lpcg"; reg = <0x585d0000 0x10000>; diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi index 2bbdacb1313f9..e14a5d86853f1 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi @@ -3,6 +3,31 @@ * Copyright 2021 NXP */ +&isi { + compatible = "fsl,imx8qm-isi"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + + port@3 { + reg = <3>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qm-jpgdec", "nxp,imx8qxp-jpgdec"; }; @@ -10,3 +35,15 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc"; }; + +&pi0_ipg_lpcg { + status = "disabled"; +}; + +&pi0_misc_lpcg { + status = "disabled"; +}; + +&pi0_pxl_lpcg { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi index 3a087317591d8..4c15e4569a51a 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi @@ -4,6 +4,62 @@ * Dong Aisheng */ +&csi1_pxl_lpcg { + status = "disabled"; +}; + +&csi1_core_lpcg { + status = "disabled"; +}; + +&csi1_esc_lpcg { + status = "disabled"; +}; + +&gpio0_mipi_csi1 { + status = "disabled"; +}; + +&i2c_mipi_csi1 { + status = "disabled"; +}; + +&irqsteer_csi1 { + status = "disabled"; +}; + +&isi { + compatible = "fsl,imx8qxp-isi"; + interrupts = , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", "per4", "per5", "per6", "per7"; + power-domains = <&pd IMX_SC_R_ISI_CH0>, <&pd IMX_SC_R_ISI_CH4>, <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, <&pd IMX_SC_R_ISI_CH7>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qxp-jpgdec"; }; @@ -11,3 +67,7 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_1 { + status = "disabled"; +}; From patchwork Fri Jan 31 21:33:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955881 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010027.outbound.protection.outlook.com [52.101.69.27]) (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 63C111F7089; Fri, 31 Jan 2025 21:35:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359315; cv=fail; b=OD57l3YD73pE4TW2vXv2Bmn3HlB1T6w0rngUCBQmZBxkH1L8qOFiDTqQCNG1uCwzll+EZELSZ0wJy0XioreaijJmgliao7T28pZ+0ACQxL8cNACgwHbjW9h086J27xUJ33y1ywF9QMOSzcGrM9zlxiue1m2rprGcWGeF/2iVx64= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359315; c=relaxed/simple; bh=wPaxA7QFMyHVItcU9vluOWaD3PLB74E5EH3/QvGa2EQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=KoguS5YzG7u4nD3D5y5LdU4dTgU5ZVi140wpagBYLNi8hpljhXJTDpyTlougCl/3GtDTOEe3b/wX2y3Q5CpWNU/hmHT0jIqPHG411B7X3Y8YrlQgBGFfnymmEQA2C4XGzUpqcR3JKKOsKf40ZyCDVPiYVbQhuXZORrtjA2+W4sk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=ceGrZhBG; arc=fail smtp.client-ip=52.101.69.27 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="ceGrZhBG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k9y/qR2fK/cWYW4tEuYGfuCop5efv0yioQOkWkzqCRNRDJgGAYMManOIAgO7T5Oc5aMuo+CdsyXT/OvKdXTH1iRsjnM8qaYx5xbmeobtLw+qPXIx3XWPgTDFJGyriyvk6OXQKxpG8BsMWfzZTaxAmRHpu24+iWKPFWVK2SvSxCkLHrvGItN0iJdkKLRUhQQNbaDizAJUMYM2dy8+ivsdfvVZXSREyHBAoAgh7Gx0UsiLjCXr5+CeTbakXe+hp3I+cZVkvdNnCXAr1IEsx1jImdrGgWAKXDY/h1E9shFzsZZwvWlCI032YqdeUqW/Inc2hC5jvnSUckT+3AaNBCAYvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kZNnDAgClErc+qtTNreqMtJI8UiWUxRY49NcV72SDSM=; b=YSc5qh1K0/HTESjdHQYZNjwdygw003s/cwFjl8mwI5+iXbiE90lHCMh7IVIAsqmy3awZeYu9NUbXl1m2+pKQ7hwrlFXjdxTlPT1HLkcLZNxhIxXsUuPtOe6+YLVOMEDDpqvxfSAzKR1zM0M84WMwlh1RNANoerAK8GUyk2qd1YYT2Ki8pE5twqoiouYljIIpqxZfSHkrCFEptKoEqMjvGaKocP66/LiesbREibC0sPlnKNcbpmqLJEH4Kh1RmOsXfpe/BX/8prG/GqRzYjTn5sn6YLyoWAf2rSPA/dfwCfKIL6i+znP7QoLxUDluk0WKmIre3zD3KSYhdI34YMZe8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kZNnDAgClErc+qtTNreqMtJI8UiWUxRY49NcV72SDSM=; b=ceGrZhBG/nkOq3Kn4ow7syi1Au1X/N9joyK4ToW3G1k1rQb3m+p1JwJN1fKWjNC1HNPTIsFxNQS4iQ/SCaY9Wjy4KNylYnWdKkEf0L9PVba4uPtaY2g76kw1VOguCetaqKTvL0hz0+aLLp1QoS0faOIPsSFSYJXELjoM2Muf67flXWlOXCBlM8C+Rps10UOWvSw53ljAN6hiY2ejq4LwMNZhrn9hbfnsUuLU0KtdEY23WfB2NSQuhB1PkHtUCgyrQ/tM0XXPks/0ZDm0EpQlxsvbgRoQRe5IF6HrgWuIT8BBGzdgsqlkmCTFgAPwPsWrdm8BHA0EpPe07krGGm4EEQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:35:10 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:35:10 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:57 -0500 Subject: [PATCH 12/14] arm64: dts: imx8qm: add 24MHz clock-xtal24m Message-Id: <20250131-8qxp_camera-v1-12-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=855; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=wPaxA7QFMyHVItcU9vluOWaD3PLB74E5EH3/QvGa2EQ=; b=RW1CE0TIbBjsnjhNsB5qbfDYW7N5+jZh0R8LIQLAOMlJdzAPodAuLFXwJfxx8INOEp837wr0R 5C1ZOfJpy3bAqbvpeAHArAjI/sdUM9l2ABU2Q8j7QcFXQzd6mtvpp5q X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 4669241c-4c97-4146-8f29-08dd423f23bc X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?96cKVYr3wDEKEfJ3cWQUXJqT++6A3RG?= =?utf-8?q?aDQixpJry5W++nlVs8dtwT7+zt5Z2ocKZBaXNopVQKDCuu0R/LlPDua7o705tl5ld?= =?utf-8?q?g9/CmNwdxwMi2nHuN2Krj2ED2/ZrtCJ9Z6jg+dXR2DQoMpO2pT3psJXeVLnWmqWlB?= =?utf-8?q?hAvuqibDXxbYVPV8fVv2Agx4f3SUd4uJ4rPIlRAa2tyH/SfxhfZ1MIGvVnfTDeuHN?= =?utf-8?q?JNdDN8UgFPWzP4wYnhfTBqTzYSv7DStQmlXjFDIPF85Dhg1obXFsgx8fSXBjWUoP3?= =?utf-8?q?jztUFITQCbbbrzVYUfQVFk6hNgZNKV9Rlrxq0VbQKubC3UqaaqZtlBfo0q5q2cgBn?= =?utf-8?q?5ObuGjDzkeoim7r4R3lKNesu7YNuVDAYxl77cdwskBD2rM8kZAnhJXv32+qdtMhDt?= =?utf-8?q?qSAzkvwS8mnaJrajH8/sTLjpEENNG5cCM0TSM6fi5JsiQQuMDe0wzPCST9w8epdeD?= =?utf-8?q?VBI2AUeF96yk3E/YLb8FP3Y7yqS2hudRIy2nabX1PBkTRpmDGeBclcxBfm+1XC8GD?= =?utf-8?q?+GJWIe6NFgnq6Nj6RfIyegUjVb56dPIIFxN8LAt1eR+52qIb8Z8irW4cag9l7UCrx?= =?utf-8?q?Zg7DfC/5JHez5ka+yPcYodjTElSpmmc1vHPnuC6TtXFY0rg0+IHObCqSuJSc/wUij?= =?utf-8?q?XOIRJrL6htSwgV5iVpbr74IohkPdBJkFXh+5PKT2p9iAdmgqdifu13bZStjgD8HzZ?= =?utf-8?q?cSuQxtJ+vvvkHKfgJQcunTbz8P/APlArWbsmBHytq9ipFFJwRsi7ptJ7mIagAxBvH?= =?utf-8?q?Pv77dF1/BFh1sMieyCcunPlQJoYl8kD0FJJt1fLojqK7Cn6lMIBw7EM119+icSgGF?= =?utf-8?q?OIDeCN48mC7JPeOusOeA96bA5reK3HaQFDkezMUwA83Ng4z71d+aSquMstpp9jN/Z?= =?utf-8?q?oUddQVEldxAs81oCp2h+PxH/pIChKnawsp+dKE3hqTP+Q3hcuKi1V5x4zMu3GEppb?= =?utf-8?q?avp7EdZDrOCvFKzU7pKfy5pYo5zSOKaWh/ZjpYpsUvkiQxfQ3cK5tncG8ypcSNVaY?= =?utf-8?q?f1QF/mKUjjNl0+40HVyIP9Eh+zYKPpzkFgzwF8g8j8F3rcfs9uHxGbJLuQDxmrhvk?= =?utf-8?q?KmDBEJh5Rqv+GdGL9wmQ9ySD2qt+nfy8VP+M0KL81QtusAlCUqhkyWI7u64IsNkiz?= =?utf-8?q?L5UFG/JVb9k2DWswkcAly8TCIW7WC5E8XXNQSBbvUTDEWI2mXw2/8H2fcv7FQg/Pq?= =?utf-8?q?kT1CvcPdtyioQm8JhMzHYSi9GkzKFB/IJDcPB7YZ03weMiwkVvYc53LotWPzlJGRQ?= =?utf-8?q?lBHYUhjShX29/hAzGT5MO/uGMKjayLtqljcQYoDZPtPVKev3ikuCyn116M4t6B19Q?= =?utf-8?q?hdej6ZU8IyCdaVXlriDH3QYOSTtvYnuQlB4KK3h7ED0BTZ3TiAiAI04jAfFoH+NEo?= =?utf-8?q?iTJiFzXLEJMoC/IDH0iMw1cYMB/+jbtIg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?sbG8XXJquddCmsxSjo+WQQUuNfkY?= =?utf-8?q?p8WHiXAVYHJ6Gt9hUFj4Mr0s4Sb6zIF7Nd+WNe9NPvy9+4tmcPcEgtxSZsCp+zPsL?= =?utf-8?q?2Xdmr79rP6CZyNVXWFJtTHlKID8auCJZJclBIupxbHvSrpgB0DYdbINyht2ddPUjB?= =?utf-8?q?mH4AMrzyH59H2mkOCTr1/2F+xxdhSC71UB6TZ4wp7kuZ2ZjT0N4ZMiGE72CROLhXw?= =?utf-8?q?cF3zlBN9Zpvjd/UfSYmhP/+4yJGrTDkHozsE32E5tdczWEe7md6T46j06rQ0xT/yB?= =?utf-8?q?fkaODCreLhTKD05Wk+aE4S1UWJeXZ8GLP7B29gCYpVIqrSd32PzW9pRlGdzCtpOF5?= =?utf-8?q?io/Sc5UgcmnfFFYfNUypwpapaZoucp9liJqpSvC9l7hIBq2dyPbZ8lUz6M5bYOG/e?= =?utf-8?q?uVabAcXax4eJ76kUs3156OVbHGysylH7rUYuYdTVchYvBVb/z4Qdb5qk2Tk1ZCiTh?= =?utf-8?q?jjL0HgMDPOQ0c0nPOJuoeXbpomJ0JKCsdywrh0l96eHDXBJF8O5lLO3oGSrdoljS2?= =?utf-8?q?V+8fcLZteFeuDjofOq7xdyi4HEE9/dInTagbMeR1d02S1fBcioh5SjoTo9tVl7PxQ?= =?utf-8?q?vaaRnPma8ByGf8bZeL4NYOSNN1Y42iDyMghRXUVJe2K7VaXu2UMpfK0C24mHQC1DO?= =?utf-8?q?gJi547STnWFsrgluV8oLrPt3w0RuLq8T5cP0mRe6al3J8Nn5lZRpYJnS401S0anZx?= =?utf-8?q?qKABy/D2ZOWRK2LM/p8huVO79FYe4ao8w4+fStRHWJ4C/oKzo+wgPKZNZCkvtixi+?= =?utf-8?q?Dp9rcVPaq+NZVoOJ4fTFwpl4iT1dU8E0YRITSnQJcHmkFHzZq8mHfoil+nFEYGnqE?= =?utf-8?q?nYFRai6MbZ7mAzYAeZMyqKDzSM9i2Nf2zqiYTBm+DUCMFNXP5KhgSG1q/KxiSxzMt?= =?utf-8?q?c6gaTVpw7ceWVWn9xBdBprNpyRV2wr5uiVbAUh7CYoGtmHy4vrLjHsvB9l7z+Rqsx?= =?utf-8?q?gP1oZkShBEdW5/tDzMsWkXOljw7gI3248NW8VYufNJa3oz49034HYhVrbdiDLiXPk?= =?utf-8?q?rRvqUJpVDQdTVUzIEbj1ccorVe23w9wfM9Sfdp3Z1nJfE6sXmeTRAAf2HF8/md+8l?= =?utf-8?q?O/c/UUNwBxdkIQIyP76QB6OYJGsv6BGZARjCzPBvgG8Rd8+hycDLrA5zqTbhQVboN?= =?utf-8?q?2R+MTlCIgg0nCUS4GfB+JM6oE8WBfkq9BaigBoT0wa8xRvpZoMBGdS8kEtQt9xYRX?= =?utf-8?q?BoFTLTb0WIftjl60+zDDL9Ad+N5cDEg/Kjmi/lUGKJgKKLrCNPD0NEVGhAFytYuq8?= =?utf-8?q?ukXI92AQOiCnynkAUCCJkCUv7VEaS/3K0rQy0nNHaoT7vO/6pV8RAZ5sctRjbFmiy?= =?utf-8?q?57wWE7Ib9y+SMhL80xhtU3sVVQsZBoqiFmkQvJ/ubFWAeP6h+VRCroq20nP4ZlEtC?= =?utf-8?q?Xsyq5GMRGwrxgpF071GPMDV6z+vsFgGw/LBwWUIazSOUYpRkI0FPEVEQACYiYQJcO?= =?utf-8?q?ob7x0zQE0JImDFO8+EGYPFq0iHKWN8N8CdE4idfYEPQjdXqnte/IGVBs=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4669241c-4c97-4146-8f29-08dd423f23bc X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:35:10.7413 (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: qIs3siNj1YcBAATkrjlwKhew2+2kttv/0HAroAiMgR8Pv37UE2s/7jX5MXf7R0tDIJopbGCZ0Tziew8AdlYOPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add fixed clock node clock-xtal24m to prepare to add camera support. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx8qm.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8qm.dtsi b/arch/arm64/boot/dts/freescale/imx8qm.dtsi index 6fa31bc9ece8f..0d562c1997c47 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm.dtsi @@ -585,6 +585,13 @@ mipi_pll_div2_clk: clock-controller-mipi-div2-pll { clock-output-names = "mipi_pll_div2_clk"; }; + xtal24m: clock-xtal24m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "xtal_24MHz"; + }; + vpu_subsys_dsp: bus@55000000 { compatible = "simple-bus"; #address-cells = <1>; From patchwork Fri Jan 31 21:33:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955882 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013016.outbound.protection.outlook.com [52.101.67.16]) (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 0A2491F7093; Fri, 31 Jan 2025 21:35:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.16 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359321; cv=fail; b=iGQ8eWwNkDqhdeGAHRc4gDlhxh75DnSjpDryWiCNpSmab8q46SK2o5KbBVh8Lp/gIk1UpsWQzFoqkRKXKSFF4rBEJKhPSXxG2WqNJ48gBP1shjFbYOPc7yb1InydJyI1oaaKwo/E2HfqpCPs2KViOsjCykVengVD641HOAp083w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359321; c=relaxed/simple; bh=4r9JH6vrpZvAxpP81nA4kZrOt/IsEBx55cMPx5bNtAs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=HFDMemtrPfSgqfU5TVOmmkwjsXul2olT5tNUXSUWNoW/OvzHR+SEj9gLQJ6eyxUqZGo/qJdgNxYTd3HbB+teINSDaRswLSZC+nAMvIc1Ba/sQnjog3Ijh7E4T9OeEgMNCeP6VwZ60eoO5eNg83f1yA2n9heFyupdT82ZKc0i4Yc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=b3FOwF5E; arc=fail smtp.client-ip=52.101.67.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="b3FOwF5E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mwfif4XDPJtQ9YTDizwXejqo+1eWLY3/GWfC1CuenGgMhW38q1ky2jT5Bw2drh8fDegs1ju1aZUcqdgStzTjx6DJnL42zLGwaEHY6a751cxqXEu39hIF1y/uh2tQf0kuxEnap/A0XxBGYWHDEE9i5HxiE7WkGjhL3HN2BzHW0f66+Z5283RYLfM02Q0bXF+aErbYrhqBOvFtfUggnn5/4CxKBwzUPC6MkR2aemKZKM6IbWnQvKPKRxtNW+l1KI726JE6BTsWjHKdVDUqVbQ24JMUOfvtPvgOkeEF3YGwFBPKqChrvSEdgAGM8kXmUSUm0xoU6vSE7Lj3SH+XYjD+Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YLe6HU/0cJv6+UdD13frsMtL8KmccsU+tM3/Vv+YY9k=; b=RRDxdNbx827/WZRkp3MkQS9Qlt03J9USynD29PRnOBalSPNA31AR0J7ZFx86ZAD8G7zCm9HQ4j56cFdW/+Mlkl5HIg0Ni2XQDAAAySWP2bKkavhzfIjt1DGzOY4fdSpB5rYMdvEHXMl0Gs7zIC4Wy47A3ycDx4xsWn03WYfIHtJY8Lq3I22CDLVqjQ4jGQmTKod7wlxYYARfXYq43tseng4/R473J7RWaBZf7NqHauprlBpzbASIhLEtgbTAV2iDSn6J0iZvnVjbcxOxe3rtAh44tgRDAXG11K1BnlG0AELlWB4+qziwHIkdjsdrpvK8cW+zvlgR83rcLQ7PHz/Z6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YLe6HU/0cJv6+UdD13frsMtL8KmccsU+tM3/Vv+YY9k=; b=b3FOwF5EwZa92XKbsyHzy8XBx7L/j49774n4bUxJDX4ZYkvOx3cxXphmMIZN0c/+nqfA9tU6r+QM02aaF3hUeyxZtI3vInxXFM1OEw5rtIqd74IpQavDwObFsCapT+HI+KzE9MeDXl4Rnlpth6yHpCv0XXGO1ID49s/hAvZ4wqwZBW5G+ZgXaGA7dCT9kZZXLzg3ysLcDCKfk8SBGRwKItiHpCthBsYSN5zebwaDI7ZE3Ua7Bej8U/FWvwmw7IUw8F+oZ3Z1on7FUIrqFDgHpFO43JCHFdNhv+uK6tdBQTej8pXyfS6kkHWXsIe+PKA4YKj2dC3CQL/a7glCrzaMkQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:35:16 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:35:16 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:58 -0500 Subject: [PATCH 13/14] arm64: dts: imx8q: add linux,cma node for imx8qm-mek and imx8qxp-mek Message-Id: <20250131-8qxp_camera-v1-13-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=1573; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=4r9JH6vrpZvAxpP81nA4kZrOt/IsEBx55cMPx5bNtAs=; b=VT0uOTW+A1OjEK9lOnn9sv5yhwc48bQRKEjSRWgkCKmoO9zNnaw2ARXXlKOG/r6ste2cAuwel 0VCJtqSQotxAbBmCpChdcNo0G1UBX879E3zwgKXPcTP42nCt4VFa32v X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c9845a3-7354-47a6-8f8e-08dd423f2717 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?a3JB+yWCOa5vGPGCNDib7ifPWo8CCoH?= =?utf-8?q?e4EeDq/8I+nDQ5z9HOzIAZ7pieh5x+glRb4mcICv+tNmvfmIMk9eJZv/UDzXjtLUb?= =?utf-8?q?S8m7Od9+nZIqXuXYZAMl380nDZwUBR77cEYKZWSMRyuqS7xatEXpCasVwD2wLJU/m?= =?utf-8?q?GTAQvvNgN170OB2sIZcb7MGfN0Zmuo4zoMvmCKkVCyu4BJntZbi6U6X2mCXaRZpZB?= =?utf-8?q?vwEoXEQFqBWVd1XsIZt5LJ5HAl11uO8mjhS8zEwd+C3Qo/nOPK7KITAYQ3bDViDgl?= =?utf-8?q?NJ873aQ2IVJgh/w55sx494hqCV674aSPoafBkGZOx6N957maMlKLEq5Vbna3Qv3aZ?= =?utf-8?q?NIT4rabkT4jSc8r6BwG583OOl7U1naAnv0VHZkA2HZGLcs8eholgwLiMzCzNV6fSy?= =?utf-8?q?ZFT8Q25OaT+IDTv/w0esNF8JdiyA0kfo0onGG8Vig1mxc4rGbz1Y5JkerFrHCpVxW?= =?utf-8?q?3F34KM1XKEXQTBZYp0kVB4W7weFgn+9812+NshADXytKaUKHw+vgu+6NgoR+2L7OZ?= =?utf-8?q?D0dUczX4arBt0ar+bW0M2Fkk0PJPR/JhOj6OowidyKm/G2cvG+6kaXFB+L99MEmXb?= =?utf-8?q?9P9DzZ7ioxzz77T8I+mFz0wNiLx1WKjzaVSHYFCE1pqJ6XEWrwgu4d+6GGb3uoOcG?= =?utf-8?q?QJvbmThtW3jfd7y747m9VY21StHA3NLKJznFWNU6l6fq3i/5NDcJUDMKt2CrDjmiZ?= =?utf-8?q?3rkFuzPe3y1b8QG+GwFkK/1cudrqQmdK36DhOVzqW/Na3D8PzmkEZvuqVJW8yiT4G?= =?utf-8?q?KARVTd1FXeyI5WsYfuSwV7/VysAMREIF/SwDrIz0I+sIYOrEYReNrej9cxl/C/Kch?= =?utf-8?q?LaypcnbLpLHT5V6z5gallsuWxs7/kQC4Udqq3nqaB3328iKpYbVaHg6FCUV1rgEcR?= =?utf-8?q?PAnz63/TOa9sSaQOwt2Xywfi9MA5g8WWoeIJXm5rOflg4FQ2gVYdifYyUgYe67vrO?= =?utf-8?q?Zpxli5Ym/gUm/dsLew+JudDbqltoNokxzIWdninourNMbFvcN+ygzCsZqa0tF1HTN?= =?utf-8?q?wKkxZQ5JwRLHuRBhu1Gzb04+APJnwickUxb4wLvtygSGoIetHiuWIQBUdwNlkjVWI?= =?utf-8?q?LIT6PX1udTkQ1IT90eSmeYPcT4wJ8HVjKeL+6rG+QWjMf6d8jkTYTau+9NZIAFOiv?= =?utf-8?q?frw8h2cHikF/pkOJ+tPGTFBEjC/Cvqnv55xiuIbe+B4071MRHsG1GomdtQ2nREz2U?= =?utf-8?q?NHAKJwBaDkdk7+44M2vJzwlMfuSXIQb4W1qZtMNwIvpGszsUwfcHaS6Wte5bNYIuW?= =?utf-8?q?BBtRKhcjg3dV2nNuocmgu0EYzu//R2mGqqGyybIlb9JHQmd8QwdEC9rYFs0hDopDH?= =?utf-8?q?COGy9A6WVEhwCnEXmG4W5jIr0NhYRuv2HZ72ZRT/mxd+3Ke7qnx+31Yz0eFy2pycW?= =?utf-8?q?zb0CAfjWa/U?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?IIQJmM/ef0VyvRgyPcatVOsV8F6H?= =?utf-8?q?Tr1S7vIbmHTSm0DU9AQxW4dEi6fnl8PCXuiEf0eubwjB9lZi9cTk30/hxODFFpeDn?= =?utf-8?q?zKZbvEJ0f+gwZydYY8zAfiZW4LYKg5xocgKtUVTTijCo6WKRCYc7GVqWwGLqGiZ49?= =?utf-8?q?73D1PjvrSMNFwpR1cy5baEtny1BfKlg47ee9B0WZh33TMUklLPVSty6RBTdTKheGf?= =?utf-8?q?hOELpmtYsdOJoYcdYnsZS2O2TrIzQMKa4NkBKR4IVcjfG2vNrS0KiIJClRUeBvkBS?= =?utf-8?q?jcV68bbUrOXAkiE4sd6nOnUoY4M1Ed2rQWO9YZs0aGGrIX/afJyoZ3WhJob7X+ajv?= =?utf-8?q?IgZNhZuo3Kt76gS94ezMmcTP2DuZyIaugD3KkIAwbOcJTSXRYSif7igIrW2gjIwZ0?= =?utf-8?q?IMYGuRvJDWef/g4cGpQVlrEFdyn1Vb2BH4Spx3dxn0oYnnlD6Bkv0roantyIMOBN1?= =?utf-8?q?Xf5bR7XR5Z5T7d16F0MQ0hg+8GxW09PP4WzL+FD+CMj1bbcbu95JwjKhP7DwNUyex?= =?utf-8?q?i6n9mEwE7mZpb1U0Cu6RtA+ke0YmAc5yWS1bdns8f6P9oagqmMDgonm4893egm2gi?= =?utf-8?q?1V+ERAYXukuOojLHz/mgidVw0Xf/G4lnnFeEPipVj0GJ/54IoKDbwwuA1KgQfOnql?= =?utf-8?q?hHit9E75fp/pQimQ0Ae1R3vC1bXz5TZiO+r2iIULTQHM5MZhxJ6/1bfXkB3mXucJR?= =?utf-8?q?6DPkdrWK47Nah6Ur2GBSmyIfl9psJMHMNuKIhIU3O4g6ulRzl9/O3HOQiE6oYwosF?= =?utf-8?q?dCPJ6PDs6UgbYI0LlJHAHix1bdEQ2nZ9wzhs/C/CaUukJOZjn003snrwlM8x2KyIP?= =?utf-8?q?bHg3pC+sEfeoJGsHYzhRAGgbT8wIkgrM0xkEHx8zWx1VkyEgfIy97mff/TC2mh76i?= =?utf-8?q?ph6hJ4UMc1QwAwaN3XXDwFh6ovrXcjzdxz3EhPmN4p+3KKNfyz7Pdf83NoF3om6ps?= =?utf-8?q?nJNW3IgngjednKWybV+KhsoEx1Al8o9CiZ+D+uYmCldW1bNfRZHV4ks8qjwxLvAZY?= =?utf-8?q?RsvBG/yz1Ap84hlb9Pr9wSI9H39o3y34j6NAQCovrT2Tc7GjcQ9+LVvuRgahyLbDQ?= =?utf-8?q?jbSa9yJ5XXYNR4KtTUdEIVhSOobsArOZ2AwfNm7pKaRwVaaaVt2QxyeN08vCTA5ZL?= =?utf-8?q?070824mJb/8RIBKLP8OdAv3CDObZmHE6p8xwRrSgsWe4bHYt841tXIl45VZ5A5w3K?= =?utf-8?q?mLjnEZItZGe88IELEjvJDIOPTOJpUA+LMay62nMXYbYXbNSxNd8UH04ek23MDPqvf?= =?utf-8?q?3W6lWbE+ZhYW3HojVXfQ6MA5I2kot7VR3KC3b0ZKSp7YZyS+nriOc4TTeTApjNjTG?= =?utf-8?q?2HFoUp/EvSxd2KKxoktV/ZLDz1TAV4bxwqiYwvkj+M5MsJA3WbSN4C766OuSdvkSJ?= =?utf-8?q?hKSSdMdGG37CTWfcw7Szxs91vtmicw7qF7Gz3PqHz5uAqpdh5oCDOBJDiEanYTxlM?= =?utf-8?q?PqagBXrAB/uYGMrp36EaxVGGZZrpesPZVfLRDsNhKUci8O9rveOZz/JI=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c9845a3-7354-47a6-8f8e-08dd423f2717 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:35:16.3660 (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: 8ObKnqtANvwSLwgDB+eIQafgagCL2Uz2a+BPXorF2567Aqgt/dNQrsiq0g7R0Wtn+5M09RtPlNwaOed0Op8Vfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add linux,cma node because some devices, such as camera, need big continue physical memory. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 9 +++++++++ arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts index 50fd3370f7dce..61ef00f4259e1 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts @@ -113,6 +113,15 @@ dsp_vdev0buffer: memory@94300000 { reg = <0 0x94300000 0 0x100000>; no-map; }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma { + compatible = "shared-dma-pool"; + alloc-ranges = <0 0xc0000000 0 0x3c000000>; + size = <0 0x3c000000>; + linux,cma-default; + reusable; + }; }; lvds_backlight0: backlight-lvds0 { diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts index be79c793213a5..89c6516c5ba90 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts @@ -56,6 +56,14 @@ dsp_vdev0buffer: memory@94300000 { reg = <0 0x94300000 0 0x100000>; no-map; }; + + linux,cma { + compatible = "shared-dma-pool"; + alloc-ranges = <0 0xc0000000 0 0x3c000000>; + size = <0 0x3c000000>; + linux,cma-default; + reusable; + }; }; reg_usdhc2_vmmc: usdhc2-vmmc { From patchwork Fri Jan 31 21:33:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955883 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010046.outbound.protection.outlook.com [52.101.69.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 1249C1F5400; Fri, 31 Jan 2025 21:35:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359327; cv=fail; b=NnKqJO5JEUOqPvHZKp8vfZ+HWd2HNeKVmz8GaH3B/Q13spWt14rCtex6exCYkJq+88p7qT4JJHulHjBgTpYPVucYvMQvkrUONqSKQCehgmxnPLox5OYuSlnytCWaPosYLBhhqZIeKx9CO+Ei12iSc0fM/9/FIU+4wjDnzE7h640= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738359327; c=relaxed/simple; bh=SjQCJQbPkFlQy1iPkQF4C3oVRZE7u2ps1eW2b/eoKfU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hb80gPS25yirEXEum2RgSotPgv5gn0MS/L9Wxq0CYRphurkzOvyBHJ9UzoZSOhQszfi/7qIpNeT5RBbCaHzV1hDFKYWkDoudESYg3CnjXwg1m6deg/LqfjirkTGf6aje7yJH7OKeWvQ8VF/UB5USdFwND+b+MxbNS0OV+vaKlXc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=XhEhXQzT; arc=fail smtp.client-ip=52.101.69.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="XhEhXQzT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fI6ojtDTtf0CZ5fGhaiuy8F4PJvgqfW+KumVIWkcP2mF4rPrC01qG941bv/IJeHDdCgXAx9e6MXatIRp39nTdOqxcIle+ETp9iBKMG37LHkRWfC9HLQK1DVPMuK6Cv48kLuQn+k2VSH4t/Q5Snk49agfZc9OrjVYZ0km4um/kVa/z23qybHEBsySIfduRdGHAtp/tNb2lVEBFpBdNvUYi3EQRHk7O8i493OY8zerPJlIoiwc1u73R+lH467EHBzp5Gda+p8dghudLMt2lvu4lBrsJa5QM6q5U/ZGVPdFRZUhyV4LKv7Gj2EhUmwk+81+0tH0xnoAjrzzghHC++vHMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mUUrHKl8sp8ZAl0/FnUc0w5Ky5lXM4d9Tcv/Ccl7OEs=; b=LKa9QHNABe5YVod2Adi5xKiEZZ+XZsugzwVNBBUfxZH3d+e5sC7m6ROc1LtiBfHai1KL9KxHXZTjA7DMWwrM8jTj+v53XM7/7urJIkBig+KcOCI3ZxPxJ4WIS76ve7eAbmDdAw01WN9ASy2ybTDNfD/OGLeCmxAvQDbWM1i+WBb7u9sNvJ9FSa13tjJpOMh8alKu7S5a4RkQPe1n2fnYpC1mRIBtNQyoYKJ0kVqC8gbNgQuMd5JFB0BlpWDkkCy1NPwqhqtSIfyn5WTx0zdRkulr87qTjuHe5pRQgNIB8+tna+IJnizhSOSWdGYY3HZWNpjbZSXS2zx/XFEeX0hWnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mUUrHKl8sp8ZAl0/FnUc0w5Ky5lXM4d9Tcv/Ccl7OEs=; b=XhEhXQzT7yhxnN9s1wdVU764uGsX98Bvme3nGtlHciqe5y5fxKplmCRnuG7jy2a0xoW7n34RcehRvSrOvyTiF2za3SycWPkTF/9dft1Nf80tKeTGFfmHPbeCwdTo5tsEIquyUjD8j+1ZAyxv3ZqT1qBwl9eK3bdq/YmAafKh48RbnxpZ4npIoDzehXxWfPsOgw8Rnod9zYeUk4um1/ww6Guq2pbw4M37a515NvI1UqlA0fXGxx93auNG393Lm0ZnCv4M32LjTcro/Qu0aCAwc7Vcm8FwO4TLY6Td1ojCJONuA2IOfIHWtBK1pJ1Sjq2e4YBa2T99KKnr/odzNGIPeg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:35:22 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:35:22 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:59 -0500 Subject: [PATCH 14/14] arm64: dts: imx8q: add camera ov5640 support for imx8qm-mek and imx8qxp-mek Message-Id: <20250131-8qxp_camera-v1-14-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=12246; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=SjQCJQbPkFlQy1iPkQF4C3oVRZE7u2ps1eW2b/eoKfU=; b=Gm9mlV/4zUY59RFj4AcVudzGXx8aoNkZeR/DGomkLYg619CWXqt2+4tigVaXh5+R12ed7ZV1q gW/md7nIO9KDIz+eS+pn6bK6FyQUxbv6wkzT10kXZ43m70VbenaLTP9 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 11db3385-a868-4c06-2f43-08dd423f2a78 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?WHJxOS08ln66VHYiLUGLL2hCjQsY/xf?= =?utf-8?q?dVKsqcS/hCMn07cX4nLIQSMNPBsGMv/q6XqrDNC3jc2N758yGGQd47w4ZnfLlRjqr?= =?utf-8?q?pWyNuZ807NlWbdXmBH64zt1kIHpab1EtABgYbBseaUrknBcudt2xfQxYhucsPhMwF?= =?utf-8?q?SFESO4Px1Mp8e+CltYyzMEXafbaZ++cPcJM4PQbjzrUMcznUtflV7QjVlv7vA4586?= =?utf-8?q?gF4XKy4OjVYeFHDD5bWJzLe6AZHPcuWyA+YxsSP1RsDN72LTHhw93YFWh7pnHpN7y?= =?utf-8?q?/GP4OUKG/tWVHdwx85nWGr+X5RCkB8y/kibzKFPuqzthke7LCMcQGsqY3I1Xxj6NG?= =?utf-8?q?WuxgdVLGRacpvT4o7iXRFdF9DFYKYliv6tnEM4IPSLk0LPUhmmW90VigmZ+noYznD?= =?utf-8?q?9HfGlPOzPZMmqgYc4k5mfhJ9rc5in/QGafmeFbkPG/zBUnxqtK9pZQMggbsGngjsM?= =?utf-8?q?4c4REVVcp8mFDc0FHL8iWtPMxqG1BOuJXMEcD1VuzYFGs0h/IoU7xmCbPHHYlusCh?= =?utf-8?q?5SMuerzH8WypTrure7XNdn2NQ9dXt2041A5ioSMhw+GeCtFZUrvsJhAvQAP5Ue2uv?= =?utf-8?q?CfiLtrjJy69jLkCDZIts9pLOT6eDIHvmiLfsCoJC7IGJNa22DZpINcpSf6L1NxChU?= =?utf-8?q?1I7VmBXxYKiVmtXkH3+TZ7eWWnEFUYXujOCKnZSm+CxNgvHpnTi9BSBekRFDD+W/y?= =?utf-8?q?Z/b7J/6QOiKeRcshsoievziP3zZXt9ejKyjnE2wfsYTK9116kjhNu5lHJtS7e+5Pe?= =?utf-8?q?mV4ozReA4PgMqIa0Xb+KM50gcWRGFXfFbYbtaMAi3so9gr9BfSXuMeWqTin5HJ0XT?= =?utf-8?q?3TLDSf1ZO41DR6/6YaFdTNhZVkBFbAy5hOBZ3YOfl73stLYdSaRkSP/3zJGXHbAYN?= =?utf-8?q?f7ANCvs0PHIfGowCvGkayBfFKh5zGxsgeaNuWEZZ/vL9IrZb+SSWQueRRVFdvRaNk?= =?utf-8?q?x/dENxySGuEUi6agI3CT6/4mImJsToGzJ+NMsqCDKJqLALJdyBbxWRGaql3Lxz50P?= =?utf-8?q?nri3LTM4QKQHVS7XzVigKP00Sl+l3tNSJPb/W4yBUh1duNFk+pMAgfdmCcqdNDafc?= =?utf-8?q?vGj4fOX/4BPiRotyJYdfyGnzOyyczCg1F+HEp5dY7o31JfK7BWgypFbd4JIeRJt52?= =?utf-8?q?BuwZrySX1CBg/5vhIShbLbiNJ5+7fW66k0k4GqF46mNmUaNeX1TEAWp8dJvO6ILk/?= =?utf-8?q?uY366Bgy8Hev/E45krmXNo/CnNEmz7t/z7QuTaCJodrcywp/Gy3vPJ/zXVkyYHBVR?= =?utf-8?q?y8vl5Z0GxmdobqkcBPgMDz92RYxpJt9skHnkn78QtwNNg/dnwu3m5hG1IOAwsy3/a?= =?utf-8?q?RgDLE2fe3MLGosfM8vKym9dLzEuGtp13mUtJebpzimluy448cSXSDHX4syhrCihgA?= =?utf-8?q?K5DxBBA7rf/x7tpRxZwyvsKT/l3prGQqQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?LcP3pwpDDUHMM0rUIHnAU/f7dGsL?= =?utf-8?q?NG+RWZjbCyt11onW8KU7gGd4nSAWb0Q8F/b5RNEZz4rC6WYrbC+e4dXMwbTpzvSB8?= =?utf-8?q?X4VjT5MURL5BovfBHb31SJwah/LPE1SnP51cjj946HQ2zAkkaDcF7ahvz3ewrUaL6?= =?utf-8?q?5Ls01JqHM0ApWAcV+yQ8Hgx1ZQBFqGZ4hoY1hgytKKN5nBdtVsUzENsSEfQRQU38T?= =?utf-8?q?tEjMLulLl7mkK4udMB+dlv/Mzat5CXrHFt5B4OGwwYpzC71edAFQpAlLReg/nvGxf?= =?utf-8?q?/fO1BFYmGPtpLdX1sGRD/TM3IxwtkZxTf3wg0msJRzK4blJUOSqFsNRyjXMYxlEft?= =?utf-8?q?gNgv5rDvF49h58KDDHCgrLnGs5sYNleVaWVBgLe1ESp15nqS1FnDF5Wy0HEd8g6NM?= =?utf-8?q?lupCbJtuExicU+tYcSsovZIYOxt8zEEiT1pcMRpXS4xwNexLQt5UJ9tuoi6IsaR85?= =?utf-8?q?QGsQ++soeiDWZ4kNyLCxUor08Cf2M0y4xgv4NP4bF/J0TT1GLzgJBOv0olhVrkSnA?= =?utf-8?q?7m1cVuvcxsloeGZUlaguA/2D1rrySfp2LCL8d6oYJgVxMxn3JhrwydeTlxwvepVvP?= =?utf-8?q?7lZPS102KhRztz4pzH2/392IkmQWq9jdHDkQ94zg/4FIQDTthdmBwGMpIegHcFDAZ?= =?utf-8?q?3r9eWRBNPWrgCBEOEj84Uu4pIBUn3nP1877c4aHzjWP/P/r67/o3gMpCgEIi0DLTv?= =?utf-8?q?A5bA9OGpI1Re5LGkMNszbCNi2OzAtQLQ/sksBdgDK9oV+UgrIDfo3uIzfDR7q9ATS?= =?utf-8?q?HnBc6NefBff9GDfb6aKWrFk/tTwwfpOXl6+/jltC0HltfKsubdClBpC0JgozyDzPE?= =?utf-8?q?eRh1Uyh5EGnmCy7wImNtaByueYAf+lUGT/N1actf9TVlHjmJKckzapY8rWFGYUYnO?= =?utf-8?q?8OEE1a6SpJ0tTkMK+26/wjyA/J+BKZtA4PE47rR3Nh72BY/upRGZi4m8VyOhO5lj4?= =?utf-8?q?hT5P3tXpostwV8oCy5y8j/Bi7CbMODRjJCUztmKN0WYC449+EVLaLt2LcHj1B6Sdo?= =?utf-8?q?bhet3WBtTFQ0frm3SoVILCPib+yaNztUOi/sVMnh2sKOYVSB+7TsebPE1Uim18z7I?= =?utf-8?q?qcA0awI2vu4ipgGDrJPUMgHGCNlkKspvQ7eQuXcijQpmZEvxC7eFbZ2zAvQ6tOcPh?= =?utf-8?q?0atKzJr8Pup3+iHb7NU419Lr2w6PawYyHx23edI8iGeic/QWyM7sLXxyVgRaBOh7E?= =?utf-8?q?q9ZYbdacjJj15rD3JY5faALxsPXqIZnzVXANkH5446m2mIky4a4Fr9DUw2XDp8O7c?= =?utf-8?q?RLdUaaIj16eERMwrR2ejrivytTq2FUjX2+VigmKjJzYbns+cPvY9QocY2zl1Ei7Ge?= =?utf-8?q?UuoaEGMnUu/R66FafvP18Dhbhf9+lYSt9/NMAkF1ieMFws/FrlmNHlHLr1sBtd7L6?= =?utf-8?q?+C9cMTKvfEnzTzT6g3ROMYP0ru+TvGa+aa79RJDcHbAsBnkg7TJ0daPWXBcI8mIiZ?= =?utf-8?q?OcrSax9aJwTaBChzqgxzPpjr591887QotXFqXQ1fkZbhZgfG9ut2pVLs=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11db3385-a868-4c06-2f43-08dd423f2a78 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:35:22.0312 (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: ax2m2wcSiJz6OWnTXhcR9qy6rgLdXJaC7/zZ8hYcxQFnutYI7axpbUx6KIpBa7DG2WARtvNNEALyIWDBihEmRg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 Add ov5640 overlay file for imx8qm-mek and imx8qxp-mek board. Camera can connect different CSI port. So use dts overlay file to handle these difference connect options. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/Makefile | 12 +++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso | 93 ++++++++++++++++++++++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso | 93 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 51 ++++++++++++ .../boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso | 92 +++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 36 +++++++++ 6 files changed, 377 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 839432153cc7a..d1cbc08eb3f4d 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -261,12 +261,24 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-eval-v1.2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-ixora-v1.1.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-ixora-v1.2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-mek.dtb + +imx8qm-mek-ov5640-csi0-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi0.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-csi0.dtb +imx8qm-mek-ov5640-csi1-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi1.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-csi1.dtb +imx8qm-mek-ov5640-dual-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi0.dtbo imx8qm-mek-ov5640-csi1.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-dual.dtb + dtb-$(CONFIG_ARCH_MXC) += imx8qxp-ai_ml.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-aster.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris-v2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb + +imx8qxp-mek-ov5640-csi-dtbs := imx8qxp-mek.dtb imx8qxp-mek-ov5640-csi.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qxp-mek-ov5640-csi.dtb + dtb-$(CONFIG_ARCH_MXC) += imx8qxp-tqma8xqp-mba8xx.dtb dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso new file mode 100644 index 0000000000000..c2bc5b839e3f7 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 NXP + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi0 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi0>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi_0: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi0>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_0_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_in>; + }; + }; + }; +}; + +&irqsteer_csi0 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; +}; + +&mipi_csi_0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_0_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + +&mipi_csi_0_phy { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso new file mode 100644 index 0000000000000..78cc0575fb005 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 NXP + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi1 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi1>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi_1: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi1>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_1_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi1_in>; + }; + }; + }; +}; + +&irqsteer_csi1 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@3 { + reg = <3>; + + isi_in_3: endpoint { + remote-endpoint = <&mipi_csi1_out>; + }; + }; + }; +}; + +&mipi_csi_1 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi1_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_1_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi1_out: endpoint { + remote-endpoint = <&isi_in_3>; + }; + }; + }; +}; + +&mipi_csi_1_phy { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts index 61ef00f4259e1..3a6e25e08c26a 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts @@ -155,6 +155,27 @@ usb3_data_ss: endpoint { }; }; + reg_1v5: regulator-1v5 { + compatible = "regulator-fixed"; + regulator-name = "1v5"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + }; + + reg_1v8: regulator-1v8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + reg_2v8: regulator-2v8 { + compatible = "regulator-fixed"; + regulator-name = "2v8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + reg_usdhc2_vmmc: usdhc2-vmmc { compatible = "regulator-fixed"; regulator-name = "SD1_SPWR"; @@ -727,6 +748,20 @@ IMX8QM_SCU_GPIO0_03_LSIO_GPIO0_IO31 0x0600004c >; }; + pinctrl_i2c_mipi_csi0: i2c-mipi-csi0grp { + fsl,pins = < + IMX8QM_MIPI_CSI0_I2C0_SCL_MIPI_CSI0_I2C0_SCL 0xc2000020 + IMX8QM_MIPI_CSI0_I2C0_SDA_MIPI_CSI0_I2C0_SDA 0xc2000020 + >; + }; + + pinctrl_i2c_mipi_csi1: i2c-mipi-csi1grp { + fsl,pins = < + IMX8QM_MIPI_CSI1_I2C0_SCL_MIPI_CSI1_I2C0_SCL 0xc2000020 + IMX8QM_MIPI_CSI1_I2C0_SDA_MIPI_CSI1_I2C0_SDA 0xc2000020 + >; + }; + pinctrl_i2c0: i2c0grp { fsl,pins = < IMX8QM_HDMI_TX0_TS_SCL_DMA_I2C0_SCL 0x06000021 @@ -905,6 +940,22 @@ IMX8QM_LVDS1_I2C1_SDA_LVDS1_I2C1_SDA 0xc600004c >; }; + pinctrl_mipi_csi0: mipi-csi0grp { + fsl,pins = < + IMX8QM_MIPI_CSI0_GPIO0_00_LSIO_GPIO1_IO27 0xC0000041 + IMX8QM_MIPI_CSI0_GPIO0_01_LSIO_GPIO1_IO28 0xC0000041 + IMX8QM_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041 + >; + }; + + pinctrl_mipi_csi1: mipi-csi1grp { + fsl,pins = < + IMX8QM_MIPI_CSI1_GPIO0_00_LSIO_GPIO1_IO30 0xC0000041 + IMX8QM_MIPI_CSI1_GPIO0_01_LSIO_GPIO1_IO31 0xC0000041 + IMX8QM_MIPI_CSI1_MCLK_OUT_MIPI_CSI1_ACM_MCLK_OUT 0xC0000041 + >; + }; + pinctrl_pciea: pcieagrp { fsl,pins = < IMX8QM_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO28 0x04000021 diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso b/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso new file mode 100644 index 0000000000000..6d86b1f549d93 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso @@ -0,0 +1,92 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2024 NXP + */ +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi0 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi0>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi0>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio3 7 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio3 8 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_in>; + }; + }; + }; +}; + +&irqsteer_csi0 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; +}; + +&mipi_csi_0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + +&mipi_csi_0_phy { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts index 89c6516c5ba90..a356c491375cb 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts @@ -90,6 +90,27 @@ usb3_data_ss: endpoint { }; }; + reg_1v5: regulator-1v5 { + compatible = "regulator-fixed"; + regulator-name = "1v5"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + }; + + reg_1v8: regulator-1v8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + reg_2v8: regulator-2v8 { + compatible = "regulator-fixed"; + regulator-name = "2v8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + reg_pcieb: regulator-pcie { compatible = "regulator-fixed"; regulator-max-microvolt = <3300000>; @@ -749,6 +770,13 @@ IMX8QXP_FLEXCAN1_RX_ADMA_FLEXCAN1_RX 0x21 >; }; + pinctrl_i2c_mipi_csi0: i2c-mipi-csi0grp { + fsl,pins = < + IMX8QXP_MIPI_CSI0_I2C0_SCL_MIPI_CSI0_I2C0_SCL 0xc2000020 + IMX8QXP_MIPI_CSI0_I2C0_SDA_MIPI_CSI0_I2C0_SDA 0xc2000020 + >; + }; + pinctrl_ioexp_rst: ioexprstgrp { fsl,pins = < IMX8QXP_SPI2_SDO_LSIO_GPIO1_IO01 0x06000021 @@ -789,6 +817,14 @@ IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX 0x06000020 >; }; + pinctrl_mipi_csi0: mipi-csi0grp { + fsl,pins = < + IMX8QXP_MIPI_CSI0_GPIO0_01_LSIO_GPIO3_IO07 0xC0000041 + IMX8QXP_MIPI_CSI0_GPIO0_00_LSIO_GPIO3_IO08 0xC0000041 + IMX8QXP_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041 + >; + }; + pinctrl_pcieb: pcieagrp { fsl,pins = < IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00 0x06000021