From patchwork Sun Oct 13 21:24:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danila Tikhonov X-Patchwork-Id: 13833799 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 AB1CCCF258E for ; Sun, 13 Oct 2024 21:24:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B9E9710E388; Sun, 13 Oct 2024 21:24:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=jiaxyga.com header.i=@jiaxyga.com header.b="Iud8nHPl"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=jiaxyga.com header.i=@jiaxyga.com header.b="AoMO1KhP"; dkim-atps=neutral Received: from fallback16.i.mail.ru (fallback16.i.mail.ru [79.137.243.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3770F10E388 for ; Sun, 13 Oct 2024 21:24:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=jiaxyga.com; s=mailru; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=hvu5dW6z/PYfylLlw1OYdRxZbZhEWz9eHuNV8iN7Fo0=; t=1728854668;x=1728944668; b=Iud8nHPl8ThJm4DMUAVNKYKnVjDu7BovtDhLpwvc7AdQ7DmBokxjTBsy4kABf83Q8/frPD6b1yO945ccEJdSZVodTTx7nYyH2KeNRWmNbtrpDMJ4XS3GFR6ZTR3nIsQTD7tbGMEyi1gvxiV2yC4Qg1qCzShu8pjv879QFpiUfXk=; Received: from [10.113.49.28] (port=45534 helo=smtp16.i.mail.ru) by fallback16.i.mail.ru with esmtp (envelope-from ) id 1t064g-001t8b-9K; Mon, 14 Oct 2024 00:24:26 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=jiaxyga.com ; s=mailru; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:From:Sender:Reply-To:To:Cc:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive: X-Cloud-Ids:Disposition-Notification-To; bh=hvu5dW6z/PYfylLlw1OYdRxZbZhEWz9eHuNV8iN7Fo0=; t=1728854666; x=1728944666; b=AoMO1KhP6WOhaoLxekioLYuofmfxmQrz5A9HxPCATcDLZo02QBF3ou4ZDIxaZH3IASzebKZeAwD gqznvyGv5+4wgyKmHByrRyI0cGFIQ4/iNQCM6qQ9YewIOh4Nte448hckXnb2NJn697KYPfepwJsxw fBX8auvNTGxKTMtFg28=; Received: by exim-smtp-57f79c7799-ff99r with esmtpa (envelope-from ) id 1t064S-00000000ArH-1tHy; Mon, 14 Oct 2024 00:24:13 +0300 From: Danila Tikhonov To: neil.armstrong@linaro.org, quic_jesszhan@quicinc.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux@mainlining.org, danila@jiaxyga.com Subject: [PATCH 2/2] drm/panel: Add Samsung AMS581VF01 panel driver Date: Mon, 14 Oct 2024 00:24:02 +0300 Message-ID: <20241013212402.15624-3-danila@jiaxyga.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241013212402.15624-1-danila@jiaxyga.com> References: <20241013212402.15624-1-danila@jiaxyga.com> MIME-Version: 1.0 X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD9B01871A0ED523BBF93215B4F211077CAB8D34C6C4A8736E4182A05F538085040E34FF32D403B9DE63DE06ABAFEAF67050E6F29F300A80A236FE32FC68D7A2621DBD6ABFBCFC3BAB6 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE78E88BD1CA827EF00C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE751DD1FEBB966604DEA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BC08E230531AC9C9003F93F55EA53B073EE0BEB3B7ACC4A346795C8301D74EE26A471835C12D1D9774AD6D5ED66289B5278DA827A17800CE7ABB305BD10C6E5099FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C327ED053E960B195E117882F4460429728AD0CFFFB425014E868A13BD56FB6657D81D268191BDAD3DC09775C1D3CA48CF40CF4A39350C3ECFBA3038C0950A5D36C8A9BA7A39EFB766D91E3A1F190DE8FDBA3038C0950A5D36D5E8D9A59859A8B62E644F1A5478FC1A76E601842F6C81A1F004C906525384303E02D724532EE2C3F43C7A68FF6260569E8FC8737B5C22494AAE2D1698E8717BE827F84554CEF50127C277FBC8AE2E8BEC1C9C6CFAD2A0F5AAAE862A0553A39223F8577A6DFFEA7C0D13C52992D4BC2543847C11F186F3C59DAA53EE0834AAEE X-C1DE0DAB: 0D63561A33F958A5DB6AFE90B367B6165002B1117B3ED69688C25F884AA46F80715D9AB585B0EB04823CB91A9FED034534781492E4B8EEAD2F8D89FC5850081EC79554A2A72441328621D336A7BC284946AD531847A6065AED8438A78DFE0A9EBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CFE537428D27F5F191E55875053D4D4F6FD5D584984429ABC1D77488AC27DB7568486D6DC23143AA0E7C85317C21026A498D6E76898033468DE9F78341A6FF8F0FE48818429B58FF60457F7985AD47CF5C02C26D483E81D6BE72B480F99247062FEE42F474E8A1C6FD34D382445848F2F3 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojTJ02HBIKT7IcqxjF66nbuA== X-Mailru-Sender: 9EB879F2C80682A09F26F806C7394981D35572ECED80C0D400C2CDE4AB6CFA7B270F1692D08227FEAC67350DF226822F2C62728BC403A049225EC17F3711B6CF1A6F2E8989E84EC137BFB0221605B344978139F6FA5A77F05FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok X-7564579A: 646B95376F6C166E X-77F55803: 6242723A09DB00B42DA9BE0E4F7CCE4C920C9969AF7F7D50289E8CBDDC4EFD27049FFFDB7839CE9E3928B87FA8A99B4443A9B8764115D3517AA7BD75D5B57E50673800CA4E604211 X-7FA49CB5: 0D63561A33F958A5A1FBE5F9BD5791D2A5DA7FF1FF1FA200A59C9B4ED702C9F58941B15DA834481FA18204E546F3947CA85A14DF5F041C99F6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637876557C5A8D58DD0389733CBF5DBD5E9B5C8C57E37DE458BD96E472CDF7238E0725E5C173C3A84C3D8B0ABA717EF295735872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojTJ02HBIKT7KszZgF6fQGIg== X-Mailru-MI: 8000000000000800 X-Mras: Ok X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add the driver for Samsung AMS581VF01 SOFEF01-based 5.81" FHD Plus CMD mode OLED panel support found in Google Pixel 4a (sm7150-google-sunfish) Signed-off-by: Danila Tikhonov Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-ams581vf01.c | 283 ++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-samsung-ams581vf01.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index ddfaa99ea9dd..f637dcc7a886 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -614,6 +614,15 @@ config DRM_PANEL_RONBO_RB070D30 Say Y here if you want to enable support for Ronbo Electronics RB070D30 1024x600 DSI panel. +config DRM_PANEL_SAMSUNG_AMS581VF01 + tristate "Samsung AMS581VF01 panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y or M here if you want to enable support for the + Samsung AMS581VF01 FHD Plus (2340x1080@60Hz) CMD mode panel. + config DRM_PANEL_SAMSUNG_AMS639RQ08 tristate "Samsung AMS639RQ08 panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 4b5eaf111676..4db02c2411ae 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -62,6 +62,7 @@ obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM692E5) += panel-raydium-rm692e5.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM69380) += panel-raydium-rm69380.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS581VF01) += panel-samsung-ams581vf01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS639RQ08) += panel-samsung-ams639rq08.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20) += panel-samsung-atna33xc20.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_DB7430) += panel-samsung-db7430.o diff --git a/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c b/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c new file mode 100644 index 000000000000..cf6186312252 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c @@ -0,0 +1,283 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2024, Danila Tikhonov + */ + +#include +#include +#include +#include +#include +#include + +#include