From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AE9EC12002 for ; Wed, 21 Jul 2021 15:50:26 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 2B0E561242 for ; Wed, 21 Jul 2021 15:50:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B0E561242 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qxbKQRi/5+3A1bMsdeDeeGKkABRUFqQjzDbAP4ACno0=; b=IzJ8qwwawCnEeO rJzvBK886pDLZAwunEJIfpinXgcPjYJEnmNPvXcdT9Suawxc8PqWGZF4dCzXck9TEzfmcUocPeEFI gUFN9x5sDEI+s9O3k4/Yy2s2C3iRnf4cS6Nel4CZn7BUuei11EYxFEeePLluV/LwX7RKHBUyogRHK iQ3ZDWJM2MzTt2kXMaLB5GxoqsJRh8M+h26RU8FUoPPUrbyixmWh0e/TmqczpDpCzoPj0+ybzlD1y FAPngE6MsoK0DrkKw8QD5Gb3nUu9oulA6oYLQW8e5Yr5eXXkxsdGRIbAWpzXRdPsQTLOryoOvW7cd jqE1gr6rx1LXlfRnN1Kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6ESP-00GQYY-SA; Wed, 21 Jul 2021 15:48:26 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6ESE-00GQVX-23 for linux-arm-kernel@lists.infradead.org; Wed, 21 Jul 2021 15:48:17 +0000 Received: by mail-ed1-x529.google.com with SMTP id ee25so2980742edb.5 for ; Wed, 21 Jul 2021 08:48:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5L7LSTn+NkR2cU9GQj8LQLj23J5T9zkPnYFik3CDrOU=; b=JbX2LcykTuEbFrY/GjhlCof4IJfFHq2gKoJWGmm5u6yijzN1lmBFShYwOKEEKtAppV GtIQKo7ElT0Dy5wotlq3/WhhoU2FfzjqyFMTE1GeEHlN8iBSQ8A1kh+dTql8u0hYwOuq SU31eVgCf8Ryq5H02VDYJfD1HHtAnIRj6DdXU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5L7LSTn+NkR2cU9GQj8LQLj23J5T9zkPnYFik3CDrOU=; b=BqwBLCHdbOoaNtxnviMWvFJCKmo7TAlEqQbYPEu7aqWfxHmLewr82NJDW73IQlVKf6 xnW/ChEyLdYCYIW9gDlYHHPtvNL13hobLmdnuG+JJhuPG9ZyDnYmCaOrtIMDzf+lqgPZ 15uina0gtopKyyu5CjodTD8Rw6A5yu//vGOZiVjyLlDbOj/HKrjcLErBUKaMUDmEA5+b dfzbxLzuHUIAQ2D4kM7/c4Ajw9YXKDVOS1Lz5iyeXzKKjZYD0kAsh642L36bcHGrcvhJ DBv4aulRNzmjoPu0ZV4YVexXeluSQx+qAsU+kHddX7It5s+px4WgQJhv8ShTraPdFLqv IrTw== X-Gm-Message-State: AOAM532wxP5FPZUWqxoxPs561WRwJGLE/XnhvZ6WXlTFn9eiEbXys9Y7 693wyzSdxwjbVUnHp8gsH8kNfjAmw1/1m1+EYmm5ZQ== X-Google-Smtp-Source: ABdhPJyRgfR1bVO5z1DZ8ggYvt1IaPmoPOItH8e5NjxOQAFJe7rEI1oYYRn5P9EiBLFy9d0rsUeOP/haCUf3C58iJj4= X-Received: by 2002:aa7:c6d4:: with SMTP id b20mr48145896eds.204.1626882491059; Wed, 21 Jul 2021 08:48:11 -0700 (PDT) MIME-Version: 1.0 References: <1626853288-31223-1-git-send-email-dillon.minfei@gmail.com> <1626853288-31223-4-git-send-email-dillon.minfei@gmail.com> In-Reply-To: <1626853288-31223-4-git-send-email-dillon.minfei@gmail.com> From: Jagan Teki Date: Wed, 21 Jul 2021 21:17:59 +0530 Message-ID: Subject: Re: [PATCH v2 3/3] drm/panel: Add ilitek ili9341 panel driver To: dillon.minfei@gmail.com Cc: Thierry Reding , Sam Ravnborg , David Airlie , Daniel Vetter , Rob Herring , Linus Walleij , Alexandre TORGUE , Maxime Coquelin , devicetree , Douglas Anderson , dri-devel , linux-kernel , =?UTF-8?Q?Noralf_Tr=C3=B8nnes?= , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210721_084814_335828_08C31BF6 X-CRM114-Status: GOOD ( 33.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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Jul 21, 2021 at 1:11 PM wrote: > > From: Dillon Min > > This driver combine tiny/ili9341.c mipi_dbi_interface driver > with mipi_dpi_interface driver, can support ili9341 with serial > mode or parallel rgb interface mode by register configuration. > > Cc: Linus Walleij > Signed-off-by: Dillon Min > --- > changes in v2: > - replace vcc regulator to three bulk regulators(vci, vddi, vddi-led) > according to linus suggestion, thanks. > > drivers/gpu/drm/panel/Kconfig | 12 + > drivers/gpu/drm/panel/Makefile | 1 + > drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 778 +++++++++++++++++++++++++++ > 3 files changed, 791 insertions(+) > create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9341.c > > diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig > index ef87d92cdf49..eb34b8d1b19a 100644 > --- a/drivers/gpu/drm/panel/Kconfig > +++ b/drivers/gpu/drm/panel/Kconfig > @@ -124,6 +124,18 @@ config DRM_PANEL_ILITEK_IL9322 > Say Y here if you want to enable support for Ilitek IL9322 > QVGA (320x240) RGB, YUV and ITU-T BT.656 panels. > > +config DRM_PANEL_ILITEK_ILI9341 > + tristate "Ilitek ILI9341 240x320 QVGA panels" > + depends on OF && SPI > + depends on DRM_KMS_HELPER > + depends on DRM_KMS_CMA_HELPER > + depends on BACKLIGHT_CLASS_DEVICE > + select DRM_MIPI_DBI > + help > + Say Y here if you want to enable support for Ilitek IL9341 > + QVGA (240x320) RGB panels. support serial & parallel rgb > + interface. > + > config DRM_PANEL_ILITEK_ILI9881C > tristate "Ilitek ILI9881C-based panels" > depends on OF > diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile > index cae4d976c069..0ecde184665d 100644 > --- a/drivers/gpu/drm/panel/Makefile > +++ b/drivers/gpu/drm/panel/Makefile > @@ -11,6 +11,7 @@ obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o > obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o > obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o > obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o > +obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o > obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o > obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o > obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o > diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c > new file mode 100644 > index 000000000000..717b0b930e2f > --- /dev/null > +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c > @@ -0,0 +1,778 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Ilitek ILI9341 TFT LCD drm_panel driver. > + * > + * This panel can be configured to support: > + * - 16-bit parallel RGB interface > + * - 18-bit parallel RGB interface > + * - 4-line serial spi interface > + * > + * Copyright (C) 2021 Dillon Min > + * Derived from drivers/drm/gpu/panel/panel-ilitek-ili9322.c > + * the reuse of DBI abstraction part referred from Linus's patch > + * "drm/panel: s6e63m0: Switch to DBI abstraction for SPI" > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include