From nobody Tue Dec 16 23:08:52 2025 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (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 7E29C27B4E2; Tue, 6 May 2025 09:33:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746524037; cv=none; b=YGQ0afJNjc7+kjUgtZLIrcRZh7Oxu4O0T9+qNMqZbuCa/bSUt+U+X3gklRbDepuO3lEl52G0CmUdTstk9/t/CKrQxD22XfseJCyoQx1MtjdrrgvfmdkVndEGn9QqxxhYzZ2+qyvYY+D2WMkDSocRmEGDDL9WuF1CO76Lx6CoYZw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746524037; c=relaxed/simple; bh=WysIGGmY0lso+kjWt0YdA45tvmMAguUYCnZnE5xEE3c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Oji95IBRentemM1a2eBiGRIT9gVrg6gGnGdEJGCO/ZwWpjf2XmgtWrlxLvx4IS7ZFv2PaoIR9evhrKA8vWtQE3z04Kws9yVGfFvsQsScl38oabTpIE8bM5IEEzG2qQeO2MUcI9hL5+BA7VkPpSaHgffFRlQVwjUTSKEnuHpLL7U= 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=bFg2fTl3; arc=none smtp.client-ip=209.85.218.48 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="bFg2fTl3" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-ac289147833so1002640566b.2; Tue, 06 May 2025 02:33:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746524033; x=1747128833; 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=lpfNGkazVHCZjp/JXYaucKjakTWNIV9iVsWHCouQB2I=; b=bFg2fTl3rh8hMbxUC/DuozYpnzqW1tIPkkSf+Ushqgc2JPWvBKji05SIZDRqM8i5JF p3OHd7ACFNCX2Fj3JRxz2UWC2Lo8huv7MLH6WZYpZuK5/TgdeA1qc4ODF8yVSsBF0E6J QcGjC938ZCtRPL6llQ7yzuRak/UPwUf4uW1tZS+gQNknXCEsUPbiNqpyF1tSwBJ7vU+Q oStLQUE+OuI6KzDunZ5ulVsROe7Ghck/OjPVUoKz2KKEaGQgrhGNonyWl8sjGPHGz5Rc SJDENT3qTGTKcrmbJovFahYNLULakbYJfJj4TvwJKs4tlfvpPf1gRtGROLyvZvXzlltg H+Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746524033; x=1747128833; 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=lpfNGkazVHCZjp/JXYaucKjakTWNIV9iVsWHCouQB2I=; b=t6Du0i+qBSw78W+qaadoLq/pb3KmVjFop2i6pfKI6RcRG2oQ35pGvoaRmaocrS+HvE FWTZVsq/39YWoUMdxNz6SPrJnN36x35/q/JjsW2WViIfFxx5u7f6iV0u0PQFgo8Jh3y9 ZBMHMi7d3yD78pYddDJ6ws8ccqzHGWFXBR77Gc/rCHANtn795S9zoktcXL1OpHKW5qCI 7eD3npqKE6z06FpCat0ZoQPGObFqUlcM2C1f1tLi/UFqVEXKvd3hytEUzu5CoL6UURyt PJJm8Q9Sey8LByVFtvYEpslnvzldKNhctvlYRGfQizbs+i668oEWS3byLbaH6zdM1PUf rMdA== X-Forwarded-Encrypted: i=1; AJvYcCV1wUeBe8pd9zntfnmLwDrLdv+N6yKt9nJ8blpBrEGy8vadQoQQYoRfAQKy02I1gFglfMIzR3HjgJqc@vger.kernel.org, AJvYcCWMlIrpsM8sGVR/WNsT3sXqyTO8v7yi0ozmY56xhQbdK/rXDRE3DbBbaU7HrbrgPvRoy0VCND/7Lsef6iek@vger.kernel.org X-Gm-Message-State: AOJu0YwnKAIj7az5zvvCsY6DANC3yL9gbPDPUXHgiRlFSS8rRHh7pgSz Ni50CQeM+GlJOL65+aTS++D1/HLiZ4GsHgHDeFzCfkGlZaOXn+LDHlwl4Q== X-Gm-Gg: ASbGncsLnUo6dBEEu4GDf2eH/ygABZ+ZYmZV3qHmBAdd+dZl9xdV+uq/b6xhsXmw8dk YGhdEvPNHlcA8JLl0Bi0S0YoG7xVoxSNNVA2yuA9u102RwDv8hDkW2I32MG1761kMvuTlXB/Ls0 SpHR5heWq5b0EuVkKAgFK85zwp+gCfTyC1/E9SZuCEhVsdG7mj2QuHRgYFsPw5bVrx5v+U1/T3Q VZgQu2m0Yb1lI9UbZefvNOJhgR+9/VOzVwLl7WcFxJA3h9L2289HZ8S+6+ikaora3CPBG61vida kHLG3jpCHuskrVzPYytlXx9UykhdvWFk X-Google-Smtp-Source: AGHT+IF5jLMsgRLqWw45+JEsABG4612S23OPdW4W+Ggsa8WkRZS9umJ1nn1HBFK+MUXbSs+bdReBnA== X-Received: by 2002:a17:907:3991:b0:ac3:3d10:6f with SMTP id a640c23a62f3a-ad1d346eac2mr193763666b.8.1746524032485; Tue, 06 May 2025 02:33:52 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad1e1292696sm25594666b.111.2025.05.06.02.33.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 02:33:52 -0700 (PDT) From: Svyatoslav Ryhel To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Tue, 6 May 2025 12:33:40 +0300 Message-ID: <20250506093340.106575-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250506093340.106575-1-clamor95@gmail.com> References: <20250506093340.106575-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 --- drivers/gpu/drm/bridge/Kconfig | 13 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ssd2825.c | 812 +++++++++++++++++++++++++++++++ 3 files changed, 826 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..767b3d5a4488 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 "solomon-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..a6c83068ef0c --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,812 @@ +// 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