Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp6294754rwi; Tue, 18 Oct 2022 10:26:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7KL3PVFob/xl2ZNr0euFu7GmcvafpH/7IfZ16TU71VmLLjetxmhlu/LTZOs8bJLNEmS39I X-Received: by 2002:a17:902:e841:b0:180:49a2:8e6c with SMTP id t1-20020a170902e84100b0018049a28e6cmr4082859plg.143.1666114019011; Tue, 18 Oct 2022 10:26:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666114019; cv=none; d=google.com; s=arc-20160816; b=d72JQRNs9bDFiT3Kx7utogdlc1ZV/N/h8QulrgAs7dHQ7tD/41saV/k8rIvgbv3w7H 3DduxHeW8SZ8FORj1yF2Uwr2i6Ns3Bcw6Lg651hE3aPJqFvqC6Bkqr95xkSPuq7HlLq+ SB0DA9cFFWgd1N/WDg5VStjcfIhJjwe8AyLhTE+otrXqd5fQX8YykHy0IEbSmCUtdL41 t9d27gR/bAChsDON+G6w6R9bU1zSueJ5X2pu1sRMgrcS2nhyd1ILosxstfgwMJFnH93a r8u2P5aGLFyqNm47jhloSAbeR0Iny2Mev0VzJM35jCmJvSAR32iNpdViWplJydQRoKWp E+Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gKjYCg4q49kkphz9i6T9qW9XIPEe2OGxCyqrNNxW728=; b=yi3GJxl3ly0GlPjHc7TZdNoaIFpviukQEbxr/jbBHq4hkcr8/mlyNOBFkIfffCt5c1 3cyLzO0RhEPwG3sNKQpCfGVVJq1vePJE2LyfD0BsBXxwPJimocAaJo8rKpHSLz8mnFca ebk8W+tym21KnvWNrGR3mRdSyRSLL+Nmt+FN2Uhh2v9NDp/wmIK0DoWZNQTUK8mmVCwv KtoX4pVNHmjtlGcocfcKQN5SzdB3WBEA1kniZAUQuStJ0GSZNH+xor0xL3ee8yk5m4aa 6c8T2WAY797bmdxcRHGLQBzEfaiak6Ys3bQpV8MsBXXZS1yaL0AfOVuNNp7t9FMelvrb NOtw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=REoGGe4Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nn9-20020a17090b38c900b0020d940da4f2si20142201pjb.15.2022.10.18.10.26.45; Tue, 18 Oct 2022 10:26:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=REoGGe4Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229885AbiJRQqS (ORCPT + 99 others); Tue, 18 Oct 2022 12:46:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229909AbiJRQqH (ORCPT ); Tue, 18 Oct 2022 12:46:07 -0400 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E94E1E22D1 for ; Tue, 18 Oct 2022 09:46:05 -0700 (PDT) Received: by mail-wr1-x434.google.com with SMTP id b4so24538113wrs.1 for ; Tue, 18 Oct 2022 09:46:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gKjYCg4q49kkphz9i6T9qW9XIPEe2OGxCyqrNNxW728=; b=REoGGe4Z9/ePyGJRACjbP5CKVeR5h+N8kYMxc2WLpU9HoBnzAT28HZfj5BUJaOmX04 Onb+5k2EpM3ugyUaQUPSjzbsYEDbb2DwidUKzlXAtQdDUXPE8kjANdIrZU+7629eQ3tL /jB1VofqDjxm6PEJPmRovh0CuBeRBARVLWUg4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gKjYCg4q49kkphz9i6T9qW9XIPEe2OGxCyqrNNxW728=; b=AAaKSW78cFrR2BzdF1NONu+nITqtV3DVFHxD4FYmISPp+qBwyLPRvQT2n60HF0nCCB N4nDTmFEE4cUjwQDDM9y/b4iiB/Qt87UH5E2rzb5g4g6j1rXiLMCXP4Edavd1zT9Rr/B vZ37ol/PQ7xdaXKWJhW5W/z3m+6yqmGX9IAY5/5cZkaio0i89aFyPII1pawvCDMpNIlm 2nuIEVSa9ugOKMN2LCca0K1hD5KrIMIykL6ZYt36YItLuzx4B/S0p7Y4D9OTXD0tZ+C7 gFsxwdLS+hny8TjCUYvRvxUAFBi1wph7UIMHr5OGY45m9B3l+Q4zCZlApL6UOOpDzNnw lbJw== X-Gm-Message-State: ACrzQf2oHKkhlj6wRv57qZ4CLtB972jE+9oKBT8TZEwhjb8zZQG/MSQm VTZ9LREPVScjmVg5Nntjq5n8NmvNej6NfQ== X-Received: by 2002:a05:6000:1561:b0:22f:7201:74ad with SMTP id 1-20020a056000156100b0022f720174admr2494172wrz.340.1666111564006; Tue, 18 Oct 2022 09:46:04 -0700 (PDT) Received: from tom-ThinkPad-T14s-Gen-2i.station (net-188-217-54-207.cust.vodafonedsl.it. [188.217.54.207]) by smtp.gmail.com with ESMTPSA id e26-20020a05600c4b9a00b003a5537bb2besm13545592wmp.25.2022.10.18.09.46.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Oct 2022 09:46:02 -0700 (PDT) From: Tommaso Merciai To: tommaso.merciai@amarulasolutions.com Cc: michael@amarulasolutions.com, linuxfancy@googlegroups.com, linux-amarula@amarulasolutions.com, kamlesh.gurudasani@gmail.com, David Airlie , Daniel Vetter , Maxime Ripard , Thomas Zimmermann , Javier Martinez Canillas , Sam Ravnborg , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH 2/2] drm/tiny: add support for tft displays based on ilitek,ili9488 Date: Tue, 18 Oct 2022 18:45:26 +0200 Message-Id: <20221018164532.1705215-3-tommaso.merciai@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221018164532.1705215-1-tommaso.merciai@amarulasolutions.com> References: <20221018164532.1705215-1-tommaso.merciai@amarulasolutions.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds support for ilitek,ili9488 based displays with shift register in front of controller. Waveshare,pico-restouch-lcd-3.5 are such displays Signed-off-by: Tommaso Merciai --- drivers/gpu/drm/tiny/Kconfig | 13 + drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/ili9488.c | 440 +++++++++++++++++++++++++++++++++ 3 files changed, 454 insertions(+) create mode 100644 drivers/gpu/drm/tiny/ili9488.c diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index 027cd87c3d0d7..6e708e8414806 100644 --- a/drivers/gpu/drm/tiny/Kconfig +++ b/drivers/gpu/drm/tiny/Kconfig @@ -148,6 +148,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_GEM_CMA_HELPER + select DRM_MIPI_DBI + select BACKLIGHT_CLASS_DEVICE + help + DRM driver for the following Ilitek ILI9488 panels: + * LCD 3.5" 320x480 TFT (Waveshare Pico-ResTouch-LCD-3.5") + + If M is selected the module will be called ili9486. + 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 1d9d6227e7ab7..aad6683b2ac40 100644 --- a/drivers/gpu/drm/tiny/Makefile +++ b/drivers/gpu/drm/tiny/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_TINYDRM_ILI9163) += ili9163.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 0000000000000..b94d9d4ff4544 --- /dev/null +++ b/drivers/gpu/drm/tiny/ili9488.c @@ -0,0 +1,440 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * DRM driver for Ilitek ILI9488 panels + * + * Copyright 2020 Kamlesh Gurudasani + */ + +#include +#include +#include +#include +#include +#include +#include