From patchwork Mon Feb 10 20:59:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13969024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2040.outbound.protection.outlook.com [40.107.21.40]) (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 61ABF24CECC; Mon, 10 Feb 2025 21:00:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739221219; cv=fail; b=EKXEi8YaKIzwIr8k/rge2i23rYTP2TMuh9Hxp60a6uUxUGXUZC7gZJhuGCrdkQ1oQuN5XsWxbVMXuE0cLlSAhxewVvn2I3QOAeiw+g8SpghxVTltg7BhScg+cKQsy7OwmelbGEc/D4UQyouEC5BZPcW/VreB6hlEIbops5wtfuc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739221219; c=relaxed/simple; bh=vIMlyRKmxJeu/XKiX4AQ1lNOz3ZiPDdCObqahDaaRf4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=HWr2VYkCyJ3GoTumAm+PYb14KVSk8MIbPJpApyknPEE/fThVEYQiItDnnbQHZdpbOy2tEtcT3WeS6dpLj9Wo/iM0UA2ZEugUnwKMTfJ6vhlwx0Jdl1CMBXsbtyCjdIQflkNpR8F4e8zrqJOWV19Z+E+idsiaTvmVz7RqYbEpMJA= 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=nJ8xWcfH; arc=fail smtp.client-ip=40.107.21.40 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="nJ8xWcfH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pxm3KNOyNMxgmKhgkTdKnqampGiYSQ6+M5KOPfIgBwRwUZ96CGqBumYM15K6fGLVX1tG0GiYyJI4O2nXP0JpHVi6p/tQQ1TgAftOY+IwmuPQ1eI5lsquCEslPfrJUloA8O4ymMBcSMMRFM7Pkko6bjcUtMz3ECl8LuuaQRetsVC9rp8T7tIZU5cYdY7dvxkWpXOw+8ET113a+RO5/0gZsI/qhiLI26xpq+wBAkwkc7CiAkNu+quKgCPUWMl759mO4OSitbJ4SkJv+hwZtPncrigwW3hSedzv4NY3QuGTPjXQ0aKPGIsz4PuwhYC46gYjrAWrz+pBez9IreIG1my4Xg== 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=lYbTHaNworacz11O8H5ZEnQfZzAMThj9MSI+5Tcc1KY=; b=AvSo5mExqT90UhxS0/9cU9YwWsxO7+7fBM0M7L/yA4orRkXPjTsJJ73d+/kjfoNJDJijPKGqok0M/EuTcLEdbVWOHs0Ev5CaYRrC55/aofItkTo0C4kLkp5nDr1hwQ2o27lbgsqQ8hngwcsTUsRigpJEA5HQV/mkDs9B8QqGW18qucFb2kE2nOX0yfmw04ZgiqT/7uwngbvd22eSIDpYC9eb1F0fcrtbG0NHcRTAHy5atwnOJtW/BvZNgel00H4KJya81fSNo5VQ3Z5AkiT/CpBx0/mIg4ha2oGXo1ZoN03M52ITXquPtmlhhTIO/DYXM5OHhRviZqz6aWLifFlzWA== 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=lYbTHaNworacz11O8H5ZEnQfZzAMThj9MSI+5Tcc1KY=; b=nJ8xWcfHi7GZ/TbKnXPefhmx32u3vUvCvyxUl9UGtHfQH79Fs3Yp6SPSKpqjvwZS1MLhNIh3DJsQgycisedlhPNAifVCIlhF79IXYvpc+SP/KBzOqMSUffHH0ilherAPuEWQlMUYOjJASxAsVldiDyVcqLqljswvEkI2riTSPDniXSanx8ezl2qVtA6eVjq7yJQkFIRJmA7512Wq+gvqLwtdvzl3my6Fc16tw5M/W6/k3eueOxKvb7l7mTtBcb/58PuiQHBtgAGTUJuYnItMLC4rFJWVZh+bFrIlJeOb9qI1agEa5Hc5UlZKObKV1WzA0jLbtoH8eSqkFZWO3QSKfQ== 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 DBAPR04MB7462.eurprd04.prod.outlook.com (2603:10a6:10:1a0::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Mon, 10 Feb 2025 21:00:13 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8422.012; Mon, 10 Feb 2025 21:00:13 +0000 From: Frank Li Date: Mon, 10 Feb 2025 15:59:24 -0500 Subject: [PATCH v3 05/12] media: imx8-isi: Add support for i.MX8QM and i.MX8QXP Message-Id: <20250210-8qxp_camera-v3-5-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=3486; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=tmwbFMq6zx+PpjDTVqHcp+819vsGULI+igIg57auUIE=; b=M15/g8e8XnNWjYV4ctoRGTZ0SpWAYkgb+qAimnpKY6JxHCQg/6r1vx9fcRYkhJcwEZbAX1sJu 3rZcCFqRzgPDewKKPTnfgClXe6y0EXImpDRCdF4ouSssWSBq8hc7sWR 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_|DBAPR04MB7462:EE_ X-MS-Office365-Filtering-Correlation-Id: d81ee7f7-9a3f-4880-9f90-08dd4a15e9bb 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|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?64jzwL68knLsf8egJegp1/BKli0RmtQ?= =?utf-8?q?y3xMo/QKL1iDAexZY6rey9+uTOO8JBhs1s9BlKfQSUq29pE+dubOyMMYg21V+zphB?= =?utf-8?q?0b8ZpSS+0M3wfJaR948ETtFZTSzxbqM0gyJloMYTuTW2E2HqJF3Ffr+TeH78w3bS1?= =?utf-8?q?40b/LMu8SBZYaBFaWvDMPS3wFFrEJf0CfzPF4H1wpEK0otgGY5P6MMPxB9eiwlp3Z?= =?utf-8?q?lXor7pnnWf1j/K7AWzKNKY86/3GEAe9io9GbGNY3nKQzQFFTeVnG9pySyDv/7qBFL?= =?utf-8?q?C2e1gOlV/wEH6ouq/km7m/jDgDxTkqrdfJmYO7AiuCgNQ7bE4g4QxP74Q4GM/H/e0?= =?utf-8?q?IP1GV6wSW32w8KfoBJNlY0mwz3MIKcCksa6nihTDeNAanivX3EpaTqJGYMJjCScHl?= =?utf-8?q?QpflBWaS1D8MVz+Z/eV+lK3lIkqLMZ1ZXa+nuFAbhkPn+cuuMzlKJWUS4S0h1SYgf?= =?utf-8?q?rYTBdIizHWGggltJ+2aZBULvW/wpeL0L7IEoTd3S6ElI4gPSINQ4mCQRUiHkLHfhz?= =?utf-8?q?naA+GJy1rC3UT/Mkh7u3MvJW0nJU4jYoej+0Nti5KWjpemczswZcjO2UNX7nUfhqC?= =?utf-8?q?axLHha5nABREEBAyvU1wHXrsbjNO/xrsvvcpsbbXbTQ0hlzrMCYeFQ+azPeXhDUgE?= =?utf-8?q?ryNQyoZbkK33qK7j2uNbUSvrdVA+xPo55xsYnIf3pcwoOtsQQbwpbV/ILvM+ThyCs?= =?utf-8?q?MV8eMMFTfCMAjeAuFyZ3n+iUpDYwL6Y7FAcveCgrz0xeghRs2qBUJNqeXM34I2QoY?= =?utf-8?q?GPd5Zn2wQeBnep5g7Z1RVXGmJxtzsmqjc/fv927VEb33WOeZyuSZ+rodv8IkYI98+?= =?utf-8?q?HNO5e53KetOCU1EBh+cA7OeSjATQiiZ6pXB0xQCvoy9whnnhwQsrNzT35AxCD9Ggz?= =?utf-8?q?+bL+g0jzYuo7CNTieKWbAwlohucO/18Gs29foed1/Dzuu+Rd1MITgcjVjOKNipC9s?= =?utf-8?q?8Kbjs35VP9tKB3QZwl3fFfx+8p4dCaCTcgrwCvXChAWPf8VWX7rxG/L0ltR83xi5E?= =?utf-8?q?lXCXWJwtwXKd5Q+HWXdkQuyiy/OXqgcrILl9O383pvkHGk03KuHpq6nGPjUnkpf2Y?= =?utf-8?q?ViQatXE9PWLBx68ZcAaj15C3X55anOvnfOMeNJx90xH9SWoSZQUUwUe66l4rAjYzf?= =?utf-8?q?fU7yPjmjrUuTqUKHrbIySwrbiggNwszur2OfLoFa0AgRqsWnLR+InEJghzrds40Ki?= =?utf-8?q?jkvGNJXny+Oq9wTYCQzhpD8TKaxKdlxWDoXW/u/l5JABeY7PaqP4mI5NlmwZW3Gso?= =?utf-8?q?h53RzK6Me8ctPbCtVymhsEv8jEBzzyuhz/YJIOLV0rtsWaalu2gTg0aJ+ZvXvmXOu?= =?utf-8?q?W1GAeysyty2gtis58fbHua4yhznPqEGTyvgrzO/HJ8FHTj0OhZKONzwLoS5tsfjK6?= =?utf-8?q?YXp3KwbU8vPzH3lemoIOMUZmnOxLTCU8w=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)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?mM0k1H7ne2fBoXoUDIfBaCMTwYJA?= =?utf-8?q?VMCOR/otCHZR1XYKecKUr3EHI6JdN952/d5DB2RnjCrcpz1Dq7gfpcIyGuvGluqH8?= =?utf-8?q?jc46IiPMfqEBfbRYFjoLmx/DAE6ROIsv+mpw1IJYPDD3Bu2RSD/R3KvudA95h5bB/?= =?utf-8?q?SYr2XPl9thbmcNDRD6R9ZomOY58KAeHkzlweZQ/4HJpwZI84wwYAG3bic877xt9UL?= =?utf-8?q?qy5nd9AwUJJV+LxU4aKDJ4SUiXUECF8llfUdVx8BNIRUapdYI3pLXg8WQw5axKwNW?= =?utf-8?q?vDEP/vw5V3C0UJfmxhDX1fhhcsefKre095sn2IrFYRbJNkr2PYRhY3/ttbanvaoNO?= =?utf-8?q?z4zm7fIoI8vB13osP23bnREoTnt08EtiwfURzLLk7ND/fZTpVY0YA2JptJADEJ82w?= =?utf-8?q?Y2W09npMOBuJtKG0nMGBOOLl3J+/L7tsm6ssFboqiIm6333ieqzLrP0TxSRxxwEYK?= =?utf-8?q?gUtfsapjv4Wg5ZmnFLOfSWW/ECMRZx+uF0PMKskiOebstAFwXiQ05CG44tCWvrVsg?= =?utf-8?q?G6TkYd14KccPKhuWwkjjQ+6as7nY80FSBMNgeetxAM8mv0Bg9QFTpsfQ1xn+l2i1i?= =?utf-8?q?Ujaf8FW0//4J5KJjMxm1pLGXH53rLBTmrR//z4eM51zkmAIqia/wJiRNKieVpWd/F?= =?utf-8?q?Oo4bMJOshC0e2vzIbYkGr9S316dZ3yyzIYuFaH8iJGvprwFFTMK7n6YFvmXVHraUG?= =?utf-8?q?Eg80hNvw4cH05CjTDcnJYIRfTkhkuNCv+2jsDDwOFq3/3ahZyy1ICyYE9ccG+3Lx0?= =?utf-8?q?Mnl/b3Qa25IN0oozfLptHGIrBySgmGVwHwCKQYaTY64w4HYqVdzmsBKErpxsgdIzT?= =?utf-8?q?dpTpYRg7NkojyonqVNUsWF5C7h1ruAWjaFVVknnpRqxK1wOxSooItEYLLkuShqi4a?= =?utf-8?q?g5OP+sBycyuicXs0Z4iPeSoSdE+pIG4BwLR5BjbxjtgYut1fMK7rq229vRDIQaj+9?= =?utf-8?q?7TscosYHw/SWu9vSR8H4vqdhz+r3XvMOxBaw9oji5QMwMqpbuyC/fjKqq/EldKAO1?= =?utf-8?q?DQaLKlwH19rZZ7O8bhZw23uW/vOSHSBYxG/ScLKVyNs9+GmUpt/nirrszcZc+2s1w?= =?utf-8?q?bKglW/cMF6kiLHbK7Zmk2kGaTif3+dsOK6ytQg62s2+zowQq9qzoNCfWrA9onUrP1?= =?utf-8?q?cQXeWrqXXGjKOvl42zy/vJUrVBwS+hNBtYwZFZEdrHfv18e+kzyaQ6mvQSIwG3CiU?= =?utf-8?q?bv4bQii28mjjM7y5ZqAawxcEu6PmidELvlz3PBCdJ9Zu1+shhPbgOC1VLJP6X4KMd?= =?utf-8?q?vuR2Bg+1vz+dXraESYsb4RnxPK0NAWMqam0SYvJj+Mvl2Wr6Q1sNNk6azzeYXmvW7?= =?utf-8?q?xWVhg5DnR+6Gv6+p31FUYaJnOPd9XliRXuhDPC5fcOuDPdVDw7i6SUGrtuY6ZoHBQ?= =?utf-8?q?Oa4WDleWKSHkoX5/y7O8CdoIY8GnAMfG6BoPCCY55xfLeZ96A/dx6Pz0j5BFquHnS?= =?utf-8?q?m4tp7m7I896UyVLSoK6pT5wfphAC3lQQ0JkDcdWEF+Ix1nVHRYrfT9rO48b5SMpxM?= =?utf-8?q?qd72TnaKt0FW?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d81ee7f7-9a3f-4880-9f90-08dd4a15e9bb 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:13.3641 (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: Vxs7xYrWviD2jag90osQc8NTxs5GlwdleQDBZrQpzrCfOwHa4cc7EwtIt88+ixqHUZ1wMbXoeEIgIuFDMncD2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7462 From: Robert Chiras Add compatibles and platform data for i.MX8QM and i.MX8QXP platforms. There are 8 ISI channels on i.MX8QM while there are only 5 channels on i.MX8QXP. Signed-off-by: Robert Chiras Signed-off-by: Frank Li --- change from v2 to v3 - none change from v1 to v2 - remove intenal review tags --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 47 ++++++++++++++++++++++ .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 2 + 2 files changed, 49 insertions(+) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c index 1e79b1211b603..a3237d76f7aa5 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -274,6 +274,25 @@ static const struct mxc_isi_set_thd mxc_imx8_isi_thd_v1 = { .panic_set_thd_v = { .mask = 0xf0000, .offset = 16, .threshold = 0x7 }, }; +static const struct clk_bulk_data mxc_imx8qm_clks[] = { + { .id = "per0" }, + { .id = "per1" }, + { .id = "per2" }, + { .id = "per3" }, + { .id = "per4" }, + { .id = "per5" }, + { .id = "per6" }, + { .id = "per7" }, +}; + +static const struct clk_bulk_data mxc_imx8qxp_clks[] = { + { .id = "per0" }, + { .id = "per4" }, + { .id = "per5" }, + { .id = "per6" }, + { .id = "per7" }, +}; + static const struct clk_bulk_data mxc_imx8mn_clks[] = { { .id = "axi" }, { .id = "apb" }, @@ -334,6 +353,32 @@ static const struct mxc_isi_plat_data mxc_imx93_data = { .has_36bit_dma = false, }; +static const struct mxc_isi_plat_data mxc_imx8qm_data = { + .model = MXC_ISI_IMX8QM, + .num_ports = 5, + .num_channels = 8, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v1, + .set_thd = &mxc_imx8_isi_thd_v1, + .clks = mxc_imx8qm_clks, + .num_clks = ARRAY_SIZE(mxc_imx8qm_clks), + .buf_active_reverse = true, + .has_36bit_dma = false, +}; + +static const struct mxc_isi_plat_data mxc_imx8qxp_data = { + .model = MXC_ISI_IMX8QXP, + .num_ports = 5, + .num_channels = 5, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v1, + .set_thd = &mxc_imx8_isi_thd_v1, + .clks = mxc_imx8qxp_clks, + .num_clks = ARRAY_SIZE(mxc_imx8qxp_clks), + .buf_active_reverse = true, + .has_36bit_dma = false, +}; + /* ----------------------------------------------------------------------------- * Power management */ @@ -541,6 +586,8 @@ static void mxc_isi_remove(struct platform_device *pdev) static const struct of_device_id mxc_isi_of_match[] = { { .compatible = "fsl,imx8mn-isi", .data = &mxc_imx8mn_data }, { .compatible = "fsl,imx8mp-isi", .data = &mxc_imx8mp_data }, + { .compatible = "fsl,imx8qm-isi", .data = &mxc_imx8qm_data }, + { .compatible = "fsl,imx8qxp-isi", .data = &mxc_imx8qxp_data }, { .compatible = "fsl,imx8ulp-isi", .data = &mxc_imx8ulp_data }, { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data }, { /* sentinel */ }, diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h index 9c7fe9e5f941f..496cad3f9423d 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -158,6 +158,8 @@ struct mxc_gasket_ops { enum model { MXC_ISI_IMX8MN, MXC_ISI_IMX8MP, + MXC_ISI_IMX8QM, + MXC_ISI_IMX8QXP, MXC_ISI_IMX8ULP, MXC_ISI_IMX93, };