From nobody Sun Oct 5 21:57:20 2025 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 E39BA1EB5CE; Wed, 30 Jul 2025 05:55:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753854911; cv=none; b=MlrkHI3f3K5+3KA5I7Rzi3yHvDOzOqOkGVRRVgcGJcd7fdsvI5UljdCStYkEP6QSNx2Irqe7BACmdRH++pRjQk9yXIFapT6f6UPquW/XT9YTZcQ/YjSOgSDnfQi13ORCaLuuyagkiJHorDQ4PWwiNiC97o5yWjVYctZoNM6KATs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753854911; c=relaxed/simple; bh=lg8hOlH2K6ynDAP9tkZ9gcGmOGTX38D3AGuEgMWCXDA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B71iAS/LhSQvOJLEfzJKWh7f5mtRiK67cROl9ZPmq4Neghcv/zNO1jecQZJp+ytjVvJ6++bmWGU3IzbZCdCH2KLqXM5q9Ox6dWmFZ+R1XMPTi1xfEZnejtyY5/qFNiIngA1phxjtrsQStP6cl+eKsxjD53HHPIQBLx7JRl8GbOw= 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=Ms4xngVu; arc=none smtp.client-ip=209.85.208.47 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="Ms4xngVu" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-6154d14d6f6so3586264a12.2; Tue, 29 Jul 2025 22:55:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753854907; x=1754459707; darn=vger.kernel.org; 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=tkzHY7Vu9BXxCOksLWb3LIb1RW80c8iQsyIJuKewUnw=; b=Ms4xngVu+qhEYyXRMZp4Tx60216LwuT/ugxrZUdS9B9IjvI/7qr2wRenlMysLjZDve eDZmOUlhZzxOZDu9SEX7yMYpabyI77Vp5lfpdm4PPvdNOmmM1We8O32xmdzer+MkUyuL FR3gGCLu2uoRShPuwbvgHEhClowGRY2p4vOsPL5CvcJXftnv+5p6NtnuXfjzQmlspNIv hjuNb+kMRiI8Zn5z9hbsmlPPp2Z+XnKNaNt35OdUC79/XAsDk4jDsczhyj/nTL7t8idV bbqleXPH/TZ5oDotyBkYAbplsbSXMOfhQIQb3jypMAj1XjGuYL3+U54cayw3AWf4qkmF D5Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753854907; x=1754459707; 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=tkzHY7Vu9BXxCOksLWb3LIb1RW80c8iQsyIJuKewUnw=; b=V7I1yBonqeIN2sSa6nQmV8C0mMEwD+dZXxLnvZLcZwf4D92K63voaQ0Dtg0lkcYvg9 Dkv76RiEweoueCIH3DuswY34/tezAtyGQNsVVH79mTA/1HKuj3MgVYqNOkc8pSqzY6Qv 7RELFoCf/DbHj3yZFI/9gLR6HUUzx88Z2bSIUWLQiC2dV6Dmk/vb1MddEqPEh1rJF0+4 sLAfFyDYHSonCCejf01iE2A4BZ1mfH5UxnhcOlbrIN1am14bWA7ocdFWAhV7VlhEaWyq EAO6xUYmMfwTujoOPK5ZETXJRYZtjoCpGIa8+MwRnG0SoO0vHcyiqZm1oB/qxHF0N+uc URXg== X-Forwarded-Encrypted: i=1; AJvYcCWjEbEqrKMmFPmW7AfgHcfNJrB0ZXfCdYIyI3NE0JERHQcJrEJXLRkYQQFCAoewq5nJp0oFrU37CFVP@vger.kernel.org, AJvYcCWxypPQnquJG36fwct27JFb5n/iwcvNGftQVxDURec9KYtJ+cr2Y8pLQX77kF0taF3ZGL5/79IbjTGJQJkY@vger.kernel.org X-Gm-Message-State: AOJu0Yz4yaKEJ6RCSpSHKC3bevlAfDUciSWIPe/th8DvrcftFXjoym8D VffRjQvfNwfrB0VlHsFcqKcw1nfzuizKAXTWYuaBlGuzhvl/hH3gHs8+ X-Gm-Gg: ASbGncuFhLFGDXFpZn73SNX0uopHjdjT1o0k4MC3osggW54G/3bEMEstdsHpwz3qxz5 Cqr0kz3l28UOHSQnpYj44RFVfeZlOKhGG4/9aEoGpbOtgE/1W6NF9h/QDY8xoSkqisipJFI0iSP gXzdYjvNu6gEOtEUcQcSzrdo7OfPsvW/iRALArVJ6EoRv15FB8rUCUQNXO7bgNAKZFWLd6Yr6BE fb93rFusHWtB1ks8ichcHwhDEO0njBvYBRddbRVsf5eo3DcAxBw+/Z2k3dGJ7upc9szZXe5OMXt L+FjYu0BLBMV6LXm3UiOadLd+o93dKQ4eKTqxISL99XGBXezHrieEY+X69IPRSTSJa4eulVfTY3 CHqG436PWGAMKpg== X-Google-Smtp-Source: AGHT+IF2eNcrcS0jpZWwPhpOMPmJ5KY24YYWC6r6LqKqUFpaDe0wtRWA7XLd1W1MFPxAb1Lg7W32KA== X-Received: by 2002:a05:6402:27c6:b0:612:dff3:2ffb with SMTP id 4fb4d7f45d1cf-61586f01509mr2118447a12.11.1753854906910; Tue, 29 Jul 2025 22:55:06 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6157f2d6b94sm1014803a12.57.2025.07.29.22.55.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 22:55:06 -0700 (PDT) From: Svyatoslav Ryhel To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Heidelberg , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 2/2 RESEND] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Wed, 30 Jul 2025 08:54:24 +0300 Message-ID: <20250730055424.6718-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250730055424.6718-1-clamor95@gmail.com> References: <20250730055424.6718-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" SSD2825 is a cost-effective MIPI Bridge Chip solution targeting mainly smartphones. It can convert 24bit RGB interface into 4-lane MIPI-DSI interface to drive display modules of up to 800 x 1366, while supporting AMOLED, a-si LCD or LTPS panel technologies for smartphone applications. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Dmitry Baryshkov Reviewed-by: Neil Armstrong --- drivers/gpu/drm/bridge/Kconfig | 13 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ssd2825.c | 775 +++++++++++++++++++++++++++++++ 3 files changed, 789 insertions(+) create mode 100644 drivers/gpu/drm/bridge/ssd2825.c diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index b9e0ca85226a..c11444c80d88 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -316,6 +316,19 @@ config DRM_SIMPLE_BRIDGE Support for non-programmable DRM bridges, such as ADI ADV7123, TI THS8134 and THS8135 or passive resistor ladder DACs. =20 +config DRM_SOLOMON_SSD2825 + tristate "SSD2825 RGB/DSI bridge" + depends on SPI_MASTER && OF + select DRM_MIPI_DSI + select DRM_KMS_HELPER + select DRM_PANEL + help + Say Y here if you want support for the Solomon SSD2825 RGB/DSI + SPI bridge driver. + + Say M here if you want to support this hardware as a module. + The module will be named "ssd2825". + config DRM_THINE_THC63LVD1024 tristate "Thine THC63LVD1024 LVDS decoder bridge" depends on OF diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makef= ile index 245e8a27e3fc..19f5a09d9291 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_DRM_SIL_SII8620) +=3D sil-sii8620.o obj-$(CONFIG_DRM_SII902X) +=3D sii902x.o obj-$(CONFIG_DRM_SII9234) +=3D sii9234.o obj-$(CONFIG_DRM_SIMPLE_BRIDGE) +=3D simple-bridge.o +obj-$(CONFIG_DRM_SOLOMON_SSD2825) +=3D ssd2825.o obj-$(CONFIG_DRM_THINE_THC63LVD1024) +=3D thc63lvd1024.o obj-$(CONFIG_DRM_TOSHIBA_TC358762) +=3D tc358762.o obj-$(CONFIG_DRM_TOSHIBA_TC358764) +=3D tc358764.o diff --git a/drivers/gpu/drm/bridge/ssd2825.c b/drivers/gpu/drm/bridge/ssd2= 825.c new file mode 100644 index 000000000000..d76dd0dcd38a --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,775 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include