From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 02 Jun 2026 06:11:26 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wUGTN-001SWi-3B for lore@lore.pengutronix.de; Tue, 02 Jun 2026 06:11:26 +0200 Received: from bombadil.infradead.org ([2607:7c80:54:3::133]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1wUGTM-0000uO-6E for lore@pengutronix.de; Tue, 02 Jun 2026 06:11:25 +0200 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:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=L+kSqJU8V7yc1N/3Rvdu7xfo0B1rNzhf1kmdP70ym4I=; b=eYZYdfe0wBjkoL9E8tHPsDQtWE 0ldg0lW3mlMrbDL3DicLIpAn+CsZRVjZbOdscawx66/VRRfUEiIyTAyvN9ho2AUx8JwJR+LidUAg6 sb4JV3crEXftjmJn2zMwFEhi+wSw+QvQZWsIlLR+sbiigyN7IzmOMbPVyGfmYOjD37fDVy43kmRY5 lvK37ecwW4a+zi6yBU3+4M45My+JM21UGEZYj1o8I3r0wevUnoRSqwuWFqjN0JMsZyGALTrKORYuZ OndllOrViLFOGSpaXfK+kaBycIU88l+prA8uYG0+MAM3R9GBTXq3RwMcCnuHIzb7hDdkKhOakemfr 5b5dE+3w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUGS7-0000000CGGu-2zOv; Tue, 02 Jun 2026 04:10:07 +0000 Received: from mail-westeuropeazon11011055.outbound.protection.outlook.com ([52.101.70.55] helo=AS8PR04CU009.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUGS2-0000000CGDy-3OYC for barebox@lists.infradead.org; Tue, 02 Jun 2026 04:10:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AAKcNancGB5c4gBzjN4IfxCmZjxToOkKbIsj7scddUiPSrbKgDvrZPNflv8mZJVkxD1q4WIzbnrMj1Ffdx7vNPfW+HIQNKQrcRfw2VjaFFsbl2QguQypABMa8WiPqPNphsSB7XEGgKcP298v2Krg6ExrzK3m5k6k44acxZTYtFe+oSdLxmcrYYiQ8t/GhoGyJi6ly0KgpCl0gVuRXadp/tvHEk/HONRUbJzU5Ig3SzEbc8GSmq08iSlXGdF+m49DH/fJulB1zUQIqb5p1EH+ZBsWhVLh5iy7JOg89IKRZuOaXl8pPiWng6O/NuAEG3h6sfc/woDVDIXAK7aq9A8vDQ== 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=L+kSqJU8V7yc1N/3Rvdu7xfo0B1rNzhf1kmdP70ym4I=; b=w0TlpDhvbqwTHAklVdcyYCdOotNcJClONynIdhBTo2Pylvj4THMMq8l8ZvUbUwlNXLBV79SmgWEJji+2mt8KRd6UUA6gZANCP2LKJIOYdC9JghYW3lO9FRI+WINpl6sOAFBfQaD2/7KfPpLAgP6QjVc4+1jWGEJTlQyOtm5bs1kliQHyiyPG/Ox16F29ghLsY80tic1NRUFTuBSLRV6W577hlccelmj6jupJLFXlG4xYcGE7RDitxtEmafwpHpRT3eqwQEhTWMyau11oFBFqoMx96Y9K3x52xvr310edbMgC22+gcdRE7mndrW/soXfQFDcB0ZOpJmZxU4ns4OtksA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 193.8.40.99) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=leica-geosystems.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=leica-geosystems.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leica-geosystems.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L+kSqJU8V7yc1N/3Rvdu7xfo0B1rNzhf1kmdP70ym4I=; b=hqswFhZJ/RI46yD40KR1xhpcwUy+eES4lsMGYOKfQp08GY33XXfmvT3LKYdOMF2h/Z1rmE/1IUqJKE9Wj/eCmViLX7RcsdNWaHi/RZ14AOMOsy3vG4e1Y1lDfi4dxe8OXyEi84HiaR2cE0Wneo6Q0ut1MnQzRo8vCONZIvfYfD0= Received: from DU7P195CA0014.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:54d::25) by PR3PR06MB7049.eurprd06.prod.outlook.com (2603:10a6:102:84::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026 04:09:58 +0000 Received: from DB5PEPF00014B92.eurprd02.prod.outlook.com (2603:10a6:10:54d:cafe::1) by DU7P195CA0014.outlook.office365.com (2603:10a6:10:54d::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.17 via Frontend Transport; Tue, 2 Jun 2026 04:09:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 193.8.40.99) smtp.mailfrom=leica-geosystems.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=leica-geosystems.com; Received-SPF: Pass (protection.outlook.com: domain of leica-geosystems.com designates 193.8.40.99 as permitted sender) receiver=protection.outlook.com; client-ip=193.8.40.99; helo=hexagon.com; pr=C Received: from hexagon.com (193.8.40.99) by DB5PEPF00014B92.mail.protection.outlook.com (10.167.8.230) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 04:09:57 +0000 Received: from aherlnxbspsrv01.lgs-net.com ([10.61.228.61]) by hexagon.com with Microsoft SMTPSVC(10.0.17763.1697); Tue, 2 Jun 2026 06:09:57 +0200 From: Johannes Schneider To: barebox@lists.infradead.org Cc: thomas.haemmerle@leica-geosystems.com Date: Tue, 2 Jun 2026 04:09:50 +0000 Message-ID: <20260602040953.1060278-5-johannes.schneider@leica-geosystems.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260602040953.1060278-1-johannes.schneider@leica-geosystems.com> References: <20260602040953.1060278-1-johannes.schneider@leica-geosystems.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-OriginalArrivalTime: 02 Jun 2026 04:09:57.0586 (UTC) FILETIME=[AC8D0320:01DCF245] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB5PEPF00014B92:EE_|PR3PR06MB7049:EE_ X-MS-Office365-Filtering-Correlation-Id: cb28750c-6bb7-4f4a-7b9a-08dec05ccf3c X-SET-LOWER-SCL-SCANNER: YES X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|22082099003|18002099003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: xZfzUiGVPQL/m5OuGFUeo8KO/VBki1o+W0e33NjjZqqVDf40aQOHPzGGby7eCNRMZJht05pVAZuWneGf0mrNztCXBCfP0J0zwcem0AcYL1ijJ4YSnDK7keZx8pJbEsa1dF3qzYrMtRwLUq7hTFB/IYZ6JWDq0T4+cWGFGsLYVXZNJGj/qi34yWLAj5pS9Or5uK5byz+K0UoA7W5hKXbvQBz0dCDPFx2Vp3nEtkYImTxuF6UurNfINL42PlQ4Sk7EMYoXB4ut3BY74pEQvxqzN+9osYXNmdOyp1yKSc1Oysbkf4IMK3/X9qSmBW4+lrrNfL2zsunF0YkNFOqGMZuk5ZFPYgxKab3gm00r4BEuyhvx9PZZzlGP1qutoLagekqYuwSyRjtsLlxOtdFwvN1m23aFDFR+j2y9n5kgOV5WhAV0wUkw0ITs3uv6apWYg2Uh3jHApX6kLuLHEQ7CN3EozrQ9Bpox07EAQvq5fpYAMbkOT0A+lE1nubi3YLWtgp0yjU8jBok+zg2/4RucvoRpvxlsZ9yMI+rm8i/V9gmZNWImYowJk2pliwT8qEgMhhQzQ8stCRBlInNeJzaSiVG3YyPdtGw+eev6GcHMJH2hu+QWS+Ew9xN9De1PzEjqI9nsohT/EFQ6alz1S30VaW5P9KgnVTzLPwxlE9BLTFSrxTVTV+JyVvqWXjwqNzm3nvX54XqDuoWSIFqeTTt9vtWLa5aYXriuQZFhIbheMuP7lNU= X-Forefront-Antispam-Report: CIP:193.8.40.99;CTRY:CH;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:hexagon.com;PTR:ahersrvdom51.leica-geosystems.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Oh+g+KIEEQyI+Iw4Kk4ADVRwH/9jUhQ18OOcS+FxdYUFPgYkRh6Js7pgNeNplcdclu/DF0fWCUI3btpwd9ucfmVRNevv3+zMDCk1TINS+lpyiaUwnu6KCxDHZisdrnmnbTxl5FLZ7ZLQ2dvJnLT+FJLNXrEHMQy7g91D4d1+JSGTIkJt1vF9kit66OmXw7m5PVRsZ0YxLaxGXSwpx57uACKoWX8LAwWzrp5oVd5/+zYq677Ne72hHdvleJKWQhBhFDiLj+Q1DIJYbq5PdENEdQJDOx7BtnP+zpnFxaO1Ldt7v19en6R2Jx6Ds+OMlS1NPA/D7ubicUw41gXxnWTTHnDi8izx/e9OER+kaUWNv4FariUmk4xGIH1TVPKTM7pxs1hresMvC4nWh14oRHCMdXkF7QJuu8Fm8a8poQjwt1KxLvEWp38XIYzLJDMDDQrL X-OriginatorOrg: leica-geosystems.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 04:09:57.8611 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb28750c-6bb7-4f4a-7b9a-08dec05ccf3c X-MS-Exchange-CrossTenant-Id: 1b16ab3e-b8f6-4fe3-9f3e-2db7fe549f6a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=1b16ab3e-b8f6-4fe3-9f3e-2db7fe549f6a;Ip=[193.8.40.99];Helo=[hexagon.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B92.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR06MB7049 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260601_211003_035375_0FFCFD03 X-CRM114-Status: GOOD ( 23.81 ) X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:3::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-5.0 required=4.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Subject: [PATCH 4/6] video: add i.MX8MP LCDIF2 V8 framebuffer driver X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.whiteo.stw.pengutronix.de) From: Thomas Haemmerle The i.MX8MP has a new LCDIF V8 display controller with a different register layout from the older mxsfb-based LCDIF found on i.MX6/7/8MM. The existing DRIVER_VIDEO_LCDIF driver does not support this variant, leaving the i.MX8MP without a barebox framebuffer and no way to show a boot splash. The driver: - Programs LCDIF V8 timing registers for the configured video mode. - Uses 128B DMA burst size (P_SIZE=1, T_SIZE=1) so that 800-pixel rows (3200 bytes) divide into exactly 25 complete bursts; 256B bursts leave a partial burst and produce a ~32px black strip at the right edge. - Sets correct CTRL polarity bit positions (INV_HS=bit0, INV_VS=bit1, INV_DE=bit2, INV_PXCK=bit3); the i.MX8MP TRM places these at bits 0-3, not 2-5 as a naive port from mxsfb would suggest. - Allocates a write-combine DMA framebuffer and registers a simplefb DT fixup for Linux DRM_SIMPLEDRM to inherit the boot image. - Enables the framebuffer at probe time so the splash command only needs to blit pixels; fb_enable() is not called per-splash. Assisted-by: Claude:claude-sonnet-4-6 Signed-of-by: Thomas Haemmerle --- drivers/video/Kconfig | 10 + drivers/video/Makefile | 1 + drivers/video/imx-lcdif.c | 378 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 389 insertions(+) create mode 100644 drivers/video/imx-lcdif.c diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index ce10237221..fbcec6fd67 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -194,6 +194,16 @@ config DRIVER_VIDEO_TC358767 help The TC358767A is a DSI/DPI to eDP video encoder chip +config DRIVER_VIDEO_IMX_LCDIF + bool "i.MX8MP LCDIF V8 framebuffer driver" + select VIDEO_VPL + select DRIVER_VIDEO_SIMPLEFB + depends on OFTREE && OFDEVICE + help + Framebuffer driver for the i.MX8MP/i.MX93 LCDIF V8 display controller. + Supports the "fsl,imx8mp-lcdif" compatible. Creates a simple-framebuffer + device tree node for kernel handoff via DRM_SIMPLEDRM. + config DRIVER_VIDEO_SIMPLE_PANEL bool "Simple panel support" select VIDEO_VPL diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 7b10eda0d8..9957ff5ad2 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbconsole.o obj-$(CONFIG_VIDEO_VPL) += vpl.o obj-$(CONFIG_DRIVER_VIDEO_MTL017) += mtl017.o obj-$(CONFIG_DRIVER_VIDEO_TC358767) += tc358767.o +obj-$(CONFIG_DRIVER_VIDEO_IMX_LCDIF) += imx-lcdif.o obj-$(CONFIG_DRIVER_VIDEO_SIMPLE_PANEL) += simple-panel.o obj-$(CONFIG_DRIVER_VIDEO_MIPI_DBI) += mipi_dbi.o obj-$(CONFIG_DRIVER_VIDEO_MIPI_DSI) += mipi_dsi.o diff --git a/drivers/video/imx-lcdif.c b/drivers/video/imx-lcdif.c new file mode 100644 index 0000000000..ae5976c771 --- /dev/null +++ b/drivers/video/imx-lcdif.c @@ -0,0 +1,378 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * i.MX8MP LCDIF V8 framebuffer driver for barebox + * + * Based on Linux drivers/gpu/drm/mxsfb/lcdif_drv.c and lcdif_kms.c + * Copyright (C) 2022 Marek Vasut + * + * Copyright Leica Geosystems AG + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include