From nobody Fri Dec 19 19:00:06 2025 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B4B422750EC; Tue, 15 Apr 2025 05:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744696772; cv=none; b=MJCNycbTkZhM5dqx0KsVMGXmQY4/fMKcqvnKNe2SgEoGtgb2O7CaIPsGAa/xTM2Pczr8fXfHTzNAThLVsMwApznK0flCOx8xs1lCLct52dij9aHqk+Z9HNgzcpA5nuJ0AjW9XMTvBqPn4ICddYVwyD++qGnjV7+BPEaiTCvw2Fo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744696772; c=relaxed/simple; bh=T1TCGYvHGsM2ghRYBSLAW+wRA0rxN0axEF2r/HSnnJA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fPEnlQdhFduOWZDasAF6btIZW7B4RhzrUDGBeBwia6T5DwwAWnVjSf1qo+qXnShsUBv58DBiAiEZc3nD6HyDKoWjR7Oa4oHl1tCniI3OmLUEoB/hu+u1kPaU3d1dBa6orHm+qfAr5LPYnmPrVK/pWj/MmDZZIy789P2OsR9mpdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XC7Un3Bu; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XC7Un3Bu" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-54b0d638e86so6014433e87.1; Mon, 14 Apr 2025 22:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744696768; x=1745301568; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FBMtRQQyHnNOtDDPQHgjLQ/GuqVT/YdHWyi4h+TyJmc=; b=XC7Un3BuwXHIjOgBzIKXn8nT9fdcnV1BMvshKNjgaV60N5oM9h6XakwWaQIqQ+nS9s /VdSGRFe+v9LrpeEiCZYpe2DpwX25EB08m4VC+W18E2vSULPKAdYpMV0G761+lSOe/zX 9Qtytd9sdmCvybvYMHs0CO4hI+s9ETLlilqzmNXSSSBlskPH8Ue6kb4ugdx21lqznCqb 4MFC1gqaxBjJtdqFhVQ7PITozcrYHapNMIF8m6RD5V2MLywuT+gk24/PlIBT8NUE47Bz ZnDrbHr/GnYiZjzr3wHg9nmPVlT98Lf771qVRPjq4EEHqV+wN5B9WfJDp8IEuIJvCvH8 yTTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744696768; x=1745301568; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FBMtRQQyHnNOtDDPQHgjLQ/GuqVT/YdHWyi4h+TyJmc=; b=wvBNq/9h2Le2N1F9JLGvIj+kguw+eeFtW0WXieTX5EUIr0Cef5uto+NwRa+YeDxkKs DAkUDkoW98rJ0LqvoJJs5nNGNRELHhz457qSp2D+tFCfo7LV3/Yh3+IIODyCV2PTyCKd zevskFragbmSGVuvS2++FkfMUPJPds0BmUa8zhzpOMRcDYcLOrSea27b1uX2Pu0fjPjZ 2YDL/6IQj3yW1sAcVWO2MY1XJyhj7i5iESzPoDMj660ALnsuDFQ4QS3AZWOcTOH5k1KY pQCVoJlVrppZVRcDz2A/7ueq+U6RoFNtC/D8GqQsp/mTak7GooyEHhvxrVDS2H2dsmMX L5UQ== X-Forwarded-Encrypted: i=1; AJvYcCVYPujEHGh6IhfXC5JJTEIXpNQWbcQnRFdYi1TOZgUVn75viwjchnEtBfrUO+vpR4SSbp17d4L9Bf1E@vger.kernel.org, AJvYcCWs+np8uwnq484JBR4uYpAA2mkT8Wh//yrc/eWe+l3mfqIjeEw+1bqHMtRHSB1lPV2+rXaXrzlzID1SWMRW@vger.kernel.org X-Gm-Message-State: AOJu0YxUNnF5BbUQP9PzmIMWmeqHt2cLIyAKM9/qfxC1FuctEib4aW5M oVq8VGqyGagSbSgX9BKXgTrFHzgSsPdwXOn9oyzsGWZHRQFcHJod X-Gm-Gg: ASbGncs+6FAts6C7l/7G9yvUP7l4PnEyhQKo63JPZVJEQDK30L800UjXPACh/n15P8Y MNeVNj0LCEKNPl0EP9p6SCT1g5rZCW7E/DfB0ouNlV5sH3TVWRMDekOZfhjHrD7GNhKWkajTy2I nqjkTriBr/gdVUkMUd4J/A2EvE7/Huw4G40+k0eL1/ZTV8xZI4yxqajbQqtzI3avUGIxCdMK12I TBfJDXg+lxI9tsloYa0F3iJF0IW19bXjQuMshO8q9huhCFH7H79nohG3MnbCJFawmOOPvp68QFh gD79s0mhS9GtsrCKhhPhdzwPupUrKduRSJgQhOmoFhFvtuNbI0mn58330UC5slydNpoZcpghhNB EcC2hyQqu X-Google-Smtp-Source: AGHT+IFTWTH1ca2dM4ux0i7q+JuhES1gCsDipzt/9THkXONs02YDDsURRPoni2xAEdHAwpE8HLv2gQ== X-Received: by 2002:a05:6512:ac1:b0:549:9143:2609 with SMTP id 2adb3069b0e04-54d4528a9c2mr4733376e87.3.1744696767166; Mon, 14 Apr 2025 22:59:27 -0700 (PDT) Received: from [192.168.2.11] (83-233-6-197.cust.bredband2.com. [83.233.6.197]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d238820sm1325471e87.80.2025.04.14.22.59.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 22:59:25 -0700 (PDT) From: Marcus Folkesson Date: Tue, 15 Apr 2025 07:58:59 +0200 Subject: [PATCH v4 2/3] drm/st7571-i2c: add support for Sitronix ST7571 LCD controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-st7571-v4-2-8b5c9be8bae7@gmail.com> References: <20250415-st7571-v4-0-8b5c9be8bae7@gmail.com> In-Reply-To: <20250415-st7571-v4-0-8b5c9be8bae7@gmail.com> To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Marcus Folkesson , Thomas Zimmermann X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=31546; i=marcus.folkesson@gmail.com; h=from:subject:message-id; bh=T1TCGYvHGsM2ghRYBSLAW+wRA0rxN0axEF2r/HSnnJA=; b=owEBbQKS/ZANAwAIAYiATm9ZXVIyAcsmYgBn/fWtJntGPFdNwxhEKQwKFlprQZd06zU6r4Yuj HhQ5NJTSFqJAjMEAAEIAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCZ/31rQAKCRCIgE5vWV1S MqM1EADPy2gNtsboVmeny5LSmnwSo75dVU3kptnCIv9cepXfgxvGuLNFFiEJiRnnoVp9wEB/lP+ bojEWbOUZUi5XymIdKVA7b9yUg/ZA5O3u/zvDY8vFUGggVypS2mpUxUZSR+bJTHJo/zUnIhYr8q SMuc3nL1YFfu1TWNCoeAUpK89z7lhMM2oDGaYYPLli6f9JUEOOKgEVcmS7cVGyHEvNPdJ3lOEaJ khD4BdO3iWzLjQhsQqcrsuh7q0nbZy/lbVB/CRpw/aDjcwnvwIhWyKCE/2LML2edeQ3vdyYhhrx 6ulaZLFMz9SPJtDw+drzD92ymiWYD+xf3mrCOxSmR9pFBBVaLuqifCPWRBO1jMmphuvm93bQBbB 0CcWgrGdlEs4BLTVDidB4NLaJK2VJCzhkg2VuK+Xho9TSrXwEQQH1KfkV0AIvx/os+iJf8Cecnz 3n2cp+af3+PWSW5qzmaigGeBi7U5Ay1oHf8TWspxzHtIMpHm5pCgBa/mp05J+3mJAoINRxwzNZt 3TIDg6vSV9BbrjvtvB/H03uq5eXzY7+jD7emftzV9jmOVdDAiEHvt8MDWgrm+MRVtzmMpEdxTbh vCejDwb3uTG3UGOHQp5j5ryb6+MrOPwwQt4J7PwHHp9dXpDAc91tVRXjEd0uaVoFBaqI+Ho8co5 is04t4V+wqWACxg== X-Developer-Key: i=marcus.folkesson@gmail.com; a=openpgp; fpr=AB91D46C7E0F6E6FB2AB640EC0FE25D598F6C127 Sitronix ST7571 is a 4bit gray scale dot matrix LCD controller. The controller has a SPI, I2C and 8bit parallel interface, this driver is for the I2C interface only. Reviewed-by: Thomas Zimmermann Signed-off-by: Marcus Folkesson Reviewed-by: Javier Martinez Canillas --- drivers/gpu/drm/tiny/Kconfig | 11 + drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/st7571-i2c.c | 994 ++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 1006 insertions(+) diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index 94cbdb1337c07f1628a33599a7130369b9d59d98..e4a55482e3bcd3f6851df1d322a= 14cbe1f96adfb 100644 --- a/drivers/gpu/drm/tiny/Kconfig +++ b/drivers/gpu/drm/tiny/Kconfig @@ -232,6 +232,17 @@ config TINYDRM_ST7586 =20 If M is selected the module will be called st7586. =20 +config DRM_ST7571_I2C + tristate "DRM support for Sitronix ST7571 display panels (I2C)" + depends on DRM && I2C && MMU + select DRM_GEM_SHMEM_HELPER + select DRM_KMS_HELPER + select REGMAP_I2C + help + DRM driver for Sitronix ST7571 panels controlled over I2C. + + if M is selected the module will be called st7571-i2c. + config TINYDRM_ST7735R tristate "DRM support for Sitronix ST7715R/ST7735R display panels" depends on DRM && SPI diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile index 60816d2eb4ff93b87228ed8eadd60a0a33a1144b..eab7568c92c880cfdf7c2f0b9c4= bfac4685dbe95 100644 --- a/drivers/gpu/drm/tiny/Makefile +++ b/drivers/gpu/drm/tiny/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_DRM_GM12U320) +=3D gm12u320.o obj-$(CONFIG_DRM_OFDRM) +=3D ofdrm.o obj-$(CONFIG_DRM_PANEL_MIPI_DBI) +=3D panel-mipi-dbi.o obj-$(CONFIG_DRM_SIMPLEDRM) +=3D simpledrm.o +obj-$(CONFIG_DRM_ST7571_I2C) +=3D st7571-i2c.o obj-$(CONFIG_TINYDRM_HX8357D) +=3D hx8357d.o obj-$(CONFIG_TINYDRM_ILI9163) +=3D ili9163.o obj-$(CONFIG_TINYDRM_ILI9225) +=3D ili9225.o diff --git a/drivers/gpu/drm/tiny/st7571-i2c.c b/drivers/gpu/drm/tiny/st757= 1-i2c.c new file mode 100644 index 0000000000000000000000000000000000000000..97a8285a6fa60759bdb7018cc46= 663634afc88ae --- /dev/null +++ b/drivers/gpu/drm/tiny/st7571-i2c.c @@ -0,0 +1,994 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Driver for Sitronix ST7571, a 4 level gray scale dot matrix LCD control= ler + * + * Copyright (C) 2025 Marcus Folkesson + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include