From patchwork Mon Feb 10 20:59:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13969028 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013017.outbound.protection.outlook.com [52.101.67.17]) (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 147122512C1; Mon, 10 Feb 2025 21:00:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.67.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739221239; cv=fail; b=ZB93lJ7+S1GAeuG1xlbE5p5AhtRu7TlVP/2FPfYppNx8k/NXcXiHNnjZH8Cyg0J7RNq7brmXzulBihXAilxIqkyxz42kaM51IyHj6PEvdGyNzpldPbvBlyfZQmtH6lGg1/MAOCXw30uKSkjaFJREDhpmuvKbCPpoeTSRio6DzXE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739221239; c=relaxed/simple; bh=wQzXhLPvi7Bzt76hHHKFfUBzvQbIlA3YqnnkYvKmseA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=aRoTbqKIFV/a4xfF0pliIDsxkzCayO1W5lo0ccQ1HP2D5rneGKyOaCuxCH+Sza8qtqjc6mmRtN5zaG5nSSNUfWKNHSYZsV3qwEz4zdhK9VEighDVnZX5BB/zt1GbDYWv7S8In1tClomexdErXVry1hvt6RiJ92n41OV2yWt9TjA= 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=ivpfbfTd; arc=fail smtp.client-ip=52.101.67.17 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="ivpfbfTd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GGVCJKesWspDych2cZM5Mmd0RM1dGvIv0EFOW8ZHcs1ZjeJoAQBCBckUy2vjEfmao6PF/EJ0DvLH8YsbEeTv+qOdNbqqDU+FJelJ/ONzPtYN0fAVU0Wn7QhPX1Atrhf7xFieqVMnbN4JCYPcNAkkkPowN3Zoh0+8sIYHb+IxHxr5lVCOF4NZzBSKiEariSLQWTuVoMFt7N+qLycbGt0K8MKxV1J93C5fNiO7LXV4Vr2lTAn1pngtfUj+F5AkCmYFrhA61N+3zufqk+RaFgdzNo++80ZGDD91ZMKwE92WdLihuKuSGfsJleprhuudHwaGS0/vzM26QbCJCeiDqyT/2Q== 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=ye12ZZS0p4z2EX3aq7ZpnJCmb7hM7/Igr55qiOhK9Xk=; b=iJrj5CUigP6kYxDCatlfesr9KJ1WMrflD30ICYjU5ByGGUS9CO33ZXOsrbadZdVKq0AZ5IWgmQpIKvZnHJYrYcGz30NCW+x3dv6LJ147k524GKtBlq9heDnegwKROy6VTVB3re9OZJXkrmag4u/SUmiICXisuD/0o1nmtCvbi6f4GuqIjcA4By2XFCyjGgIUVhbCUqOPGkzbSulP8a6VSNQHHRfy1zFXVnFbAEVOykN9XJz5JON2pSKt97y8iCLp83z3NqVrr5gx8ErijvZRbvr04FF+eqtErBzftHWsPrFMDBccmvzRIIfg5iO/IUPPD7gJledhpP9Cmgl6PUqB1w== 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=ye12ZZS0p4z2EX3aq7ZpnJCmb7hM7/Igr55qiOhK9Xk=; b=ivpfbfTdfJjqm5wYPnFOaYBmfBxpfSaet5IuIJ/VlFc/k4/qHoTRvUI9eP/YiaUa+xoP8WMY5O+WvIReXuUySEdvS43ejMeII6vuDoExXxaeWEqYdQOGtHrLh+pzbkwuUlOEom/Gc4qWlPGElztGWl/2XcKVGL0OsWv9XScvKt4U7YD3zpy+7FhFDmzlxuvpm9y4FVvtCGfg1eg6qQwgUDiA3mRLf9W4ZHwg7Sfg6rRJfQwNyNsv+cRHdmbICMSy3p1jJnU2ahz+G2VfLHeQLqnc6Kmpf+jjimlRx8lZdOobXMMtCddliLl21uAydzOR1bjHml7pmOMXu5B5rI7EYg== 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 PA2PR04MB10238.eurprd04.prod.outlook.com (2603:10a6:102:404::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Mon, 10 Feb 2025 21:00:34 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Mon, 10 Feb 2025 21:00:34 +0000 From: Frank Li Date: Mon, 10 Feb 2025 15:59:28 -0500 Subject: [PATCH v3 09/12] arm64: dts: imx8: add capture controller for i.MX8's img subsystem Message-Id: <20250210-8qxp_camera-v3-9-324f5105accc@nxp.com> References: <20250210-8qxp_camera-v3-0-324f5105accc@nxp.com> In-Reply-To: <20250210-8qxp_camera-v3-0-324f5105accc@nxp.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dong Aisheng , Philipp Zabel , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, Robert Chiras , "Guoniu.zhou" , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1739221181; l=17249; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=wQzXhLPvi7Bzt76hHHKFfUBzvQbIlA3YqnnkYvKmseA=; b=XN1J9RcjgrfWRW7x4YalYFhBLNciGU25fBzA8evf3QsjEGtW1Friv8LRxib6cptVZ3PCFSgAa a6u4Y8QiivYBPxyqcEbxCrDlGusxM0eHbCt0pjMK/KZIPK7qBVaiZt1 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY3PR03CA0009.namprd03.prod.outlook.com (2603:10b6:a03:39a::14) 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_|PA2PR04MB10238:EE_ X-MS-Office365-Filtering-Correlation-Id: e777927b-2796-444c-e58d-08dd4a15f650 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|1800799024|7416014|52116014|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?gF1Pw1Gf2c62QUsJPZ/QsRXJkPWJ4aL?= =?utf-8?q?LrfQfXXZr0j78oNOMpfQfbzYX0uzYDT9U3uTm6r+r9U859R2tqI50j4M9R8GfE+Je?= =?utf-8?q?lV3Grj1tjr/t3WE6dIkD6DkkJrncY9UxnkZegk0W2B266WDpcU05yGGtJbapgrskU?= =?utf-8?q?EtaZqp6QUpLMM6ls2yqcFvQzFnt8XYRJiRT/MAdLVDjM4SU7SfinKbAj2uLqQzKis?= =?utf-8?q?WQYTlkRC9Ezr3y6loGuCzWdZoMd0h4xcRijWR6gCRTl/J87ZkMdXYkbpakTobo8mO?= =?utf-8?q?JDfRA5j18PWRBhznRd67/QYt6VGqae7SSbAK0/hDRI7HXWmFsU8j8UAcbKrKrDj0J?= =?utf-8?q?Ohnay0VDLnYcsP4Q7OrWpKmdAiiMKCPuQJ4907wmolRJabtx8wqg7a5pjCSN3Xx2B?= =?utf-8?q?TAci8nGDMVVQULvE9+AESCGDIJiRXY7vkaKRPgNP2ykfQJiy7GdlHpjPNrDpoSfIW?= =?utf-8?q?30dCslOkPSbzfhm2tG+maHsrWt00osaSRo8kJBH48lsRL1wB4DMQbKqRFbdIDQk8S?= =?utf-8?q?ICi6BXZ6WaEserflD4VNrSAgPvq7R4VaGC0LIGLWmlE7HdZVDYPbEfNCoupI0YFSL?= =?utf-8?q?WmgY6OkAOtjFvLWv8O3jJOcwCPN+CwjB7aLComIOETac3IrrCtmzVIlhysbYcLcTw?= =?utf-8?q?8Pup69OQveqpHYz+HIx5+07cJSY9+Os8jpuW5cURxXWqlwBeUd238GZVJji/JEf4r?= =?utf-8?q?6UrFfmrC95FCYC8pz7nPfDPSMxZjz+Ozh8zIKxNEvbXr3sW758h4UntEJogOE65jl?= =?utf-8?q?vuh444blhT6VbLbKz3QCK8drGgxxiubx4F/Tl7iLurNFRz9aDe6Nvy490UvZcGgiT?= =?utf-8?q?HeEkGONIvHwp/PhkSFbqx/4YC6uF1D/ZkovydA6e78PywIIbbXYpWOLO2RDl7Zr1f?= =?utf-8?q?XVS5W2X3b/+p8w59tjTSakHP+TkDLufZc/JsAnn2//6BsDMw4xrdmRTs9AQFwB6QZ?= =?utf-8?q?07SBNFkmY0n1o5OM9qlnml/ACN7HuTxD92wQWTP8xc0WbduHcCQONVprbuDEroXvt?= =?utf-8?q?Uo4cbwFiChVWBnbDS4KmAUe5gq9QCMxkBNdECrWq99zkXO62/c8lE8T5JD1XAjDCq?= =?utf-8?q?6YUSVaZna86nbF8YOVLrZZW7st0iO9rUXqWpG5P5giLqLpiJWbBGOxsUQhKZkHGX+?= =?utf-8?q?/TwM8ZQre1VNCaa3DhyyKGnpNgzJKNoOzWfuN8zenUUK/V8qf0CdTQrPKvLWU1Bwm?= =?utf-8?q?r6NZmVECBfTuhvb4fQVMm8TfbLyHMAG2VtaKxCzA7JAVfOqHcpgciZ0JeCxBpDmIm?= =?utf-8?q?KPRxPP78BHuYomlcsCBjTsYOfYsQk4+MX0SrtXKACAW+ObIgMaSxy16JzGaAFYw0J?= =?utf-8?q?x/++E7AwOk0vF+EbNH+WJIkFAPESXDqTgwcJK7ASWzw1E3n1S6oJrpDNPEElUIEaI?= =?utf-8?q?YEftOiTEyR04h8On7qPx81hAjIPHVIGIw=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)(1800799024)(7416014)(52116014)(376014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?22PTeVwB20RGYK+ZsVg4nyWstzkG?= =?utf-8?q?6angA2M/0Sj8dxMVfMmukvXnPCpdftc541sUWolxkveAugu1fUfO+KCgTtvF0u0pi?= =?utf-8?q?etgUuo1+BfUDMaIn7Wk6ZxvNFzrhT3EfvT3hOjFehjrI4xtojazIQ1CQ2KofcZ40L?= =?utf-8?q?w5eoOHP8kTqvypVmbIWYdAdocKOHao/RjSEoQEwEz18+yxilXji/P6WbIb4odewv6?= =?utf-8?q?imeKZSsZvOgPK825u/OawVXbOyisCFJ2PbKTe9ErJS2xlolH0EhLTGkpyFAj1Nre5?= =?utf-8?q?CnWQzwYk8oYV4I6ytRU9mMPc3KHw9BTrlg0fiC1B514gTOKibrvOqkv6FK+qK13/0?= =?utf-8?q?JMrtizIXR8zMxNlSJNgs/frhFGCaUJNOmmnGtNYI/MacgU1QXvqtLMD3eOpCvkema?= =?utf-8?q?zf/jh5NhwzsfO+kh2dwQJwhyUT4ta2kdzFK8t7uZIPYQ+7FHFDBBvV8WOEbg6MkII?= =?utf-8?q?RewnQu+T3ZDmChDO851cAoVSD5t9yd93PXKN5CdhuXE3/ZmvcCIwqAmR6E7ygkWTR?= =?utf-8?q?pME9MlIjqsjgFje/Ed3PF4O/psFf6p2ZHqqERbLesFQfycWuXHJmQwOXikUI2Lu1I?= =?utf-8?q?9SrbwPi4r0WqhPhypbVAVGZnmngokCgNt7L6/RXwpLeJ7dUPqeYmdI5hwWlov7hCo?= =?utf-8?q?+OU9nzdeRGNcMzAm1+Uzc77ILbwKi0kCvNMxMi6aJxaM727zOPLHdrEBCWeS377St?= =?utf-8?q?0xFfVLcth2OUEZwB10V9XzIkOZLjB2nSzOzVgJX77Qdfh+zFcDTUgRGGxoVXg51lT?= =?utf-8?q?aZ+OjY/jETScL9sXtJ1HmL2HdcC9eauayKekVaSHqOhhnrD5G8tFJv+tpbV06wks0?= =?utf-8?q?VBKfcrUSK3oixBLM5UIuIz63UDz7zgP0QWq17UCQ5JHyTKXOC8xHhtqyuNQBnESh/?= =?utf-8?q?Kw2VvOlzqIOA0Hf5je0gLs0jL5wtGIqvS5gsH4nACoNxF0zWPOjYBKvYgo0w3/559?= =?utf-8?q?bE9d6D9d78y02v9xdJCt8qRDYt+37Gqorjq+MY4wuFM3Nodd6k5d6NZ0PhmUDKryN?= =?utf-8?q?+8Cqha71uRweCiatda8BSyf1O+ToZlF4S7VpGWmkLNPSesNHSAigsIKurbVh4wSnN?= =?utf-8?q?YGLT7eb4AsqimgtUgw405lp1Ac64LrNPQwdd6psg7aD/tYbLE6el83uGG367iZq9L?= =?utf-8?q?BUJnF3AnrJpH1bv7JFzNlNf4SM3BAMV9yew7hJkn3aLIwE3e/4SybeEW20Qz8zIJv?= =?utf-8?q?2qvNyRwuMpC1LnaDIEP/8acQNYlEbQc/CGD2//iE6tCiATSSecQUVktfFqdlWDc5A?= =?utf-8?q?4ZCSWdaooBkFnzwmFDCKiC9GO7F3LzF7Ql1AwJSuscmDq4W9eFKCLt6STwQ8PJbnK?= =?utf-8?q?30Sr/1rEA2T2IUZcFi7oLj/wN6VtUM4/R0Za+BZgvjke3McNTsuaUW4rB3iRHhf8Y?= =?utf-8?q?QGpE/uuRTY1SGVBfBaaga7p4Q7i5zZ7m7SkNFe/md6koIbCU8C2SL9NAmkWjYI+sD?= =?utf-8?q?wr//UKrD54edYiPf1E59Cs2V86rBB6wrVY/VH7FwVuHQCzaGWpYuJag0=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e777927b-2796-444c-e58d-08dd4a15f650 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2025 21:00:34.5012 (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: kSSUTYHRKDwajzSkMFvoaWih7LNvvfnkSkfrkD5rihRKl/HCS9QyOCPo4pRejpxQd1rJQMleonMFg/CB23CZMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10238 Add CSI related nodes (i2c, irqsteer, csi, lpcg) for i.MX8 img subsystem. Signed-off-by: Frank Li --- 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 | 376 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi | 45 +++ arch/arm64/boot/dts/freescale/imx8qm.dtsi | 5 + arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi | 60 ++++ arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 5 + 5 files changed, 491 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..eb41a6fcaf5b8 100644 --- a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi @@ -3,6 +3,14 @@ * Copyright 2019-2021 NXP * Zhou Guoniu */ + +img_axi_clk: clock-img-axi { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <400000000>; + clock-output-names = "img_axi_clk"; +}; + img_ipg_clk: clock-img-ipg { compatible = "fixed-clock"; #clock-cells = <0>; @@ -10,12 +18,270 @@ 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 0x90000>; + interrupts = , + , + , + , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, + <&pdma1_lpcg IMX_LPCG_CLK_0>, + <&pdma2_lpcg IMX_LPCG_CLK_0>, + <&pdma3_lpcg IMX_LPCG_CLK_0>, + <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, + <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", + "per1", + "per2", + "per3", + "per4", + "per5", + "per6", + "per7"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_ISI_CH0>, + <&pd IMX_SC_R_ISI_CH1>, + <&pd IMX_SC_R_ISI_CH2>, + <&pd IMX_SC_R_ISI_CH3>, + <&pd IMX_SC_R_ISI_CH4>, + <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, + <&pd IMX_SC_R_ISI_CH7>; + status = "disabled"; + }; + + irqsteer_csi0: irqsteer@58220000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58220000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&img_ipg_clk>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_CSI_0>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + 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 +306,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..efca0baec4b47 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi @@ -3,6 +3,31 @@ * Copyright 2021 NXP */ +&isi { + compatible = "fsl,imx8qm-isi"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + + port@3 { + reg = <3>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qm-jpgdec", "nxp,imx8qxp-jpgdec"; }; @@ -10,3 +35,23 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_0 { + compatible = "fsl,imx8qm-mipi-csi2", "fsl,imx8qxp-mipi-csi2"; +}; + +&mipi_csi_1 { + compatible = "fsl,imx8qm-mipi-csi2", "fsl,imx8qxp-mipi-csi2"; +}; + +&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..4c15e4569a51a 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi @@ -4,6 +4,62 @@ * Dong Aisheng */ +&csi1_pxl_lpcg { + status = "disabled"; +}; + +&csi1_core_lpcg { + status = "disabled"; +}; + +&csi1_esc_lpcg { + status = "disabled"; +}; + +&gpio0_mipi_csi1 { + status = "disabled"; +}; + +&i2c_mipi_csi1 { + status = "disabled"; +}; + +&irqsteer_csi1 { + status = "disabled"; +}; + +&isi { + compatible = "fsl,imx8qxp-isi"; + interrupts = , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", "per4", "per5", "per6", "per7"; + power-domains = <&pd IMX_SC_R_ISI_CH0>, <&pd IMX_SC_R_ISI_CH4>, <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, <&pd IMX_SC_R_ISI_CH7>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qxp-jpgdec"; }; @@ -11,3 +67,7 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_1 { + status = "disabled"; +}; 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"; };