From patchwork Tue Apr 8 21:52: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: 879239 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2075.outbound.protection.outlook.com [40.107.247.75]) (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 5FA402550AD; Tue, 8 Apr 2025 21:53:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149241; cv=fail; b=BbznRZxrB/ZT58xCFUVmOnqpKz1fnChi48O4D4raahr5jDThonkkLnpnHa8pjku+YSMmvc5GptstEC/IOOYbbXnO3zCQwc+eVHAo1h5VUgKpn5v28hbgw4I5mEj1BYrinebcMaGNwpmHitSyiuZtoMx42//UQw5a0JxUcPgDJZU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149241; c=relaxed/simple; bh=z3gQbG0/BrJcget2ANEIY6eVCVMxZEBt3sBKmejs3RA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fqBN+Ai3a/XssSjXxJMwwlNmypPV+xx0v+qX0NHIryxdNanPfJWe46bCBj97wyP8dif8bjRkPFyjp7R/ax7n6oxouaEXMWD9BM3a5+xkutakFRq+K2dAS2572BNSOL3/8BtcVXv4soitpgYTkXASmIlUEXEIe0Of+FZysdd9ROA= 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=jwDasu3G; arc=fail smtp.client-ip=40.107.247.75 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="jwDasu3G" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ma2ErLqaHgieM24mxAn95OBjZ2X6YubyNyFPo7OI18Qq2cHB/Z88M4i0eAqE1ZbM49LecCOUGo0LIsI/RJ/L7dwYLHMogVy0s1v4bDWj9vRjvgM1M+Kt4NfILvJeld6v0UEmqKJ9E49lOMlAWHRez0ByqSQ/pT5qk4nVONes9EK6pWp6bvD/Jv3GVgHxhSTiimYxt0izirji3PErjuLvds+h2QNmz/Ri2B8eCOAYuNBTHtuvCI18RenMfBGA7w8JiOyRR32HF/3h9ejtGRWf7Nw4u94EzJE+zmUDcAIxGnUkP99mf957t5fKtzD4IFdOEaSlJr1iM01KTnj9KPOsJw== 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=0Yhkdp20aOZOX3AoEgvuSdI/148ioIfxDQbW/0DtkqA=; b=TYRAIr6VP28V49yyPSV90R1i5ezgbGW02tuvDWyYpCaQ/4d35mMcqCreyI/+j3ooWKQSV1x3j5zbSaSt9D//YPGG0/S+69asgCff7uLxiXkUAb9wZL/fPLv2h+kP9XP58N9vy8T42kNrIRcftAriH64Arf9oXkr4iMkt/giACXGjJGgOZkw4d0s+5fLVf/aZafmw5wmxyBDBNWnW+uTA3DrgDhoUHliiAWi9C0GabWZo4qQmjHvSyMXNB/0/f9RRl4t386EnMzgIa+Q98ljy+GevxniHN+C7XuvLjs9YYPCqdN7O6TQuzzamoPt84QZmItJNRHVoQ32vrcaC3ED+sA== 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=0Yhkdp20aOZOX3AoEgvuSdI/148ioIfxDQbW/0DtkqA=; b=jwDasu3GqGnOxH8tLusK4OBaOaeId15BX3MkDqGiPaqN7EtRGJC34zUY4IciKlwAMYx8PubEHpvieczq6BJBM/NabW7Ir5K4OQOcZ5y2kuCYIL1ikiyNgDmwcAR94/zibDT4XDMP4WLl/fwgv+X/JYh/UZ4a0ZC//8RQ9ZYVeI5DfGhOyzGf2vCzgDYONfKdnB+82OC03SS15wE0JzjgTfwKksnWeEaR0vuFlg6qVazm2AXLwqVFYEC99KziRd9gOiNk9B4H5yK3MjjbHV74SM/mlE/6Yd86xDCURRo0IMLm1g9ErfYXZ2AVbwGQakWx90BZy2abE3uxSdlVqH6j8Q== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:53:57 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:53:57 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:52:59 -0400 Subject: [PATCH v4 01/13] media: dt-bindings: Add binding doc for i.MX8QXP and i.MX8QM ISI Message-Id: <20250408-8qxp_camera-v4-1-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=8826; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=z3gQbG0/BrJcget2ANEIY6eVCVMxZEBt3sBKmejs3RA=; b=dhBx4Ui8FWTWLWDsAP8pxl3XOdt8fGbZhYsUekrcUSMO1dZoKreMrMwkyYkS1J/6J/4xP3pqd KoJtsHfhDhMDp9pHtLBRCsHec6kJYQ+yQXOxEJc8TXcYgnDh5WHpSK2 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b4c211c-8258-4779-5d6a-08dd76e7dd25 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|7416014|52116014|376014|366016|1800799024|921020|38350700014|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?WHBRP5Jp1AnjtoMTOiTeg7pXcKT9ti8?= =?utf-8?q?reyxENhlC/ItggrF7+pCNHqy0xXnk24SXkR42KxWBfvDYE1zO6p2hfDFknGDrVX+y?= =?utf-8?q?kWNy7JOL3p2+nBA08tBPZ+TrWPjd/rWeOuBVKMhoP+covTdbVXXaGaZxsQeZ8fXaq?= =?utf-8?q?neEc2xZzvcyAdMm4FKUVkCq01SEvDX+4amvdXRwxrQN/n1OLSXqqgmEgWJniur60D?= =?utf-8?q?UDkabFui6xyWxu6a6vBz7nAj6WK7cCtgGBBYSUdmj3B1LKsnOpoIS0qI9DUIAic3b?= =?utf-8?q?IHqZrsgl97tIj5OE8EvofksGflHCEnzd43mvGxLpRvkm1ztxV7/bbkdIaEjHRy/yH?= =?utf-8?q?UQmwCykfWFR2jsVjx/FoGPBPsY8SBIpCD5emb6f9X8SE4wHWBXyIBwV2Mhcdr/fzj?= =?utf-8?q?72SwwltJ1TDVRsVp3cFDDhNqsUmiqRc2rTAWM8GjNrvYGk8mupeIGKz4fUrI4NCxK?= =?utf-8?q?XcsTKeMRG7dha0p/evkXxj0X77S9Q1FIiIf9tC2j8L+l1byqpE8It9zdan/1MGUpH?= =?utf-8?q?v2ciuq/nMOefs+1p+Wz7bFlNV/lXEzm1DfkqSVNA8oWtql4KRBSQ7xXLJl6nuuzf0?= =?utf-8?q?C4dWEP9WEuhuxtNSA/adzu5/kbmXRZuHQuGaTCk37JhLm6PK9aQfHmoq01aTmj6aj?= =?utf-8?q?tY6yn+2JCUidJ1XP/PewRv2KoHW3wnHB8QLiFQrpUQBmDIwXLhtPmsYyIMvKldYsE?= =?utf-8?q?uwWSfVqb3DVn0ldulp4jbYO8zGpUaHkXcXgvY1wcjDgj4b2nwXMq2oRArgbx9o4E8?= =?utf-8?q?65aTv+E04clry6xmGho4krvFLijPHf5ICUiGs/pFpkMdZFh/8eQFvAaSqbxYV6V84?= =?utf-8?q?4I6SDwWLqa/IgZCFf6rfK+gWWvY0eCEzc4orFkYTbpWjGQjrtyXp+af/F6fUwILSD?= =?utf-8?q?B6ryRg1xOBu8erqRz5XmWCb5RozSb2Rb8SS04AAAt8Fx93a1HmYsgQu2onXK+3JrZ?= =?utf-8?q?oSE6IRF2mD1h/bHVGusoEg3qPqT9rQAQBDRJt88OuyJvBPotN6xzqfV5awBXiZKam?= =?utf-8?q?zzYa11jPdz/MqjsQiBxdqjSAoF8/R8juBQSFLR/q/or2mUzKN//Xr7rKaDPgAFwOU?= =?utf-8?q?RWJVRKW+IPjTCe+8o/n3YsqLq3UWmU/Ksqk69w8h4hu8WcVv1Avf/ihEXcp/LUU06?= =?utf-8?q?CQDmg4m7Dzy++62vwYtiRnUS+pZy2X+xEzgkznDSpUxLlLZII/oOCW9vqc7yreWnR?= =?utf-8?q?u5ItLk191Q5SDo+wAYc/16zE74WBWpVI/VEIohA1OzZgx0gIVyueEd2HGLysOOSsU?= =?utf-8?q?txwbvrZXkQhpZnT63U6ItoXa26HS4StYlymtBreY5aehE3n+sqfW2IbyUjaO40KCj?= =?utf-8?q?QpKRfS4KMkAXXz93YXdDT35kxzh7rH09nQ=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014)(13003099007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?LIW0qG9yUx+h87PMhhK2e/7DfQAi?= =?utf-8?q?ZuVkagmiwPWvHPL37GytRWV/IKvCT7xJLRBj/SSyVuF8c6BJMqrAatXuut0Z7rnMn?= =?utf-8?q?yDvgjPBlEI49YKDz6Zlkqzm1f8+6XA258d4/ROdLjqFqqmuhvwbh9NhXARrwwkp1I?= =?utf-8?q?MvG5DfkSnMSyZkol4mBQ/2FAaqUOpXEzNXZ349Xuee3aUr8ujUoSCmizhU12Biuxi?= =?utf-8?q?LMGkHK8/wKd/1UXxTWfZHbIxkjOX2heyngkaGGyIiXQxeTX3OH5hVGC/L/fruKm5P?= =?utf-8?q?4kmgXOWC0WceLsiX8Pf3CaJF6Zt7RbDuiTALTCBLMmiSJk39IjIxvh5eVFo0hDzFM?= =?utf-8?q?4XJcB4qutedcTbSOTNa4bzG127vfFSscrWFSUZ8cH8ZMv5hlmkkyF7jeW5XCXj/5R?= =?utf-8?q?MJO4k+QktIoQtccoM5MZDqNn/7vWQywUdLRHJyAgyiO65xaLA1B7+LULmgOGU0qUa?= =?utf-8?q?GJZPAktOp57jToWJICbiPdw51GVU9k/bOCxUEqwEL75ScBHkRaFCpZ8o40ZKYdmhM?= =?utf-8?q?Hfej4DuXkU9jrjWdybqzCvHlxDG4VhTUt0qfIt9uwZr1gUTyMY84qVj+20lte9nCe?= =?utf-8?q?Sk9IdPM9+RfnwfJvEf6dQZ2xLM4Bvo29kxgCXkvid5C1IUewUeqaYDUjvDgNkgVfP?= =?utf-8?q?6xEjuzjhwlrO5jJCVAFLVtF6sxhtMYv1/1PrPICcBHo6RhG9t+vpdYv321l1Qb3DK?= =?utf-8?q?/Tqeve36PMx0+J3qCDXVwm5yhz+oXjBe4XSEBDIINHtp7SLbv+d7pEfv1Ani9Aldz?= =?utf-8?q?iL+Ap8aBhkJVyBFD68/6SRgB7eFJ+p2GYA1662f5P4AjWlCvnOmYuBgO/TZhdmHX0?= =?utf-8?q?1nSvxe6Lg35m9GrrDESwzBe2mJHZavqb6Xogay4j558Vyra+Ihrxa+KS0WoDPtcQE?= =?utf-8?q?DsUE1VamnVgt75JhEhVEaX7VplaUAKVewlg42oB/5HyOWOiPcdBjiyTJ0MrsZldav?= =?utf-8?q?43CU08NWsbID6J0vBznHSYCyCo7ktUzT4RpAJUZLKhA2T0lfDBhi5S82rh+/8V69E?= =?utf-8?q?otpT42beBQggmq/Uv72KCZ4+UartEvODn9YBeOIJZErF3QWV0ihmIPxWF6bLWjkzs?= =?utf-8?q?20zyLIizB83qgv53FDZS8yB82V6ABfTQsjEm/RTWx3UZ9sIcz8SYYn7QquBdTbZUU?= =?utf-8?q?5LlDl/pA1TvD50yEMygyDHkzXZnQLKoFT13ObHBfr/go0zK9SdP32M5vTmH//xXve?= =?utf-8?q?5bLJH7pFIifXlITyt9QIVKJehSeaAZOz3XfFBXgSxdzQt69XE+8rWwPolmzBFpfzg?= =?utf-8?q?eBT8qT2e3I6Pr6BMjjvHCygzwV7Fs1jCdfrW3ShW8I7MnbPrUONPamUGo+l+ESE5A?= =?utf-8?q?lQZm1+aZ4Bj7ZJsHfGMgCVPmH8/Wfvf9t08gCZ6VecttPnrCNzbnRvbi4Y/Yz9fb0?= =?utf-8?q?lPpzKYAj5Rw+45G4Wn+thDVbBjzBYfpSTpzxwed9wDRTqyHOTZ69x+PjyV3eYO9da?= =?utf-8?q?AWW1pT+uh8cVj9CZ+Ko49idwAFAx7p3CL1odqiB+JZpcQONBhnq7mAu8=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b4c211c-8258-4779-5d6a-08dd76e7dd25 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:53:57.8496 (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: XaxOfFAf/IjtRcwlx3wG6uk+keqh+sIO3TFDyGI+LT9f/2TJuF+B0Z+xhZHqKVujlkJLuNAwPIWc921YI2VqbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Add binding documentation for i.MX8QXP and i.MX8QM ISI. The clock-names, power-domains, and ports differ significantly from the existing nxp,imx8-isi.yaml. Create a new file to avoid complex if-else branches. Add new file to MAINTAINERS. Reviewed-by: Rob Herring (Arm) Signed-off-by: Frank Li --- change from v3 to v4 - Add Rob's R-o-b - change qxp clock/irq/power-domain to 6. (QXP C0 change 0, previous chip have not production). - fix register size to 0x80000 for qm, 0x60000 for qxp. - fix qxp's irq number and clock change from v2 to v3 - none change from v1 to v2 - create new file for 8qm and 8qxp accroding rob's suggestion. --- .../devicetree/bindings/media/fsl,imx8qm-isi.yaml | 117 +++++++++++++++++++++ .../devicetree/bindings/media/fsl,imx8qxp-isi.yaml | 106 +++++++++++++++++++ MAINTAINERS | 1 + 3 files changed, 224 insertions(+) diff --git a/Documentation/devicetree/bindings/media/fsl,imx8qm-isi.yaml b/Documentation/devicetree/bindings/media/fsl,imx8qm-isi.yaml new file mode 100644 index 0000000000000..93f527e223aff --- /dev/null +++ b/Documentation/devicetree/bindings/media/fsl,imx8qm-isi.yaml @@ -0,0 +1,117 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/fsl,imx8qm-isi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: i.MX8QM Image Sensing Interface + +maintainers: + - Frank Li + +description: + The Image Sensing Interface (ISI) combines image processing pipelines with + DMA engines to process and capture frames originating from a variety of + sources. The inputs to the ISI go through Pixel Link interfaces, and their + number and nature is SoC-dependent. They cover both capture interfaces (MIPI + CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support. + +properties: + compatible: + enum: + - fsl,imx8qm-isi + + reg: + maxItems: 1 + + clocks: + maxItems: 8 + + clock-names: + items: + - const: per0 + - const: per1 + - const: per2 + - const: per3 + - const: per4 + - const: per5 + - const: per6 + - const: per7 + + interrupts: + maxItems: 8 + + power-domains: + maxItems: 8 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: MIPI CSI-2 RX 0 + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: MIPI CSI-2 RX 1 + port@4: + $ref: /schemas/graph.yaml#/properties/port + description: HDMI RX + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - power-domains + - ports + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + image-controller@58100000 { + compatible = "fsl,imx8qm-isi"; + reg = <0x58100000 0x80000>; + 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"; + 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>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/media/fsl,imx8qxp-isi.yaml b/Documentation/devicetree/bindings/media/fsl,imx8qxp-isi.yaml new file mode 100644 index 0000000000000..bb41996bd2e36 --- /dev/null +++ b/Documentation/devicetree/bindings/media/fsl,imx8qxp-isi.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/fsl,imx8qxp-isi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: i.MX8QXP Image Sensing Interface + +maintainers: + - Frank Li + +description: + The Image Sensing Interface (ISI) combines image processing pipelines with + DMA engines to process and capture frames originating from a variety of + sources. The inputs to the ISI go through Pixel Link interfaces, and their + number and nature is SoC-dependent. They cover both capture interfaces (MIPI + CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support. + +properties: + compatible: + enum: + - fsl,imx8qxp-isi + + reg: + maxItems: 1 + + clocks: + maxItems: 6 + + clock-names: + items: + - const: per0 + - const: per1 + - const: per2 + - const: per3 + - const: per4 + - const: per5 + + interrupts: + maxItems: 6 + + power-domains: + maxItems: 6 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: MIPI CSI-2 RX 0 + port@6: + $ref: /schemas/graph.yaml#/properties/port + description: CSI-2 Parallel RX + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - power-domains + - ports + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + image-controller@58100000 { + compatible = "fsl,imx8qxp-isi"; + reg = <0x58100000 0x60000>; + 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>; + clock-names = "per0", "per1", "per2", "per3", "per4", "per5"; + 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>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 78467ad7a8fef..977f338bec04c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -17428,6 +17428,7 @@ NXP i.MX 8M ISI DRIVER M: Laurent Pinchart L: linux-media@vger.kernel.org S: Maintained +F: Documentation/devicetree/bindings/media/fsl,imx8*-isi.yaml F: Documentation/devicetree/bindings/media/nxp,imx8-isi.yaml F: drivers/media/platform/nxp/imx8-isi/ From patchwork Tue Apr 8 21:53:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879594 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2042.outbound.protection.outlook.com [40.107.247.42]) (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 913E72561AA; Tue, 8 Apr 2025 21:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149246; cv=fail; b=omnQMgff6NMM3irOFgkuvsW1Pct2KywXjRyqBhyVvMYC+mpG6ghvv7AmAnXh6Zx6MDVfITwvuHywbRaqt/1aY00qRaP2wM0qaUU+MCDRn7h3n/04fSDboSaCR1mx5f5swGXNSjAN2JQQZaIiHfr5ygQuAaNNbRc3bh3Fc8ivodk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149246; c=relaxed/simple; bh=whffEOlnqKmx08fE+iHWtEpWfG1ym3K0BSf9B+jZ/UM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=baHDqFyKzbC4tupZf5ieIUtCFvq5nD/kBcEj6dG/JaHEN4LGkmAsgFxX+0XUadGEMU0+kskNaMrCZuAxeqCf4ZqPqwm8Vp82OlqRS3g3jPxrY8pJn2x1JIJ/KejSJjXDlAutUdtlOFP90CLpfaVYiVA1Jw4Zy0RidizCWUKb0eQ= 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=SLyxHk2J; arc=fail smtp.client-ip=40.107.247.42 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="SLyxHk2J" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cdkMZyQb5BO8LBgFox9Ke0C6kO5fp/Z+V3pDrH87dQnb+ZZ9JulBKWKriq6ZzRNwfTnwPhwAbCSY3fXAxFcFHPVBKPWkcLa0khVHqjJh6b8/MgAS16FqDJcxshi8csXA27ETNluYq6hfmWEOZ4QpnOhb8bqVwJ0AsL5cc0wPV9Sp5e2caOgKozcpfLxlcklZT8TrRr5OP4e+ElymEF7UjgyiWT8tWDJpfefDSYKNmPdI0Flr7Fq9nlorBEcx7vhrBnW3PB5CJpY0dIEx6iqaJOv5JLykTyMp7IXiyaW4mXP4z5iaW1fVmRJKqnvV6itrCG+r7/QteZfOdCU13mZXQw== 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=ffsql7ZUvBkYVd9O4D1RB7qM9ZUCbJlBPFNukIiFzYE=; b=ZitDWPua5jYrpdL6HVLJdPGWDknLCnbD/3xuqxNQ5QYTrS09i7662HloEONmgD/ezGRJhdA5/uZ+UqoZ7jpv6RbiBS7odeJumQB6EyjvXvlghgB37k8jlMwTuCRdzJ2Rh4PUxCVUeFFrBY+mxs4fW2koDvmVmKWgK3K+bI0lUs02PlJ5BHMEYPjNBLC3xSUCeCi6omJnuhdNEsJiqB7jQEZcWf8nf9gnTRs9iUawvOrI2IwQnTB6JLiAMVoed6KTj0Zseh+0+uPo58Z9n8nTFW/S7aoxWl+UQuMX/kJe/0NVW3KQ5r+Ya9aB8hydwjkgxTHYLv+jXDcm4Zbyym9RhQ== 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=ffsql7ZUvBkYVd9O4D1RB7qM9ZUCbJlBPFNukIiFzYE=; b=SLyxHk2JgxKoV6aci1DhsmgkFZ5I5mXiCQSE21cwca0dMpPtCUB3TU8kP9A2IEXp4DGfWjMAdUcg4A9qqdiXqecIpXfqc7frCpMdNZqBftASWEZ0EXHS1CP/RDBgp6qizlDJnDmLieBJQY9QfClwhmzaPNu9OaaXAo3vERybIOMPDy8jkMhtafprb8rRy+U99LoqaTVlEs7x8pAF+Qj5T0ma/Ju5NCjvjEor5IWWEnIs9Kgq5NoaXFDgrdS1BKhXb6LcrWolHOqeyRPenXTPKLim6C7SKX7kPRq3+VE5g1Sx+7UbvEUNT2rRA3PP5+LJOlbErHme5VK0ZofGXHAhVQ== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:02 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:02 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:00 -0400 Subject: [PATCH v4 02/13] media: nxp: imx8-isi: Allow num_sources to be greater than num_sink Message-Id: <20250408-8qxp_camera-v4-2-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=2311; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=whffEOlnqKmx08fE+iHWtEpWfG1ym3K0BSf9B+jZ/UM=; b=PK+UDnAYVUmFPYzl9dB4GKXAqq4qvb4fjSjqeL0MY1LC76L2Xmj9/FFc+y/3lHgtzET/cAv4f tQqeYEgiYf4AkfT96s43Vqd56n4of0UB+jQfjQ4iyo0EBtF6nke71s9 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 42b45505-1111-4fd1-87d3-08dd76e7dfac 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?QcO7zu0W4UEWrJLeQ5jvrClIrzStvVn?= =?utf-8?q?QE4yNu0fsBVqCgxUJalG+tspBS6M0p/kzuiWILzQq06MQVdJ8VydpzajeefIeoJ6J?= =?utf-8?q?z9r4093DY+KtB3AfLWAS9E7iPsLeqmXuQ+Rji63O55apvIAycKtV96x1SbH5v9UTt?= =?utf-8?q?uFQXOpB/N3cqBLgx8bBYTp7pXhGyGnXIwFa4GptPGl7o2t8W5Y8one8ed0kGjxCo+?= =?utf-8?q?KCL1ZyraBGBA0CsJf9yzMVtdwrxvvgQ8nF41Je2Vxl4q+FPwjhMqsX89YpgDaSvGN?= =?utf-8?q?mVCwxlNJwo+oe/i4kRsTFF4/UR1okGMzf+VV2fuAf7fKAkyVbjBGf2iyAZvftB5lo?= =?utf-8?q?RPdyRfxyerTi+PsSxAZ85nwFY7TgQ5RKCFxxkgPQGyFNdoUqXzrzZsyZ5fCXLlzUq?= =?utf-8?q?NEi6ANbzlLAdl05TzlK9aUtcxtIlaIaPv3DWhedw1PhBzLp90fv0/l0Br9tUuS8jY?= =?utf-8?q?SdGm7ZzIeKDZmXaog978qaEUd3AhRSbJmMKPu/M03LJg/7MdDpZ817aIzG9CsP/7y?= =?utf-8?q?qZZPBgXNf8hqh5AHAY4SEto0E9Xxf3Gdw179tvrOm/OxPSc1FGAImV4nXeXOSuzBe?= =?utf-8?q?X4wN2fKHMcET9ZfLhvbJQsqYUGYfKDLgPNyGbtiUa3dVzrncrWEfXnpTlW3Wh+/yG?= =?utf-8?q?RXcK+oIrLcPhE77mKyWQymeKU76lHhjy+F/msZwoDIBaQ8q5S9c73miXmHCV8GkOG?= =?utf-8?q?ggeVBrIDKJWEfXa2vIppQcTtq3GG0R2Z3ySA3B/mccAOEUiHrnWDvNNmCdkbWuN70?= =?utf-8?q?rprauXNvBHqpEdzaheKxGddBnb+SIg9RKvIIMW+yNtbV6ywIOhuYPZVGgYMlhXHPt?= =?utf-8?q?TrMJFlfC6aHaQ9CMXlmRw0x8D8WZyc/nG8ugtIhjhOWs9QYzTdaF9Ilbx6TTdxzNF?= =?utf-8?q?3+qeSYf9QGikdXmE2VM/GRuXGlTXWoBeCsojscV31+ENNzv5yaObcNoUTII38UCbT?= =?utf-8?q?gokl/VtOAdhedMP/QNOsXwqXSTmp5vNWzBJ72O826QefWeTWALbxA7aVLJBTMqHpi?= =?utf-8?q?OLjdpelMyVmX54Cvm/+UN8sKFexSWFMsjG6aHA2D9StWmaPTZ6izr3OANfFfl3K44?= =?utf-8?q?INuTuavUamzev7LpNAQNNbAvto4JEd73RvYSbQ+jOQm6CN1DP3WPe6+mr3JbOoYrr?= =?utf-8?q?zjIa8qibj2j5BeSZJArkY7rBm84051mm2AchZQ1rMEoCTdYv1SLKyzRsoLNNsGfRc?= =?utf-8?q?CfjUmlHCowMInErERxFIMJRy8jx/U9C1aXgqv8KpQ8qk3Xa13v1LJE83HSl/1QRl9?= =?utf-8?q?Ws2xSbE15Rt4R50PCx3QSazFYW9Sq5PrbUSmCy4bUwaTMj4H0ejiZs1930zi78fHw?= =?utf-8?q?DIA4JKf3q2gmn0mrOwt2h9Vi3HUzPAE5t48c50oNrcNd8t3pQb793PQEb/mG39RCK?= =?utf-8?q?skzHQFgIrFgO0CbWZXYz0wRObhF0q+85A=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?/PW6PHZRNPmEa1RT4C9few68jWsb?= =?utf-8?q?cX+W4N6DFAgkF7dKjDl2m5a71cKTLbvifIq0L13fxjpekOMipsnzvJ7tRDXKSPaqo?= =?utf-8?q?53vGPCNpezwLuwIOSLs3TFVjiRYtTiY1jJo8HfA8uHaV3nQnmkNujHncpYffAZNd6?= =?utf-8?q?apU5NPO5OesKw0LCMX4aGDtCSK8piPoxeS38Lw/Qt2kdKeSLa91WIdG2/DnL3FFwz?= =?utf-8?q?+hJ77hcr/7Le278oRhlNGtDKsnAMsE3yNJtTeqht0wBFDoQ3CU0hatxnESNHbjTh6?= =?utf-8?q?V48ybM3o5o8OGDYdUgRiDkBCWCIzhVTJ2P3d8hKA9cQSGYumnWNKBV9uzSMUhZpjb?= =?utf-8?q?lzfFRkNCw2V1eqe7tv3hLl1U0RIcdw4SO8a1nb6wVbf5+ZbTKrU7XSkCHqlzGmabe?= =?utf-8?q?jKvc8VTfsb6OWIFTU+9oJZqFIGDAPcLgV8CIuyfQyP64fjaUt+2Dgm9RC1ki6UdAk?= =?utf-8?q?9PfLA1EOvdZ0izH+h/SAcJzVoRBkbm7xuZrjb5itacqaXgocT0vPpKYBhM6yTKMhO?= =?utf-8?q?sg5TSFvRkAtxnuviPyWux0p3Lk05CTAjSs2JRrPl/iMo8b58+0GtPD8Gl6bvbZ/It?= =?utf-8?q?mKjHlTBBGQcfti+yniLK9nfRgv2i7/RlJehyUD9nNKGJKliQxAdBebwDxLrKOEx23?= =?utf-8?q?B0OxK6Xn45aVQ8K2mvIJbVL34LNSB6y/rgvwhseZ54LsclaaBdLDL0gxVV43IfP7S?= =?utf-8?q?36Ixk1acMy0kn4kl1RF9B1Nmc2XlJleEzjlHGZ2Olnxm/CGclXdsfR7Hd4YbxbOf5?= =?utf-8?q?v36tnj9AXwVanc+cTI8tFf1JBfxpj3ercsco8owZTfSpLVKLu/PNBbUscmVpGVwdl?= =?utf-8?q?ePwsyhXBPCZWVoQPf1Zg4LQv+92I9WzYsYEgAIak4JrWuUdxVdjD0Hoe+nfxiOeVB?= =?utf-8?q?yBKsaVBr8BjIbDyNlnWPd/MXdluiW2b1A6byQQPJq75Sun4Z+FRAFgd/FLETPW3md?= =?utf-8?q?p+Sjtz4OdjYBLPnw5G17rMcJapLAKpqpLJlSXPv4JJixr6byU0lSV8zvZreQkdcag?= =?utf-8?q?+owUw988LP8P6/2fMNmoijjW20K5qS3QB1E0cNPWsFG8coZrEezJ7PxJN9iWSQp8W?= =?utf-8?q?1Uw37059ZeDxJIEEYc99j9AsDCEFIT5CD2ZwXyocRJKWjHIBwBX6NhrQf/rwqXWoz?= =?utf-8?q?nt+jcJ8PfiZLHFpO1dAG3e5vYTkEWBb92wt6ydbQ/YUUlK3klBFnDkMsX2zdL55/W?= =?utf-8?q?aVpXUrmmUsLSbxAg65VjtsHlrbXK6N8l+Gu/5cTQfUSdQ77N7oAToafQhGCjzBQYT?= =?utf-8?q?biQRa+Bg2ikvtueMQ98aG8SuCRX5OBWJrlmo8/ucOcnDOnkvuYDLGZ/fSoUhxru0P?= =?utf-8?q?mZtRRlTgiXP66svSQoGbi79OOEsGcxMVHOfq7aKIESjYJdQfJQTNdMaRFcWMkGSp4?= =?utf-8?q?S46S5cfy5ht4HUDwDKBAx1HKWGz+5nyrfZK5GfJN/Irjwb1IBIi10IyMeieJVgSvx?= =?utf-8?q?db35fRAosTrxfVU2CmedSBI5tVwb2bGvpzLJxM4mc3Y2fQDLbdijFfW4=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42b45505-1111-4fd1-87d3-08dd76e7dfac X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:02.0108 (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: 1laf3/iMwoyqoyNgZVFc4q2Zy2G3NRAiBEJUaon0b72Ycl7fgHjWHlX9S49ci8+Qa1qgiqoSC9PTwGXXU1/h0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 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. Reviewed-by: Laurent Pinchart Signed-off-by: Frank Li --- change from v3 to v4 - use routing.num_routes = min(xbar->num_sinks - 1, xbar->num_sources) - replace xbar->num_sinks - 1 with routing.num_routes change from v1 to v3 - none --- 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..55454445359f4 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,12 @@ 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); + routing.num_routes = min(xbar->num_sinks - 1, xbar->num_sources); + routes = kcalloc(routing.num_routes, sizeof(*routes), GFP_KERNEL); if (!routes) return -ENOMEM; - for (i = 0; i < xbar->num_sources; ++i) { + for (i = 0; i < routing.num_routes; ++i) { struct v4l2_subdev_route *route = &routes[i]; route->sink_pad = i; @@ -200,7 +201,6 @@ 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.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 Tue Apr 8 21:53:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879238 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2087.outbound.protection.outlook.com [40.107.241.87]) (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 2E9132566D2; Tue, 8 Apr 2025 21:54:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.87 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149251; cv=fail; b=peKieS33kMuBXNo3bZWGN87PO+/DkPoyxPYb/pinlt81xDad41RgxQgkvTEke5sAs1D4dVZASsNLJi17GPS2p/1aR6U7mVzgJ+KPiquq2+JyD/yTzJc2SeziGBFgJEa2FIwXwzmDAJhm57abFFjppYEoAmH2XyCnsGLrtkI4R+Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149251; c=relaxed/simple; bh=noXMKVQBMelK/ehK/17x/ZiLJCzT079DHPxDBWD1mPk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=pRHurzhF557F/ptdVEtJUuptVR4zCIhAUKXjQsqA3JnlP6Gtgbr7K5ZHbM+dkZppcQzDJpXSBexSVItW6R+5y+O4St7A/uoi7ArA1va2R0c7Xb3hfOwzaf0AwKWwrFUnfO+QHLZYskk57f/ovaNm/bcqYEcPFszv+cjWslXmLcU= 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=FjaG4ngC; arc=fail smtp.client-ip=40.107.241.87 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="FjaG4ngC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oB24SjYArDcFrfPdfwXI9etj4gBp6+EDTz67zSV3CIQ509l7PIIdCmYOIiYIzCTyH68a6xPkCaZqrRHnZyH4QeHXZYA7wG98Af7fMEwquu6jmUHBGp7tPYOyrixRu11B4YGSZnhoKuFkNFf5kN2nsVj5F6zfOXPjorDka6z2ORHezldZurWiP7fg3VgVACnPej2T8UjEJ7dhm3VRd5k2oD+QEqDrS+ytCzx41Z/zKepnJ8Q0be/S8MM32XnfBaBf0fUYumBLYBrbyocz/i6iHZxdrG6nMus9l1TiG3jTwDbzHZqZm3Y2igXcjg5Qtf/uF7uYbIaHD+xBySAoQE7JJQ== 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=+Ydh2r1iRTTmID8c6vddANSkJyJZKA1k2Bb8KWqAxXs=; b=WNuIg8JVStUxVLEY6E8Ry1Qp/Fu32u7HouiUjpboqMM/6O63nL8zQ/Nh978RIiQ1Bv/+nToLKJr+DQAaF2O2oGeyqptFwn0iQmjdYDIZuJ0aQ+FR4Hhq8CVbizls1TXpgyCSKJZXzZLQZN6V7D/JPdx5vu4myWWvuwn14tjHFemzV76PlWILLrd3C9uTQKyzhxGC67IEM/+wipaPafPswnypGK+fQmuzJRpJkDBJgFuRi0IF1GFmcyjMB4GSUiiFDdfuXod2Yif/M7Ygc5WkOWFxAD/O68tZ9kSZyJWuGIcMg4dBXWjS/m8vvjndWbuiY0iDrjwDgNMH8zStY4FFXA== 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=+Ydh2r1iRTTmID8c6vddANSkJyJZKA1k2Bb8KWqAxXs=; b=FjaG4ngCl/u45ifSGZqTD+bDUHFfvmbQi7QGyBtuR3gmtGAoIT9IVgp3Senl5sGHshNNk94qR64GsF7E80bCR87GWSyyaCueqTvxZ5DPY5ntp4cXFeUhfgGzCzlnaTyxfQbJbpWzHSo2JKmkNihjpcRlN5zbfCCp1EXEzX9KpFaetTfNNg0EUgXl56qbBjFlKbTgaHQGqvzBE5PP3eWqzkXIhRfAF2W38O+QoWkDHr0mkwO2B5UgOU27fIKvvzq/tlVLbQuwaAL2irNJcFriwj9pBKH3O7r+4MDuF3KVGdozBXkpjUTkaIRtPR55FmV9WqMAPoyKsA6SPRA2eK+NnQ== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54: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%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:06 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:01 -0400 Subject: [PATCH v4 03/13] media: nxp: imx8-isi: Remove unused offset in mxc_isi_reg and use BIT() macro for mask Message-Id: <20250408-8qxp_camera-v4-3-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=2902; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=noXMKVQBMelK/ehK/17x/ZiLJCzT079DHPxDBWD1mPk=; b=hxb2IYvh6f6/SswqYyMi62Zbf1dc5KaQJizcMsuXz/FD8R/DRB1bxW1ahI0sm9p+njbSavfI2 FVrbcra73DcCC73WVQBX9PXPDpiFeRHxoxEH7zu0YtF5jyMZOrLa4mY X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: f5f3a77f-f459-4879-231c-08dd76e7e229 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?eLIN8UnDx/uk2hEDIp8Pnzu/L6VJgxt?= =?utf-8?q?+lytWi0j4nXpomBzik4/Ih3g9Wkq/AZQun+r5NX2N/SzOP69xY1rVBKD2rXE2A94X?= =?utf-8?q?DOONiUDfnQK3jf0AdpuX7ZShE02JdykcFKSGLbhoDBzK1Bt6EE4k5jJKxa+/FOEMp?= =?utf-8?q?VJ67bW29W9NBt8Ya4SIM67d7t2RphjC94dBEWbw1ThkZyKcFNPapeQOge6XsSIPHk?= =?utf-8?q?iN6BxhP+7efiXtj1rG5R1GZICAID0mhZKM4Sg9sJpVLb71rNtfuy4j1KDLxTk0QHs?= =?utf-8?q?yMrPXtuxpoYOV0xKG3USwchnUO11wnSOhgwRPgLadDY2rdJ3LdOr+7Tb4Jfdvop41?= =?utf-8?q?YeGYyhSjs7HTvgwWRA479uYXYco846Pmgs1bfd6ZOMRQ/LfmVYyTL6hG8fdNWKWBq?= =?utf-8?q?KvcmvDlhJ6YRZzTh2zWuAd4BtrixCOy4kQfx0DIMDRePb4KcSicgXOIey/PIKFHdB?= =?utf-8?q?Xkq/Kv3OSc6f1Ce5EZbt5YHifJ8Xy5Gj79O+aedcaEPozdLpJio93La9dIuoHRxGi?= =?utf-8?q?IH8rSPlE6LqHosE6odzrRTSoolUczw/ukuR2aisPiYLHKhZvYG3y4C3RBYXa6n8uM?= =?utf-8?q?4C6zSsjtB2dAQPXF1nprWVdHlqKzyXdfBjlPDcRdAy5xF7WydYGnQC+YoOAvB/2Kg?= =?utf-8?q?wOxKizBtaGbD1GgZHin4/Deq3dZny/ISTfCMumrF09lDNTqVjMGOH3k55hLCL1tk6?= =?utf-8?q?hEGDd1cFDcMUvuWMwzwDwNkHq+0gsLCSJJNZY6qEMQvVrpsUQkKxQST72gy9qwPap?= =?utf-8?q?80gzyGSlXPdsSaR643ZTshN8SJmOEQHUtfjEd1NzIGZ1YgDP8X39UdGTMjLQ1NBNc?= =?utf-8?q?AgUnxJb1lYBSA+HjS2LTZKp/umy62tsK7/kfRsF9VxxoMDdCnN5tY3cnSwi/+wfwx?= =?utf-8?q?MrOaK+WW3ar9KowxS5AOZ0GIbfKvML+zTY/C58KXVFl0BhgstBLHDMnnxkbcdo5DY?= =?utf-8?q?HtPbXUh1GsAlc0r+OJwHDv0moTRvcwVC5rzYI7BefFe5KMtfN0gp7MeaegWLoRF9p?= =?utf-8?q?CjySAlI9ZTYnW15xMiSX2zEK5XQvXyCbJ5oAgWZw4mJpcimmuOshE/TZH9HvW45Y2?= =?utf-8?q?Cc5u+ug2iBwVzj82CW8jmNNfrkowP3PE4i+9Nl1W8mApHyKqCK13jCvnOCBMpUPQC?= =?utf-8?q?x4VZaHfQL5x9vrGzQX6XS2iZDbpP8s+GOzlWAILqcccC1utbqBFXZ2BFS8HSZJblz?= =?utf-8?q?rOrpZG6aGWA7b+Xtm0xFKGwZSOVgy+FngZ+0BHl6zotuihfSWRxEUqF003UP25fVz?= =?utf-8?q?rrRP7DcKd6g2tpUUb0+Wbu4GdqucYjQHCgw9AnT2+hbS9vDKoa2cpj7okZapBiEXS?= =?utf-8?q?vOFQTbAyoQKn87lzwkgLhgiV6IhaMf8Q2BLJ0OQ0SSprnRnSOKRNf0SbC7Rzehqj6?= =?utf-8?q?794/hOfjN6j8LBc96AdXBPT5MbqeQ8dHw=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?UM1LcBp73fDVgc6TLUV2hNa359zl?= =?utf-8?q?Pk0SGOt6T+03u/rVngWBZwlAzPdfHr0RU8CVPRT8GrNKms/rKsPTBWcEiluB/+Pp3?= =?utf-8?q?O+6VTAVwZNLtZHqpRWur2CDZq/XGp8Z8+1SDIAozdQ/zVpFUayhgF9cZERabgXroC?= =?utf-8?q?bjc6OEec5FT6UIclUX/Mj82dqgbx1pESLBPNHxylDqzzpgOD5JuxbQ1y6dJChia7d?= =?utf-8?q?xyYSmgg9/ptVTVcykgbY3XSxl4o4ax9EnLTDdMMmauABxBlG7y4AAnlJbTjBphQk/?= =?utf-8?q?dbDzFfGlU+RHTnlMWydNPAgDB+7hfTgkeR9XoCoN8mH/VshNmTdgNA2ZEUYcmy9AF?= =?utf-8?q?zkKnlwR/vU0zhXJXYFTvWhePFjvU9GgDTifBvccf0nEwkQ9c39K3Pt+g4gRmtpl83?= =?utf-8?q?PQ5lCSr4J8I15E4paeTGXelfidFtINl4OVN0ufmVTF6O1RMdta4u+IrWSL3wCNWxL?= =?utf-8?q?VEQs1js0DHBcCRmFzduAuc6uEQRf4HvK7WPs6Ld1IBoRe7rkkI9fQHa/PaNJEn4Q0?= =?utf-8?q?9tf5mdH9+fW9cutThzz/HpVWgvX2HTjn8PmH8oYCNepnJ/H7vU4Ht6VzFlJo6SsGR?= =?utf-8?q?hBwRKXv2SYUKcosY52IbQ+fO3MyW6ltXOaorL4hEc+VIOKv566w76M9lzmk0IhvL3?= =?utf-8?q?WlEHWQtRZCp4J8VpVO7xApAvxc+AzFFFzQGnPXxpxxA/BF4mpXTRYVqiiJ1SkBL4x?= =?utf-8?q?sHM0DeS2wpMrc1+FhUM/fuRSAYL+rzqGMtn5pn1bu+j5YQ/b5ccI6Jdn32ZvSJuxe?= =?utf-8?q?lOcSK9PYWbRQkdUAZalgTdCGismjifjfZM1ClVDzf4F7X8u8zDY3apEGEHAvwmWcs?= =?utf-8?q?fHw54LHAzsFXFK03O7krwCXvHiMKHL87wO8/jIueDwVjpuV6KsxsgBP/VlsCcmLjS?= =?utf-8?q?4yay3Cui1tZ2140DbCMQ07xfRPcMk9j2icX6L55UMiya1/TcgoDM7Yo36BEbeGK80?= =?utf-8?q?YjcAWcrxxUFdALNLNcOS+z6PTMhvCCGgaE4zTdtR+UwZyihKn11QrSxJALAWmJDKk?= =?utf-8?q?j34n0wijRl5v5Mn+8xwCYY+pBTb3TnQH6vLqFzhD6jCMmCWUXuq6QVJe53yEKTEvF?= =?utf-8?q?q3glQbmSXLLRAjmm832DIhHInWeQ5KO+56d7WYCCIMFZRG0KDfyJIA+8jF7260TXI?= =?utf-8?q?7kJKGIBmur49vHeuWYbAT4bU8o8XRJSXk4qG22yw93YlYBBmQFts0a0XFgQLab1af?= =?utf-8?q?exsT00W1zP+O/U9Cf5C1ipvWgBP0N8PdiRfgiuwzVcwj1BnXo0t7+q6/3mO+gqvK/?= =?utf-8?q?68BawZzneeZnw3wtq3FCsXQELac6uSoFoIzi2+dLGV4w1bofI+wsZi9GQZYFbeejA?= =?utf-8?q?3xSp5TZDiaCwIetYPepBJfaaDirahZjCFqcoDF82Gm9+dHU8YyVYFjKBtk8lN+8lv?= =?utf-8?q?hcZo6OB9yOSk8WhTxCsRqfSucjLtW4bLOew5A339vzKVRur8hlhkcudox7d3w6Z0y?= =?utf-8?q?e2ilhVV+HLbyBO0SymB5AthLHeXoZORq6k+UUf7/Xcrf2jAhKJqT+2GU=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5f3a77f-f459-4879-231c-08dd76e7e229 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:06.2193 (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: r1GisRr/EmJb/s+XpbEy0vMm7WHdp8TseKdDKOTNxMPJ0uP+6uEhgWIi+iwOWIQHpw/vbSzQksiKku6MNDyjGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Preserve clarity by removing the unused 'offset' field in struct mxc_isi_reg, as it duplicates information already indicated by the mask and remains unused. Improve readability by replacing hex value masks with the BIT() macro. No functional change. Signed-off-by: Frank Li --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 25 +++++++++++----------- .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 1 - 2 files changed, 13 insertions(+), 13 deletions(-) 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..ecfc95882f903 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -3,6 +3,7 @@ * Copyright 2019-2020 NXP */ +#include #include #include #include @@ -247,24 +248,24 @@ static void mxc_isi_v4l2_cleanup(struct mxc_isi_dev *isi) /* For i.MX8QXP C0 and i.MX8MN ISI IER version */ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v1 = { - .oflw_y_buf_en = { .offset = 19, .mask = 0x80000 }, - .oflw_u_buf_en = { .offset = 21, .mask = 0x200000 }, - .oflw_v_buf_en = { .offset = 23, .mask = 0x800000 }, + .oflw_y_buf_en = { .mask = BIT(19) }, + .oflw_u_buf_en = { .mask = BIT(21) }, + .oflw_v_buf_en = { .mask = BIT(23) }, - .panic_y_buf_en = {.offset = 20, .mask = 0x100000 }, - .panic_u_buf_en = {.offset = 22, .mask = 0x400000 }, - .panic_v_buf_en = {.offset = 24, .mask = 0x1000000 }, + .panic_y_buf_en = { .mask = BIT(20) }, + .panic_u_buf_en = { .mask = BIT(22) }, + .panic_v_buf_en = { .mask = BIT(24) }, }; /* For i.MX8MP ISI IER version */ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v2 = { - .oflw_y_buf_en = { .offset = 18, .mask = 0x40000 }, - .oflw_u_buf_en = { .offset = 20, .mask = 0x100000 }, - .oflw_v_buf_en = { .offset = 22, .mask = 0x400000 }, + .oflw_y_buf_en = { .mask = BIT(18) }, + .oflw_u_buf_en = { .mask = BIT(20) }, + .oflw_v_buf_en = { .mask = BIT(22) }, - .panic_y_buf_en = {.offset = 19, .mask = 0x80000 }, - .panic_u_buf_en = {.offset = 21, .mask = 0x200000 }, - .panic_v_buf_en = {.offset = 23, .mask = 0x800000 }, + .panic_y_buf_en = { .mask = BIT(19) }, + .panic_u_buf_en = { .mask = BIT(21) }, + .panic_v_buf_en = { .mask = BIT(23) }, }; /* Panic will assert when the buffers are 50% full */ 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..e7534a80af7b4 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -114,7 +114,6 @@ struct mxc_isi_buffer { }; struct mxc_isi_reg { - u32 offset; u32 mask; }; From patchwork Tue Apr 8 21:53:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879593 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2075.outbound.protection.outlook.com [40.107.241.75]) (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 3D565255239; Tue, 8 Apr 2025 21:54:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149255; cv=fail; b=HCR7IGZyICsjIuqLn+5kb71VfnU02m14CCXrsqxk4jChvscHjrjIiAr73Fhh+lE1xt8xQjRvJ8RuD0TlDuC9waciHGZVy71ecOISOjOCrMZeI5JYi2Yy+3wFbS7hZnx5cR6CUCe/qHiESXd3BQWHX2KCcggSu90EtrQaF3Htn3Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149255; c=relaxed/simple; bh=NmWY5lQ0wDC6DARs+42lOLmZRItY9ghCAf/PRetKaOE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=jcCSe/LAU0oKiXWpJyH9fwaqY4LGFNCm1nKJ38pXeQf+TTMe4xSQIg0UGhx+nbN3EZdcUd4dqQXdEYYBlg8xu0VpUzSkf8eXozRBOdBYx7Kk4kAmLhzpHayQ+/Jz/vUC7/fd/3jmo1QUzchZLrxKrokvdBkA76XWZqbQREtvXOI= 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=aQuax8oc; arc=fail smtp.client-ip=40.107.241.75 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="aQuax8oc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XAFGuHzUG0p7FnXiR83BIbF/WMSDgR6YByHMkRiaDlF9wXA9FWThy3idWiMsYnV5L40KPBKD6zbLkkA8AnxDnueDf4KLVRvGCKIO4YttLWHFrn9ejDOVHHFfu7M63fcI5CVFCCXr20iwG7nI05xld0zBJK5my1Fdh2sUJIbtIR/f50zyskQxYD3Gt1Dk4H6t6v3fhVkvMYL4ELUuRGvZuKWiS10cdHifeZcJLmlw984AdHy0MuKLc55JHPskh2ivSh46vKKYibf2R9MQ9s88FZtAif1JzYGrHcWj6ZJ0Om4VJYSy0N9h5lgdF6BLfGybNysWjwHlfLu5dwO8oKH6eA== 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=T7HJQ2hAoXZ3YLXCtp8CmzB59RjwMxfkFMOMkFzI9l8=; b=bphicueNXT7+GP0+7gPlh8sOSwQKU2F6ZTIV4LGB5bxk8ru9r1/OXneaTsI7kQYfRBTKRj4m8T2x8LbtOYU/FvqbnbV8E5SI4HLRs+cypy3WmeQzAiX7PcarWFOoHxHx29hwF24D0DT1BWHje+AWXnBjdXSiCSYjOtKwmJ1kCWPE74cHAPhfH2fUHa29raQCv5b9VC5o+vWTfHExh1PKVsUd9Bsl40lfVczoC3oKMt1sTGDWeY0rMhq8KAWMVg69UJc65vSrRKsAo4MBrx5KSdvE5k7hG9zVM3j7g+OT56xNGspXxYBadNYVq7sCOdFOU7OVwn2Y3Gh/oW1cTSeCzg== 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=T7HJQ2hAoXZ3YLXCtp8CmzB59RjwMxfkFMOMkFzI9l8=; b=aQuax8ochjxWI8VLVO4efRoSbgrBFMcBb99GV7zuksN68LtrOW7JKc67uEPpa8quv4zUHB8zLkOhJzvDB2tvrwZAGmUvP82JzPVcWdXulhI8oW/Rd4E/zcO2YRyCFfoAgpyOl9RfEMuLY8FExIvG0x6nMY1VUlT6pymivcRUNL1NrArPJDnpkiJAtO24T1noOql5tp3ZjByB/vTyYI+3/pzRdsrjgCXjCx7vqbP6GdCd6qJh+uhtIn3AmB3rqXwDZDCJNJacKoMK110g3yScrmfTLWeWxU476UZ9p1jEUpSVZt5buEc2Utb4HUfHllGWIvfkHAfQQ1hmvtEkbvAtHA== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54: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%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:10 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:02 -0400 Subject: [PATCH v4 04/13] media: nxp: imx8-isi: Use devm_clk_bulk_get_all() to fetch clocks Message-Id: <20250408-8qxp_camera-v4-4-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=4942; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=NmWY5lQ0wDC6DARs+42lOLmZRItY9ghCAf/PRetKaOE=; b=PlRAskn940mlyeA2Pxt5d7GFwL7NxNOmByoEXcu4hc9JE1iio5wMJYFTtDpEeDhfHqx1FoJU+ 3kvnbGjZ82HCdyThePWO+vp4IuHHFy1DG0sjQ2wft8uQoy1VqvlWW3N X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: c0702599-682c-4f33-52dd-08dd76e7e4ac 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?E0WLOEaro9a1YCOT4ahuOheOheHLdza?= =?utf-8?q?MJpHGFAsnjTScBb5XX/oXe9Fjp8PXE24gG1hb0kv7BCS09L52aONRy8kla1qgvqrI?= =?utf-8?q?5tfpWdfUmtXjfjQ9vU518U8wHoXCtcXhI4ecOe6+tcQ/l9mRN7UITBStJY55Uprir?= =?utf-8?q?9lrZcHUwEzgjB4m5IpW7D+ssCgUhnCZNd428YQDsbZVPyxanygi0TJj7unYOlri/4?= =?utf-8?q?+9nBG8CJxpMNJJmyMVB8wzBHxcT1oOxbsaBVGjoy7V8sIW4GhkPkRLba5aBK9sS7R?= =?utf-8?q?29attTRyj7Q9KT4yHHNw6DDONj5q1f9KmPTkcH5gekqBQwKzatsXhEyB5WX+8Kh6t?= =?utf-8?q?iSM3Idtse8K5u/tRjzpJll67jDSA9S+4t3tskzpu+Qm0A5N34pz0gqljpOWtZ5JlR?= =?utf-8?q?TQmGNMeoNer+8zW1gSWe7TEMfnBSdcyHjvykZRaRA2FmiaJJI6mZPj1l0LvDPngTe?= =?utf-8?q?KR6iAlRdzzD9XoXG27ecDtZasjv2ZzXOOSndVZPlaKkA7BbF9QAbGeZ17Yw0cg5E7?= =?utf-8?q?QYSoC5x8mPCqehRNx2kQh+ILLkrRNSVbqG3uqGemOZch2W1C5IUNGqeQbYAQz+CGk?= =?utf-8?q?XtOv0OPXv2L3O1pmcVT2TiTBU4c3cQihFurr+QFvSB3T1UXp7KffIfSFkuSys204z?= =?utf-8?q?YPtoz54yyer/xpVblRzUrDnesS4V2QwsEiIIi5Sch4Ub9Cge26PeqhbHMYrocIvGB?= =?utf-8?q?WrxtMiGFq2HdFaYdMA+NWmU+5w3rg1xrv6v/5qstln6tdQJjRCxKpK9mTRz3a5GEZ?= =?utf-8?q?3ZrR8aBkNUqxnXCvMD6gyBW3r69jQBPk9LFkLXnrDnZXWdyFPAC0z49e590WKSB24?= =?utf-8?q?l7N7gPVG0NCk9mpwz6xCxaiKanR7VkSTQiKDnzKB0O6DziFhPm67UUAnIwYK7ih7m?= =?utf-8?q?G7jbrT0dxGHw3TFkXpysG+cEbM6C9+gi4L6oSLMtU62YTZFJOaktcfo9NFnxac11K?= =?utf-8?q?5LdTJs3ptdYm5BTvQO3Z0PhaW7fI3MNg2RFcLpcy/xERVnHq65rLjzF/NNCqHpVc6?= =?utf-8?q?UY5KBIjp1I2reQQGYqMiunp7Syg24cWQDEZJl7RCfATR1lvmLv+qBmro8M2TNEfEb?= =?utf-8?q?TsQ72MjLUKptrRtkqna1eeJh1bmc4icuC4WmbMzpQD0iERXBQlGru1akZBFNnc9TO?= =?utf-8?q?KWk/+coYXKWvgio46X6+ttOR/B2csLJxd1HWWCEckaJAw3eRrsvcKpL+OEsZhUEi8?= =?utf-8?q?uiUsWtJKaDadtDxoAnuR5e2QXDyeQKJ5OpwzkPn0DoHEHTrsinKhGIXeCz6rNKyKg?= =?utf-8?q?/lUT4WQ6RqGgedwJyI2gPCp+e6lSeLZQ7cwwiW/1o4Tv7YtOPpTj4TTNzEqpubSEr?= =?utf-8?q?3Y9pdr2BhCUGU3KRL6pnmXukFcJF4ce0VwfaIxAcV0lMhd7DN9KxW7aCHCF7benHO?= =?utf-8?q?OsnIakWh8qufKiSnIVfOZBfWJk0q7Te6A=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?q1/6liON+yOA3qI8zHASDj8Bo3DW?= =?utf-8?q?IWJAmFQHOSQTqr+kDsd+BjCaADDo9trjNVjqAdintC+LihMD9wa3/SHcAMvPJXd+q?= =?utf-8?q?tq/iFGN0Tp4dlbtMTlY9OGNyjMIWfFUk0eWzPls6OVfAAGIFAJAh82fkQT+8f9jDW?= =?utf-8?q?B8HJj5Im5NPAetNTEpqKzZkd9YRauWNL3shBrhdeAVs5BfcEFAIrBdRGSRBeTmaPu?= =?utf-8?q?FKl3lbgji3sGfwbxs8+umHYmXF/M9ecFiGBM0/qSpA3jfqsdvkha590zj97j9nj5L?= =?utf-8?q?dmlYXSR1YxiCKha8b2pXcQisQHCTSZQAp7jrp+MAMs+2BeC3IE8/zes4TMZCGzd9u?= =?utf-8?q?QaS1I29mb1egfgkfDbF2SOpVBwFfLIlKocHGfj9lGSQ2iwJ2lshQ6hwsCbWAwbEd8?= =?utf-8?q?b58aNQZBtAqwsLyqc/P4G4R4aJHuw/VDoJoa42NnkkMuMjQTRpL4eHIl+cD0WH+nN?= =?utf-8?q?wd22/hYBaOKQOgr82i4ELMAJJRMLvije2nw2SIuauycrH4nI7XBcYmnkBeWj10yaB?= =?utf-8?q?oDTA6DfAKbQaI1WgDNEri/WcDj2HO2ItI9Dye/VcNHS/7YWo9YBdtiT5pwtKTpIUo?= =?utf-8?q?qizajY0YjXz3s/RC08E4CxsOA9DOfjuw3hQJLbd+TurJr4I/4qqB/IWcsWbY3qvlo?= =?utf-8?q?dqjRSCsl2MAWr7b59gCJnzQS8HlyVKRDtWl+8s9NqQQHVtudDNRUqUXvcOoGHMJNu?= =?utf-8?q?mXL6PSEn8abg567b7L6PbjlDp5goRkotDBkSDE5tGPy+DdXQzsf4EfV7km988/W/m?= =?utf-8?q?IJW/bEwwTl0ONke9d8c80S1y3/DvT1Cix2DDCQ4xriNVSqebCvS5ocWxoblf9BsCQ?= =?utf-8?q?GOCEDPPAM31Qs4KLjZiHF/ZtT3LUrS5tmRZANvvPLAHl65mYfB8Qu33bq7/6oe0LD?= =?utf-8?q?tUSgWSkLqLhDdWPPgmQYn8rQJx8uG0knYVL/CikPEANjKJVcJyFvpZy+JWlP0pHsK?= =?utf-8?q?ZFDnM3LjiFRQ79B5qGrbZp63uv+dFV+ZvJaNNqPETfAQEdPhUJz3oPg3ln4Gxfwy1?= =?utf-8?q?n4yrDjS2SSCs6EztFJMiiE1xEKE+j7b/Y95JV2w3l58GEE0wdP6a9M44Ey93cHXet?= =?utf-8?q?1b9vdkK6ZvZzYltrUN6EGI0a/pITakjgCbKygamEPmlsVCpL2+g89en3248Kh0Tqk?= =?utf-8?q?RaJfBDOjuPVFOrfbb7BEYNp4IzS6V9efU/C2evxjZVyTDYaAS478FoEwHzdkY9K5q?= =?utf-8?q?kVrIiQ2f0SsKm73U/fafjvDvNqj2AIlfxyJ0QS0oRwVoDzWBU1jKZH2F2UPqx2KiH?= =?utf-8?q?4EY8+p+aM/XhvsJf8KIX71H4DYnrCuXzPOeAzbwohJL2rjoKmjwud6WLQsioAc/oo?= =?utf-8?q?GRmD1SpgYskSDvBMRdV5l4mK5EqBaxg5MxLGfMnqL4KenqiEmwnfnWOHOS6HPxFUK?= =?utf-8?q?GOGcl8etYI2noV4yAMAWInsjsgWH7c2JPSDlEq8S3ce9ELGONubLT3DD3ywN5Np95?= =?utf-8?q?5Yam1jwwOvWgZZHFS7SbQWRB+CdJ5tOPPbj8+Vkl8QRtQ8YA//9m74WoSODheJteU?= =?utf-8?q?p/KWQpmmPaBg?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0702599-682c-4f33-52dd-08dd76e7e4ac X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:10.4399 (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: O18uGwRJ02k5iNws/sb8VvJekrDp/r8eRYP2qW+iCPbUfV/E9kzXOMt9Qhrp+7ZAAUlJR7JUimGmx6s3rBFCLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Use devm_clk_bulk_get_all() helper to simplify clock handle code. No functional changes intended. Signed-off-by: Frank Li --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 46 +++------------------- .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 3 +- 2 files changed, 6 insertions(+), 43 deletions(-) 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 ecfc95882f903..015350c6f2784 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -275,11 +275,6 @@ 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_imx8mn_clks[] = { - { .id = "axi" }, - { .id = "apb" }, -}; - static const struct mxc_isi_plat_data mxc_imx8mn_data = { .model = MXC_ISI_IMX8MN, .num_ports = 1, @@ -287,8 +282,6 @@ static const struct mxc_isi_plat_data mxc_imx8mn_data = { .reg_offset = 0, .ier_reg = &mxc_imx8_isi_ier_v1, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = false, .gasket_ops = &mxc_imx8_gasket_ops, .has_36bit_dma = false, @@ -301,8 +294,6 @@ static const struct mxc_isi_plat_data mxc_imx8mp_data = { .reg_offset = 0x2000, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .gasket_ops = &mxc_imx8_gasket_ops, .has_36bit_dma = true, @@ -315,8 +306,6 @@ static const struct mxc_isi_plat_data mxc_imx8ulp_data = { .reg_offset = 0x0, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .has_36bit_dma = false, }; @@ -328,8 +317,6 @@ static const struct mxc_isi_plat_data mxc_imx93_data = { .reg_offset = 0, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .gasket_ops = &mxc_imx93_gasket_ops, .has_36bit_dma = false, @@ -386,7 +373,7 @@ static int mxc_isi_runtime_suspend(struct device *dev) { struct mxc_isi_dev *isi = dev_get_drvdata(dev); - clk_bulk_disable_unprepare(isi->pdata->num_clks, isi->clks); + clk_bulk_disable_unprepare(isi->num_clks, isi->clks); return 0; } @@ -396,7 +383,7 @@ static int mxc_isi_runtime_resume(struct device *dev) struct mxc_isi_dev *isi = dev_get_drvdata(dev); int ret; - ret = clk_bulk_prepare_enable(isi->pdata->num_clks, isi->clks); + ret = clk_bulk_prepare_enable(isi->num_clks, isi->clks); if (ret) { dev_err(dev, "Failed to enable clocks (%d)\n", ret); return ret; @@ -414,27 +401,6 @@ static const struct dev_pm_ops mxc_isi_pm_ops = { * Probe, remove & driver */ -static int mxc_isi_clk_get(struct mxc_isi_dev *isi) -{ - unsigned int size = isi->pdata->num_clks - * sizeof(*isi->clks); - int ret; - - isi->clks = devm_kmemdup(isi->dev, isi->pdata->clks, size, GFP_KERNEL); - if (!isi->clks) - return -ENOMEM; - - ret = devm_clk_bulk_get(isi->dev, isi->pdata->num_clks, - isi->clks); - if (ret < 0) { - dev_err(isi->dev, "Failed to acquire clocks: %d\n", - ret); - return ret; - } - - return 0; -} - static int mxc_isi_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -457,11 +423,9 @@ static int mxc_isi_probe(struct platform_device *pdev) if (!isi->pipes) return -ENOMEM; - ret = mxc_isi_clk_get(isi); - if (ret < 0) { - dev_err(dev, "Failed to get clocks\n"); - return ret; - } + isi->num_clks = devm_clk_bulk_get_all(dev, &isi->clks); + if (isi->num_clks < 0) + return dev_err_probe(dev, isi->num_clks, "Failed to get clocks\n"); isi->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(isi->regs)) { 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 e7534a80af7b4..bd3cfe5fbe063 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -169,8 +169,6 @@ struct mxc_isi_plat_data { const struct mxc_isi_ier_reg *ier_reg; const struct mxc_isi_set_thd *set_thd; const struct mxc_gasket_ops *gasket_ops; - const struct clk_bulk_data *clks; - unsigned int num_clks; bool buf_active_reverse; bool has_36bit_dma; }; @@ -282,6 +280,7 @@ struct mxc_isi_dev { void __iomem *regs; struct clk_bulk_data *clks; + int num_clks; struct regmap *gasket; struct mxc_isi_crossbar crossbar; From patchwork Tue Apr 8 21:53:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879237 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2077.outbound.protection.outlook.com [40.107.22.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E05D256C8C; Tue, 8 Apr 2025 21:54:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149260; cv=fail; b=to/5ix1s/noEMEPE7ZXRcZysj0F2UEpD2GTmiqenCTirJ3HqNSRFugZluWYBGOCpgDiD/213ChOohpYoor4HD4vTxT4wlRWFVoUKzR3iHKPO+g7pbCP5X18oWSYjOZp0iZ87dFQkUK1qZhHUPBWxwkvBKR/3HkqWJLexsDyQ+HM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149260; c=relaxed/simple; bh=IkEAaXIvaucb1utJPWn/OOEay3TWubA/0duLEbKaCEs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=jveIoklAsVCMY+UhR/bEXvFPRVf5/7K0MfqhaNpPPxAusFSMKo8X3kvFeM/tYKBzqpVjdtMEQEs3Lkt/BuEbLuBZFT5spMjwAA7Yn/uitRoNIyxMBDltyCktLwLFDsM+LDAgjhj8omjcCAvXPwZTWwnP3DOFmfhPR7eSu4JqOmU= 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=cOrYo/4J; arc=fail smtp.client-ip=40.107.22.77 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="cOrYo/4J" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ARLqkb2HdxZFbEM1+miFvVBpS/8CVq56LfqHGPqhf/+o9uX0owVLWARNuA5gUduoNL6hySaCEa/nb9FTQhYmNXQ8KWKVAdubii9TY8xJu97MVVR/hBMqB2yyZp/1zZWvfp9ZwzbL/gMsmp1y9WV9bDUOVgLP7YB87U6c/VCW1jwanGvN85ThSyqFoqDi8dhtxJMnrJsQCaZhkvTZYm+pfGlftQbqqHN6cSzzCAXhuWl39V/w/XOWGyx/DJVB9HeVoWR9OmvKZyWnV8PL11wQwnbQCRUiDm4NAMazkVe20gWA6+PUsJjTow6GkjcHRlmYf8WhMEAuYrpgii5WBgMlEw== 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=duyx0+ALz8gkTQnbJkTxbICnPUi5pZZGzoIPTth4aeQ=; b=Fdz+O95PTpZv6c67dBVfAcdT+EcB8GIzedYs1klP2ExHCIeOEBZWoY03N3CHOghsYPVogkZNy3PUY+3ZyX6HbtBc6EDmhFi3jvHMuoJ6N2HOSpiAf2HLjPU8wwhSqSbPtT9xCazoO6VuvpiEwsp0IkqDw4w1IZxAi0KmmHeLtjGSFQfkwmlbkWLYPe8IiBLmGEdZDRCxLHqtjdDSWZmH2vn+Z/vOLbM6hMJEGSUK2BgIQj9Zc1gORXxVbwyL4GtiaZ+r5yiZjaVi0GSneZAX6SjeOLcgeo2guTvy9vivtAlRQEu+HTBUznrDgVMQoNzjqmD5/m+L1MevoVTPDc1qSA== 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=duyx0+ALz8gkTQnbJkTxbICnPUi5pZZGzoIPTth4aeQ=; b=cOrYo/4JMYdV3pyeZYWoLzWd+Gx38Z5BJovSMDu/OK7fb1k8Yhj0bA3yj3LciiFrMTmadHKIntAyXChWAqHZM7ZBjzydUH+RDPNhYzFlA3jBjQscGeEYjdwDxQJkp/3L/NiDwE0RQqe2u5O2RYyqYAzADDVwP5+yzTEj5pOZDUYPgyd7VEnq8oN7CYfYDF41eudB2TLIV//JwdM3g1Y6Q4QvZlcwsjzViAHjtIll/9F3Z6WmMjd+1UzSJbqvyUPcNcjIFBdGblHekENI1hQrMbp9NeezEd15fWQnI1wuEKSOa9VeHib5etnvHoHVyE9CIpv6dTbFCoVVtFO4aeGl5w== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:14 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:14 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:03 -0400 Subject: [PATCH v4 05/13] media: nxp: imx8-isi: Remove redundant check for dma_set_mask_and_coherent() Message-Id: <20250408-8qxp_camera-v4-5-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=1059; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=IkEAaXIvaucb1utJPWn/OOEay3TWubA/0duLEbKaCEs=; b=Tabdn1ToWSVawSrC3OxWTdZ3DtSLV+/xNeRpF6qUjuMlus42kRlJZu61qnC53bKS9kT1U32/f rXXa3tafdiFAkVT3jolbDqHNjI1N5ZqrLfxQ9kNCCnA8bCX+Z/8/VRG X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: aa3d79c9-6f09-4784-fce4-08dd76e7e731 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?fhKPlp8nRRu6sVUIu6PaxawhkQYTnrt?= =?utf-8?q?9HFT5uKabUWI8P7Pfjy6uLJpM2Wg4RXyM9Eo9+U6txSE1IvG7UfargIfAdjm7btTe?= =?utf-8?q?6yQ6sxUJxkooffrwWw2wRnT49uAImNeOh82Jc3zAp3+E3sw2aqi0JNiS4avI+WnVB?= =?utf-8?q?jRbFvEHqbV+bkBWOKacCHCaW6o9R3lqJd7LUunUKa16+UsciaxkwOrsKJRB8mjZg5?= =?utf-8?q?kWg/e3J+fAM18Mk58fTWLd7j305lRupuCjDYrGEQHALuFz3OLX+pjnYgpXAVqB+Uu?= =?utf-8?q?arjcB3yflo9f0+WTg5GakfOnKnNSUBLu3sSuIqJMNyYhCy9/mU3axg5g9B9avWXwY?= =?utf-8?q?nMlTS0RE7w2RuaT81lumSGIR7BRVo5ycbFsQDeCheJb9WrAtkNzUGxUuXJd8KSvcI?= =?utf-8?q?Mc0q71ZvG2ag8AqpJBetCLvPqsfd3H2Mh4AHetIun5Utav8/vcRSATGvu6RBkg+GA?= =?utf-8?q?PydhXA/+avm3+zx5tqYIdzp6xk9N275oTQHyxJkUWMlhXxr1ZYJFkyvy0mL1NYT+z?= =?utf-8?q?nlzMH+oIFvgnAa3Rpwwdp3FidSMguvzATJFKEIMQAaA1y7PQUArlOyIEFynSkzs87?= =?utf-8?q?RQBaSFrdYxwoWjOU9gZSCPeB9lMjpjvOPKiDR5JDqlWfNANg6nU0BZRYCpSVGiH6O?= =?utf-8?q?Yf1hID+jCT09BEze4IN4vWI7atAD1nKy27L2EKX4bSdg8p+71lAI5KYKhcxbW19mU?= =?utf-8?q?KjRCUEve1aUY7v76kDpDNDeKO2k/xmsOa3ThIDkYLAeU4tsoabmASDpmKcu8PoP43?= =?utf-8?q?T81usSTWttJ5MskJ7cNmLvkyFBiT/M5eQ9XKbSxYo0F612fd8fzw7h/LqlRYS6FsE?= =?utf-8?q?1V95F7QeRWytaNo5A3Jcy1Q//g364kHKdhjhDz5+YlVTYXfVXf5TFwVK8xO+UrOcU?= =?utf-8?q?ELwqb92DEux5PKPK4GCL2E921cfOOZy9aqOm5AbBvbGuL5tEzQ4D2EDDjysR2CrDC?= =?utf-8?q?jHOveTw5F/a/8uVvqIsJH+MwFjOAEDnICjIrXGzSUYSrrZXTOZrRRWcN7pKujqZkG?= =?utf-8?q?hzCwXHjnAGIgj3UgyeP3ASpGfGatjCF1Lj5ND5b47vcwGFltoMO2FD7EZQi3DiqXi?= =?utf-8?q?6ccrFHLtbbN4n5Lk5UeUp1/BjJvJlFxHHdFlVOr3zizM+tGKXEL5IVFMQrPA0yXyu?= =?utf-8?q?vjkifxJOE11faUYtIOW8nhVXm2tlmgF1pGYTE7smfRa6DaVKUhXwE9RzDLKRkJEPq?= =?utf-8?q?LBHEq9SgN6A7PifoCW0l31PkikthCo2QtY3cB6IqZk0xo1HN6AbRMMM9YSX6xYwEZ?= =?utf-8?q?OchH44Se90qXCB87GVxayte1FWO8KgKrA1pQPP7jkF3JNrn3EJeQEGLuPnOMC0RY6?= =?utf-8?q?ak50rczN6i2xpIocTzXMGw5B0o++mNxpf1SLZdAvl64IZ71y1PZayO8e+BAqgLhdY?= =?utf-8?q?u8cTVm265B9qI9s/fSE010qxmJLec8W0Q=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?xcI7YhL6zq0oPtQ+NGlXVXEu3EGm?= =?utf-8?q?2aNsZswsmk86nV75RSR7TuEEjnisch9d8/A21xAl6vxJJkOg7evgDpz8SQitKQdhG?= =?utf-8?q?DXMXXU+Uq9WnXw3w8uJyVZ4oW+Tp1jBPyofJM7645VBGEWxWOwxPhkdOrae7RfSko?= =?utf-8?q?jUmU2nAyPv9tUi0ijyxMtP3aN3aNZaPgOcnTKTuMoz4weXB85JnlakU0T/l/OBUXF?= =?utf-8?q?xZlinOVYSxKIPVDqztLY9Mwi4TtapbwxFDefxtJ7j2yVua0Z46wC/vscRWl/U8E21?= =?utf-8?q?wEkgS9bZgj/LV9yR5FGf1tRzJCGU31v0KsJV9e8GoUZLefDVF4mQZNDIwxJauSGMv?= =?utf-8?q?sx71yE4ua7yqImiL8besWYKlNZnIh8z/9kb6psyRDAsgLQY6MfNr54kwrSA1wDNWE?= =?utf-8?q?TTTB9D6I5sY8KYXH277QjjMwNuN7+OTGp03lI9uwLdyotVjDlAd32OCG2O8PO0UAI?= =?utf-8?q?a38FoBa2nSsteN4ynFQL3/IyHwOi+PrafwU9MmmwTriQyq7dJLGSQxy7sf57O78zX?= =?utf-8?q?LJXadOFiNyt08HvWay9xYuY6twFto0Bi7dtk8/diruQfIJeneBio3Yq51BlqHtHBu?= =?utf-8?q?Aqg9Ywc0AwEVSjqKfUWcb+nN9m7NUpDqIcOWqf/cWzViYPgJMqNO8MulhVbTpWXsh?= =?utf-8?q?KuyJQkSt9fhHOwcA18qSk0zCXR/j1e2q8WUP4EhYQ9NBln1b25FbiTy7BWzrMFVgs?= =?utf-8?q?fegJomd5ksm73YUTb1GPR/s6M89/e2IufJq8Bw0k9FDSxdgzickTLYUCxuQPU3cyN?= =?utf-8?q?q7UU8jMPUZJW6e2esmnRJvy9YlOm/0uwQtm+tosGuewWOL7afcCvm6nXhEBCMoQrq?= =?utf-8?q?D9gOhDrpyeksx7gCeojBybMX3JVZxSoKCs1Y3nUbadQmH/HAB1MbgYYDQ1eeuQygx?= =?utf-8?q?tPY/zFZU3V0FB911QfhRspRKFcWgTA6eJYMIH2SxJ02Wwt+6p0R24pr0/p7mtkkKW?= =?utf-8?q?aQTcCe1mEq5hj2fNkt1da/QwEXsiL/S8NDnfH/OLfXBz0UOCjB7aRFiiEHdBHBdrL?= =?utf-8?q?NO1txcGisZRZufW6Ng66hbKfSI6AXlOa6W+6OYo5MertFx8PR5puScBW37ATlllQY?= =?utf-8?q?4/152htLfVdLGZEDqfI2Pw7/prz14nTPaVzSIs5Ux1pptg+3BHwSe1qzTG5vEG0XZ?= =?utf-8?q?2SWGTTVWAO6Iioqkdy/Q/yewwakeSvgOs3oyWPqi++T1QjE0rhMpXJAzS1aKuJTjQ?= =?utf-8?q?GrD0AOkQ8yOhgANSOGozb37xmTqE8w6oBTX77mJtCbfGNjqBhWVCtSetkAYGb5z9i?= =?utf-8?q?ifIWVQXqmPEqdaYwuVYmGw+mQzguDoDYpuYcSb1GI9PeRiXPmzcv9LvVSUOvDpHDl?= =?utf-8?q?4RCbd4coLdDZvv6Uc7iT2eNzuPLMSSGTZqiMZRJZMr/CT9QRam1YWnvUIsc7PgGk5?= =?utf-8?q?OrrXKqppAoOa2RRG+xYS5yq7eM3wtKWWMLcANXfSMDbFQh9JWDdW25kRUe4+s9r/6?= =?utf-8?q?MBoEvwd/iE//+zsZLVXqbuG0fYcezSrZ80eBu2OxdxymxQ6eqct2jJJQor2FqJath?= =?utf-8?q?UVuXSSibw4KY?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa3d79c9-6f09-4784-fce4-08dd76e7e731 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:14.6704 (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: H781xgVTqk22X2WXE0l7o4I0xsoGc6FrGIOi8ydj+evIuoX7QUSVWZwzYPWbopTAKpHK5GMFyJZUy4pwil/35w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 dma_set_mask_and_coherent() never return failure when mask bigger than 32bit. See commit f7ae20f2fc4e ("docs: dma: correct dma_set_mask() sample code") So remove return value check for dma_set_mask_and_coherent(). Signed-off-by: Frank Li --- drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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 015350c6f2784..073ea5912de3b 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -444,11 +444,7 @@ static int mxc_isi_probe(struct platform_device *pdev) } dma_size = isi->pdata->has_36bit_dma ? 36 : 32; - ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(dma_size)); - if (ret) { - dev_err(dev, "failed to set DMA mask\n"); - return ret; - } + dma_set_mask_and_coherent(dev, DMA_BIT_MASK(dma_size)); pm_runtime_enable(dev); From patchwork Tue Apr 8 21:53:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879592 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2077.outbound.protection.outlook.com [40.107.22.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6838B2571A2; Tue, 8 Apr 2025 21:54:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149262; cv=fail; b=rCsVPP46oLqxd40MsPCMv3TtVLU7XtRQVIFz1Mr4a2h0yagBdiKAyc8KKz2kJYmCvzc0dCZpYHznubizlfIKURCszEEP8o6yWwcVPnn4mtNflLuAfylFMU4szeF3dLAl3PMsirjwjzOWJuuIPkxcQ/hZGnx/3nrFr7fvrnMhKoI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149262; c=relaxed/simple; bh=JVcBDHXKyjksqu7qIzz9vxx7gKd9zWNURmLLuL16DR8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=WNBveq1pPdL1cq1KICb0VV238lyB2p+sjoiJms4vnEIYqElaqWsWhdLSJyUQ4f34icJHzXp/ASeRPAEGDJgV2BvK9noMDa2QlcYqxE6bhVVClXDjJUF2iTQhPGx6P8h/w0b1uC0RyKQXoi/0Dpo6NqdYBX/IcW2zKJQa+R3CjWU= 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=M+11fB2N; arc=fail smtp.client-ip=40.107.22.77 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="M+11fB2N" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hei6kiu5WFSruUOuQjlLAdJJYwDmNuoXxAeYVhtYkwqEdQSq3R/lYw1gYundnWPgykHxgfxZ9ru0sW5Ev6XTCHHDKjSPT/T/PvWXEPViTc4OPYe5HQbaZF07cJys73SeEfHaRczN2vzw3TjGNK6TdGsbp6CgD3Rh5OvSZuXoX65YK5ekGeFFpI7/gC2pY2MuPBcZdIQjP/t8OTvDKaGW5+FKMGdaUU1lqZRRnHFEBHMBkGQBx8U60cnXOZFXa9e1tVG38YqiG62rvlosfK1kQj5TJPxlOntKB1xpwSbs4iHOwZAOUGBr6ziVVO2tww2Bbe0XtxP9RrmyP53Bc5N/Ig== 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=+T2vCWDs8vHqngH/at9Qb/e7wkZP+AMlnAipwWdUNY0=; b=NrUnEj7kVneaNox9JOFKRqWJidfzBK/FlC5ddCMgSZVnGxvZH+U1d+7n9NCX+GsS1jt+vuR8KRv8vlViAs5Fo+H1YMbntPIXEkfVdl6Ldl3do9JSBaHALs9AjAiqxYSZ8Q4DJ8RlFncuk/bUQiVNh7vzHG2CHmt1BkGhLXTZpaAsR5sVtU1fG5a+1q1gaKZpO+mJ1mLjxDWgSe4ydNrAYrsimVXrocakXf3frrARm9/7Jy6GFjGEsEI0ukJdN4oropAgGH5BndLc8Yx2mulf33sXcEfes37q3nclh+GmZP+Tl/v8EMR+BnbmEEf518uyp3j9gOxdE4cM3HxguztRlg== 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=+T2vCWDs8vHqngH/at9Qb/e7wkZP+AMlnAipwWdUNY0=; b=M+11fB2NaXvchLIirUjsCyvVa8C76F04tS27r3NNpZGiYAqcGRRAP0mWFY3fWTxRWxHskoFsDgINbrrMV1MYnSPrmB+8EbxfdswTT+WKb9pqZtxSEVFb+HIEsm+3WFCLDPUJ0/Z6BBGMYl60+vXdubBijSv71Q6mlkhRBOIFgWAXhoDB/zZCM9A4wqpzIy045Dcx/WmoR4PdVFy7x3NbmAkbYiv9zb1fvyQ876Co+FqeLkysCXB/XdFr7RiJFfRebO2sLg8jKE1zazVYsE1rPg2+UKhVLWux22Ubg9t/qw0e4EBOPyiWcGZlcaDy1txJANneKaHFg5Qjtf/FS3MMHw== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:19 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:19 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:04 -0400 Subject: [PATCH v4 06/13] media: nxp: imx8-isi: Use dev_err_probe() simplify code Message-Id: <20250408-8qxp_camera-v4-6-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=1421; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=JVcBDHXKyjksqu7qIzz9vxx7gKd9zWNURmLLuL16DR8=; b=ZVkcr9VeI+3SFFSmnx+FZ5T/+YNTKDA9vK/hrbZgXJdv5jiwyPKsGQRWV5RA49bnmuzzjtc5V hQXBOrfy7NyA7tuqbAKJMizhcC9yic1oNhZCbi2MuYRGnrUc3gCe3P5 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 7522b18d-0c26-4bbb-7e19-08dd76e7e9bc 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?YIHqE4BMPtH+NRcqCAimrXsx1wOllpb?= =?utf-8?q?wJ87msQAwHTD84ECPRqyNTm1gr6LgRY28Nv/av/B3MgOYXZOu9swV+XHxetghGmOO?= =?utf-8?q?cPKG0yNIwDtIOdLEkvi82O9pj+QoYW6fIHTIQddh1ziwiM3lCHlVd/tB1WdoegeZc?= =?utf-8?q?2MYoSCvm4Pei8Mvo5JQ7gbUNxo7oCqSnwvWpY/zF30ehNygPlAiAPKdDGXdKyryPJ?= =?utf-8?q?6BScCwDf2qhw37GXoRzVOuHwftE6RPn8RfW3e3djOagmPgGmk41jkAcHx7YWSkzWL?= =?utf-8?q?9+PxVV5fNzQnNzSfrQzgrSZNV83LEHMYQMPYnfA4S3NRTOl5UBTn6dbVMKyvRd8HF?= =?utf-8?q?rMx4x1mcAmdHN4xl+SMZs+E53JKn63CVtYwxh7EJHOt85Y/CGO61oWbKjOaAP+XE7?= =?utf-8?q?8btGjq5hvph4nZpuG5tzjKmbQ7b8a6a+6+6pTEO1ziQWOZg+85YHnf7KkCEaQhS9Q?= =?utf-8?q?2Y6SPkN9IG6O7XuQ004Ih3bzBKGWP1iwcxCwMdICmqxfpdAH/a6zmidbEmUCz8cP8?= =?utf-8?q?alrVC8yfhJKyEhi/UbK+OaF3yVqh71keI7TxwTPulvBKp9EJt+tsSSjR7tkoWNPF2?= =?utf-8?q?2XEPxM2t9Mf9xfkgRf6FgU1Uqpqdzkv2kyyr8w/wv5r0K6WvV88kwfJ8cZ1inf4pR?= =?utf-8?q?sMqsedkzldy6Tv+3L6brx0xUyd2tmcHtFrVZ7fl5FetM9v6D6P3/xjTwJchsnVhhM?= =?utf-8?q?epHt7C5BP/8IUZ65HM2bOugr+GTu41Kcp434+EV1knTZmNL3hFABSN66NImEJqL4b?= =?utf-8?q?UDQYT7YDWCk9Wup3Es6bjJ/cWixVnjgGbsuqKptX4GrcKkjeEGBWXDdIQlnK79t1K?= =?utf-8?q?YwRhVshCzcCQtk2LMHlEbnoKzskt6sPMlGNtzSOehRfPrlHHkvUAc0iT9BWxXjArM?= =?utf-8?q?1yNmLajQjT58yUYjO1S8HmNsTtVuiSIC2fsDWZVHOGvj04K8I8Tnifqg2yrMVpd9i?= =?utf-8?q?jNYavLe4hjD958KIpxKvEaFVZxHyal+BSlXEEvtXlWJ6BQGdPLmzsFgq6werUIBTk?= =?utf-8?q?jlEw1AHsIFMAxzZURCYhCjIAWdGfQIHko7zzG0jazuZUqlwljT+63C9UfpVQswJkz?= =?utf-8?q?x7w9nSmDXRGgHDPlRg3hMEaZNZk9Xw6G4hNCiC9XuzP0d+dgsbb61Q4+XfoBqew0C?= =?utf-8?q?T0994S1KeYNz8cIhx21K4AS9L6fzgkXiBmFboUfhmaDQ6DtcWNkDDPKwJwqA/4bxb?= =?utf-8?q?DJ3dKN5inbG8htTuTiBSQ61fMafl59S3ug8Hw8ypciEuHV4xpE56gGqTt+xaImgOM?= =?utf-8?q?T2EZ45UsiqXaMWPL4gjijFhtqVY7oKCO9k9e/nzkTxQyEFONXZ06gyI54Ok5Unqp5?= =?utf-8?q?WGJvsVsSw08R08rJy+METHTfROo+btVPsu4U/sp5Q6uE8FLbHnpOC6mxU3o1yLF0t?= =?utf-8?q?hWNrFgXrA4PV4Ff9JKevybaSeVDlO1YEg=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?EgbVd8Wz/ccSxcr2/rMJzEGfpbcL?= =?utf-8?q?Q9bcUIi0Fc+BCPqy5EvZG1CJ2dYW+Q69saBJX45mLW9v2T3+7crA6gG9svEPVPrOg?= =?utf-8?q?I2VXse1d4lw0TVkeHOAyRrPBPlfA45rJuSOU5WhBIAmvkGjNbUCbD75UlDSp3dQ/r?= =?utf-8?q?I5Jbo9svq0M8OGlCD9ipSbE7b9GtxQI/D86YLF3aPWjTJ6KTyF61Uc//Q83V6dxhj?= =?utf-8?q?T45xRAAcwnBwZmTQIz+wM208ux4pUm5T9OisrymeVo0OiGeSLZ8WxGCqdbygJEzUH?= =?utf-8?q?6iWB9MR9zqusEDjLYvBrNYHxV71mUg6rOD6B0HfAQ4xLyEZgx5G6fSMKgamrGPgzB?= =?utf-8?q?NXJUV8QY6PrHNYLmtm3b7L78CDGX0VCRM9hVIen5dMwvoAQbT3859cp4iuYUszD2J?= =?utf-8?q?/FaSnMlEldOECd+cEif+3i11AQv5I3W9bN7+bkg6g95gBeSccMUUd/9Fc1lc5drhe?= =?utf-8?q?XPVWBs4JhqXAtd+KR5V+znxd7GYN5zNV615WB3nIXVGNtQqpdSd2Hk2r02SfiABSJ?= =?utf-8?q?9QaF2tJRUDoqojn870w/RfkOUNauf9u2789/NiMGZF8nPRr8j0nuZYMQm+9PIqgWt?= =?utf-8?q?1Ow/QBJ72tNLBz7zRfSpnNvZMDj1OdTxQHIsYzis/naIrAm4+v+7H42olpmDyOcxt?= =?utf-8?q?LUGjlr5l7Btc1sX6TxpD5DLW3K//2RkIvLfSLiUyqR490+ksjlpEkE05wmHzIrG/+?= =?utf-8?q?qL8fzdh/ZRakam7KqQVDDe53AYW/6ghyjOpGjemk2q/8NIEs/3mTI5I9JXWBq17zw?= =?utf-8?q?GyIrJMfuFjHwrbx4c1PlLN0Wxc9zvYZjS0Tehz0QNIMK6axRmHOM+Etmqa+mR/Tsn?= =?utf-8?q?R1Gm4uAbwJUHpwSfxUj2PHZkdOt6fSHKTnkF6+L72vhmvZRXJXmNR8mR0uYublviY?= =?utf-8?q?Mb18wUspiZg6O1yy+ifflmpKEcEtgo2EhVmoa0/0agC8H0+30eyrUnLc9mNtN+dSk?= =?utf-8?q?jzZxxG4pzJ/R9/372WS5S18WSTzcijsGDB96YbvRgWTPKYwY1N8o7Nga+0eM1Pyet?= =?utf-8?q?cqUy8ZWkJRAbRp5+yjxo2EeclWp/sS6BLxa7uOw1UIoC+oHOt+hn7y9pYs08IornC?= =?utf-8?q?A1POkJul89y5e6XLcKtlDgNGx0ExIAeBimgUL5HzDinDRL9IIrGkKdf9+M2qeHVu/?= =?utf-8?q?H/qLIw9IIvJPPqmfJ09qb3DCddkgU9QcBhgutj1ZFRi+UbHbqAjoax2qXnkquMbvy?= =?utf-8?q?jyfYRCibR8hv54KjFjwvsUsdco+4NaWL6P7Rdp7nXl0jlAC62tf1YUna/TtebC+Xr?= =?utf-8?q?/quWrrLEPOG66Lq3e682NoY1fx3SxFYrimVFLH9jt3U8cB3hhT+8UHG8Otu8sOx6K?= =?utf-8?q?Jc2pevVYVFCPhB3SPslwSKBKxuUaNCoXYjLFzMara3RwLV+w+gg/YtwL/m1HXFQ9p?= =?utf-8?q?/Uii2wY13TyxHzyPGSL21eVdy7ERwmFOJ0MWHhgemmxBO47X1t1SBNj2pA1iMSmd3?= =?utf-8?q?clzEBMzw6XCUzL+8UiAtfBeDODzPsVAPPfXVC6aCudZZTqm4z8l3TxqPFK0EhmvLd?= =?utf-8?q?bBr+v0KGUub0?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7522b18d-0c26-4bbb-7e19-08dd76e7e9bc X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:18.9890 (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: zxAQLACspjhR8fUUhk07JHo8mt9mAbeltC8pX1bZKTyF6tr4+LBAK+j5KsTblquaNaIubKm4Ez4mvq8Xb0X6Vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Use dev_err_probe() simplify code. No functional changes intended. Signed-off-by: Frank Li --- drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) 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 073ea5912de3b..398cc03443be3 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -428,19 +428,14 @@ static int mxc_isi_probe(struct platform_device *pdev) return dev_err_probe(dev, isi->num_clks, "Failed to get clocks\n"); isi->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(isi->regs)) { - dev_err(dev, "Failed to get ISI register map\n"); - return PTR_ERR(isi->regs); - } + if (IS_ERR(isi->regs)) + return dev_err_probe(dev, PTR_ERR(isi->regs), "Failed to get ISI register map\n"); if (isi->pdata->gasket_ops) { isi->gasket = syscon_regmap_lookup_by_phandle(dev->of_node, "fsl,blk-ctrl"); - if (IS_ERR(isi->gasket)) { - ret = PTR_ERR(isi->gasket); - dev_err(dev, "failed to get gasket: %d\n", ret); - return ret; - } + if (IS_ERR(isi->gasket)) + return dev_err_probe(dev, PTR_ERR(isi->gasket), "failed to get gasket\n"); } dma_size = isi->pdata->has_36bit_dma ? 36 : 32; From patchwork Tue Apr 8 21:53:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879236 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2082.outbound.protection.outlook.com [40.107.241.82]) (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 BE98C256C91; Tue, 8 Apr 2025 21:54:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.82 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149267; cv=fail; b=csk2TOMsIV+E73riscUKmuWrzzUT8LKEDjOLsJBcPFbWxA03281KwiimajqEbD2tThrRdAUm5H4XN60ShDAWfAvCXRFGOpMge0fCp3m7R0YdDgMOh80JAsO8kuju9uy9PnH2W0Gye6lh/3tKBge7j2dbycuaEo1FDwEQYGdXDJw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149267; c=relaxed/simple; bh=xLSSM0+e1a/SWzx8qruzJ6ZvT+trPm6wm5lJfqq+67E=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=BSWb39Nnk3i09KnPKTB/h61gqP7I/5mbRo8LMlKDxDKz/7djQba8A6gINJAVAzMutwyIjhDzlcf3msy5g99VZNZzgYWJkpnD4KZRuqTaGTBWXc6P6FyldQ/h7fqTpGRy82jFn9/z3DBq6/95RIMgGeCk42RfX7vnm+jmR7n9hIU= 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=Py8qYjN5; arc=fail smtp.client-ip=40.107.241.82 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="Py8qYjN5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KLoqyBk0WF4txo/HHV2UorRCgQVyL9m0w7bhK8r4Eyie216f4RyPNEJimXzCP9pHyMAHgVTRcGF6IaLPz0LNbuae2GDR6O+GL/zKFIy1cAss3ZILrFffokSi8u67Mqm1fd6PUjlyc4sq90MEGWcfiHYK8rMHpocBG+jM+IA+cAj6EcauvnoadaiKZKbSbVLsP10sf5S/RsO7F6icxA/z5RuL6nudiz8kNjAlaUioo9DgD3QPbRfK1hNSD+Xnr3Jq34NOZhd7sB1FPpnj/apmY3xJUAlW5Ht5SjzpVhJGeAVPOzJZ3nTIQXNp2y+2Nx8mgr2RW3UIClYleB8QzbZ7ug== 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=oSGvD+NWISf4JD/oUV5yDlkbwp11Zd3Ii8zd96+XVGs=; b=qJ2S6ebFcIkW32vJa7XQ9fei4tIse4rXS2hVa80V4lkoOmbQOmXYkObryYAmpaNpJKdnO6HqhzCTdZIksp65vWnvxUMvYTDExTQEkIrpzkSD1CzEy5tnDi03d/5gA/A5aPvrDbN9hNGncFSJKHQaX8XJT4mUEc9u4Tt68pXU1EtgJgwEWZwJJTmiwcmsCQ2dmB136PevjbJbg2xTBVaksJ0PPX4f1M10buCnIDAn/I1TBm/s8L0oX/Kn4DxrXFMECmGQo9gh2J0i52mOSEXNsUAQwprp3+V6ahy59HkE6eLqy6aDieESyFQmCt/r1kd9TCdMjLIleP7xnz7LgLHXBw== 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=oSGvD+NWISf4JD/oUV5yDlkbwp11Zd3Ii8zd96+XVGs=; b=Py8qYjN51XXwC6VdbApMKFzR3+LiOw2KVSdDHxr4QDzXPZKv9SoQikRkyTzo61jsS4wwE0RdrYQqh7fL782VrIRSgZ1VpMPzfR3abOp45FhJag8EX3sXm226oQcnr/z3NE0ccAxVeVutQm2CjvNuzyBkeuUEemEjyDfQkAoq/syKbDNIQBLtbYbWqiEURgI1W2yJ/dCEE1he0oCSmQhh4fAcAx+oR7ECAOFmPX7AVKzNB1L6m+Pu2zkRuaEhEAYcbmA1InzS/Dy62NSaT/0A4svyci+u1UrSJXgSByI/4cqB8y61+1dxOKGvlpWE0ZzOdu1eDPAH8oZlYrhZeGd9Cw== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54: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%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:23 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:05 -0400 Subject: [PATCH v4 07/13] media: imx8-isi: Add support for i.MX8QM and i.MX8QXP Message-Id: <20250408-8qxp_camera-v4-7-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=4339; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=e9Hi9R86FlHE3X6mVjw42jHev4ZPMWLjqL0H2IxdjrA=; b=uvONEIxqnvI0V2LnhqcPsDg3MqyKzWUmY3ADxguuk8xo3ICfurLnJYE/ya+ZC75z6bw842iCR f4eqpX1DbtLAS9wslK8fIItJkB00sQs1I59sXxw+qP98JmtETk8r6UV X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 63b3d71b-a6e0-44a3-7077-08dd76e7ec46 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?fwD0PkNiNTnUysMOXP3UGnEjX4n5nlu?= =?utf-8?q?JXDJIfrGSwbu6iP18IcpeUhHes7O2dPwlQdPXuJQV48lpYV9MHlgJP+itf2LY5ivN?= =?utf-8?q?l3CHzTLbNhGFTAX/Sd8Xo1S0PuvIBD2x1u36EOOQm1S6GU2wuaBqZNspPRXxhFi4S?= =?utf-8?q?cQjbjyfudzX0bDC6XPjFKXWfjDtxhcOJPiXI4Ofzq+RHnee+zCPbVyLwcXTcTi29X?= =?utf-8?q?rxd1gv6fKZ8ZfecHw21A/IWuav8CcmrD5tMY0IV79sWCPGVrp5T2iXuPgI/iUUZOk?= =?utf-8?q?OPq9Lx4v5o36Sip0SwOK/WXHVizMtMkeA47eoHUuHLASb9wfbCa5WQ9nfWCt7mM13?= =?utf-8?q?CaF/IiA62ZDFZkGgvo63bXADwEPOwEdpVF+Ba2ROl1hQcyakje5a/YOUgKSPmUgyU?= =?utf-8?q?ik0VtPieUjubol9RLz5aHr1EIFbkMSSkhb/uHJPgf0kZHLwUx+Y/pMZqx0h4xUC25?= =?utf-8?q?wj49q3PWh+9kUiYzxG4Annxc35yLWjJVGU0FS7AH1FqAPt9AiHmHvx86/kTQMtQf2?= =?utf-8?q?XsW7Z8/KdBkWHK3ioVZMapRm4TfUvODwGrWhjCDJhFmOq5xTk1OJdBVPu7KWc74jR?= =?utf-8?q?4/zwmFwnoA2Hu5oZSOEL2EOf1BA90xAXDRtOum1ZkKOIciEhmsIkzqD9T2tDe/w2I?= =?utf-8?q?1qWvxN3S93affentMBYea5PqU7eU/1k7GLqwqFvA7YlwBq8K+NBKmQGhovPmb0U+m?= =?utf-8?q?gMC3P4nvw+xJgZSTwKQASOyOz93jS12ZcmyN6Bp1QBM6lztQEP9oq0XastH4qXjnQ?= =?utf-8?q?aPoOPS7TUFa0z+Dda16LR6AQefMUDn+edcGS0tiXpWOO7LvhJ1DeOHaB6pajM8HhA?= =?utf-8?q?zrL3bIl6cPTRy3/8ai+9xdC14QMkXqznETFlJpN7MV4RAp/zG2dot4qBo2WL2hxUc?= =?utf-8?q?nw7X9vLFd2ggWbczIlqydCM/3AoSH2AywTV8PfYlnleC0aJ78uz0HDoiWWD3u+qZ8?= =?utf-8?q?UEuYlxZygD5+SHX7DLX7pyfnaZNjUElMuHKgC1oCpq6PXEeVYa4MGjnzpXQtLpmcg?= =?utf-8?q?VSqV8dcjoHlHAxF0b5yZFXd0qIdgi66H0xXQahgr+TmN/u1NvC/mG0REwrryP8Ryc?= =?utf-8?q?CgwZwifARBdlltWbvkPo5p/vqq71uCfll0JUvaQqWO2ADMflg7Uby8dnnMd0O4V/O?= =?utf-8?q?xdIWLeTECzKnf8st5vP8FE6uFXzKCtcE3Uo9xXQ5KPfyHJnfJAYXGF8c5A6WuBRww?= =?utf-8?q?jkQGbaMSEd9X7Vm98OiPGryt6QO9oWvL3DPqEQ9JoiAS/Rae+h0MH4VJ8kn/rs0Nw?= =?utf-8?q?0TCt0w7UZbMMWsdGPs3Ef5x2JrHkc7Qfolt6FqJ9uUclDsAiPOfuC0Q9DudnDvCdA?= =?utf-8?q?60ZUFXgIKA9wvEq5G5yBzkn4NRAI2tUnXGxuCsnOVyHMW108MdfvSOEYh0hbTNuuR?= =?utf-8?q?HZSViJ4w/70qghgOxXesGHS3vo/hOwqiw=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?K+YKtygfENpmBfxUhll5t+xpc5zi?= =?utf-8?q?TJzdKZ6bK7ut5oayT7GtkpKMPDpmFYD25onsyUuKq4QKQpPwRnLJUjv39r2owUO1h?= =?utf-8?q?UPVTcxuRVXBgT3rQZby2CpjG+ogUvmJ3RB0MTQEQwFYnoK3wSZAffyWCOlCIZRNV+?= =?utf-8?q?N5oDwvSrWZHdh9gIJTr/X8HidVdlKhE3WPlZYhmd5Mf5X2BOFp74mRgQomA7VywcB?= =?utf-8?q?4hr5KPaEzv+e31y/3oIeO/p/2pCLGHKfqCNWjhscXOverJt+uK/qpmEmZ+0CdRNMm?= =?utf-8?q?rZbbgV3BrrdIPmtPkh9cSJcnQo9ajTmt6d2TdojiwI5l1Y2jyv6U8WzR6p7jCRUi5?= =?utf-8?q?gox9rCsC1xjqxTzJIHv4RPF2GbMgM9xuKetCKgaxJb4+5PkNqMHWoQ3o3M4D/A1CL?= =?utf-8?q?XwBFljwz4LfM//ajw9VUJKL/ydy5shSMDwY0RaGjQ4JeXieZZL1oKHPmHXKja7ldS?= =?utf-8?q?YyVIlw6w/85UH/DEcdKjozPLmTKJIGNLGPqA0JJ8pNElFxpypVZdEtZ3LYWu1/zfs?= =?utf-8?q?uZwJhIXwIMmRUWvMbydr409twLZGR4vWmpKDi4GIWXOT5Mz+kaqu8udhWU5jEfZlH?= =?utf-8?q?/RHqmRpaObphjcDZwnxBRBL4WFA4DLveHe9NN7KM0N3HD7hjWK+HHwZPyEMZ6r9bs?= =?utf-8?q?/yfwMW9hCSpq/izPBlL/QpN3GqhrZqkdcATMlAOmxRAxVmDM61hoLX5GJQe3PIhxq?= =?utf-8?q?bD+hgeZQN1rMNmSNxQEpQmKIs82kr9A4otshMOPC+S2J5wQ3/iaLxQ37qrLIFHARx?= =?utf-8?q?kxXW4dcN/Cr7+SirHNfPupJLaV9kzCp4VIECHwu1FzU409EvhLGQ5dTooiv9PzesI?= =?utf-8?q?JjOe4cxnU1PQVAVxoV5N1LVR7lT3wedkV4B9lzGfj0mEl6qnYHEcJZGU6FUqwcQYM?= =?utf-8?q?KmeswHKaIAUX4f56TsMNg0F8tn7hiTzdzyCNAunLpF2cxZwbfC93/3ey6P75S4s8K?= =?utf-8?q?WnGh7rR+gzI3IASARGyB3CZ6daFxcgfuTUAihIxhgXVTuTrBEOWwL05SI1Ks5H4MH?= =?utf-8?q?kHsfE1LrtaK2yvf7/hfs4AY2f8nyDCkPViFUH+4CVk4uB1Pp6EZUobWNewlZX4sE/?= =?utf-8?q?kTy1/qQ8XdaqhYzMZjkklQU/Fu+4us+iZDN7xfs8DZbMzm8h/yu0YOl49Rg3NDw9r?= =?utf-8?q?IK3VIqZgBpgk0uYmW/Y6M6s3tFLQW+Xb9s//5IuPRruMTfLW4CFSDzdfNT0RfGU+c?= =?utf-8?q?jOlIS7GHQELH/ldKKE341QDKMGz2OMLciVCPZ/oKFn+2/FHVy3uA08/J0TCSKxNgn?= =?utf-8?q?Q8+uGMDpcrU0iJTyXSSQCFATjRugnwGYCXoQ7R+P5HMGjq69343W2zMtbX7Yno9HB?= =?utf-8?q?OmEsq+l53gGrFBSnfNzYeDRPSD/CcZzvlBkbOgdllMUgncjsvODZ4rapC19INRI42?= =?utf-8?q?xqcvKqQtWhOquNDyVjXeQLJ1e+BZ+zmHbDNJhXdXldl7E3eiuRA7nWt9ILc5oT69w?= =?utf-8?q?4NrP0h1naLMtZacrDzw8f1d7B0mHjwLfnAGL4+w5eyJkiLapGF9a8noUYafBaXic+?= =?utf-8?q?UetmNqLH7M8H?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63b3d71b-a6e0-44a3-7077-08dd76e7ec46 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:23.1742 (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: K8Kr81Obiw8UttDNjCrZ6Wj7mRR/n9s4EvsV1EhxBGR+sC/ddDwIEkHLAw9Jffgf+E052eYJa9Xhj1BB2T0bxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 From: Robert Chiras Add compatibles and platform data for i.MX8QM and i.MX8QXP platforms. i.MX8QM's IER register layout is difference with i.MX8QXP. Signed-off-by: Robert Chiras Signed-off-by: Frank Li --- Change from v3 to v4 - fix i.MX8QMP ier register layout - Remove clk-names array - Change 8QXP channel number to 6 change from v2 to v3 - none change from v1 to v2 - remove intenal review tags --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 43 +++++++++++++++++++++- .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 2 + 2 files changed, 43 insertions(+), 2 deletions(-) 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 398cc03443be3..568d7b24466aa 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -246,7 +246,7 @@ static void mxc_isi_v4l2_cleanup(struct mxc_isi_dev *isi) /* Panic will assert when the buffers are 50% full */ -/* For i.MX8QXP C0 and i.MX8MN ISI IER version */ +/* For i.MX8MN ISI IER version */ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v1 = { .oflw_y_buf_en = { .mask = BIT(19) }, .oflw_u_buf_en = { .mask = BIT(21) }, @@ -257,7 +257,7 @@ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v1 = { .panic_v_buf_en = { .mask = BIT(24) }, }; -/* For i.MX8MP ISI IER version */ +/* For i.MX8QXP C0 and i.MX8MP ISI IER version */ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v2 = { .oflw_y_buf_en = { .mask = BIT(18) }, .oflw_u_buf_en = { .mask = BIT(20) }, @@ -268,6 +268,21 @@ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v2 = { .panic_v_buf_en = { .mask = BIT(23) }, }; +/* For i.MX8QM ISI IER version */ +static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_qm = { + .oflw_y_buf_en = { .mask = BIT(16) }, + .oflw_u_buf_en = { .mask = BIT(19) }, + .oflw_v_buf_en = { .mask = BIT(22) }, + + .excs_oflw_y_buf_en = { .mask = BIT(17) }, + .excs_oflw_u_buf_en = { .mask = BIT(20) }, + .excs_oflw_v_buf_en = { .mask = BIT(23) }, + + .panic_y_buf_en = { .mask = BIT(18) }, + .panic_u_buf_en = { .mask = BIT(21) }, + .panic_v_buf_en = { .mask = BIT(24) }, +}; + /* Panic will assert when the buffers are 50% full */ static const struct mxc_isi_set_thd mxc_imx8_isi_thd_v1 = { .panic_set_thd_y = { .mask = 0x0000f, .offset = 0, .threshold = 0x7 }, @@ -322,6 +337,28 @@ 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_qm, + .set_thd = &mxc_imx8_isi_thd_v1, + .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 = 6, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v2, + .set_thd = &mxc_imx8_isi_thd_v1, + .buf_active_reverse = true, + .has_36bit_dma = false, +}; + /* ----------------------------------------------------------------------------- * Power management */ @@ -497,6 +534,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 bd3cfe5fbe063..206995bedca4a 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -157,6 +157,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 Tue Apr 8 21:53:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879591 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2080.outbound.protection.outlook.com [40.107.247.80]) (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 03A9D257ADE; Tue, 8 Apr 2025 21:54:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.80 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149271; cv=fail; b=W1nTu5cmmrRLKufdWa0uI5BdWTwIxmyxhcCfCK8Y0DN4OEpp5fvsXwV9NWdrxDaw68vlR1prDicbb3OWwIs0KX49KZEY24U8GqHg4NgrEGXyaTv8J3IRlcKEvpQxE/nFOkeCgKWqEOvfp8UA5R1VJt4btpUpmBNcgMwiBaurnxY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149271; c=relaxed/simple; bh=gT7TQyKgYZuetnnl6gwDMCC6/lEUHqBeUXW9L55spUc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=GigCeQYERfy5Og1DtFtfTRDGV9tkTczVWbunma2kXWNvFpktU9gbGIbHgdmo1k2TVI/VgQaETO/ttMR2Ttme2oW5GgVqa8EwfKM4N0LQ2SI/difuLRhOgZKV5wZgOvKs+QONeanCaQr+eomAkjKAdSY7pJQy13YACuYw6UkrWPs= 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=b3GFbAEC; arc=fail smtp.client-ip=40.107.247.80 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="b3GFbAEC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RZU2PHPOqJmAtPPmKqkypyk0rAlX/EsmE2p6/xetMqqU9dOYD/iUovDjqhdg0edz/TLGgBrkpZBQKAvcWoP49qEJNp7JPYcny0a1t4I/W4KRlBf4Q8QJG3pI0GaMdnrAF2JmFio72vWABbMu9+dfLTc2poPEunKEJ2bDoQRgvteQqVsh21kci2cHzsnxOob+q3gqarVCiwCP+sXmIvZlb/el9yZ5PvNR2tNIGTEo4em5xL5/+Q6NzCixK+1T0LzIr0didDQ9TB6rDoDeIJFqY3CBKwPLdr03EKnCart96/+eHWxqjseD/ELGmSyGUgKEKLwFwgFWNTCGQH2K0i05xA== 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=0njBYaDqHi0STH6HD1Pn6JF8CKUVA1NbQ/MTWrJq4Io=; b=uAjtBfdIGP0Zt6+AlZJ35SMm4Htby+pnJooMvd7Bg3aW8YcLnPPfPU1XtOwrP8rqAaD8BXvQONTkYj724y2d9tK5ZaRdHEUo9oZVmN54YCxSzBBMWjuDKZ5WvytZK1AdrOO5S8XYSBsVPQxLDfAhRq3HWGyapXLrICGJUoSlQAGyzUQ+4S+Jxu6sPUBUCNNXuK4DIgwIK8sr6hy5km267v9qgJvC66w0RMX88q3drRUxq1lQyCZW36X/4zypXmZtyMU4WPDEeUil6fJT8RfZerDBPpDZ94qMzu98276zRMUp/7AOK6SjpZUUwaLROXX3aDKjmF4WHRBA9TySwLuvDQ== 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=0njBYaDqHi0STH6HD1Pn6JF8CKUVA1NbQ/MTWrJq4Io=; b=b3GFbAECyGYAPm1ghdX499w/zNBKuyiv5+IOBfdgvt81V4Mii2NrkrizO+Zbx2H9ybyz6fgKPQP59N6OuCthmvGvVW041A+J6VpaWFWEm9nt0Zwv6gQjtqU0kPwZ5tOLfQuXAfLcfSti0J3k7VGCgyaH7s+fpXEgWNBb+QxXc6VMzZeDZ4E8WrszWzWOZwAgrrY0sfuFyhL4bH+0epTChVIkv6tWUyeSv1lZY2f6ySUi0rhQ55mf7tp7r/N4RA3cSUBbxQr4ifOhZV7Qvl+5d4XkBA54KQcYew1l4RBR5WdmRTeEGHNCd5pBMtHOCqwJJk4P7lAGffvw24eGUhfW7A== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:27 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:27 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:06 -0400 Subject: [PATCH v4 08/13] media: dt-bindings: nxp,imx8mq-mipi-csi2: Add i.MX8QM(QXP) compatible strings Message-Id: <20250408-8qxp_camera-v4-8-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=2959; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=rNuCdUc5m2jz4Pb3frjMkhoKTZ+8o8wBPm05WwQ2lJs=; b=kRErM+hYLJgap+J4w4k5MHS/ajaEeBgtqECyyo14IK4tQ3m66nfC8nJJr59KzjgoOmWpfroEW CuBr7dsjp2UAKZAO+rulVdAHMEIzGm9bYNPgPGdV4aQNS9skJZvE6Mb X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: d3c75894-e619-4c27-8856-08dd76e7eec7 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?y8o8S2K5/fnUd6B9Ze91xJVlC2pWBKc?= =?utf-8?q?Rc335MRDFaJNyMpXijpZ9MiNWg9EWXcpEdGT15HAY/MjeCNKw0fQyTaHBh7iVoxOJ?= =?utf-8?q?cLEdFq5oitH+wB2FgfOR+bjHDOMlOaqfef6qiaO9xdABKCzV8RDLsVaD95w/xgFS9?= =?utf-8?q?Nb94XUNsW6kUYQV+ysNncGz+UzmwBsd/7pKLHF+0LXBFLGQ79EVUpQvjnbEmpTVM7?= =?utf-8?q?gURvQC+k8FnEUfqInMypS2rhaW1oW5OM7ciEHs+f0uVg4WBa4IEmAiGHahlTU0E3i?= =?utf-8?q?QJ2HW+aN8ePHBR2Y3hhcOEM5IbLj6VxUKQynkYdu4Ogio/tuGS0kGt9mFAZm0Hmz/?= =?utf-8?q?Cr3gmWkxM34obR2i+IwRu57cVqh8STLn89rs+z9o2PpwhgiNE6JHeHInM7ba2pgzu?= =?utf-8?q?aiZsgxNMKVyCXHYDDg8oH7HfU+E6Ji8Oa8Ixe2OiHOcfx31svda6lO4BzqWjdqqCt?= =?utf-8?q?zHADWUzivN/CNn2Bckwnzb+SnSAr3gMUbOd3F/Lyoldr/P4yP/SdrWvvLucEtDWVs?= =?utf-8?q?1HylHJFkgjKqHRp6rIHKncm/27N7qk8lnt5/0pfRjUEDYXSRfzyQrEsCHq5dK+k+1?= =?utf-8?q?+ycthFl2ZP6dE8eiSboNNH5/HoRtp6IrEfxd4ylmkd5ekvczfZBMK8Fmyfplo7bKS?= =?utf-8?q?xiD3vUfk6lbM/emR58vGwfLrPp1VFV2Yd5F5ATbzzom9OqpYEZvQGNmWX8Q6gJiXS?= =?utf-8?q?13ABKsrJV3kEE2Ns0ZXKBxmPBgiP8lMpsyTmzCxYxjb7ikFktniwBlmWEFayJvsm1?= =?utf-8?q?Qz2+gByEy3Wtva5GeZtHcjMDRuBoNi7OQACNRRtb/z/Xj5WLV+vXBhltzfqmmvjpu?= =?utf-8?q?Dj8I3acCUrLUds9Fd/19TE/5xKGS0nVntUNc5aq1bO6WC/ilrCcoII7PNmjGlFAEM?= =?utf-8?q?BNF1lvTCXpUC+HvQU+aDzOasoySCJSLLC/F3qqNfqaKHeZjOhb1a+QUBPG0w39Jaa?= =?utf-8?q?fKIerLfX8Bp573Huarn9hw1m7Dda9I6tVTXRxxBbJoqLGJd6dVQFzKuoOtrtMPHU/?= =?utf-8?q?AsXQJ6IFttVXTgOfnvAdxFZaQqNp+1QGvTX6RE9dY0OjOrAdSX2z6W9U9lUZXcVsx?= =?utf-8?q?HsXGu4ez2DTKMvCvdEErk94ido6mebOqqEeX9H5eLoGCUGtRG+1Ab1CJeaPmLlCPH?= =?utf-8?q?tlvV112jWOeXR6uaC4FKhTvpLvIakkHUZFiCOPv1Qb6B6RmiM60IF1DXhWnS8gVrF?= =?utf-8?q?uAuQhGj+1IWKrDvcNZJnbIboEKOl6Atn1LH5Pbjbo0i6TKRsEAxAJRatLNTN+nWpO?= =?utf-8?q?fZlXswql9Yaa+r2uYGNjKB1GUyFyxHlgYnTUK2n+lMX9MkiZRN368Mi2kUJEuzwwz?= =?utf-8?q?nHtoo1sUZU2SqYDCPaxdxJsyae24twsSUX9avFJqugPEWyC/NfpVc/FuvpesKL0E7?= =?utf-8?q?UgEbpSXieIvCqtZa9DbzwJnPgdvueEcuw=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?E5pGUXn+wfBvF7CJyYrU9THo/Kau?= =?utf-8?q?iWTlsnbenHWDnJ0CRDtJSnYRSPh6JpmMdecw8bAS9TyoRL/gJxgGHRc+1unJ/rjlJ?= =?utf-8?q?IpCLIJylIBISn3SHe0FG0qR89K+lUYpVD2i52vIHRl9n+4nEuSQs/c3rTp7xRmDxL?= =?utf-8?q?YvzLvujOHVZfM2rg/hw8FyZkylDJ9FptwyxXD6A92EyUfyDPZqqTg5ALFcHMsK0TC?= =?utf-8?q?Y/J8xb4AAYqa55KHkpvMMFKtpert3N+u4i2SrIWL4EQeig/DRgfGP9EOAZRTNDRTy?= =?utf-8?q?3U/3wnvbzYWL6vPW32Mi95O8MIdS2InrbQC4TC8UcZdwPZwMVhAMaggAtK1lck0Z7?= =?utf-8?q?9TsUxmJ1VbDc76n5DLGgdN6wOJBg5iUurJx565SQUlV/34U++dl6nYqDZpBnSVJci?= =?utf-8?q?jGS4U4DrsiArc+UJq7wTsr1YATGv/OYxjgXwCEP98kT9jlJIIdfooHv1+ql1a72qd?= =?utf-8?q?EiGekDjSEBX3kgWtCWKgxTrDd38Z41g/Xc03DtwmiEtyvJgyquoHhWmv+cebs0XAL?= =?utf-8?q?RY/NGfLoDY+wdpUEgg+Ds6DoCStjsEq9U3Hpd++/OwBkhC30mLCQm2xOvMqsGjT+4?= =?utf-8?q?+l7p5lsn7fV2COyRxUbEdescaBHXgMzo3+aJhs+fsriIkPePDkhKR2VOOy2iAgKER?= =?utf-8?q?8C4+IsCDbC0gC09wV0zr5rByZPzIHfGp1YfZddfMykKO9m3L50vs0TY7S81eMLxwm?= =?utf-8?q?euPArr3SyAW/d3Qj+SKl3eDHYFOl0YdQRCaGWGu3Mc3aHEL1nmjt1O8XwVBJRk0Ym?= =?utf-8?q?G2k48VT73V3P7kULyyhtBuFc6Xb0j1AAGC6DXiT4flXzoryhJJdBSqzfNXLkT4AX0?= =?utf-8?q?ofWjST1+I+VM8AzjW5PuC8Xc+lSieYAI8oE+Ut+aYpyI6NPSJ5gpM4zTjTwvkAzKa?= =?utf-8?q?+D0DWhFl7OPESJWHfS9JefU4e4KTivgVagOab43k2ydk6QPx4l9E+jW5eBUgBPyQS?= =?utf-8?q?ID48/RABQolE9uyrRS6d6cmJYTdIYhxqCpD5Roo8yYtdf4bk6HEq+qJkoPpZ2n/3v?= =?utf-8?q?L6zvUe244J1hs8sZHei4TKFmf9mxxfvOcxAv+WSJvegJEFHCKU05jAYEcoR5JQoXm?= =?utf-8?q?13ofml/a9rZugHEyG7aj+bTsdL4iPa2zR4sD5FbWDBgXkV7I3A5BE4i7ZMP+LXKlo?= =?utf-8?q?9kR6QNKK4H9n7LDBAj+Yl81KG7VV1FVUBpHGpr6F6FTt1tuKOwAOX0kF+lq4e4lXj?= =?utf-8?q?g/yeumIErXsGUOz7aBsUgBBD92DPPyvhuYhrXQ49QOeviSi7UzbrScMuPo9NQQD57?= =?utf-8?q?7dWZhStZoJTmnkFpyN1xPL/j/48KB6cxh9B/F2S+YLXGz6n9CE6zQofxP+GUCpX3W?= =?utf-8?q?7ZdKkW16k1V++jvSF/KJY1uCRvkMsA5VjaEVRT6xv6L/h2mVIn6KCY4ZnWYasurF8?= =?utf-8?q?OV7K1JPJiJA6hPx9Kk9UeRBnlU3hAFADRU5HIXNcPbz5xs0pxY/gG82cneNl0pBhG?= =?utf-8?q?PBREIZ0ANWFmbVRjhYKgqKcgzGZNFVnTzzXryf8qONawgchDSSJVv9xoNNrrhzJab?= =?utf-8?q?rRdMKGnkeJBy?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3c75894-e619-4c27-8856-08dd76e7eec7 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:27.3924 (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: GjUTN60pdLCCU963M2ww40e8K5SXZf40dTwimuGwfmSpG2IJamCJOXH2QBWiWFhJbdq7Li0r/NGCum87y0z98Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 From: Robert Chiras Add compatible strings for i.MX8QM/i.MX8QXP platform. Remove fsl,mipi-phy-gpr from required properties and add new reg space, since i.MX8QM and i.MX8QXP use dedicate control and status register(csr) space. Keep the same restriction for other compatible strings. Signed-off-by: Robert Chiras Reviewed-by: Laurent Pinchart Reviewed-by: Rob Herring (Arm) Signed-off-by: Frank Li --- Change from v3 to v4 - use MIPI CSI-2 - Add Laurent Pinchart reviewed-by tags. Reset description is not very accurate, but it should be good enough since use SCU reset. SCU reset do reset for PHY and controller. change from v2 to v3 - use dedicate csr register space change from v1 to v2 - remove internal review tags - remove reg maxitems:1 - remove 8ulp part - add 8qxp compatible string and make 8qm failback to 8qxp - limit reset and power domain number to 1 for 8qxp and 8qm - remove power-domains change because 8qm/8qxp only need 1 power domain --- .../bindings/media/nxp,imx8mq-mipi-csi2.yaml | 38 +++++++++++++++++++--- 1 file changed, 34 insertions(+), 4 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..3389bab266a9a 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml @@ -16,11 +16,19 @@ description: |- properties: compatible: - enum: - - fsl,imx8mq-mipi-csi2 + oneOf: + - enum: + - fsl,imx8mq-mipi-csi2 + - fsl,imx8qxp-mipi-csi2 + - items: + - const: fsl,imx8qm-mipi-csi2 + - const: fsl,imx8qxp-mipi-csi2 reg: - maxItems: 1 + items: + - description: MIPI CSI-2 RX host controller register. + - description: MIPI CSI-2 control and status register (csr). + minItems: 1 clocks: items: @@ -46,6 +54,7 @@ properties: - description: CORE_RESET reset register bit definition - description: PHY_REF_RESET reset register bit definition - description: ESC_RESET reset register bit definition + minItems: 1 fsl,mipi-phy-gpr: description: | @@ -113,9 +122,30 @@ required: - clock-names - power-domains - resets - - fsl,mipi-phy-gpr - ports +allOf: + - if: + properties: + compatible: + contains: + enum: + - fsl,imx8qxp-mipi-csi2 + then: + properties: + reg: + minItems: 2 + resets: + maxItems: 1 + else: + properties: + reg: + maxItems: 1 + resets: + minItems: 3 + required: + - fsl,mipi-phy-gpr + additionalProperties: false examples: From patchwork Tue Apr 8 21:53:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879235 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2086.outbound.protection.outlook.com [40.107.249.86]) (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 4B42E2580CA; Tue, 8 Apr 2025 21:54:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149276; cv=fail; b=RmE3d7oDkTf72FSCzhQC2q/UOK1RjqkRvRr1hsL2bv651fjRE5uFIa86LDGeZ3R8D2o30Bn9QcTlCyea9Zpnc298XP+H4V4w5AEaIhbZ1BPffu1/C/u00pZwiVWUt2aHZmNC+QI7q8mVL66T653ivbIcZxSzRybC+ESLzdNEb2M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149276; c=relaxed/simple; bh=FaDfGMR3swA8QXQAar4w069jozmRmSBM+fQOBalUW/w=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Ku+yp12yA0mkEOMs8UWi15f5VphGxMQalzcfeSdLluU3wgFZEdcIt8NzGED1iqs2JbhDjTYAPLEkv3nvJNjHpXvymW8Y7BqW1cx/n7ZqiqZDWD/u7jJAXAFmE4reaBiIeMtEJGg3AYqxNU05hps7nGedzh3nW5DJL5C/s44+uxU= 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=ZgHAf8lP; arc=fail smtp.client-ip=40.107.249.86 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="ZgHAf8lP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jCrM5s6PZ34RWY3iRGQiAFW3UTeOjZg8efSr1XvDbAeRs1IeqjAsr6YIn34pLZauJLQTC59/aS62V90XN6EI/HxCFV4174cRFy+Ni8GDgOoo79zeIA11z68iaY3ElHVYq64BisPgbfaQi6vNqDpS3V4tJNtGZiNV1w6XHha7a3wPrvb+dRIAcxBW9OFSgzG2Oz1/6M4J88JpSXCwPp/rTSyERyVIkUXMTO5HXhyIsZnxX93JyZjfvlIlWPBVuA6GX8GaYkFiU33ynXNXno5O7K0RtW5CH+OePaqIOQLhG4/Qw9xY8ROd0kzC7Io7r2mQp95rV8JBiWbUpPMTZy1bag== 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=Dffwg9LBBpZq8rLz4RzxC3+OKWjjHLRSiKIlT1Q/7dM=; b=LcOUSHFwacTRqnXI6aD5bozI4BaVIgTunT7CxUqRfGcHlLoCRqs0K8Dik+cW4ctYBD5ylj4hfOCFzh/aeibO2fJgSiyMFgjnNjWPbRzb0Hr7+8umZ7FFJxn3JdcExAuCB+7jicrgpdP1IlNLR+sJybC9DBPqtoUy8LTW0RZ4MZ43KOxTV2WbH8ApLSJyM63eNQQBQDsVqG/hqBUoD+IAo/s33zrvCBOdIfjn5D9q5tgTh3RpdZ79Jz2wVur+U40Zt94oO0tjs1M8J1i/ASTeHrw69inbiFJ5nOfrNdXpIQm5u1Xi4OOncJXLnmZakVC3x8vKyOSD/JU3M8XPU4PSXQ== 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=Dffwg9LBBpZq8rLz4RzxC3+OKWjjHLRSiKIlT1Q/7dM=; b=ZgHAf8lPsFtorEZ5VVxQx5uVXLQqIN/NLaVRaZs+IUdc9D9HlQzGDSIJWTVnJdXhiD/ve/ukBQesKMqGTAzvLUYLfD7jNMA5xWWVU3S5N/Kx0WoBi9FNEoqQ2170j0DXfdmIX8Qgt6Wh2UONz0YyV+2t3n3Kxzy6LUK+3AiZ7AscaOWuO4eRKxBU767ti6YdtIEXa4doo6V0n6ydu6fZVOLe3FuKYCgkxQNTWbnFTd3NsinXJnJZ03S5UujxiWZvi9Fwfr/H2Cp/ZTtEQZEVcilpYSYHfkDB936xbKH0xOup5kEyXBl7wzrOnqbNociQ/Q4GVq9grzD0v3rqcwi0mg== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:31 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:31 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:07 -0400 Subject: [PATCH v4 09/13] media: imx8mq-mipi-csi2: Add imx8mq_plat_data for different compatible strings Message-Id: <20250408-8qxp_camera-v4-9-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=4412; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=LyukIx+1tiwYPq19TZRYdEvx1H1hK9TvpLaUo0+Fvmk=; b=vHENDKGEwBW/ntMVYAp+FdXOA6MiKjLxelVgNP4IFgF9xmYs26DkEATEo7COZS0JLeacX9oeb FoB7TuPBkdkCJPsRSYdiu5DbjWfpiVwvDZXR51OPM7Yp00j5J8AMdfK X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 469c45c5-cefc-4548-9b90-08dd76e7f148 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?rt6H9gjuOgdqF2PFSix7jRoHyY7UfDG?= =?utf-8?q?UOvNSfl0lwSjdFHr1HilSGQ7KxsWnYfIH79SFRXhqFjwnINlXcYZjrrvdOWUJLRYw?= =?utf-8?q?zKPnmgp7wh9WL30VbQyymEwFTJ1L8lHf3gwY6meqbPHkkGGJLhQY22XreC8UgqBu1?= =?utf-8?q?PGJpHri8fT1pVltCOltasVp6oNJAZzQiFkTV6iEKKXrT+sSf4VlwXpZALJtIMuhdL?= =?utf-8?q?RHohm62a9sFKIWDnHvd2ojorjFj9QLzC6HEUQkHz2VutaDQx+P6jqyBlIojfZLIDm?= =?utf-8?q?AMxEi8ZqjD2sM4wzbpDRBTTG/tth5cibihqNswM+0P4GXYQ14eD+zmmU0wjZEkaeP?= =?utf-8?q?O9jLOBRS/g9wfTJ9NNYAj+38YABmTbKUfsL6wrN1IrEu9PdUXvdIkpOhfp2jTfKWK?= =?utf-8?q?INaQLkmlM7rdOTFANxWXkXzxWtReUgl8R+MIkSUdfcv0jZ+e3QWofjn46cC4ymzmV?= =?utf-8?q?TkE3VxFnOcmZGpWngYdOvy5om+yN87fXNhLD1oGb4KpAwVZD+YeieqCjRHz8YD8Tm?= =?utf-8?q?YIYlOLvQuI1TrXotNBhEHEke6bUupx0Nlh73WA+kLLb3tCDZUYQuySOyhfUe7PhuF?= =?utf-8?q?6MxYahLjTLJe689mWfmnyKtFkm14O90s1KLU1oquUnp7GEjw/Absu2/NHkaSqFSIw?= =?utf-8?q?+LnAtZuH4b2Gp1kB1E6lHeK2vLy3x3+s0SNFAD4dNjNFZGSmSIAn9O89XK2GeFyhf?= =?utf-8?q?P6o/BPgPy3oAcMVcCy2rhJz7SSKeq3673PyE2X2peVg7Nl135sbGIRJvh6k6HlkxK?= =?utf-8?q?V5/YGuRLUpwtEV55J8uOshUT/43aRY52l2BbWU5OxlIR0PpCLH3FxxhOt1I0GbVeC?= =?utf-8?q?mV1TSKkGwneF+uIU02w9Y0qP65a6rS+DAcZOWKWCSm57u2j4w7ZpsV6pw5UCL3odX?= =?utf-8?q?S2D51QKgP7dlwRApsE4LWm3iFFY3x4PUJBdEqa/OP7+A2/fj+aBta+ndVuBX/X2Nb?= =?utf-8?q?3Vu3z3Do8WBJuwGxNiP9LhRmQqq0XEySysKBRWcCckScTz1yrST2HvDxS2oOFU7FO?= =?utf-8?q?v7baq4iE8g1QofGFRgxSYKmE6MfTtD6VtpRhx5xc56QuAFGer7BGR00/YCWH/kUOy?= =?utf-8?q?vbjwUx/ruthY5HAsdhGzcmGhKNmZFOYM9IyO9kobD+JDG7ZD2ivZnLY3wV6ZLOEpl?= =?utf-8?q?+AGE7ruISpZPSHFSl7Hbe/pcHBGXSkXnZX55DWLlxyyY6xNDsWGDfU0R2lMnaoLjx?= =?utf-8?q?4n1DuDYdpsycR1i70Ee7j9QFOVn+NaDxZ7G+5s8g589N03s4TsbSlQ+4BxZKdDYOk?= =?utf-8?q?QX3TsCOgcUJnkvBVlK8i+aYZMpixutcFd3lb4lRbUnah5Ajve6pHLG5O+JLN6W7zl?= =?utf-8?q?t0UpGCNAa4RwoNHurWriTjaaDyKKbgSy7aYBE1LV7fk5jx2TmIXeOs9f7X99hSjgm?= =?utf-8?q?ojbfBqFdlS9g7UsojjPk4TcT8emKfoB7Q=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?w1iuhgAvqBVbgw8isFp6NA4eM9Rt?= =?utf-8?q?EsD10fJ6R7Rf4p6SjJApoOEKc4jSZiX8Sq/I3jCaNab/ivkZ9yDwUxUNL4O+g4LNE?= =?utf-8?q?TcoGVdKmfeJPK8cU1EGkE2/zzGjZUSV24yzX/LaBWDgxS8b4J0a51kfRbXMrgaaGR?= =?utf-8?q?lix7L9Dm6AdsuQLclkbfeQbGYNS4/pddURdmRnmoQeJCkryiKZRxtoKMO73eF4+0r?= =?utf-8?q?+7YMIVCe1LPMmx6J8QricDspKGLgxSXYUy/kxrH3Vla2hGv0g//YQt00lZ/xeH4AF?= =?utf-8?q?J1KnyN4Oqe/j2cXpFMUkl+SQt2xP/4PyXBFAN183qYKZQ8jdMsww1GD74RjGBSMkO?= =?utf-8?q?wDqqYF22K0CsyR3x0/zh3yH43ZuV8OMkkYR4GQlO4jDrYmJpzq5rskndiXJWU48Hq?= =?utf-8?q?fZCpleTrou5B2mQBaSqqXeMjRjk/8SHKNAkin9bbeQSLEkp4WeODRTIS/+7nCaIdw?= =?utf-8?q?D3sTRdSUJsGaYrsP9FdBXO+T4/ww/X05Rffwb45j0qkjpzlLf7DZ6dd42uFGiA3wm?= =?utf-8?q?e5zHBYWL+dMSx/GncGqHIzhYaWbZh/bcgpA40pzQQgtF/JjCZcXvXM4sfLWhqMBV0?= =?utf-8?q?823lSiQVA8cvj4bcFZcGU5w6HYgaIik1+PTAr6TDlrDg+f10JyPnWAEN1nF+XYSQ6?= =?utf-8?q?GVqgcYJidpaQfsdzfJwn5iisx5a1HoiHwwuufGoiHhlfWJl+WCS9K85vz01SRILvL?= =?utf-8?q?xGMpevOj/m+p+Hwrf09n6OjbFif2A6eXRqrL6QO5/N7vk+LiCs+ep2goYqoIpChe5?= =?utf-8?q?3T2q/whGSDmXTtwW/cTvOlB5wT08kectXIs7XZFdxJlYweDwuL2nLO85xAeF2nYrT?= =?utf-8?q?hg/aR+vpLaRnqnOVgnGszNcuJO0Fo5Rs6nbpqCC46I5MXl+5jD9B5ohnPwWNlLU44?= =?utf-8?q?5WRC8NGY6kfoaMunFhgRxT7dU/O6CyFyzMHPUMFQsvTX7iMvTm8HaxDN7XBc/yRub?= =?utf-8?q?4EsnSg9s29/w72rGFy/FsvkjO+k5EL+ODeDidpWwZ04ZkjBX3lIU4gRngJGnpjmmT?= =?utf-8?q?HkOykVrJ6F9BfHQL8NcrMwH2t5YfNm3lil175jPRYUvKnrGYk6ycGuc3zC0OfpvnD?= =?utf-8?q?jo94/aUHFyhXcnrrMRtWGPGiapXgwJiuWVj47l3cMyDwdd/OMDEx3VscZ/QDn0hDn?= =?utf-8?q?KEKYBrqHQFEWmx8buFKQyQ6+CdrJ3wCsoxvNvgyfwNGWVk2xPKh+by1rPK+/dw17D?= =?utf-8?q?96mi7OX0G5yFRK2h7Hd71foFfn864Ex0tDTmuKXguQn3AgxH9F7tm+G7lciIBMXP4?= =?utf-8?q?lEPce0ruV3b4b4dIE2BgfukkcfraajZ3e1Sv8EHFYpSpZjiDqtRKAsV87Jzt+mtCm?= =?utf-8?q?rLcc41p61yLB4ArxqEjskSEIrB/IV4rDFkk61hNk0H9dohJAyzEAvRLZWcT9s52Jq?= =?utf-8?q?EiOfEDPCpgD3z/tsGAahfGRoCOb2tTb55YBRfB7XFKodbxgM13ERq2S8uFVMy4ITC?= =?utf-8?q?Zw0XE/Hkx2vdM8vp4oug3uipLvoSvh0P7DKSo7G1DgeqIbng6oj4U1sdCkXjai0PJ?= =?utf-8?q?opHYdT/QqKff?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 469c45c5-cefc-4548-9b90-08dd76e7f148 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:31.5734 (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: SoAlEm6fGJT3pSKxxwhwFxO8sAWBPe1tRlzfr4n9MR+0MIitMGs29JUExffJXASP8CzYcWGY0P87P5SE6qQN5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 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: Laurent Pinchart Signed-off-by: Frank Li --- Change from v3 to v4 - Add Laurent Pinchart review tags - remove unused 'names' Change from v2 to v3 - none change from v1 to v2 - remove internal review tags --- drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 58 ++++++++++++++++++++------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c index a8bcf60e2f37d..59ec7107b4508 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,10 @@ 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 { + 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 +107,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 +139,34 @@ 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 = { + .enable = imx8mq_gpr_enable, +}; + static const struct csi2_pix_format imx8mq_mipi_csi_formats[] = { /* RAW (Bayer and greyscale) formats. */ { @@ -371,14 +401,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; } @@ -386,6 +411,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); } /* ----------------------------------------------------------------------------- @@ -876,6 +904,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); @@ -953,7 +983,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 Tue Apr 8 21:53:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879590 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2078.outbound.protection.outlook.com [40.107.241.78]) (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 D4E3F2586EC; Tue, 8 Apr 2025 21:54:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149281; cv=fail; b=NJd6tJjE9VK6fSwhFpw/jIvig77bTHTqJRlwDBORlnnWh60H9ISqWN0KSODYUgCgKXJtrxg3y5LVitRo3+b/hXMSKX74X3eK05O2OebemK0UNH0W1p7ihd39xxRCfDn33TTUXSYphihvKsx6ANnUue1QG78G/5W5Oo/WHdWTuFg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149281; c=relaxed/simple; bh=GtmsxC03RxLq9WteRSAOzGXicyQnYIuxWpAMa2Eu620=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fNx0ls/m3RyLpjXKMdf/uGi8azTHEu93oJw7k2d2mto8yts61TD+rKVPHAmxjiqBzbXWlx7bznbCIP0cKXItIBECOSvADXFK3scBG9gplN0f0y+X4lx5PfRGDE1E1Q3ARn77EqXX9r4JOJybdRKlV2onpe55mfK8l5BQg9Px558= 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=Ir253U0H; arc=fail smtp.client-ip=40.107.241.78 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="Ir253U0H" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UlLsVwY7BvrWM/6K3lKNUHG6XV6LCjkoYD0MDRd5z4pkWOdD44WvEI2Xvkc+2vaACNdulFFySaO2A+LNJ01jnk7PkV1XqwEk1wP8AjUbplrMPqW5b16E9Sd9RsYZhiprDwu3P6uGuwygbb02S2Vpgu+F/IBvMq8hPay11oPRaadRa+dyLUKGfs5LNX5APoL/b0ADOfzL2fueo013jipa+xjQNgShBaL7M4GM12enZ+keSFhxLAR/Ek9GBMaALwJGHaasCyrfqnPt96P2jdjLAibpcGPl1XmIGACcpO8PQyz7Xo1ufkBwOdQ6rOGSbXYKsreuXqoDSp1DwrMVGk4k7Q== 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=UKc/xl1ev/Xgr5+VylYYaGYM3luxXIPPdyAYxRjwX10=; b=WvHnfhm1/eFymcOe0QDr4hdwB1jXxuwpdSPxr4IL0QntI/HpVhsjj7CsGgSDXhjL+fgdqmJEu4yDUSW+onmQxF2IlM7aMjbPbz0JrO6RTnTz0b9Glio9UKhs++S9k64k9cno9Lt73pq84NDvkZPYsIFlZconQwQz/905sDyTE57f2Q9q65YjQG7VUldZI3RDw7LL5a6Oh+Gs4eQnvMPfajntUcpt3cSBRVHkh2EmIfg0Y0pkED0F8a7s6ip50FKD+bA75urrtQVZVFyU2kvykYnIy/mB9MiYAcC6YaMrj7lH0keEiSrihpfeUX/FLVaXKfJRQYE7/l8ZjriPTiQybQ== 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=UKc/xl1ev/Xgr5+VylYYaGYM3luxXIPPdyAYxRjwX10=; b=Ir253U0HLGcFJCO5esWZKfcik3z/WcdlEk3hJI74UpLCFg9KAQq6HzGZ7VOndDcJLoU6dYnOuulvYOQWopeTUAo+C1Run44OCtGm8wD1zPzZAnMlWvHqZCaRpEdcMUNgcS2C4lc8xQwYe7/jAUjJZYEreLnHN53BkKV/fAnZBupPrhNtc1OCtDIY23ToUOrYb+rEnD7O7gInmmaSwbzXECHyZND73COrLRtkAd8f6+F0KWRXoauq4xLhPV/JrMwjVXMnaoL05ChtX/aVSE5FjOVPZag5G97YbyQa1nWcCW1WafzjqJ0+QreOGXsqqB0nB05wz85Ow2i6PU+SaA6OWQ== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:36 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:35 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:08 -0400 Subject: [PATCH v4 10/13] media: imx8mq-mipi-csi2: Add support for i.MX8QXP Message-Id: <20250408-8qxp_camera-v4-10-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=6039; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=GtmsxC03RxLq9WteRSAOzGXicyQnYIuxWpAMa2Eu620=; b=xiuaornq99vq6LrHG01zzPwSjlrezxFExFvpuZ1mJToSTgiD0ttd0QB5MwBWVOhcLpYJ1Eset M1+K/Az2sTKDyhp1/2M06CvnDDHLK3FjQV0h9bnK6YbNYomQ5QjuMQn X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ce136f8-07d4-4763-412e-08dd76e7f3c6 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?nA786cmfs+h1j34Jz9TxlwddZ06tuAh?= =?utf-8?q?2icmltm3pua5OTUvflCuPBm5BXsJf4cv8DUal4RZjI3iToXDMJu9VLez3TsEsINRJ?= =?utf-8?q?Z3iBseW1nZhxITwKACH3XgEzYTQno5mVGv2/75ds4GAIpVN6IrJYydjZLCEERFj52?= =?utf-8?q?AbNhwUkB4w2D7GxL5HAVBCD9AarP7Z7fT5RbOt7aKReBuXknitQ1RJgH88zueVgdD?= =?utf-8?q?uQBdnO5FyrrGjXT4wS14vidaN0afWx6480k7btTufHdRgRH2q1KwJ+3tObOp5US8W?= =?utf-8?q?d4Db6dHeRt3s1xVSOhZXwIIzSz2GVo5eKIr5fTEXKsegZDneENwU+MGRl2WNA3g5W?= =?utf-8?q?DO4bvaLhUn4D8P6rgjAP3flEEWy7iqQyZzg8umtLDhhP6Kw4OHqLgjOnND7MGIbkv?= =?utf-8?q?LPhmdfZZ8gsa/oZCaOR87KDVy1Zh8oq6I4X9fDTW6jUy12VEfe8e1P++rD62gTxGn?= =?utf-8?q?Oh/6mPj8QZZ5wOGZ2vGb9RONGk15FOvAE2ceQzVCVBr1TymcfCkq8JLBRR++BgT4N?= =?utf-8?q?gphrXXSVYmVHTt3fBlQhNHIjoZRu1NMYIkVIqvsfNDAe/fbBPcKqgLOaQ7KPAz738?= =?utf-8?q?47ix4FQza8iEngBfBTgNzS5nm3pfAm5QVwN9WRNr1IZZhmCfd+r6mNx891Tq7H5vm?= =?utf-8?q?Wb+vMuh7BRfct7o1YBZctZrWp4ren6oTOcwzgw3FNdFeLO60ZML9xQ1FcVTTrdPZJ?= =?utf-8?q?muBSY862f8uLz69S+/yZaZAZJOadvyaxZneboiPt7AjGQw8KoMD1+k/q/LYrj4nKS?= =?utf-8?q?YVNlrYrs00Bhf+B6bl/x/o9EoQEL/lkCsrf1fZhl86MBHUc0sYZKo6tpL12oO067C?= =?utf-8?q?6Beu5xVhcUpv/xiYHt+rlGfZUzImGdqGZ36LKdju1l3YkYCAQ5a9rEyPaD2kzGRba?= =?utf-8?q?7uKUIPq3zv18tO0O+n5Y/YU16OwPw/aiT7RDHhxXWmARVTZqlJ8FPHg+COGsRT6Jb?= =?utf-8?q?SYMvOTmgWHYr2LFXQ/28FHjO5dNmstKmYteEz6yOJIm8haAdl2P3RJ0GpGlMXQNql?= =?utf-8?q?YExfsQv4+Lzsso+OdziRKbMwRxz5yUPoQdeF7ZBSSQwhKJdZJwegmf33RPLEscyqy?= =?utf-8?q?DNCjspzFOHNr92ZlWbzKcd5jWPcg7jkZd/CAbupxssLye2gpQpWemgBy9fDbQzMeU?= =?utf-8?q?4+HuDjTvqE89UKvTEE5JYffDIW12c7e5PV47oEvJNuJ9pMu4HcnfImWpTcFCIX/ae?= =?utf-8?q?aPRnpMgZqiiCCJoX9Dqqk5MJU04XWbztI7OTONtHjW2ivWFAE1IM3NMBCLzJH84n/?= =?utf-8?q?nT6yCghJR5w//SvFt+PxBaLzX56B7T0Y7F+whEvUp96yq/PMhqxt6x9FBPFKdGg3L?= =?utf-8?q?xQoTAh2hq35H3slYhXGqIjLbLoMxMr2HMH4lqOC4eTHh4sFis3UXBfc9ppLTSKXes?= =?utf-8?q?r49HipSsHTY/IQU/SOUux1FmPuNvTP56A=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hhwjF/gP7SOFjQ17umxd5w5t0mXF?= =?utf-8?q?1SauUUQ9/FP5KYWM+MaXkzhumbPZkfESWEeel/73gLWJrobM0EInaoj71Q8B18+Ub?= =?utf-8?q?02LEf1xri+I6H39J3Nqs95jNjnC2R5Xdip1EamC4kvkdvDdbcetqaBjzk85GyuSt9?= =?utf-8?q?GhxqfZFZRu4zcDX/7lLJo1V30qizeHgx/aAyhT7F6EuFGgqpKupv6ChFFSsgXENdl?= =?utf-8?q?EMqPAyvOEGArDeAkc8UjaN6WbfRk8wtia5A9qeaoBt1btHSg/3i7fZTOWDLZibbCQ?= =?utf-8?q?pgbHr6mhald3DuyxJhOU4y9gHdQBzBtPIgjvjWoLx+Sb3TyEe6ALBq5ozPHbWOa2U?= =?utf-8?q?kD2HxLdV9CaxZeDuGMuSf4r0t6ikCKXswRmYf9ktkSIOznX8WCUziN7FPa/Eysw45?= =?utf-8?q?Z3shHxefwi0eI+UxHO10SOtrzEs0cTOyrlRBYE/ZGC7umtznr++wQ/SX5Gu7q2B0h?= =?utf-8?q?m3OWaNOwZ+GWgYrjfRiQbX2HogXU5KilhcDyXZkOA2DSPv1/jbGdVFideol1l3/cO?= =?utf-8?q?v5WK6IYnwMQOj1gcABdW4ADCvx7yqXwtZDlZW+z1YojD2Zr+1uJCS+/13z/FG1DYs?= =?utf-8?q?3IMBhh04sL9O8o+cizsC6vU1VfMsGMUZMfwFyaG+lSkj00iMOB2ZbngCV+M4OqGNb?= =?utf-8?q?Vxpbo3fHxFRbv2w37xazIiKMyfm0M6f6o5+M9F+my+1xijg5mqP2mk/QfetmFqxxs?= =?utf-8?q?TUbd9p84TncOQkF0KoFE5Ta8JG8HTkDPEqH1Rg/VdXpwEvbiO6DXAC8K+U9Z5NnxR?= =?utf-8?q?HGSI5oIRaQ942+hRX7Na3cJLXrpOoqshh1OPKeJqbBJsHUNtH9MsBOHAk1/3TGM1L?= =?utf-8?q?APnGbbRmMqPJb7/4BXaD1uUCy1GPHAlOUhd6wo2IDYm0IQIPYNAHMMCyYBlz1MYbW?= =?utf-8?q?rl3MevsvG5+ymHgwuVBPVKgkCl2I1yUUvPi8aL5/LWTPXPbARfMj4e1bG9MRyrXTg?= =?utf-8?q?cgL8d2bCqU65XiNxzCUS9oo7KZ0AVLbOUX76gWR+Uz8gZjzpNA4VCsDLjvklreoLY?= =?utf-8?q?x8tvKczvSz+Y8bXUi07iR/Tf7tX112E6M9R2n9ivsVLBV64nuad6c+S/5/6PP7sKx?= =?utf-8?q?buPbHQPLjf+25Jp85FuiBYd0XEsEENQ5/SS1lkNJOhLyH1EzjeOUyD5clTWjGWJsx?= =?utf-8?q?fvFAnCJsaTSXwV60d1dBZ2xESzAEQi3bVXW48a/v0l4tZQeBR5ek4Bg677InL50ww?= =?utf-8?q?51FUNcUlsLSQJhkf5cKce+6haidHRyDSLF0dMI7s6vqv1HD10WbGWNZg2FcIi7YDg?= =?utf-8?q?cUZf/X74y2VG2+LgTmo0+q2m2WeYtQX+ZChyFFL1n98+rDQpPrAm4J3oQfqpyiqCw?= =?utf-8?q?A4+7oxTr4z0Qv6CkKHSziRIDLJds71mO9wwhwxy1wVPnWNLHuFmXRTM7xfH4ynjqk?= =?utf-8?q?58Jg/v1YMoEu3DjpT9OFwDcgPDA3S819nXfLCUTJrz4mgW8VqQRYWtXMApgtqPsK2?= =?utf-8?q?s81FxfywrpQ1LE+YfwGG+fhNlj/xzmqnmSOw6gn8FYQ9z6zc4ESIaOZyYm0SAMrxH?= =?utf-8?q?hc4szbjXni45?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ce136f8-07d4-4763-412e-08dd76e7f3c6 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:35.7661 (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: dKkwCQXKDBKRf0U0FbL/TfZqtO3ulHwxcFTck+0qFGuWN0PTBVxhYFHh8qavKc6IYoBi7RSwH8rm1WvxGwobuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Add support for i.MX8QXP, which has a dedicated control and status register (CSR) space. Enable obtaining the second register space and initializing PHY and link settings accordingly. Signed-off-by: Frank Li --- change from v3 to v4 - remove reset_delay - sort register field defination - fix error messag in dev_err_probe - fix comments - use true for 1 - regmap_clear_bits(state->phy_gpr, CSI2SS_CTRL_CLK_RESET, CSI2SS_CTRL_CLK_RESET_EN); in imx8qxp_gpr_disable() - use regmap_write to clean register at imx8qxp_gpr_enable() - remove reduntant CSI2SS_PLM_CTRL_POLARITY - rename register DATA_TYPE to DATA_TYPE_DISABLE_BF change from v2 to v3 - use dedicate csr reg to control phy and link settings. Change from v1 to v2 - change 8QM go 8QXP, 8QM will failback to 8QXP to keep consisense with phy drivers --- drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 111 ++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c index 59ec7107b4508..c6eb6dd0d9e5a 100644 --- a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c +++ b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c @@ -5,6 +5,7 @@ * Copyright (C) 2021 Purism SPC */ +#include #include #include #include @@ -88,6 +89,7 @@ static const char * const imx8mq_mipi_csi_clk_id[CSI2_NUM_CLKS] = { struct imx8mq_plat_data { int (*enable)(struct csi_state *state, u32 hs_settle); void (*disable)(struct csi_state *state); + bool use_reg_csr; }; /* @@ -167,6 +169,95 @@ static const struct imx8mq_plat_data imx8mq_data = { .enable = imx8mq_gpr_enable, }; +/* ----------------------------------------------------------------------------- + * i.MX8QXP + */ + +#define CSI2SS_PL_CLK_INTERVAL_US 100 +#define CSI2SS_PL_CLK_TIMEOUT_US 100000 + +#define CSI2SS_PLM_CTRL 0x0 +#define CSI2SS_PLM_CTRL_ENABLE_PL BIT(0) +#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_HIGH BIT(12) +#define CSI2SS_PLM_CTRL_PL_CLK_RUN BIT(31) + +#define CSI2SS_PHY_CTRL 0x4 +#define CSI2SS_PHY_CTRL_RX_ENABLE BIT(0) +#define CSI2SS_PHY_CTRL_AUTO_PD_EN BIT(1) +#define CSI2SS_PHY_CTRL_DDRCLK_EN BIT(2) +#define CSI2SS_PHY_CTRL_CONT_CLK_MODE BIT(3) +#define CSI2SS_PHY_CTRL_RX_HS_SETTLE_MASK GENMASK(9, 4) +#define CSI2SS_PHY_CTRL_RTERM_SEL BIT(21) +#define CSI2SS_PHY_CTRL_PD BIT(22) + +#define CSI2SS_DATA_TYPE_DISABLE_BF 0x38 +#define CSI2SS_DATA_TYPE_DISABLE_BF_MASK GENMASK(23, 0) + +#define CSI2SS_CTRL_CLK_RESET 0x44 +#define CSI2SS_CTRL_CLK_RESET_EN BIT(0) + +static int imx8qxp_gpr_enable(struct csi_state *state, u32 hs_settle) +{ + int ret; + u32 val; + + /* Clear format */ + regmap_clear_bits(state->phy_gpr, + CSI2SS_DATA_TYPE_DISABLE_BF, CSI2SS_DATA_TYPE_DISABLE_BF_MASK); + + regmap_write(state->phy_gpr, CSI2SS_PLM_CTRL, 0x0); + regmap_write(state->phy_gpr, CSI2SS_PHY_CTRL, 0x0); + + regmap_write(state->phy_gpr, CSI2SS_PHY_CTRL, + FIELD_PREP(CSI2SS_PHY_CTRL_RX_HS_SETTLE_MASK, hs_settle) | + CSI2SS_PHY_CTRL_RX_ENABLE | CSI2SS_PHY_CTRL_DDRCLK_EN | + CSI2SS_PHY_CTRL_CONT_CLK_MODE | CSI2SS_PHY_CTRL_PD | + CSI2SS_PHY_CTRL_RTERM_SEL | CSI2SS_PHY_CTRL_AUTO_PD_EN); + + ret = regmap_read_poll_timeout(state->phy_gpr, 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(state->dev, "Timeout waiting for Pixel-Link clock"); + return ret; + } + + /* Enable Pixel link Master */ + regmap_set_bits(state->phy_gpr, CSI2SS_PLM_CTRL, + CSI2SS_PLM_CTRL_ENABLE_PL | CSI2SS_PLM_CTRL_VALID_OVERRIDE); + + /* PHY Enable */ + regmap_clear_bits(state->phy_gpr, CSI2SS_PHY_CTRL, + CSI2SS_PHY_CTRL_PD | CSI2SS_PLM_CTRL_POLARITY_HIGH); + + /* Release Reset */ + regmap_set_bits(state->phy_gpr, CSI2SS_CTRL_CLK_RESET, CSI2SS_CTRL_CLK_RESET_EN); + + return ret; +} + +static void imx8qxp_gpr_disable(struct csi_state *state) +{ + /* Disable Pixel Link */ + regmap_write(state->phy_gpr, CSI2SS_PLM_CTRL, 0x0); + + /* Disable PHY */ + regmap_write(state->phy_gpr, CSI2SS_PHY_CTRL, 0x0); + + regmap_clear_bits(state->phy_gpr, CSI2SS_CTRL_CLK_RESET, CSI2SS_CTRL_CLK_RESET_EN); +}; + +static const struct imx8mq_plat_data imx8qxp_data = { + .enable = imx8qxp_gpr_enable, + .disable = imx8qxp_gpr_disable, + .use_reg_csr = true, +}; + static const struct csi2_pix_format imx8mq_mipi_csi_formats[] = { /* RAW (Bayer and greyscale) formats. */ { @@ -865,6 +956,25 @@ static int imx8mq_mipi_csi_parse_dt(struct csi_state *state) return PTR_ERR(state->rst); } + if (state->pdata->use_reg_csr) { + const struct regmap_config regmap_config = { + .reg_bits = 32, + .val_bits = 32, + .reg_stride = 4, + }; + void __iomem *base; + + base = devm_platform_ioremap_resource(to_platform_device(dev), 1); + if (IS_ERR(base)) + return dev_err_probe(dev, IS_ERR(base), "Missing CSR register\n"); + + state->phy_gpr = devm_regmap_init_mmio(dev, base, ®map_config); + if (IS_ERR(state->phy_gpr)) + return dev_err_probe(dev, PTR_ERR(state->phy_gpr), + "Failed to init CSI MMIO regmap\n"); + return 0; + } + ret = of_property_read_u32_array(np, "fsl,mipi-phy-gpr", out_val, ARRAY_SIZE(out_val)); if (ret) { @@ -984,6 +1094,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,imx8qxp-mipi-csi2", .data = &imx8qxp_data }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, imx8mq_mipi_csi_of_match); From patchwork Tue Apr 8 21:53:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879234 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2078.outbound.protection.outlook.com [40.107.241.78]) (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 4902A258CC1; Tue, 8 Apr 2025 21:54:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149283; cv=fail; b=LygYBa8N0nwEilBP7FRF1vZKC6g3X5ym/T4hgm51PinuxL/Zk6s7WzQvaWEsEPAgAT0pALy2u6CFGjn84s3jsX0RM0l4V5PPUDtAHkWBJKGnOTJYgy4pzRxWhpYF80I3F/PIfp7+YAC3A3on3rvOBjAXeEn6lWMvLxR+qYrC6ts= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149283; c=relaxed/simple; bh=R2kk0SBqVzOFIflcKq8BrxZ0OmoRNLZ62rPJnBtoVIg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=phCy9WsdGX755tAycZi5r92WXoLqC70KUkDJ4Kk5yk0Dp9zYQv1KLN1XOjsOgCPhkAAoW9WTzBx2eoE+UT5rWtr9Zxw/jxRINLGX/dpFMY9zDMZuTTyeSPhkPtcLACHDkXaILe0q/Vn+WMpAPFI+e54qIG5k4Ge2J/0owkVtVrc= 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=kANTUpEF; arc=fail smtp.client-ip=40.107.241.78 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="kANTUpEF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cfdlx4Cisf8/R01MPi3RwTTtbYmL2C66JhFxmmeKurVq8C31II6/pxB1jVRAaGViXAQXLe+XGx7usGz8XH7HlJoNHl/HBMaI3iIjLPzAkMUr/DBasPjuFd/MImhkbRBcvzWxzL/EuToycOAPCUg5YM2WwsuGSPZD6HTKrXdjPc7DZFk5mEyR3DhgO/IVSq4ipKl1HNlhJyLIvppRetlHDlMNDaEFmjJfntvKXZbpx6bNndBXcUxATrHMJOenTeFUGx8EntPUgF5lH/b7+LK06Cb1fQofxuOpTsTcmh45USbkv0yX8TDqMskb7LlyYg8PI9jIHk+db5DZnRPAynyP1g== 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=PifaDEuiM0LSt6Kb/d7M3sEq910h1cnQiB+4EzQ/uwc=; b=ieiZDO+8FlA/ThbQyKPwvARmnLpMa/gZjoDTK88T7+5kuu5xVOL2aVO1BqElJYu7LtOYpRaf2gzE+mHUgAO4GvtNl97uU86CI6+7h74KAgPkUVHXdqXJEZxYjNE6MX78bnJUQT+JWOiVE3DyJ/TgG+zlWtlB2K9z5wOql0JQ03qksJIKah3rlb0wTeD9+2a41jYsoUv4SwbfFejvmegMBxrdaIUAL+RysH82FFAKLrX1oaOUho4J/nO9OIwgadkRQkw/OJe5gNIqSrps59qwft9x16U1WmipxaVQXvxyO+9JCDLIv0HRw21B6iKH9GBS4CowmvuQFK1Rb5Uom6t+0g== 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=PifaDEuiM0LSt6Kb/d7M3sEq910h1cnQiB+4EzQ/uwc=; b=kANTUpEF2Z77HJPz+jaUWSoI3Jk5qW9agUfBbMhPFoJe/t+XuUaIEiRQLg7cfyOcSAJGFa4MVraH2FEn9N0mSb8v9Ybfp71dt1YVzUhGkB9dOwjPps5PWvvK6jvrd95OUo65/OkTurVRQMm57krxUwmNfxtWC/xXLNCJb/e+gEl2RmJdK/2f6tRV4C4sTEZZUu2JvNm+HGqV5OSsTKOC3xQFBcSYNE3hf9B62f+X/YBEQ8vYPguMhhWmSvN6sb/lTpSZxzkXsTVIpbhwnOp43J3a7x53HLwJ7hGC3/04+3B/KnV1cEE4rVM0cydYfGBVNbC13ZlsfaVxAP9Ea9spvw== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:40 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:40 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:09 -0400 Subject: [PATCH v4 11/13] arm64: dts: imx8: add capture controller for i.MX8's img subsystem Message-Id: <20250408-8qxp_camera-v4-11-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=18070; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=R2kk0SBqVzOFIflcKq8BrxZ0OmoRNLZ62rPJnBtoVIg=; b=5IMKxS3cDYGQBbXkwQVROPd8+BbG1KHk0h1JBSSvwPtQX+aQssBPSyrthYYPK8UZpW1eMNYOD aPrEM6A83VoCKlDzJBgz84wxyQA1/+LOtP5gKH7/pZQrFmzQNPsE3W1 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c68dc98-e112-41e0-f238-08dd76e7f653 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Q+LmbhPpAuU9M8yQ6y2b/5/UyE1OCtd?= =?utf-8?q?AGdk1w9LvBUqArxA1dVns5x3qR29+MsaHYmuPeMsweYOf8RnzM7D53OOmJRPFY+AW?= =?utf-8?q?d1WNRGzlPRf8Q4o3pD8l3Ikb2x4Sbisrxb93IAxqZlMj6hHWTOcS5ZSLq3BKb5VGN?= =?utf-8?q?Dk8m2SbVDp2qklavWwB/3zlRo5erL5T8yQ5CIXdUv280/ZcgoemliBhCkvyQlVdzd?= =?utf-8?q?eAbYJLnM1q4rtdJv3U9OEdU638yraojSUAVfmif/IQfUF+YWf5Xiqe1HL/SNMW9cr?= =?utf-8?q?Jm80ztS8nY/GIVOOi6VEY683nbh7ZXAuDVas2p0JzfZy9NERiuhUVmNmRIlK7/V6e?= =?utf-8?q?18QxMXJdQoYWZ5clDHQk0aNAVfu6L/vY2Oa9ffuzJp/zK0h71zlaoc7iadI8eA1Pi?= =?utf-8?q?H4LICyMjw56z4brYjKKKRiNpVLZsFwWjEYOLGAc2+JNPS0W0AOm9lufSdFEx6nJZs?= =?utf-8?q?8tVyqCrBIRrLdr/g4bp8jYT+LXwua2gOWoh76IglmsEt+9Msh8APIzLsZSze5IYeh?= =?utf-8?q?2O91uDDDlzzGhvmD8azoRGBffg8KX9XyW0skbVzGGX5At5Vs+MS80xfCfYh6vnyn8?= =?utf-8?q?AG1SVlP+UmqdHeNu+gRrEU+mmbX/IPZcot/DE43KF1NzbC3GWYDKFUTZiJsS+97ZW?= =?utf-8?q?mnPHSaZ8iz+m4ZJ0EUpzPVQKyt1pZXU+IQ6zf+JPxVM6i0BUrpIuPpX2RdtFSEWkd?= =?utf-8?q?UFQoOjn49ldNeokA8JV8iwq7LnMhJmG5a3o4xrwJz47az9V41Nea90QAHseuEimCy?= =?utf-8?q?g0vYABHmFgSb2T7ZKSn2kqrqs4Q5wYaQIIaFvaVtzcRPQAD88K2DbyUzGj+Y2+XxL?= =?utf-8?q?vaMKKtpTczXNzvIEClu443fYBB6vOjir9ijrdI78vtGH6H2tGVns+L3JJhWIu/T3k?= =?utf-8?q?zAv7G+XQZ52135PLtgsD9d35emB3iPxI5MPOxqwy3TnVWQyDS4JvtDlTc+xvBgm7Z?= =?utf-8?q?X047Ypy4jWxZSJUKMjLUoaAdHXljRbU5pXeZkuim3V8qcmt1syKWE6Py5p1w3+t2M?= =?utf-8?q?UpABg/0C/JAJAgcJxdAFhHhki9f6qBDuwCec9jxfEz/7SmbjVj900jKw6Y+gJjN5Q?= =?utf-8?q?0Mpo795k5aE9uQbK8Odp3JjjQAPdk4gw4uhIDfZkAS2X93/vnDQq/YEdPX1Gmvj1S?= =?utf-8?q?P1QxL6WoMuFtLEI54hYJeuFS4+Fm7yFgak8lpjoX+4u/hui6JVj13bhlknHx6r/Me?= =?utf-8?q?lmY0QxAouNMROFW/orc71/Abmo1PGaXglJqToGYA3SIcKBL0wdZ96QcbQMO6pqtox?= =?utf-8?q?lXFaVsreoCcWYkARGk7leQ6IRdZdrpq6NfAPd9HS24w6+ANCqJZbHcq8ANCbxM6te?= =?utf-8?q?McaqUVlN60l7J79iFc/W1TztvnmhkEG0dhETaWavxlcAQ0LiU/xkaf0o9FS/5oJxr?= =?utf-8?q?N6Jx9GC4YfZlOMo6WoztCa47qvZceI/5Q=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?f7shhFSGPzZsjYgBgRtx6afsunBX?= =?utf-8?q?HO70h+illlGiHBS+iUgk8bTjwOi1hEINhLwvSHogzenKOW5giM84BQLmii9njc+8D?= =?utf-8?q?+vAH/lOlIC/3QvK4O46wH5o/2Zn8ecrDRa8vfV4blwEXcJ3fxPxVwVlYgkejxP2Pa?= =?utf-8?q?C+f/J88NyrtSJrsXwLnGD8V3JvVrM7DZIqBlCfRyOESVE79CsNi52k7VJ6rRRXpSb?= =?utf-8?q?evSVZ618AyyH3wG6EUMIdSIX8WyHlOZUmGHfhfxjdzOZqoNbDlgsOgTVirEpPShLb?= =?utf-8?q?ckwJl52yAtO2MbYBp2+oqb5HsaVJOj1e/MHYH+FZnV25CkvSEiv8nOWs0Exv4+T5J?= =?utf-8?q?X8uM0IWvIoaEZTe/viJnDCRZ6w0HccHuYtdT5A1vTQC2idZLYvax98SfKM2qhOThN?= =?utf-8?q?oz2msMU5g/SpVnoE2o0F/5mE8EnEsWzUxKOSwodwCs1ytOpKnh+H/hYbCzX62kUDO?= =?utf-8?q?AgVb9uPuw/otRso4Vn0pccbvYFnm3fDPL72sXvI+Ev63axgzDYcxXg8g0sOW/JK2g?= =?utf-8?q?4K7SNx/E7oiasz/w3pbKaoIWwogbCXhapHWKHxLian9gsInv8TNA2FIwXquKum3Yv?= =?utf-8?q?HGi9TLqWtWBzLkzy9CxvIzyMnO9AOt9eInpdZRO9FzdqkmnJYZO/QdZW8gBRbfPlS?= =?utf-8?q?kueEkzZfm6RxmdX72kuR845AkDFfjJ9W/+AOaUcjXY8cKOPBeRIBjR/dm5zdSjqAH?= =?utf-8?q?JBTuNWn0ePR3sxRsuH1t3cfELB9weRtXZxMciSXst7hDp+dLpnAhR01fKNHlXtfAg?= =?utf-8?q?hwKM+yYTfFgMv5DsvORshW36STZE4kutmU+KJgm1tys57NUeR4Q+/8m+cu/tD5eXG?= =?utf-8?q?qF3GpIag7f+1J9rSGf82qt5i+1BVxdbLGOwerAI6KWp1v3HmQIHSrHvbPjbsC/t2N?= =?utf-8?q?v4eitA0dQFdzxrajih2BJFQRBGtL0yhEzHiKGhumQ7eAZEC9EIU70KH/1+WRtLZLw?= =?utf-8?q?lYnEFN2Paae/p45ZA4pQmfJ1oElryu9LToDK9G+x/3GEWopZLQ1OxO0F+i8OZKPW8?= =?utf-8?q?H0ekrZBGoIjrHSd0RVES54bNVzgtEqgRBhocKiSG91Q9V+IG1qlDnrtfFBIyuQEPD?= =?utf-8?q?GE6j763RgdOjBZe70VwYW7O0vowbpM2l1xkj/DxyjJAJi2qr6karcpd6imFJIZ30A?= =?utf-8?q?xPA5o8Twmp11soyIqghNaYH40A3ZpVDnwPb4wTGN+6nCG3afpwNDFB55E12J9FZqR?= =?utf-8?q?y+8rBpgPEy+wOrMGX8oyQq9tYULyOEz5ykYD+1ZfCqA4Ixq5x0bltBRy3q5pihjdv?= =?utf-8?q?TbuPlVFo4/Gro3VEE3OUYsYqKz6tGPvW0MlVVh23yJLWZ7esp7WqtZYK7IRPXgwAH?= =?utf-8?q?vl8R2k4g1UUkEvnMgNKv96unIpgEb3DmyhoNcmnP3Z5duxBNVy03T9i2M4KNItBPk?= =?utf-8?q?xbaBQ7OGq4F1Asyk1oTNjDw1zY3KFD/TkYOS5SuM0LWGzwpUunNUtI0oBGIiIwBdq?= =?utf-8?q?EucFHU/aIj1WVfGj2aKctQquZ3tuAQ7zGnQYRzJAJjl+yeXHk9xRCV8U0VqQcYDK8?= =?utf-8?q?hRv6tdPPeKtA?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c68dc98-e112-41e0-f238-08dd76e7f653 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:39.9980 (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: wRxmEBLdYbYa/PreNvxeF2oa7Q2JKkN+GkBmmV8oChlXB0rr8zirrDsU3y0OqutSyrlo5/zMX7orJ339xGKNKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Add CSI related nodes (i2c, irqsteer, csi, lpcg) for i.MX8 img subsystem. Signed-off-by: Frank Li --- Change from v3 to v4 - remove unused clock clock-img-axi - add ports information for isi and csi - Fix 8qxp clock, irq and power domain - Fix reg size Change from v2 to v3 - remove phy and put csr register space under mipi csi2 change from v1 to v2 - move scu reset under scu node - add 8qm comaptible string for mipi csi2 and mipi csi phys. --- arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi | 362 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi | 85 +++++ arch/arm64/boot/dts/freescale/imx8qm.dtsi | 5 + arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi | 86 +++++ arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 5 + 5 files changed, 543 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..2cf0f7208350a 100644 --- a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi @@ -10,12 +10,264 @@ 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"; +}; + img_subsys: bus@58000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x58000000 0x0 0x58000000 0x1000000>; + isi: isi@58100000 { + reg = <0x58100000 0x80000>; + 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"; + }; + + 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,imx8qxp-mipi-csi2"; + reg = <0x58227000 0x1000>, + <0x58221000 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>; + 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"; + }; + + 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,imx8qxp-mipi-csi2"; + reg = <0x58247000 0x1000>, + <0x58241000 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>; + 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 +292,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..ce2ab67c6cba3 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@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + + port@3 { + reg = <3>; + + isi_in_3: endpoint { + remote-endpoint = <&mipi_csi1_out>; + }; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qm-jpgdec", "nxp,imx8qxp-jpgdec"; }; @@ -10,3 +35,63 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_0 { + compatible = "fsl,imx8qm-mipi-csi2", "fsl,imx8qxp-mipi-csi2"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + }; + }; + + port@1 { + reg = <1>; + + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + +&mipi_csi_1 { + compatible = "fsl,imx8qm-mipi-csi2", "fsl,imx8qxp-mipi-csi2"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi1_in: endpoint { + }; + }; + + port@1 { + reg = <1>; + + mipi_csi1_out: endpoint { + remote-endpoint = <&isi_in_3>; + }; + }; + }; +}; + +&pi0_ipg_lpcg { + status = "disabled"; +}; + +&pi0_misc_lpcg { + status = "disabled"; +}; + +&pi0_pxl_lpcg { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qm.dtsi b/arch/arm64/boot/dts/freescale/imx8qm.dtsi index 6fa31bc9ece8f..c6a17a0d739c5 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm.dtsi @@ -333,6 +333,11 @@ iomuxc: pinctrl { compatible = "fsl,imx8qm-iomuxc"; }; + scu_reset: reset-controller { + compatible = "fsl,imx-scu-reset"; + #reset-cells = <1>; + }; + rtc: rtc { compatible = "fsl,imx8qxp-sc-rtc"; }; diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi index 3a087317591d8..9d9d933148f1b 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi @@ -4,6 +4,88 @@ * 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"; + reg = <0x58100000 0x60000>; + 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>; + clock-names = "per0", "per1", "per2", "per3", "per4", "per5"; + 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>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; +}; + +&mipi_csi_0 { + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + }; + }; + + port@1 { + reg = <1>; + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qxp-jpgdec"; }; @@ -11,3 +93,7 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_1 { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi index 05138326f0a57..c078d92f76c0e 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi @@ -241,6 +241,11 @@ scu_key: keys { status = "disabled"; }; + scu_reset: reset-controller { + compatible = "fsl,imx-scu-reset"; + #reset-cells = <1>; + }; + rtc: rtc { compatible = "fsl,imx8qxp-sc-rtc"; }; From patchwork Tue Apr 8 21:53:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879589 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2057.outbound.protection.outlook.com [40.107.20.57]) (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 9230B258CF8; Tue, 8 Apr 2025 21:54:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149288; cv=fail; b=US1fQE7tRvH0c0ezBrqTTCLFH8UdObSYfr9W7zh8fPQMA33P/LpCP8lnAyZ22vuhlcJBpLqfJ4vjqKMJWTyhvcVglCiOHCtNTUc3FmNzt2z/htE5/jAGJj2fiZZUQE+ok1MrYrqLxnzdiBDfc+J/1bYkiOh1cZK9bNP2ICBiSWg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149288; c=relaxed/simple; bh=J/vXWJ71e9iywXWc7F7QPLUcxVg/o2Yp16ibMSDuxm8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=VCEjoK2tuHmQsgcCCdcVp/XGbZ4/Ms78bo021kmlewB3V2gg9NwXwr0HcH89ONezDw9MvmQZGRFB+IaH53AKxtNxPJ9EFCTXuhU9hAZSC1v8q0HdRqbfXzpliFN0OP9N1b53Pljv/x727sUeA82O5qWxJflN0eRawZC0bWiPpUU= 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=JAfj2NsM; arc=fail smtp.client-ip=40.107.20.57 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="JAfj2NsM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yi0lt9C9Tx8vEYyBi6C8chzId60f58EeCa+QPlJGkNItBwCAsHO8DI7lWyBPGXaWckhYYRIrQd7tBijHv2mdHZ0duad5pEDz2TBMhgUdUxZJJ8kKsjaRcMSL+ldclVcWPVcaWXmtPzAZMgmBE0z6D090YbyQQszqmR8IJXquMhd1nAxhNFeH4HA2MbRtMyK65dJTxQnmn4D5Of7L9I6fo+gKfeHFhxzVQHjRI0XwKMXZQmCQ/6a+D/hJDAVa7SixVOX3qEhjr92iS74rbIY/NyAO1ZzozGZZ6PtJ4BcYAdDVom++9p08NT/nGFUSxARVu6+KJIgk9/uacHeRkc2XoQ== 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=YqnnDlFpQb10c4i+t/JGSPA0f/+UZq4ELBTIshbiaNc=; b=pWCqp4dNm7f97u1iDFQQgUdMCeN3CsKGKH35cQWJs39IEyAl53LXC90dpE/OUQ5bqSvc4xK5FcvqyTbH/+KbPy5OWqaDrw//be588G81ICzhUicQZfc4HVig85IeFtnju4r+8V7+Bwg1DZmx0hnbk18DB380c55CFS4dS+5AHI4gWUEw34qGRFTGux8C0LwiRW4rpcKRzd8JXYqXjCvYoj1+df7IjHUUB8v6lBPLS20BLh0W7UInlTKi9XVhE6Rkr8otJ4kanypvQXavd5YPtiPA/N0KilT7SB2NPrUN9BtRWlXqTBpW2RQOMKoql4mQk4whNxrowviGWJqPt0FS/w== 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=YqnnDlFpQb10c4i+t/JGSPA0f/+UZq4ELBTIshbiaNc=; b=JAfj2NsMHDKPM6Pn0iOMu0vtfgfww2hNHena5YCuHr2ElMK6DUVOcGxAE0ZY8SpVXtFWKmvIcpq2txQsZpqlAN9sG0+LATSML6V63K07AknCsGkLDDac4PCKgQxbU7csGBjW8e2QOMBFUsdZqocUNcYyVFV8Lq6wIypMbDFUBofHx9pVjVNRhNiOQaJUTXa/LaHM6V1ITRxzxJ8y5DmTfrJHtr4wmNogqwA9yR7+PvxHcwwmy26hs16T+DVz96A4lcSwuLzYt6EBuoWsn9sx5LzPqRpIkvI8kgHDZBq+cJpXUSe2eWw5Zt61j3VEheYgzWOwFKBmDOJEEom3NAuLaQ== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:44 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:44 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:10 -0400 Subject: [PATCH v4 12/13] arm64: dts: imx8q: add linux,cma node for imx8qm-mek and imx8qxp-mek Message-Id: <20250408-8qxp_camera-v4-12-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=1608; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=J/vXWJ71e9iywXWc7F7QPLUcxVg/o2Yp16ibMSDuxm8=; b=WLa/tPmqQfvzNTNSDKgkngzg6Qk2a5+cdSljNeIL+tq6l/CVsBZ8SqCPeiXhKNnq340GA2qln utuvuUldmeXBCFq+cSY28yQ1/CUZMn8Nwk5Rdg6XHxPh9nQh0YmyrHb X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: b9cbcd00-3daf-4ca3-8030-08dd76e7f8cd 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?6jGbsFA96dIlxwH96Ag54UXBmdjA2Fh?= =?utf-8?q?PfJVuqyM7o6eZrzAjLbZ63R/1tKx7OnkvS9sRyiwzVtpaM6xK3pWjGEWDrHWN6MAd?= =?utf-8?q?7N86p9K0iuqkzEyHpjynlN2Tq5/NLWr1Z3APNwaU3FykPoIVZM21SEj96KusIWErf?= =?utf-8?q?hPeqyRtHD1RqrTwlWu7NC7thRc1MxUupXwzbUedlybTAUiGk7hBsmvdSXIuW0JTvh?= =?utf-8?q?vxrRgZve3LuyQhIsF6kZ4n4y70fA9dHrSjPqDpApLUEtvsK3VfXkl3YOuUm2sdcsi?= =?utf-8?q?Iobi174zHz7OkJlX/yMK1bVB8H0mqusVR0RXJa++hyE6v9VOkKyAa6duSsAs0CCOM?= =?utf-8?q?3eHY3aeWwv/YBdkeupxtETMS2U7HNVnp2qb2+7xo5oTZvZKt6VqxgEbtcoIOpnweQ?= =?utf-8?q?WG0iduVGPTzwVQDAjvEb71uec/pS6Retxp6mQez737sSlZimMZskB2GgM5RKhl2RB?= =?utf-8?q?elWILjUb7fXmNO2X6ZuTwUztxwR8c5+QuNxChj/zjEkxIlW0QDX/88oWm4QFxw1u7?= =?utf-8?q?WQXSEBeNp1AkV5wA8OeRaO7+pdMZpQVA4vqAGyd/n8uC41RhV2YnZzSU7p/kH1So0?= =?utf-8?q?afZUA/P85UbwY3y+gkCgSx7dGW2V8BOz2Bq4fW/qI9fD1XY6r1vOAKlQyKUelIm/q?= =?utf-8?q?S17KyKyUJCdUgNJ7GIEEiuc8H0sraFmojQ6QGmt2mvb9GRsqCKtj32pEbW+f1xFZW?= =?utf-8?q?3VwdUm1vHHFhGKWJ1tVmMEYILn/eS16IyBq+QsDQBb27+/saMW4NdU6PgzceYfTZa?= =?utf-8?q?wjKE6XqVw14QYy3/JYm6iO38RAoC/hJRafugPCgMvdXohae2tPQ7Cd8ZPRFM2B7wG?= =?utf-8?q?SA6bFLu/g3t4kXEm0AeGtyiyHpp/yiIZzfTN8YeoTx+YVO3If14X7niVcSYLd37AG?= =?utf-8?q?PGeSv6C3LhVesTEOCnSXfaMJ1Rw8AFz7PV5GlYiwq0kLA4stmc0m2YI6fkhIuy5c0?= =?utf-8?q?WDRY8FnJsJ0U4m579gUX7vyN2zgijeLj3Y5qevCdMBnaecWjWEVuQT+MLbNx+cnRZ?= =?utf-8?q?UlE+suCJS2c95izeaTWFlEB9vMHpR1M8LTUFgzYFtPPw9FSv1q/7bkKV9tlCw1I2q?= =?utf-8?q?2ercQ+vjzn+ifs5El3oh+oRrqqdB/DAqQu7szPXXsMNiFMOcniF5/Jv8qvkHRR/sJ?= =?utf-8?q?Yc4XbUN4O9JglaWmyTTFUE7GTNJGvE6VrNV9KO/sICPVAR1/a73QiOAwqbPSoJDSb?= =?utf-8?q?HkBm0Je3e6RdG8fUZUjVjFqm6LQKFfaRP0axoHgX9dE31egvV+ascEZy18y88AlDc?= =?utf-8?q?1ieHVvC8uxXDk0UwMIygc6oyAt1GUjSVNkOf9yOExkyNxXeD6LmpfS9zOnOi4ry++?= =?utf-8?q?tyqsd+g8u6u2NjRMI2SuP5vlQD+o0cjQ9r8KcNIr5lJyBJ2CZ83RI4+oRqHCj9KHk?= =?utf-8?q?bIGjl6+lMaB?= 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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?zPhERCBMg9QG54eZv4r90urJ3i7w?= =?utf-8?q?lBSOna3yCV9xtWNPlGBcQDjlL35YAk8NfPV8/G17KgnegjpP/dlI3Bvh359E90ERP?= =?utf-8?q?0r8sFgRgcG2wcz2hVB/7PwamKz+ZaKSb3fl4T/qY9PVI6b9xYb6SWSkK2bDnKRXk+?= =?utf-8?q?miecBdq8TrMasf26TZ6Q30qaKIJfzruijQT7zNATsasQkMyIntiL27CjU/ixddbNw?= =?utf-8?q?b8qouWhGgclEnDj6haGG2Byem7NdEPxBM/CMLpBQVoTSDi0BQJtu5/r95PeuTPt1k?= =?utf-8?q?545MyfmQtjQuDdrT8x8yR19syalcN1PF/AnBIHYSMXqnXZfbvtiyM6DOOt6pFA4Gc?= =?utf-8?q?FF/jZfmb2KJbklv3XUjw9wC7DYiatnPgINntBH7qDVkAggs5XUcnXdDSyDl9Z4jmg?= =?utf-8?q?VZNrp+9ELj9k117sPSLe0+OY6PZYDc+OzVsBXrv9h8Rg1U7TgY+I0iuuJeOu/OdPm?= =?utf-8?q?UCeBqXCUgfrFAue4xnMex6RthB+lqPG0qzSFrHQ4SjQisjHJVJcpfh5Q7/Xv6aF8h?= =?utf-8?q?awre2Fzsgr5zJ1C9ovX7LB4ULHC7nLnLnnwyu1lGx9iWKfPxaWyuHSwS0nDN6AngF?= =?utf-8?q?JimLINilJgaz3TQfYTXcQNOwoz+I9YVHsakxf/mXWgBg4EK8NhC5Xp+I+5z2AZ3Z2?= =?utf-8?q?/D1bzBDTE5MVNi7M8yLR0Saj4D9BRVp3hUUQZhyzgSPyHi3HvRN+NBB0mSBbNAeqV?= =?utf-8?q?crMxX60tK3nAPlN4tuGf5QqM5OevbPBgbm12fzUmDZSSF5ucwcosPbaQqaZiSWR8x?= =?utf-8?q?548xLdhSuVG4npho1C//bm3IzlTPG1fDJDn8EKzyRa3OrQLTk2a07q6jesbZWP5hg?= =?utf-8?q?XT2Q1DsCzBeNAf3FqiBV9H9hZm60Wo3hMxcPUczFVMxbY9itx+BGDoNZuCcnp0OQ4?= =?utf-8?q?NxbZk35I7e7SD7AiTKbFP7ZVcAXEN84atpYIcMfQiExYJCJSpjfSxjbR/z+j4JNJb?= =?utf-8?q?0sjeX41G2hU210jrXmWBoaN+/xJsf1JcupDOMGkVo8iX3B6yLWyZDxFoPbjjM2+Ok?= =?utf-8?q?HxYXqceUiX2JReD0NdFvK9Er4NdRyHUnUZfyYOh3sXEYLIwlnaWYDsBVbWnWOpCxR?= =?utf-8?q?QCUlqVUKRXiI2pR5AbRmrWZcuEj2V1bJl48MixklWey2W0RA3s7dY/p/lp+J5NP6y?= =?utf-8?q?SkMppXyw7JSIluXauuI2syQZROKeM8qkcPTS6i6RnQrNRyEu1JuiyaICqA4tC7ve3?= =?utf-8?q?oBgf7a4pBb3sw7SBn0FqmVB6M7QJkszlG0ax/OLu6QTqubp0XtiUlUCeKmikqfmoD?= =?utf-8?q?kbnqepacp8FyZtOUbfS4VaihpAbNuX+K2FKrgAZrvkTM1AiWV1SL25gd/sEYDzI6W?= =?utf-8?q?kLoCwP0U/250x8R04rwIWqc2XK1bkBY5Y9I+FQp8OBj6bEVIDvwHCG4a8pok990X2?= =?utf-8?q?EPMJG2+/Vly2bpepliu2rPmcMCKh/ZI5p/lg5x0xY8kn37CmVwyP3acLvBE8x5I1s?= =?utf-8?q?C/KZdNQxjudrm1KiqDHJtxc10Ck6CwrQU/uSPr1T+s5NLlAFS50sEGdg=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9cbcd00-3daf-4ca3-8030-08dd76e7f8cd X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:44.1649 (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: RVsZsWndLUF7Jmx4ocZB/lSlcQSc6RLLQ0tJu9whpIK0fGMiO5pXZbxVbPdu2vOgxaEOS+c9QsGwfEr8oIs0fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 Add linux,cma node because some devices, such as camera, need big continue physical memory. Signed-off-by: Frank Li --- change from v1 to v3 - none --- 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 353f825a8ac5d..68442c8575f3f 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 a669a5d500d32..a378f462a283b 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 Tue Apr 8 21:53:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 879233 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2083.outbound.protection.outlook.com [40.107.247.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9CE3259C87; Tue, 8 Apr 2025 21:54:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149293; cv=fail; b=snjqbIptb2Cqu0cF0jpIjASeOXjPiXZC1bU4NrLUy6VbYZlHQPmyRLF9y0XFMlt4APQ8jMmJ70KkjAyl54dT/6NiMoAR1UKcQneV5EjVod6MIamNwyMHGtrr7Rbmx4BLskjH3Shdbihj6UnQIQRdpfW+/SQPAQNW9C8P+ocl510= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149293; c=relaxed/simple; bh=+nDGwia3/owe7pv+QZPq07IJEos+Cd/hT3WNI74TaMk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=AsCHdNXYG2GL9Au+mHrccPX+vDlnBDD2QhfpstMoQTrT/rWPzNyhch4dCP57E6kG9mCpRSZ38muw7cCmcS42qUQu1Aly+W3Mb9h1nKsRZFa5u4bVrOio6eBHBUCbMLpg1lM+pmKvS9GpaBo3wiLxv3sw6OSwZ9aY7etczkPl6jY= 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=K1Y61WHS; arc=fail smtp.client-ip=40.107.247.83 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="K1Y61WHS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C1WJDZT/qLNW57qWG2NN/XZ5i8OkS5HTaPeXIHCKWglp5M8e7I0lz1n2bInofiMQbnv38oyPxXFcZHPn46N0GPf7FV/Q6/ev3hvEa+T+Qo9BjzmogVfUtjpCeFmYnk+3x0GFRqrA/myutVGZoxCwxo9FAN02u60VOGxI5pEGhsxyVn7YYA86jtefL7AmjkKx1clsfIOQFsy5pr8dTCXPWMh4uKygMgEwqcA3YkxQutvkEsUoWnrISKiieG39GOtvZXJvDTtoaCHrGfBBdeeNmyKhGNdeDFsULXScfxuTpwkXJOLI4ksU0lMQxKF29rWrNO0d6SbeZD6HT7FRqFTF7Q== 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=KttHrRtzn1U19NH6GsJwXSoXWlO1SKYYwMmHuWE8chQ=; b=HMxAbzINl88he2iP2CSGDkFf/jHnB4llwnkLG1uOu5/T6QHrxEK1rahjXRUUiRuksf0OG8JeLzzIQ+XZelZuodK8gIqgpIbuKct1vnEgG7Om9IOPLQyJ/xQAZkqIrOGkamsgplcmULPfatKWT6lu2/Nx2sqxk15448UQ33aKe/k7odylGsbsQXl1CELy4mSXkefqj3KbWwlFLsEXTa9Il9sre1ST8k+f/Nkj960g0DbrnQ0KJxU1CHe2ULCo50YzrQuNYYm+kxzCZuXV0Wepfq0q/cKKyU0mZo0D6qL26CZDW1LJTgyourQWtwKrDBJW8jjs+Z9Mlbr6ajmLUimDMg== 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=KttHrRtzn1U19NH6GsJwXSoXWlO1SKYYwMmHuWE8chQ=; b=K1Y61WHSpqaQ0oa8w9SND/t5efSTqDDMtSCh/2rkzjlcarUa8VR+fiv9Lgsu/M1NrLe633o7n5TLJw5vRnllyxMeXeA2QeMH8VpKHuWJYaIwu1CT7j7pHTflNO3h6bsY9mqQ4ZGtsiythvF7rVCtUI3S7nlmyhnyUMoo2dQhAe+FHI5Hs2LBCWf7PueXm2YpbjFVg0jjxNF1hR7bnDuEtWsfL9DGnxewjb6BAGsJ3q16F0NTpHd9JCUoxQgWdG2ka6IUdT9Eh2tpMPQ1WGafqx91X5R9pfgSKLlpSLLCuH0fE7ZAxNWfzUiV3Tezgh8qVRGUDhOPXXnMf2D5/URvSw== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:48 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Tue, 8 Apr 2025 21:54:48 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:11 -0400 Subject: [PATCH v4 13/13] arm64: dts: imx8q: add camera ov5640 support for imx8qm-mek and imx8qxp-mek Message-Id: <20250408-8qxp_camera-v4-13-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744149229; l=11400; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=+nDGwia3/owe7pv+QZPq07IJEos+Cd/hT3WNI74TaMk=; b=i2EyRjc1aHRNqIiLkIX6ZmEkrru7FOytIrJP/4yJun2zSyDrri9B0hU3DPRXPbOv95wQ/NhQg 1dorGgMmvbHD7X4WLpWluIo5+oc1l6P1qIrRzQbBUD6pf+G2ZqeMOhh X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) 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_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e8f1ca2-63df-40f2-743d-08dd76e7fb49 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?ZyWXD+Td2O5iUuGLtNLEIzI48Hfghh3?= =?utf-8?q?fta1irbzobn+Myh2xiVUGR0cYdEuqd7kwgzflYeaZlDHI0GG8coKEI+EO0KYvVg41?= =?utf-8?q?rIfrpnq1aCs1KkDGDO5mhQZcecS+LZddeX8kvBQlECG7a3sHgx4WR5I9lDbUz0JTB?= =?utf-8?q?RDKlkHcY01TlAPmVYIw5Ugf80TQr2pT+EmBs4H4iN5Ic4kKayyz5pdDZLZsD7QpgM?= =?utf-8?q?KACbwM066i9ILX6vDEW+YsPnAYtGzV6/v8yS9nq98a1xFAVnLnOifXeUznMzqD5I4?= =?utf-8?q?EkLdE1EGXlQDn9fsRMl9lFqU07cExJUOZReU0WNfybQqnh8MISwwzFSLBsmazOAkd?= =?utf-8?q?OnXcD2xEYaGhbI1dQuqJPYYOleMMlBSn0UgdgxOFeEDUGvWW5wZIsNDNkrorBu/az?= =?utf-8?q?KYw9rYjBc2hFeklxi1XSyDT3TeWOiGV49KN0+YQTq2f3szttMzPGHk8Yh3FAxyBVC?= =?utf-8?q?cpmtvhAgJG5oHvUo0sVmJpQsRa9qX4D5pyCDEJschtwd14UoA+9Qz7ZIZnVv+TkLI?= =?utf-8?q?zI0eM2YT0oqVf9CbP1FejzHLYFg+9SFQOl9HO1qFZ5ViuWblRcOwauiKr/PHnR93Y?= =?utf-8?q?OWpM/yYSblApPQF/8FF9Dd/OHwpc5niJD4WEwLmpjBgWYVxzxX6lDP/T7iUeBzGmJ?= =?utf-8?q?bVgR3iwbHMqtIDAhxLJPGccK95USql9nc7jyQ0g9RcSJbib+EcNuw1JQUjWlIr8FT?= =?utf-8?q?yGUgpkQLeMiLaToBYzuXTAaNixJCewYhxSgIczVe/vPETMOyw2GfxEGOlqE7nZtRc?= =?utf-8?q?Px1qXN15qWxdP+EDZv4Mx0Hp7SI6u9p/D97smGyPFKdIpdnfuKUCvR7+gg0pix+Hr?= =?utf-8?q?7DzWGJCZl2LfSb4CEeSpqkPFcFrPINSlnxpLtTPLGKvZAjvg/pabX5XG5ESrDCAhv?= =?utf-8?q?2eKquSO7pVJ4hvvJNSJi4dhB/fruzmheJqynbmRZPRZmv70dJNq+uapfQ2S1eM94w?= =?utf-8?q?UyEcRYsbqwsvfLGGngRfCTV4Non9uSP7FWSu8QEZRndTzFWSnrOuyUKcJfUSll8q7?= =?utf-8?q?1ehrM7TDutXGD1Px98LqL2tgV+zMKpxkFaQ7QBChk06aqmpXTGPHfawHz/xSHhLOP?= =?utf-8?q?WT9akt6EMQBOoVfKPrz8yXQE0cUcP1c4mAsLnNKN5Wd4E494VBSwV6LScooZ9BV+u?= =?utf-8?q?/X74sOAwKqEuzbC95MwKLvVI/8au9mx3CMdAbPt9srTwiVptoU04gvPpS1kBlsFtf?= =?utf-8?q?x5NG5GttKDksdZwPBaVuK4qC/nZf/97Hba5pFMHeWMMFNN4CfQfntdTvRLLzRwLGL?= =?utf-8?q?/7QmZrOPKPK0HJ3kg3rqgG+GXvFs75VDElpFthziBE08rJmA0GapayLn2zIYmKvvE?= =?utf-8?q?4KLPMy9/WKBLShPIohMH6og4W8DByIQUMMUNbnkjCKcsmuXF2gkpqnyFtiJZyiBac?= =?utf-8?q?kYmC12BCXXY+Ql2NK7nbb88WT3eeeJgJg=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?y1D5pgzu+3hzfE3gRNZgcADy/SWg?= =?utf-8?q?M4T0DFuv1L11Zy1KNOw/f3zJS6FcJGmdsJSd1/nRW9ScITJrx0Mw2usGHucSAl3qX?= =?utf-8?q?VB1KHC+l+Q3+MpzgIuhBOrh71R1K7sX3dmeWYTJ/pPhXQ7K6oxg4rwCpdGcyXKhnF?= =?utf-8?q?kIkd3HOV1VtViTQsk4PyC/lQ490gRZ69vhArJIDQZPQtdtl7WaTGhFy6dK4MYFHsQ?= =?utf-8?q?P9O0mIbe2aCgUKp0zeKfdZGwc2VjsXFN1CLj02GDX6ajMhn59E97r0OJDUhyqRcpj?= =?utf-8?q?MhEl5nQyzYCHk2pWKwGh5Mm7l7nH3Xbqh+kbJzhXFp45x4HLIp4+NBurJPNtotMcO?= =?utf-8?q?I9QsLFBQ3U7/eNPagmMZxENeQxkwlg/DeOieD3K0ffrPyZam13oBVUlFa8E/UK5r6?= =?utf-8?q?XeV2WQVylUstGYCWJYY9s99q/vj3L/8vy/hFsk5lQKG/gXmYvN3fWkBmVUfR1IZK1?= =?utf-8?q?AdJ75QaERuKbEoxVmRb1SwIcfd8Apu1yfD4I/IzGAVNnSMqBIE9bREUrzuqQq7S0Y?= =?utf-8?q?opwU0l01XpeX+CxUpkjmDGzEsOIsFMSVObKy4MmZBX9uYb/OM+O4Ekr6rzmyM3dEC?= =?utf-8?q?HwawW7VUp6vr6nvfkaUnwdd+K2y0jmoVNvAHnWlvf62E3Tep0hi03qNJ+p4N0rCMx?= =?utf-8?q?K8ZQYEgORT0Z+KBzc3AFLZN6piK+6X+tJaAkAqv8eJMmCfozKFHW9N9WdziXJzLtQ?= =?utf-8?q?rg6C57Guyi8QbrOF6pWhVdHCHfGDsumR3AHzoMIhqe1jy9862mRWb67s7myOYJEFL?= =?utf-8?q?OdTIVOSG2rsCFlbSXwAXHbpSOsyZVpzgQoH/HX3chTHbdK3qi/yf4zYS5sIwb+GGb?= =?utf-8?q?zuIUCoWtxVbLs1/xYXmA6y5JwooLTiBW9OvD0d9NRPMbVo1Oc1BoNixRNunR89s40?= =?utf-8?q?G7iArBmO30TOPuUhFwJPSzOGPuCElwnAbsiK+8MWO59adDCGX415T32U9ZJqIdiNA?= =?utf-8?q?EAe/43HIOADXCNn1GzA42QOsfLiRScWx+WIxZX4ByGEtE3rH5KIai320eUs7o9ipd?= =?utf-8?q?KtSwvM3bggfRzMp/47h1ABFDtBWcxV6DqfO+WV3v76/b1eoxCrAg5V9s4iewvrBGe?= =?utf-8?q?/fBQO/rtl3u80eufabBy2aDTvO/JgCu8pp684kzx62TqU/YYTahJHQFRf40bIZAbz?= =?utf-8?q?bPFP1T6v/26C50nqM6+DzPJFCkrfPe8AfAwHXKqY+tpFBMVZLodXf6YIJMdEYzQkQ?= =?utf-8?q?Wtfdl8/h3y+dHtKUwhIE5CqWzcx7Vy15nJayV0fP0ds09vwStzvGhVfLLdn2O+N2Z?= =?utf-8?q?4I7okSV8u4AL4X7pseVlBHJqaM4s/6xy2iGfqn+lqt4H01bz5zfdxJSOMLWJrcXNv?= =?utf-8?q?dWuU7e1Lmly8yH6dyGGU0wOhUkcAL7442zYre32kPpmWccERSmCvchUWpqAh0FKIw?= =?utf-8?q?5TO8f+0yLLlVtDokwjmW4Q8YErwmHIZMnPInZAPdjpy2mr5a6EDTj+q9lh+7eC+9u?= =?utf-8?q?DnvtUX+4fEevWFREOkcmK9WkMYSfDJcy3LkxkZYMeA3rEsl4uZL53NJA=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e8f1ca2-63df-40f2-743d-08dd76e7fb49 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:48.3180 (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: mODXtObTYQ8Ca8gSC31tC+v3oASG3+ITKPRALLwzvEq/8Cw7ZAj5rvwEx0UdlMRYSgmWyiRxjngQcQq7Lgi59w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 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 --- change from v3 to v4 - add board level xtal24m - remove reduntant ports information at dtso because chip leave already add it. change from v2 to v3 - remove phy nodes change from v1 to v2 - none --- arch/arm64/boot/dts/freescale/Makefile | 11 ++++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso | 60 ++++++++++++++++++++++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso | 60 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 58 +++++++++++++++++++++ .../boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso | 59 +++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 36 +++++++++++++ 6 files changed, 284 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index b6d3fe26d6212..4101ef6ed520d 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -277,6 +277,14 @@ 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 @@ -287,6 +295,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb imx8qxp-mek-pcie-ep-dtbs += imx8qxp-mek.dtb imx8qxp-mek-pcie-ep.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek-pcie-ep.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..ba8ceee41db6f --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso @@ -0,0 +1,60 @@ +// 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"; +}; + +&mipi_csi_0 { + status = "okay"; +}; + +&mipi_csi0_in { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_0_ep>; +}; + 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..549633f37db53 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso @@ -0,0 +1,60 @@ +// 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"; +}; + +&mipi_csi_1 { + status = "okay"; +}; + +&mipi_csi1_in { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_1_ep>; +}; + diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts index 68442c8575f3f..503e0acd7963d 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts @@ -32,6 +32,13 @@ memory@80000000 { reg = <0x00000000 0x80000000 0 0x40000000>; }; + xtal24m: clock-xtal24m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "xtal_24MHz"; + }; + reserved-memory { #address-cells = <2>; #size-cells = <2>; @@ -155,6 +162,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"; @@ -824,6 +852,20 @@ IMX8QM_QSPI1A_DATA1_LSIO_GPIO4_IO25 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 @@ -1017,6 +1059,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..5500c4846f031 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso @@ -0,0 +1,59 @@ +// 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"; +}; + +&mipi_csi_0 { + status = "okay"; +}; + +&mipi_csi0_in { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_ep>; +}; + diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts index a378f462a283b..d7ab042e0e72b 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>; @@ -781,6 +802,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 @@ -821,6 +849,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