From patchwork Sat Jun 13 14:07:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamlesh Gurudasani X-Patchwork-Id: 11602827 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 206BA6A2 for ; Sat, 13 Jun 2020 14:07:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 032022074D for ; Sat, 13 Jun 2020 14:07:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZLlbRwiz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726449AbgFMOH2 (ORCPT ); Sat, 13 Jun 2020 10:07:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726132AbgFMOH1 (ORCPT ); Sat, 13 Jun 2020 10:07:27 -0400 Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 411A8C03E96F; Sat, 13 Jun 2020 07:07:27 -0700 (PDT) Received: by mail-pg1-x52a.google.com with SMTP id e9so5476112pgo.9; Sat, 13 Jun 2020 07:07:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dp/+g93fmZ45LcVhHB+ZNuQwi9cW8+b2vd6N12wdyYk=; b=ZLlbRwizlWRvyyVPJ3P1ZzeTfRN/98yXeeCR22khn5O+CQmf5Pp8PeBjtUuiuWGhYP tSUaEFT0M6TTMjMFjXvLhIk12Fs41XozCcmPXztpg5KxG82VqFCfi0n7onf9+GAlF0L5 a81ou3moKK7nGdh500BngR7LX4yoxRVddiw5i48/bLZLB8xBcTl6E9NYn9V2Bf/pqYDS 47io5z7kPo4jU6G9GAHr1fVNHDMVp0dZ8IBqYnera60tl0tKSsCWllxGBUTKE1lWhsCT 9xAU51PK3ydzSY8HAJjiYG8pjL6awSi0GYhDU11NeI9C2797PRO8uHzBXC3SBaiR502Y 3rEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dp/+g93fmZ45LcVhHB+ZNuQwi9cW8+b2vd6N12wdyYk=; b=CqndBLiXAA7Q6rsezgOJ07cZ5wrDiGEvcqlNwEgT1/3wwLpCeejgIyIcoIpY/FSR9N FMczC2o0D5RjjDF3ceVhBGLVNtSlyi1SzitLfbzpR0pdDSbEhC48FxUhvCBuq71wjlNT YVREhEQ0lb2Q6+xkSlKHVEBNvXIP//MDxo0ih7IMM8P+PqcJbkNl5PMtLGHUI/VejA1O rWTwYClceT56v/odjR1wp2D9aO9YhtNERt4LWK/deq6frvHxqrVhOPj74mqq9noaGlA6 Y2XZzE5wYwfb78MpFWlp89zTGnOy5QVftlC8ErfxmdKKGpI8knnbxmkanPLREqAFsQ++ T8ig== X-Gm-Message-State: AOAM530WkCkq0FE5vwmMrhKfdYo75XxuzCmN5Fyb4d9pk8pzuokOeX6i aTpnpUjDLfJ3ADJvqdZ3C5Q= X-Google-Smtp-Source: ABdhPJyJLTQKb67qMaM2ACOu6TcYkNxL/4WW8ig4jHv2X2iIfk81XTxP4vGezZ4PivGRgaZULt+sVg== X-Received: by 2002:a63:4106:: with SMTP id o6mr14581499pga.369.1592057246505; Sat, 13 Jun 2020 07:07:26 -0700 (PDT) Received: from localhost.localdomain ([2405:201:d809:ffb0:2ceb:aeb8:b257:998d]) by smtp.gmail.com with ESMTPSA id y26sm9220507pff.26.2020.06.13.07.07.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 13 Jun 2020 07:07:26 -0700 (PDT) From: Kamlesh Gurudasani To: Rob Herring , Sam Ravnborg , Noralf Tronnes , David Airlie , Daniel Vetter Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, Kamlesh Gurudasani , linux-usb@vger.kernel.org Subject: [PATCH 3/3] drm/tiny: add support for tft displays based on ilitek,ili9488 Date: Sat, 13 Jun 2020 19:37:16 +0530 Message-Id: <00719f68aca488a6476b0dda634617606b592823.1592055494.git.kamlesh.gurudasani@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org This adds support fot ilitek,ili9488 based displays with 4 wire spi interface. In 4 wire spi mode, ili9488 only supports 18 bit per pixel. Eastrising,er-tft035-6 is a display based on ilitek,ili9488 with 4 wire spi interface. Signed-off-by: Kamlesh Gurudasani Reported-by: kernel test robot --- MAINTAINERS | 7 + drivers/gpu/drm/tiny/Kconfig | 13 ++ drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/ili9488.c | 446 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 467 insertions(+) create mode 100644 drivers/gpu/drm/tiny/ili9488.c diff --git a/MAINTAINERS b/MAINTAINERS index d59c5d3..6b062ef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5329,6 +5329,13 @@ T: git git://anongit.freedesktop.org/drm/drm-misc F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml F: drivers/gpu/drm/tiny/ili9486.c +DRM DRIVER FOR ILITEK ILI9488 PANELS +M: Kamlesh Gurudasani +S: Maintained +T: git git://anongit.freedesktop.org/drm/drm-misc +F: Documentation/devicetree/bindings/display/ilitek,ili9488.yaml +F: drivers/gpu/drm/tiny/ili9488.c + DRM DRIVER FOR INTEL I810 VIDEO CARDS S: Orphan / Obsolete F: drivers/gpu/drm/i810/ diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index 2b6414f..a380a92 100644 --- a/drivers/gpu/drm/tiny/Kconfig +++ b/drivers/gpu/drm/tiny/Kconfig @@ -80,6 +80,19 @@ config TINYDRM_ILI9486 If M is selected the module will be called ili9486. +config TINYDRM_ILI9488 + tristate "DRM support for ILI9488 display panels" + depends on DRM && SPI + select DRM_KMS_HELPER + select DRM_KMS_CMA_HELPER + select DRM_MIPI_DBI + select BACKLIGHT_CLASS_DEVICE + help + DRM driver for the following Ilitek ILI9488 panels: + * ER-TFT035-6 3.5" 320x480 TFT (EastRising 3.5") + + If M is selected the module will be called ili9488. + config TINYDRM_MI0283QT tristate "DRM support for MI0283QT" depends on DRM && SPI diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile index 6ae4e9e5..3e40776 100644 --- a/drivers/gpu/drm/tiny/Makefile +++ b/drivers/gpu/drm/tiny/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o obj-$(CONFIG_TINYDRM_ILI9486) += ili9486.o +obj-$(CONFIG_TINYDRM_ILI9488) += ili9488.o obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o obj-$(CONFIG_TINYDRM_REPAPER) += repaper.o obj-$(CONFIG_TINYDRM_ST7586) += st7586.o diff --git a/drivers/gpu/drm/tiny/ili9488.c b/drivers/gpu/drm/tiny/ili9488.c new file mode 100644 index 0000000..db3f585 --- /dev/null +++ b/drivers/gpu/drm/tiny/ili9488.c @@ -0,0 +1,446 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * DRM driver for Ilitek ILI9488 panels + * + * Copyright 2020 Kamlesh Gurudasani + */ + +#include +#include +#include +#include +#include +#include +#include