From nobody Sun Feb 8 07:40:21 2026 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 7C66D29114C; Wed, 23 Apr 2025 19:03:49 +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=1745435032; cv=none; b=a6n8tvBc8RPEQKjG+GM9WFeoH+641+DWTCawauyAr7gwxgJTZi+3XWhvPPN0/xSCkNU9ATto1ayjG2w+2ocPSBP15+3TSEN3HFYzA0tV1Qu+yRSSd9Fgt3/Iwdx07oSw7SCnVFdUfcNMoBbD+MScqvaLv3Am/cm2tMrX4a5vbDg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745435032; c=relaxed/simple; bh=Cg2N+muIdlGnOsxeYphUmn1BbkakAyypDA/AY3V6ZjU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a2mJYBMNYK0bBL00WCBxfzrlRNljkGRfHOI85PYAlnACbaWdgbk0SjpGGidM3jb2SdxMNlAg8WvitLuVo/jRyghfuksxYL+FsigWSnGhbn3hvsdF/cnmLgU0Cn4oqABWOHrgWe9YSjhEoA/OJIBcr/YWDGbktgrWn4TNNX0Hudw= 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=LRT5aBAV; 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="LRT5aBAV" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-549b116321aso153140e87.3; Wed, 23 Apr 2025 12:03:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745435027; x=1746039827; 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=/+AJsj+mRWpENvPurYta7OWQLeJGM5rP/YKXYBKieZI=; b=LRT5aBAVjTARVCjZMQfzBwjn3v5PFOSvWS5KoTjy4lyOIfz70iMHJ6sXGePR4gLLBb QEwnRCfwM7LOaUxDSHNSyjsEjY2QSoKM/y633yFgl0amCssqxaWpwKwLPIlw+1YHNNxz F+i1ho6tMGZUyjbO+4oPtWnFMcjMyJKvEWdrzjGx8BA36VVC/NQngd4u11/5TjzIkxjF PXWc6GvKN129gO2r77kfZq4VgLaJ72kVvACmxID3lop+R+ofe4JhQC3m+wW/prJPLSSy EdELUlIX1xUZwiPqFgk5sMyazs4ztJsukyp7ePH9jJVnD+sAppjz6xKxHN9+DUk0cU0j P4nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745435027; x=1746039827; 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=/+AJsj+mRWpENvPurYta7OWQLeJGM5rP/YKXYBKieZI=; b=LnC2VbS/BCMGUbuk9/P/VnXIsPutb6CMJwCEqhqgo1GmEz4BeaoJeaKj5Idl8QwAwF qGFynrZGqefVfurWcbp83JFHG0U7Xgaf5eozPk01kIPZn45gDoUa9iC0LTMg7Bn5VEGZ plxhw0kh20Rcm6spVTuYV+nNX0FSZs3Tesy9AuMCkXp2mXu/xT4+pxa/2pJ2xnGjQKOA CVj4DsJjc8KZYyZNfeXmyN4FZkQUXDpga74mf+7+pchkaXbvQdTnNoJJfPqoni3Sg7bV dRLJVGCoVtQ9QZ+USs0tLcycsVd7dBr6A5NmrOohrIwliJMBqELiSDPNQGD/SEGarH8A 1BVg== X-Forwarded-Encrypted: i=1; AJvYcCU9TK4rV9RYrdS1LV9/N0eXZHipaQBStcizqovGFQEQtfHCn500KFC3gSJyFYdyhPJ5fEE03xhk3ODU0qsm@vger.kernel.org, AJvYcCXGRr1ZIw9uYiWDDIb5r07o/FHDCWJ8muFQWRmau1BHS6nN+6V6zjyFSU/sM8jihpbJjWpCQ0wyCCNb@vger.kernel.org X-Gm-Message-State: AOJu0YwOr9XdFxe3KIA1RPZhwJcpt8YMGt/07LX5LpkSmvD3WlvhAw6H Ic0Dghd/XY0KpuZK63WRu8U6PX4XpSed2QVH/9METNlRE7XNEaw8 X-Gm-Gg: ASbGncsXYC/GIAWQoxIh7OV1tQHcVMdjfkebaVO975H+rp3msNZMjC3jHFyHApOJQF2 YscDfw7HtQ5JyyBN1gtcFyg1E6WEUbz3FCob4pXjWbD9ABEsZ+KbQCHnI5wLWpsip8yLQKMk0x1 +vxefmfkKxgltoiapAYHQ0bOUgtyai5yny8UDnwGM1kT/2yZjf48uc6QxOi6VSnT90oL9FCjHTe 6E1ZIeo9R1gArFoLpcU74mk8DGSIZ2UdjpUCTyevdoi66MTtzFZYFvGFJr7FZgzM89esj8NuCdq eP33TmzK3o7ItYn6pRVfM3pom+byoY5s3og6xW//eZsIGTW3abhJ5/gqhyToJiSkrnts7R+6Hka wP8lpCBnH X-Google-Smtp-Source: AGHT+IGcXz0svKtsRZP181iGSGREMbaiTMlNZ5m0Oag4EPLINdXMfMz2YNnGj2JfYhfnMSQ60Pl/cA== X-Received: by 2002:a05:6512:10d1:b0:54c:a7c:cbd4 with SMTP id 2adb3069b0e04-54e7c3f3cbcmr17841e87.24.1745435027016; Wed, 23 Apr 2025 12:03:47 -0700 (PDT) Received: from [192.168.1.11] (83-233-6-197.cust.bredband2.com. [83.233.6.197]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3109084d9d0sm19475141fa.97.2025.04.23.12.03.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 12:03:46 -0700 (PDT) From: Marcus Folkesson Date: Wed, 23 Apr 2025 21:03:21 +0200 Subject: [PATCH v6 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: <20250423-st7571-v6-2-e9519e3c4ec4@gmail.com> References: <20250423-st7571-v6-0-e9519e3c4ec4@gmail.com> In-Reply-To: <20250423-st7571-v6-0-e9519e3c4ec4@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 , Javier Martinez Canillas X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=32417; i=marcus.folkesson@gmail.com; h=from:subject:message-id; bh=Cg2N+muIdlGnOsxeYphUmn1BbkakAyypDA/AY3V6ZjU=; b=owEBbQKS/ZANAwAIAYiATm9ZXVIyAcsmYgBoCTmEFL9u/6ra/k72tiKpafb1lseFIs3MnVD0i qlnuXFCuB+JAjMEAAEIAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCaAk5hAAKCRCIgE5vWV1S MryeEADdGzRmZcK1mexzOsphNcyCxW92kk78avG+o19B4tE6wSBhjrPBRVCYikWfWH1sQf1IC4x iOoZEJ4nzZJ9JIuokAXf02NDu+ev4l9Bjq0aUFtk+54frBSsmvklqtueLl2wzs6SovpKsJKSgc0 U+9UmGZTMmUuE42521ej643eD6tc5idNvqQntWU/UOKRMfWKGSQEQ50yH5umTCMKoqG5ZLKLoc2 7K4VeI9CdHRxM1Ph/lugtrPygDp5IQFbSJi/bO2Gwyn/OMQE3kyBUgwCoWUzERJTFT3w7ed09gH Z9cVAKqhegNdtms4ZB3kEB+WU05RNnAtxZOo2LhwD62HZA9XrNcmhYqaBEroHrcq8KqNHFXCswa AEX3UoWE01d2Xy3CrzoETxmHGAc/OOoDeh+5ouwUkCVCnzpZUzCf1TDyoce45zEulqWpsTumpId +zrvv4rGoaew+3mw2bP81vVN74NstBbZN/DPNgXKiNYnGuk7PqRMahzqOxiZqpRc99GKOMCad5k MLcY2/WQxmLL0GG6Q6gQ9yp3zT7r3+e7I23m0YoQdv5xDBIZx2MJTgOgvoujKY6yt+MgVuVq6/+ PTxyNbfqvwidzhpdkOj/Uow8AOFHBpZXsj9ENNJ8PD6yGw2040ZegtDqc2U3i2CP23CX8+yH1um sJiPmUJEOCS98Cw== 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 Reviewed-by: Javier Martinez Canillas Signed-off-by: Marcus Folkesson --- drivers/gpu/drm/tiny/Kconfig | 11 + drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/st7571-i2c.c | 1002 +++++++++++++++++++++++++++++++++= ++++ 3 files changed, 1014 insertions(+) diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index 95c1457d773099b4460e4adb872ed8bc64f1f282..9fa333709828f78f5fe5639f7ce= 40117455ff046 100644 --- a/drivers/gpu/drm/tiny/Kconfig +++ b/drivers/gpu/drm/tiny/Kconfig @@ -212,6 +212,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 ba4a60bb72bdfb24c910e4992cab5047d4f9136d..0151590db5cbd80aebde0629afd= 03f47b83c3045 100644 --- a/drivers/gpu/drm/tiny/Makefile +++ b/drivers/gpu/drm/tiny/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_DRM_BOCHS) +=3D bochs.o obj-$(CONFIG_DRM_CIRRUS_QEMU) +=3D cirrus-qemu.o obj-$(CONFIG_DRM_GM12U320) +=3D gm12u320.o obj-$(CONFIG_DRM_PANEL_MIPI_DBI) +=3D panel-mipi-dbi.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..ba089a7e2b617ce6b0dc67848c1= 48b88245a2247 --- /dev/null +++ b/drivers/gpu/drm/tiny/st7571-i2c.c @@ -0,0 +1,1002 @@ +// 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 + +#include