From patchwork Fri Jan 31 21:33:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13955914 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 924B5C0218F for ; Fri, 31 Jan 2025 21:48:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To:In-Reply-To: References:Message-Id:Subject:Date:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=OMnnVzrivajn20HMWlBEcteF1xiqPR9WzHA/o1QLwOg=; b=xDo7b791CbJHHMy6Vx2iVZqsWq iVD3jwirUeAe/76AEcfzR9RW+G5mYPeaMCsCI3e8O1tCvSnZGG5viRVLZzVTCruU9l6Ig/GGyLQRq 29HGfHGcq0bJykibDfF2B6IoOD4GWF0wUEQ0oOhv/bHOLNHoZaammkzqWSDBu4HzU7tm2bqTuqxQ2 YSYetkoh0HbCtT7xTrU/E3Mhy7lmO2JcJlnfiCVXWcPrvB8eupGohOcULblo/tpo754FSDFvdjSvX BzbnABUcWlmJQKn9axhR679RNzsUQSLqbo/Or0CnupSAB0izHWWWT/C/3x6CamgwbiXASUvTUgRG3 t9B0vWYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tdysY-0000000BVBL-1SKR; Fri, 31 Jan 2025 21:48:46 +0000 Received: from mail-westeuropeazlp170100000.outbound.protection.outlook.com ([2a01:111:f403:c201::] helo=AM0PR83CU005.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tdyfM-0000000BT6Y-3BZ5; Fri, 31 Jan 2025 21:35:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jpNlW73e8opKksFkvpywd8e0ErkEptV/aIGb5NEFov987lnrwIgxwyi+r3YEOGiSTmbbQtD7U2zvtEBsrkmvIhjhr09R2QHjv3zkLXvU0wJayKxf74V4JtNSFI6/EYs8qK1QVtdjinG5+2cVU5nhMyncJ/orldr5Y2Z3A+/212AMeZnTCh5SqwlF2YlS7xVVwMB/RDhNnMX2cP2nby50Q2tehThYRKkNc0cl25wrxp2adfGDwbUGjeRRJS29MGqr523EgotIOHATA4t3+ZZsJFlRLiwoSeSQdEz9QfKkqRkh7HV9mowRmDw/Xa/eC+5guek0alxnW3+HZXpL/i0mBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vOYTi5kbcariKAg16FmpYZXGtNoEpFKPoq8wkHMlEdc=; b=BRAc5azEYk+jB15xIIHfpfZqqLdxmkORa1r3NHzUOt5deFYG2xsTaI3hMDBWLzyOotmC4C+oKcwbH8PxgOhpuB0u7ECDBZ8N0PrEKgDr19NO99635WLgxqR5Q/XXIVSl4yFy60TINz3f0DoIgR558uhjBUgJJPRgG0sFgam4d1Y48HLNTVlpD76Gc+U9x/7hXDRdKAxDFSQQN/cTdI4SLcAtjvzsuzIIHA2w794hSW8dgATxh8SuXBZnlIeE6ISft5+GMBaVXXs4OiOqrThQvjIlMrQVGbVlPUoLeBGl9JOoDNoH0dzhID7bsu5pu2uERpAf1uyXkH/rV8rJYcRjtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vOYTi5kbcariKAg16FmpYZXGtNoEpFKPoq8wkHMlEdc=; b=Lqty5r6qbfkS6cNjnFV5VM9+zsLdakwnGm5z4yMMhoR27sl3Fgna9pJgD2BlStmcz2yZE3fZR8vKbnQA6ydT1kiPahoXMl7B5d6ipYUGBH7IIeL44ikAbU8BHxwZ9IWv9rEvQGubeg+FiElZrjBoMtyTaIw5Gr6Azb04IVceCENG5IFpcv3MBvV5WfjH4Yjt4RUBlUuSGMKEaTdEDvWQBf2tGO7BdsPrVdQb6CovKrPcG29ClF6cA7JqCDObw+4v8My6/JzDW6CVO9qib7Shcy/waI+RX7RkQIqcDGptDbdMh/BDP/HDxMB7/7buEytpXkixjfWREpfg+YE44Fp7Ug== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10980.eurprd04.prod.outlook.com (2603:10a6:800:274::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Fri, 31 Jan 2025 21:35:05 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.018; Fri, 31 Jan 2025 21:35:05 +0000 From: Frank Li Date: Fri, 31 Jan 2025 16:33:56 -0500 Subject: [PATCH 11/14] arm64: dts: imx8: add capture controller for i.MX8's img subsystem Message-Id: <20250131-8qxp_camera-v1-11-319402ab606a@nxp.com> References: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> In-Reply-To: <20250131-8qxp_camera-v1-0-319402ab606a@nxp.com> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Laurent Pinchart , Mauro Carvalho Chehab , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" , Robby Cai , Robert Chiras , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738359234; l=16238; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=QaVEesB5DDNjrLw0SH/IbtAhZ1YlADolV5683h08vTk=; b=djUhKCYWxYLscUdIf8acS97qNqZZU8f3cAuqBgRfctsCcbp0WDukI3CaLXDijDxAzM0F8mbLZ PG16VWysBTXChT2sb1kgSXv+NKClFgZVddCJTH90lyFYkvo6laN568p X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0007.namprd04.prod.outlook.com (2603:10b6:a03:1d0::17) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10980:EE_ X-MS-Office365-Filtering-Correlation-Id: 774c28ac-aa69-4928-0f2c-08dd423f2059 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?MOc1ikN3OcGuCwlHDLayU7PW0pmF4Ru?= =?utf-8?q?+xoZnYkUQOh3BK20nxeMsj4LOb9tJzf3dMklW2JpN0onmiFmCbHJQolvOfc/kNkwO?= =?utf-8?q?nEBzIqFuOhASmvQtz7DGBGszuFiknPi8nzb/fx+PF7QiyScYzWtHCO49tUBanK2nN?= =?utf-8?q?I871U+OjnIa1dua3Ze/TRgZM6GkdWuHSd6ZJx5YLwU/2cgqsvIqQwb60RFjdL9+n4?= =?utf-8?q?0Zq2wwPs4OvXelQuGUNwuinQXbDZ5vTVzG/AjgmCIAMAYRyqmGbBKpd6opVTIhbq8?= =?utf-8?q?qPGbgrTLqSeqfY3Na0V0xaFw1BPEnfhz/w56fRDPA27yBVlx6iPuOEOJcw5kbgRYx?= =?utf-8?q?r4S4eRRCNKDrKjXqOWuISqqVsFsH0TEG8YJ6U0Ayko8eGsvu3WKLiZXiJbfAdjsmD?= =?utf-8?q?VIFj8UiGhU5cMesK0GwCp7QJBYoFDWZViaVYnJ6QdhYUYeDX+WnA6nCHdB9IzXqD/?= =?utf-8?q?g6APMXNNF3wvsN9hSMocOXE7L100LAW5D9i/fgKe9QHB8cGrjWhLw78CjQwKNziCR?= =?utf-8?q?ak8/RfqHtkxtSX36UoQdCcZYLEj03R6W2YlhhjPlwgNAsZmu4evIqDBtnEWVB+qmT?= =?utf-8?q?Q3TgVwXCCY96cqPpaZ0wnOwDGtw6/B2UUJPzLsQbAPsL7xjLUkob6tqP5owBKZ9GJ?= =?utf-8?q?eGnH08RaK7hjzoxubzH7Y6go5/4znZ17eRToofc9j2qvDb/XuRbfkvd531M6Y5TKl?= =?utf-8?q?jf620vv/P2VGCEqBhPHmiYV0de/yClYKJC4cjBf1uEBJQgU4v5TOyNDO7bdsCO2Di?= =?utf-8?q?VEAziiILyvHZOF690QRJBXay6TtYfFEEKFY+DnQVkEU56JppzK/mdcjirsTWceakW?= =?utf-8?q?O4Lj75mIZqG9DLGQ2ITGoXOLPgPQlC+BCf1tpn1xE41yN8x3yRb0TtIyEUWyraNxh?= =?utf-8?q?eF1ix3oyv0iXv3cXmDVb9TYzhlV+X6cn/cPBad+yH+O4IG/n7DADqX8F4TUHJRmdR?= =?utf-8?q?1iqIKS3mHk3DnPfb7U8IXXNDM1vYlFi0W35N7d0ohhap/tnuAij96JFNPXA01d1k0?= =?utf-8?q?kj4vkWbmGWLmnVjdIdbo8ZWtBXyi8CtM5JqRfLqCdBr22TrZzSzvCbYzVdGH7HygF?= =?utf-8?q?9q4LcJvf7g55bCKPaAR/D9hEiZA3+xqe8tN6Tx1jAx+AJ7o+kD+CENyUHU3BHl8Yc?= =?utf-8?q?VWBKSLoaMeb2yA3vXjUlhAEWA1oVfwqIAzENm2OOZTgDd3Uk4uWaGTQBzeHbfxT6V?= =?utf-8?q?o/Wj7/UPHoyJqqmNd0Bdk52X+QDk6LEXwvQW7r1xdD2upauTFcec5xU+Ybk7FOWkv?= =?utf-8?q?9W7VTgjbq36pZ3eJr2F3rgXzQh/Va4u/anYUpkdM5B6Fpna+Tkm7RgxmmbudsGTJB?= =?utf-8?q?hjQuBKxZPl4KEW8vaT4734zysPIiWN+6j6pCvdjwDUA4WyILE4A1rUTEG3bUMR/og?= =?utf-8?q?SRvdhhSYzVpf45RKp1R5JlSsWlssLlhSA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3G+kCTp0SeG5zog7HFHAg54frzdS?= =?utf-8?q?JvC4YnpCljAnj7hQqm7mm29cFt6v5TmuLGdK1QTp+eeJ4J6Xpbef6VjgpOFzeWQ6S?= =?utf-8?q?jnZrltgBxRugUcoYZ2IcDyaQ0Bze55nBg0ZKghqGE/qFheat4GHUDYoCWrUbTyv7s?= =?utf-8?q?x6SBRW6BahuVn86FHRdTCcm76RKzjnKI0PiEye81N/6bxSzxtHxWjH4H4FmInTylN?= =?utf-8?q?LpWdigodVaY0ATLxiv26oLfgWehEWUAQq4mhxdAIMOW69PLiPiKQvSs8qV4FebpiE?= =?utf-8?q?GbGoe72CH/VLimYyBz4tjC6MbMIosgD8Hn7/0GJRbsKI96bU24jlyIB8e64EChzH/?= =?utf-8?q?rsACYLl9g7/jUHX123G/Kr7/MldvsQrYFed3gtBmInn6Jml4AUuz+mechqJ8yPHvF?= =?utf-8?q?ZZXsdOfgWgJEKodjAz20NR1lJ7OD6tiT6XNtwvkq24c8Ke6WSDUkm8+enmywTnuLb?= =?utf-8?q?zaBkDU9RhEF+LwCVsTEoXZ3dQZpo/uT9GVjEZQuIS+118J8Mq39q31eu/h35DXA+k?= =?utf-8?q?ZjnjKm+8Abp6o7pO7pWG+2gWec/P1ANdqrl9Uw4tFkEcP0EW91dK4Q/j50Su/kerA?= =?utf-8?q?yx6wNFVDbBGK4KrLKwXhuPKV1ry8DqvLWaQp8TSj6RMUor2avbBEzlMH1Z0a9Fs+L?= =?utf-8?q?tgpkqV4txpN8ZDCpcVb6aqfzkhLRV1bRzvnccLdmjKraVXgK51/eXSiBfiIERYmLk?= =?utf-8?q?xE6cfYqe+0O7fxbmBEAE5S4Q6OSNZyzF5hk2k9QXxf0gmgZyF13MUrEaxmLjBY6Nl?= =?utf-8?q?XwARMdGpqdYdJBU859Ym+xZcuQnwlq0pKYKt41m1jjX6gcP1WP7fm3BGHr+MVpOWV?= =?utf-8?q?XxTnnSQ/DuwXk1YBYfpstt9hfuC5dBEgdI6c9LO6EnSYcE6MOuiN+jtiAirN31h1v?= =?utf-8?q?k+WYTIgVHtd60B/LTmYuR5bZyaGnckh6F2VSEjrjvVjPgbYUjWhToHYkEF/zsDF4t?= =?utf-8?q?k53nnSgkfOM+5mPp+mKHAN3fu1oWiFhMER0wVfyP8goJ5+ixHQFcTTmpsIkls8rkV?= =?utf-8?q?MJ1W4EEQVVVtCTpFhwDFBgfXcizrMS5SBCZulgR0Yq/XqsiYCR10QoHxtU67vS6fd?= =?utf-8?q?RcV8nzsyd05r9Ukk7PeMSRAao3ML4EO8ROVJjS/0GjO6F22lTWuHi+v0F7J++chiO?= =?utf-8?q?kGL6zLXaaeJT0TmqV6YpLSMUGEWY2l8QmDxdQU8JxS8GouBycBpfGarenT/KrtxC7?= =?utf-8?q?/5e0jSbUMbjT/ikXk8fBCkC8NjRBzW7aq4GtFVsk1dcMkYtm1+CHAZxltIkmEy1mO?= =?utf-8?q?xnNtnUE6SXWXqJqxoBu4nfa3TjX4aCYcLOFYir6AickCOgNX27qFt2AVEWXq3eSzG?= =?utf-8?q?7vrbYqjHVJroIVUg90y1Vb5h/ky0pR1R0+AlI9VL/ajbA2JnYfT0gMgwe3lPC46Ea?= =?utf-8?q?akuYAJYXFDRxM7Iqhphe3Uz3WcH2bjZgCIwjRxSuBAkxd2PwZEmUxCrdaopw9WF0J?= =?utf-8?q?+1KTchmj+kAuZsR/c5bQmD/90ZebZKz6NiNvXyt4KO215P9JadiAuEFI=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 774c28ac-aa69-4928-0f2c-08dd423f2059 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 21:35:05.0664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fCqrlFKJTac+3se9DZPQFopg5/vfWQ1FN1Z5BDbU+yX6PDAVCWrpXgcg/YUq5UTI7HYssdqE1rZ8eP3noT/gWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10980 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250131_133508_967657_9E9D1FF2 X-CRM114-Status: GOOD ( 10.06 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org Add CSI related nodes (i2c, irqsteer, csi, lpcg) for i.MX8 img subsystem. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi | 396 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi | 37 ++ arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi | 60 ++++ 3 files changed, 493 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi index d39242c1b9f79..edcf7976892aa 100644 --- a/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8-ss-img.dtsi @@ -3,6 +3,14 @@ * Copyright 2019-2021 NXP * Zhou Guoniu */ + +img_axi_clk: clock-img-axi { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <400000000>; + clock-output-names = "img_axi_clk"; +}; + img_ipg_clk: clock-img-ipg { compatible = "fixed-clock"; #clock-cells = <0>; @@ -10,12 +18,290 @@ img_ipg_clk: clock-img-ipg { clock-output-names = "img_ipg_clk"; }; +img_pxl_clk: clock-img-pxl { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <600000000>; + clock-output-names = "img_pxl_clk"; +}; + +scu_reset: reset-controller { + compatible = "fsl,imx-scu-reset"; + #reset-cells = <1>; +}; + img_subsys: bus@58000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x58000000 0x0 0x58000000 0x1000000>; + isi: isi@58100000 { + reg = <0x58100000 0x90000>; + interrupts = , + , + , + , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, + <&pdma1_lpcg IMX_LPCG_CLK_0>, + <&pdma2_lpcg IMX_LPCG_CLK_0>, + <&pdma3_lpcg IMX_LPCG_CLK_0>, + <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, + <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", + "per1", + "per2", + "per3", + "per4", + "per5", + "per6", + "per7"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_ISI_CH0>, + <&pd IMX_SC_R_ISI_CH1>, + <&pd IMX_SC_R_ISI_CH2>, + <&pd IMX_SC_R_ISI_CH3>, + <&pd IMX_SC_R_ISI_CH4>, + <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, + <&pd IMX_SC_R_ISI_CH7>; + status = "disabled"; + }; + + irqsteer_csi0: irqsteer@58220000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58220000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&img_ipg_clk>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_CSI_0>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + mipi_csi_0_phy: phy@58221000 { + compatible = "fsl,imx8qxp-mipi-cphy"; + reg = <0x58221000 0x1000>; + #phy-cells = <0>; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + gpio0_mipi_csi0: gpio@58222000 { + compatible = "fsl,imx8qm-gpio", "fsl,imx35-gpio"; + reg = <0x58222000 0x1000>; + #interrupt-cells = <2>; + interrupt-controller; + interrupts = <0>; + #gpio-cells = <2>; + gpio-controller; + interrupt-parent = <&irqsteer_csi0>; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + csi0_core_lpcg: clock-controller@58223018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58223018 0x4>; + clocks = <&clk IMX_SC_R_CSI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_core_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + csi0_esc_lpcg: clock-controller@5822301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5822301c 0x4>; + clocks = <&clk IMX_SC_R_CSI_0 IMX_SC_PM_CLK_MISC>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_esc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c_mipi_csi0: i2c@58226000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58226000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_CSI_0_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_CSI_0_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_csi0>; + power-domains = <&pd IMX_SC_R_CSI_0_I2C_0>; + status = "disabled"; + }; + + mipi_csi_0: csi@58227000 { + compatible = "fsl,imx8qm-mipi-csi2"; + reg = <0x58227000 0x1000>; + clocks = <&csi0_core_lpcg IMX_LPCG_CLK_4>, + <&csi0_esc_lpcg IMX_LPCG_CLK_4>, + <&csi0_pxl_lpcg IMX_LPCG_CLK_0>; + clock-names = "core", "esc", "ui"; + assigned-clocks = <&csi0_core_lpcg IMX_LPCG_CLK_4>, + <&csi0_esc_lpcg IMX_LPCG_CLK_4>; + assigned-clock-rates = <360000000>, <72000000>; + phys = <&mipi_csi_0_phy>; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + resets = <&scu_reset IMX_SC_R_CSI_0>; + status = "disabled"; + }; + + irqsteer_csi1: irqsteer@58240000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58240000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&img_ipg_clk>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_CSI_1>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + mipi_csi_1_phy: phy@58241000 { + compatible ="fsl,imx8qxp-mipi-cphy"; + reg = <0x58241000 0x1000>; + #phy-cells = <0>; + power-domains = <&pd IMX_SC_R_CSI_1>; + status = "disabled"; + }; + + gpio0_mipi_csi1: gpio@58242000 { + compatible = "fsl,imx8qm-gpio", "fsl,imx35-gpio"; + reg = <0x58242000 0x1000>; + #interrupt-cells = <2>; + interrupt-controller; + interrupts = <0>; + #gpio-cells = <2>; + gpio-controller; + interrupt-parent = <&irqsteer_csi1>; + power-domains = <&pd IMX_SC_R_CSI_1>; + }; + + csi1_core_lpcg: clock-controller@58243018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58243018 0x4>; + clocks = <&clk IMX_SC_R_CSI_1 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_core_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + csi1_esc_lpcg: clock-controller@5824301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5824301c 0x4>; + clocks = <&clk IMX_SC_R_CSI_1 IMX_SC_PM_CLK_MISC>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_esc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c_mipi_csi1: i2c@58246000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58246000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_CSI_1_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_CSI_1_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_csi1>; + power-domains = <&pd IMX_SC_R_CSI_1_I2C_0>; + status = "disabled"; + }; + + mipi_csi_1: csi@58247000 { + compatible = "fsl,imx8qm-mipi-csi2"; + reg = <0x58247000 0x1000>; + clocks = <&csi1_core_lpcg IMX_LPCG_CLK_4>, + <&csi1_esc_lpcg IMX_LPCG_CLK_4>, + <&csi1_pxl_lpcg IMX_LPCG_CLK_0>; + clock-names = "core", "esc", "ui"; + assigned-clocks = <&csi1_core_lpcg IMX_LPCG_CLK_4>, + <&csi1_esc_lpcg IMX_LPCG_CLK_4>; + assigned-clock-rates = <360000000>, <72000000>; + phys = <&mipi_csi_1_phy>; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + resets = <&scu_reset IMX_SC_R_CSI_1>; + status = "disabled"; + }; + + irqsteer_parallel: irqsteer@58260000 { + compatible = "fsl,imx8qm-irqsteer", "fsl,imx-irqsteer"; + reg = <0x58260000 0x1000>; + #interrupt-cells = <1>; + interrupt-controller; + interrupts = ; + clocks = <&clk_dummy>; + clock-names = "ipg"; + interrupt-parent = <&gic>; + power-domains = <&pd IMX_SC_R_PI_0>; + fsl,channel = <0>; + fsl,num-irqs = <32>; + status = "disabled"; + }; + + pi0_ipg_lpcg: clock-controller@58263004 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58263004 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pi0_pxl_lpcg: clock-controller@58263018 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58263018 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_PER>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pi0_misc_lpcg: clock-controller@5826301c { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x5826301c 0x4>; + clocks = <&clk IMX_SC_R_PI_0 IMX_SC_PM_CLK_MISC0>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pi0_lpcg_misc_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + i2c0_parallel: i2c@58266000 { + compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x58266000 0x1000>; + interrupts = <8>; + clocks = <&clk IMX_SC_R_PI_0_I2C_0 IMX_SC_PM_CLK_PER>, + <&img_ipg_clk>; + clock-names = "per", "ipg"; + assigned-clocks = <&clk IMX_SC_R_PI_0_I2C_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <24000000>; + interrupt-parent = <&irqsteer_parallel>; + power-domains = <&pd IMX_SC_R_PI_0_I2C_0>; + status = "disabled"; + }; + jpegdec: jpegdec@58400000 { reg = <0x58400000 0x00050000>; interrupts = ; @@ -40,6 +326,116 @@ jpegenc: jpegenc@58450000 { <&pd IMX_SC_R_MJPEG_ENC_S0>; }; + pdma0_lpcg: clock-controller@58500000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58500000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma0_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH0>; + }; + + pdma1_lpcg: clock-controller@58510000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58510000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma1_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH1>; + }; + + pdma2_lpcg: clock-controller@58520000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58520000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma2_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH2>; + }; + + pdma3_lpcg: clock-controller@58530000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58530000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma3_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH3>; + }; + + pdma4_lpcg: clock-controller@58540000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58540000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma4_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH4>; + }; + + pdma5_lpcg: clock-controller@58550000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58550000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma5_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH5>; + }; + + pdma6_lpcg: clock-controller@58560000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58560000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma6_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH6>; + }; + + pdma7_lpcg: clock-controller@58570000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58570000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "pdma7_lpcg_clk"; + power-domains = <&pd IMX_SC_R_ISI_CH7>; + }; + + csi0_pxl_lpcg: clock-controller@58580000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58580000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi0_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_CSI_0>; + }; + + csi1_pxl_lpcg: clock-controller@58590000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x58590000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "csi1_lpcg_pxl_clk"; + power-domains = <&pd IMX_SC_R_CSI_1>; + }; + + hdmi_rx_pxl_link_lpcg: clock-controller@585a0000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x585a0000 0x10000>; + clocks = <&img_pxl_clk>; + #clock-cells = <1>; + clock-indices = ; + clock-output-names = "hdmi_rx_lpcg_pxl_link_clk"; + power-domains = <&pd IMX_SC_R_HDMI_RX>; + }; + img_jpeg_dec_lpcg: clock-controller@585d0000 { compatible = "fsl,imx8qxp-lpcg"; reg = <0x585d0000 0x10000>; diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi index 2bbdacb1313f9..e14a5d86853f1 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-img.dtsi @@ -3,6 +3,31 @@ * Copyright 2021 NXP */ +&isi { + compatible = "fsl,imx8qm-isi"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + + port@3 { + reg = <3>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qm-jpgdec", "nxp,imx8qxp-jpgdec"; }; @@ -10,3 +35,15 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc"; }; + +&pi0_ipg_lpcg { + status = "disabled"; +}; + +&pi0_misc_lpcg { + status = "disabled"; +}; + +&pi0_pxl_lpcg { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi index 3a087317591d8..4c15e4569a51a 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp-ss-img.dtsi @@ -4,6 +4,62 @@ * Dong Aisheng */ +&csi1_pxl_lpcg { + status = "disabled"; +}; + +&csi1_core_lpcg { + status = "disabled"; +}; + +&csi1_esc_lpcg { + status = "disabled"; +}; + +&gpio0_mipi_csi1 { + status = "disabled"; +}; + +&i2c_mipi_csi1 { + status = "disabled"; +}; + +&irqsteer_csi1 { + status = "disabled"; +}; + +&isi { + compatible = "fsl,imx8qxp-isi"; + interrupts = , + , + , + , + ; + clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, <&pdma4_lpcg IMX_LPCG_CLK_0>, + <&pdma5_lpcg IMX_LPCG_CLK_0>, <&pdma6_lpcg IMX_LPCG_CLK_0>, + <&pdma7_lpcg IMX_LPCG_CLK_0>; + clock-names = "per0", "per4", "per5", "per6", "per7"; + power-domains = <&pd IMX_SC_R_ISI_CH0>, <&pd IMX_SC_R_ISI_CH4>, <&pd IMX_SC_R_ISI_CH5>, + <&pd IMX_SC_R_ISI_CH6>, <&pd IMX_SC_R_ISI_CH7>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + + port@2 { + reg = <2>; + }; + }; +}; + &jpegdec { compatible = "nxp,imx8qxp-jpgdec"; }; @@ -11,3 +67,7 @@ &jpegdec { &jpegenc { compatible = "nxp,imx8qxp-jpgenc"; }; + +&mipi_csi_1 { + status = "disabled"; +};