From patchwork Mon Feb 10 20:59:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13969141 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 3467BC021A6 for ; Mon, 10 Feb 2025 23:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: 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=MZVwgaLKMaFCvrc2TPPaR2R1MyL0cPReWIbORuF/9kI=; b=n9o0YCKnVfuKqvV4uX7KQ7u4cS TvQIcqPsegxD+ZSzVnFCMmf1VGahIZ+iZAoIf5AYGRBZZLCGeFbVIBzPG0duYH0o465U+zxJa0vlq DX0Qq3/Y3ddxxixWHbKqmJMfS0Az8Fbkx70PjX7tcE2A5eC1GMiZxEmXqoihguFVXhuCjAiwNkP77 825XGzsXoRk3pqylqFsKOtf7FSD7Vbz+JL9t/lqZYjUY90PFjyyVIt2r2G/uLtdDqiFyYCAl+8ctn To4B6I241raQkzfSnDTfENz/5f1ECQjd107JoEIA5w7sKtgPmaLezrPlrVScMrqg3gzzsnsB1XlN0 pYJtysSQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thd9z-00000001py4-1cat; Mon, 10 Feb 2025 23:25:51 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thato-00000001Qjy-0X8K for linux-arm-kernel@bombadil.infradead.org; Mon, 10 Feb 2025 21:01:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=MIME-Version:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:Subject:Date: From:Sender:Reply-To:Content-ID:Content-Description; bh=MZVwgaLKMaFCvrc2TPPaR2R1MyL0cPReWIbORuF/9kI=; b=mWTtuMfMev1jCwvyR2pMcdEfU/ IFc+mGFC/DS/j7SxSuX/SmMhqZcCqaffIXQiw0fC16BHHuHv9aPzwbwGjp/YKtWwQnNdHTVMrHGSt cUJygDndjhRNH2OR7nKLtLMoCit90pdWCmcxrZ3ilIFfVAW7xpzPHPTRZhaKVzrRZ8qbmIU0csKEZ pwt6SfLKGZB95xg5NarqA2ohV6U97WNSHwFu3LFqpP8aUPuSKLo7SVU7xq0A7zGcxicK/B4Ikc3ER 8P0oQpCgOx7DL+GyabGukEQ741uFtVBfTAkiUtlEkbJLy2y3rjDn0yBMiJHw21dKR0MUE/F7RKiHt ap+MgePg==; Received: from mail-db5eur02on20613.outbound.protection.outlook.com ([2a01:111:f403:2608::613] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by desiato.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thatj-00000000GWP-496I for linux-arm-kernel@lists.infradead.org; Mon, 10 Feb 2025 21:00:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lwfMmqD0yN8UkqrHi4+HfuPDcua1xY/EJQbMwibUnLQCACqfRf6EdlXUMtou8GvB9DSC/YGXw7eoLsfgEHLGNwonufbTDQ3hJTbWK/z78biLeGLstezV2E0blx086fvSz/oiLv6Cm6CC5mVO+H5Zpr/DQjpoOHVB2+gzQfDHwns6bW8m214yCn8m4H5IupVNQcwJ3KkB2hHJ0fdQBCsHsMNVEXo4aBpp+6QSackb3cR44ez0mX6bZheGkeNKi8z+4up6qsZMd8jebKkAV/adZ7Rs9NeEzNhgN1BzZsT7FvwoEwBqGlZZeygFBOcl4KyYCgmhtrXqplKOYKl6N9T0Yw== 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=MZVwgaLKMaFCvrc2TPPaR2R1MyL0cPReWIbORuF/9kI=; b=BeLqCWwxSYK5a1R3/BjN6FTpePneYmPeKtrEvv6UOUyKzvY4sl4loODoTh3jg1geBCT0k3dYyeJFKRx1KenBQFi2RP3k0xLBL5OmOKeJ7ksUIO1/qSFk+VY/36DCWlYW0JkcA1yPUzCr1Mh068WChF5TpdFP0vvB+gzJbRQhyLCjpPyrOG1G4mP1k2NMVOEdwdRCTomRxwdLKmLg9Xy8CKc7rJubKdPoKcpBquyYhUReLZfssRNqXjErsn6Bx2Smmq8TxuVq+X2x1a2k4DT9QhiZEgpOqYz2HsD30K5ZMBYYp3f7mB9HqGWhMihIjykgkQmlg9o/aK6ssvVoS2t2xA== 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=MZVwgaLKMaFCvrc2TPPaR2R1MyL0cPReWIbORuF/9kI=; b=etiAeGdAhEiLLAggr2gz33tCpZeg8SIU+r+n0tn5+VS4EFSvLvUsy2eoXnSmT94WyRzTVWScaPNnOPXMm9e8gePhYT9jzTr/Lh3FRCkJ2HZEQ5YPrMvVePmUyVpMTuXCwojsSNjbh7sFhkPwFEU715rr+j9R1Wlko3k68UBElPiDM1vQKyf7VzZEy31kpoX/GY5HF1RRUwlV21ndFzwMmZpNvfoLmafOjqEhsY1CG5d+hvB3Z/4ldqYCX8wlMW4UGAbLRoATb0cOck+AdlBfisE5L3J0v++9zTX+hZiPeRwRfwHvMtJgdGrKFHqzl1ActNisQMdxn3iyCA6v7bFc5A== 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 DB9PR04MB9474.eurprd04.prod.outlook.com (2603:10a6:10:368::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:51 +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:51 +0000 From: Frank Li Date: Mon, 10 Feb 2025 15:59:31 -0500 Subject: [PATCH v3 12/12] arm64: dts: imx8q: add camera ov5640 support for imx8qm-mek and imx8qxp-mek Message-Id: <20250210-8qxp_camera-v3-12-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=12190; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=SSl7prdsYwX33Yieqclv3UcCzkCJtLi0NvOduCOyH6k=; b=KgSdalDag7UVXDyIzphhbWgTRrc8hmfUd8swGJNBtwgQ0T7xamFR3tWSl3X55uQy5Q0gp3XNA Pgaa+dk277IAIH6assj1lRsaCqY58SJmckxWTOcFDfvZsq3bdeUR/za 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) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DB9PR04MB9474:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e617b60-dfbd-4de0-29d9-08dd4a16004a 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?FJV34G5yD+CDzX6b2cKNyTzqpKPsKOQ?= =?utf-8?q?TjBarNMKPPiT/2weL/64HQAxcnK6yMNTTvO32qOsFWmtqFAlP3ia563kLgvE93+dW?= =?utf-8?q?1AUQ21E+nU86DelAwf+Zk8aWGztvJ5T9x05Otna+pZZGRbq6X17zgHHf3BtM2T7s1?= =?utf-8?q?2yxaM2a5qn7IlpqSCyMUW0/Ku/fDpB/bvYW8sbYKV9JzAnoiyqH/LnuLx2eUNFrLR?= =?utf-8?q?YwWl5MkXhIGd06nyQ704EqRGay+aAEx4Zsk4gJ3Lvk+lJg7g6y2CsooX49+njhfGV?= =?utf-8?q?MVcvxLPsHPU6hiOJriQ+HEnYJzF76f1rJe5UpgBvxQ0vVmiuSWlA2CHpqbYIo1h++?= =?utf-8?q?pBvXAdZdRy8biINx1cmnkGdCrtx92dMTssReEioBPmL2rBfD/fOMekY/tDVCWDnRr?= =?utf-8?q?WvZXxkuSgLpvXLXjfvtcwnLxK/QPpvOscnnR3cfSd/KxTOQQQNgCSECAbC4oJeTBk?= =?utf-8?q?tPaJnE7C7VGrEasaBGa3H5zuRCgj7yEijXilupJV3OTjT9X/j5/1ykZSQeQJD7Sdz?= =?utf-8?q?7CD0/JJX34+mpT+SIwahfCreRje8nvdO4FBjcbPa62p64yeDs1A9xgsHBJ9lVDbNz?= =?utf-8?q?YX8qMwrKR1bM+NMy/WRiLNbKHopKAM8P2BSKliBPDWMDwkJOaezxeAeyC39zWuLv/?= =?utf-8?q?JQ31/ld4YAdrEtORPmGB8P3bbR9bT6OecbKkdxMgwK9cdTTxJAhIl0f+bbGtFswjb?= =?utf-8?q?Oncy///x198P9U1KYHgfWuPV2N73ydT2J/bcyYpNy8UdqywmDvxBu3DlJGlgIlZHH?= =?utf-8?q?oPjZIML6plDqRLp7N8zLyjxYKXNLrj7zqYg99fbKtdHryAY+S5Gosa0/NhK+5HSVl?= =?utf-8?q?C9ErbWmaZ5R6obyUU0d/q9Vsnl12wsC7gkIU0V+Gi+Ehs5BjAv2iu4/WTZSB92CLx?= =?utf-8?q?r1H9GX7sHwmiqpimmC8XYdpvelz6b6g40/goIRvDb31wmMeFIcC4Kl13o3WMYb5KY?= =?utf-8?q?Ew/PDBtBTivdsZixtWPAUBN39f0yWNKzchd2ytFkkStXhb1Bj7Bw4nDdchhY/CrwV?= =?utf-8?q?irYviNRZ3/MJ9M8f3z4us6YJlTzvDJnfzsmx4cgCCqED0NZ+7th4Ht+Wn7IU9whpC?= =?utf-8?q?EZKx/a33htU6Rth5tZQaeYzZdWvJbfH/nS63HHfTJ6RJzbVMslEjl0A0ISDiSf+43?= =?utf-8?q?t/gOvduTN3RrYlwlVI6tRVW/fQyj27wR3VlJTgz2hC371eFnZi4zuzE2+cu7RuPiP?= =?utf-8?q?CyOlscMGd0GoRG58xkvI4laZOPEW7jgEvE/Zf8eqhKG9wDjNvT24iM8n/1Mmu2s1G?= =?utf-8?q?L82m3uAHbiRRKv1oVGrsS3Dzf7+HT7dfypDyUAetD98oXFIcZ2E5KnK26YK0ieAbp?= =?utf-8?q?qUbGmsvXyhPIOBzFOwtCduonQekyHSk/MrUUl3C55eahoRNmj85httjSjsfa5vaww?= =?utf-8?q?bPsqtrcvivx5Ow/LXUskvavFpFrKYfI2A=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?CFDnggUa0yZL3871BeyKdTDJokS/?= =?utf-8?q?8f5rQtsvVDaCFRBN4lAQinOXwDSd4Czd1hGZQRdQXWQWqTZaz2WY0aIkU1pw2utV+?= =?utf-8?q?r6YthscbllPPB2YF7kDbta/FIukqroAJRUhOxooVSpvH+gJA2uQKvt8t9OrWxk3AR?= =?utf-8?q?3osgW8qEyCCLXd6RevP/0nTNJpDNTRf/kFReYE0upQF69Xj9IITqXgbLene2YQ1/u?= =?utf-8?q?d6Wb+xRO+/MIYUzYK8zHR8a5d+efHwckgnL8NW4bbE39x164mpwYDlSm2oIUiPKxu?= =?utf-8?q?vuMO0bSsm2rXTATFurmgf4yRTVMPegPn/UhznnyBXbesODW5M2N1y+Sw/iLESdJBa?= =?utf-8?q?7Wrn4y2yXMtuO5UrliyuI5MGVh3E8efN3Plmegbs3tUm9OshPrJJFxW5B+880eNIc?= =?utf-8?q?UaochOfYV0U6WMYFtdgIZqDXYzVOY5q4WboH5cqKH8ZqIGSneuJo7+5cnl9JIelZP?= =?utf-8?q?oi55S4/w7e93pVbimEhzfIqR/yEw8G0HsRuPAHd+2ak/ZNnE+Gxw6bxGhPtRSPEKx?= =?utf-8?q?87mEQQt1idLJow0Y1rytmXvsDeuBr/VhKjI4xRE7jEUk4fSQMb66HiIqksHM0oUrn?= =?utf-8?q?LwDg3c1jZ0ZV+Xvg9TlcLpYO6ib9wwCB4/wOAcvPVTWRbJPAlIksUG+Z5Au8A211b?= =?utf-8?q?D1Z4z8YZr7VU5rJL/vam40cdyQ9qH5mSuv4KB7tfycFBO1ROuy7KIQ4mHKOP9C30s?= =?utf-8?q?wkjcslU7G9h6ZhPaNyrAd/BfoF86n+OsDJUjPRxYI79EpHB3O7q36O/UtMzYnb3am?= =?utf-8?q?hjdjmML0Y+fBheN7+Ggglt4WmwnyhkvFQaWHvD3zwBrjTdTvKrXRR3GKGEqebkLqd?= =?utf-8?q?tfo8KgNWQVxD3B1w4KxFxzOk3S0HxzWEvyiCUoZwvmSotNXjSHWOgei9mh7cx5E88?= =?utf-8?q?Qzu1/J8/Z6uMHAN4+2mfczF9FUjk0rLUMfTOntFBZI8hOXlSlY4/UAV9HxREyw9fS?= =?utf-8?q?rNwXKsulZBqUMJHASsZOBXkgpuwnMQocOoAo1ojpkmHvmw/EEjF57dpAbBd44acPE?= =?utf-8?q?f09FTE9agUsPtZFyUAZ0uo698a85EdKujENQwjqWoa9QrTI2ZHELpT7xwTFNid3f9?= =?utf-8?q?8isbo5RusTHrwASIgTxbiDcwTrCADtMX+dN50fvVkmtigvpVW0+5oj45KAC+7DXtf?= =?utf-8?q?nnib57MSVaemkBJmMpCdowBoDhb9Mzn2y3ZGJZE3HXc/IZ64huxDccE2Jhb1rKZ/r?= =?utf-8?q?XCdmBBWKOyBnXlP3YkcCq7lvpO/Y4scX5Si4EJgiN3Y/41m/wVR/G4TYLkAzQbo8h?= =?utf-8?q?2OL03Rb5UC8tuCCoF9wl5Taij11AWk3F2iu5fVoJXQA87rKSsnmYILEoAbragdKl8?= =?utf-8?q?RZzoW8uPTZUp0j6IyR1sHY4cF1XXSUtrcs3p0R04G9jeyWgDtao6vi7EI1xaSN2jY?= =?utf-8?q?pOm23Z9w/Egn9O+AjeI3YwdvyCVTpPda9FheTP+4HhIuNJCcal/Sfvpv9uG7HC5ta?= =?utf-8?q?kpFzzN31/noxonoHJvm9pGYV0q/KKcXxZQgTGcwaTmP6jADrOTZEh6AI=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e617b60-dfbd-4de0-29d9-08dd4a16004a 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:51.2259 (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: db+Ia/OIMSZN396Pe4QDo4afmeKiIc/jSAuKe2mAP05vxVL3l6GFvDOuca3M9eow2xU0+cD2+J7RfkDBKp8oNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9474 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250210_210056_737793_E3304B9B X-CRM114-Status: GOOD ( 13.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 v2 to v3 - remove phy nodes change from v1 to v2 - none --- arch/arm64/boot/dts/freescale/Makefile | 12 +++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso | 90 ++++++++++++++++++++++ .../boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso | 90 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 51 ++++++++++++ .../boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso | 89 +++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 36 +++++++++ 6 files changed, 368 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 839432153cc7a..d1cbc08eb3f4d 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -261,12 +261,24 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-eval-v1.2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-ixora-v1.1.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-apalis-v1.1-ixora-v1.2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qm-mek.dtb + +imx8qm-mek-ov5640-csi0-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi0.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-csi0.dtb +imx8qm-mek-ov5640-csi1-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi1.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-csi1.dtb +imx8qm-mek-ov5640-dual-dtbs := imx8qm-mek.dtb imx8qm-mek-ov5640-csi0.dtbo imx8qm-mek-ov5640-csi1.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qm-mek-ov5640-dual.dtb + dtb-$(CONFIG_ARCH_MXC) += imx8qxp-ai_ml.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-aster.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris-v2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb + +imx8qxp-mek-ov5640-csi-dtbs := imx8qxp-mek.dtb imx8qxp-mek-ov5640-csi.dtbo +dtb-${CONFIG_ARCH_MXC} += imx8qxp-mek-ov5640-csi.dtb + dtb-$(CONFIG_ARCH_MXC) += imx8qxp-tqma8xqp-mba8xx.dtb dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso new file mode 100644 index 0000000000000..cfd599db997b9 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi0.dtso @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 NXP + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi0 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi0>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi_0: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi0>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_0_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_in>; + }; + }; + }; +}; + +&irqsteer_csi0 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; +}; + +&mipi_csi_0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_0_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + 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..199a79e98d88b --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640-csi1.dtso @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 NXP + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi1 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi1>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi_1: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi1>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_1_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi1_in>; + }; + }; + }; +}; + +&irqsteer_csi1 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@3 { + reg = <3>; + + isi_in_3: endpoint { + remote-endpoint = <&mipi_csi1_out>; + }; + }; + }; +}; + +&mipi_csi_1 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi1_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_1_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi1_out: endpoint { + remote-endpoint = <&isi_in_3>; + }; + }; + }; +}; + diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts index 61ef00f4259e1..3a6e25e08c26a 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts @@ -155,6 +155,27 @@ usb3_data_ss: endpoint { }; }; + reg_1v5: regulator-1v5 { + compatible = "regulator-fixed"; + regulator-name = "1v5"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + }; + + reg_1v8: regulator-1v8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + reg_2v8: regulator-2v8 { + compatible = "regulator-fixed"; + regulator-name = "2v8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + reg_usdhc2_vmmc: usdhc2-vmmc { compatible = "regulator-fixed"; regulator-name = "SD1_SPWR"; @@ -727,6 +748,20 @@ IMX8QM_SCU_GPIO0_03_LSIO_GPIO0_IO31 0x0600004c >; }; + pinctrl_i2c_mipi_csi0: i2c-mipi-csi0grp { + fsl,pins = < + IMX8QM_MIPI_CSI0_I2C0_SCL_MIPI_CSI0_I2C0_SCL 0xc2000020 + IMX8QM_MIPI_CSI0_I2C0_SDA_MIPI_CSI0_I2C0_SDA 0xc2000020 + >; + }; + + pinctrl_i2c_mipi_csi1: i2c-mipi-csi1grp { + fsl,pins = < + IMX8QM_MIPI_CSI1_I2C0_SCL_MIPI_CSI1_I2C0_SCL 0xc2000020 + IMX8QM_MIPI_CSI1_I2C0_SDA_MIPI_CSI1_I2C0_SDA 0xc2000020 + >; + }; + pinctrl_i2c0: i2c0grp { fsl,pins = < IMX8QM_HDMI_TX0_TS_SCL_DMA_I2C0_SCL 0x06000021 @@ -905,6 +940,22 @@ IMX8QM_LVDS1_I2C1_SDA_LVDS1_I2C1_SDA 0xc600004c >; }; + pinctrl_mipi_csi0: mipi-csi0grp { + fsl,pins = < + IMX8QM_MIPI_CSI0_GPIO0_00_LSIO_GPIO1_IO27 0xC0000041 + IMX8QM_MIPI_CSI0_GPIO0_01_LSIO_GPIO1_IO28 0xC0000041 + IMX8QM_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041 + >; + }; + + pinctrl_mipi_csi1: mipi-csi1grp { + fsl,pins = < + IMX8QM_MIPI_CSI1_GPIO0_00_LSIO_GPIO1_IO30 0xC0000041 + IMX8QM_MIPI_CSI1_GPIO0_01_LSIO_GPIO1_IO31 0xC0000041 + IMX8QM_MIPI_CSI1_MCLK_OUT_MIPI_CSI1_ACM_MCLK_OUT 0xC0000041 + >; + }; + pinctrl_pciea: pcieagrp { fsl,pins = < IMX8QM_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO28 0x04000021 diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso b/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso new file mode 100644 index 0000000000000..0546a2dc2a543 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek-ov5640-csi.dtso @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2024 NXP + */ +/dts-v1/; +/plugin/; + +#include +#include + +&i2c_mipi_csi0 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-0 = <&pinctrl_i2c_mipi_csi0>; + pinctrl-names = "default"; + status = "okay"; + + ov5640_mipi: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&xtal24m>; + clock-names = "xclk"; + pinctrl-0 = <&pinctrl_mipi_csi0>; + pinctrl-names = "default"; + powerdown-gpios = <&lsio_gpio3 7 GPIO_ACTIVE_HIGH>; + reset-gpios = <&lsio_gpio3 8 GPIO_ACTIVE_LOW>; + AVDD-supply = <®_2v8>; + DVDD-supply = <®_1v5>; + DOVDD-supply = <®_1v8>; + status = "okay"; + + port { + ov5640_mipi_ep: endpoint { + bus-type = ; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_in>; + }; + }; + }; +}; + +&irqsteer_csi0 { + status = "okay"; +}; + +&isi { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@2 { + reg = <2>; + + isi_in_2: endpoint { + remote-endpoint = <&mipi_csi0_out>; + }; + }; + }; +}; + +&mipi_csi_0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi0_in: endpoint { + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_ep>; + }; + }; + + port@1 { + reg = <1>; + + mipi_csi0_out: endpoint { + remote-endpoint = <&isi_in_2>; + }; + }; + }; +}; + diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts index 89c6516c5ba90..a356c491375cb 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts @@ -90,6 +90,27 @@ usb3_data_ss: endpoint { }; }; + reg_1v5: regulator-1v5 { + compatible = "regulator-fixed"; + regulator-name = "1v5"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + }; + + reg_1v8: regulator-1v8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + reg_2v8: regulator-2v8 { + compatible = "regulator-fixed"; + regulator-name = "2v8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + reg_pcieb: regulator-pcie { compatible = "regulator-fixed"; regulator-max-microvolt = <3300000>; @@ -749,6 +770,13 @@ IMX8QXP_FLEXCAN1_RX_ADMA_FLEXCAN1_RX 0x21 >; }; + pinctrl_i2c_mipi_csi0: i2c-mipi-csi0grp { + fsl,pins = < + IMX8QXP_MIPI_CSI0_I2C0_SCL_MIPI_CSI0_I2C0_SCL 0xc2000020 + IMX8QXP_MIPI_CSI0_I2C0_SDA_MIPI_CSI0_I2C0_SDA 0xc2000020 + >; + }; + pinctrl_ioexp_rst: ioexprstgrp { fsl,pins = < IMX8QXP_SPI2_SDO_LSIO_GPIO1_IO01 0x06000021 @@ -789,6 +817,14 @@ IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX 0x06000020 >; }; + pinctrl_mipi_csi0: mipi-csi0grp { + fsl,pins = < + IMX8QXP_MIPI_CSI0_GPIO0_01_LSIO_GPIO3_IO07 0xC0000041 + IMX8QXP_MIPI_CSI0_GPIO0_00_LSIO_GPIO3_IO08 0xC0000041 + IMX8QXP_MIPI_CSI0_MCLK_OUT_MIPI_CSI0_ACM_MCLK_OUT 0xC0000041 + >; + }; + pinctrl_pcieb: pcieagrp { fsl,pins = < IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00 0x06000021