From patchwork Thu Feb 13 13:56:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Svyatoslav Ryhel X-Patchwork-Id: 13973301 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C3E21C0219D for ; Thu, 13 Feb 2025 13:56:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0417510EAAF; Thu, 13 Feb 2025 13:56:43 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Utejg8ZU"; dkim-atps=neutral Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id D9C8610E3EA for ; Thu, 13 Feb 2025 13:56:40 +0000 (UTC) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-543e4bbcd86so966129e87.1 for ; Thu, 13 Feb 2025 05:56:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739454999; x=1740059799; darn=lists.freedesktop.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=b1IGkQScRodOBygrIsMSnLoiENI5KM9I94X/GE+75SU=; b=Utejg8ZUnjRNoRA/8rWikMcYHG4hE3ZG48keKIgIye8RE6w4nhJ9hOM4XpK0WgQfB/ TIc/6lf7Z2/CzCtsFiKoCiO3uWAjmEMhngTY79EyBZmeP5RqhIM949SH25z0mv4wsX8O xKknM0OTGgbc3C20jF3IcjiJYx4o0wzFk0zDiINEjPdvMFdLKuF1pLPur5e5QocsnK/p vZstc+SNLICDWqsX2TE7N6PGqp51fikA9+gb7Q50YVHqcfBI19RgiqWEx7qb0T7x6uFP M9gHaxATdBeOZhheqNIKq8uKFz/Z8YEXl601NQhvNv8G5q1+EZimDXqxrno+3t5laOxa H1cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739454999; x=1740059799; 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=b1IGkQScRodOBygrIsMSnLoiENI5KM9I94X/GE+75SU=; b=ClU9gZWSqF4raa8sgNjtGsLrS+LrtVotL+G6lHLSNdCMI90330JdFJXWDEeX2OjuSg E/CKYI0dJOYZWeTtFBV96oMGeT+5cfO+lJm4OJb7ebiwAxo3ChbrYK1yuzRRWUXf1qIv y+YjJbbBa2z7g/E4CT9e7TA/7gXxlLCAvkDScU1A0OtljiahM27PMeDU44AeBAj9uPWs /R5rL+sKuuz1ym2uLoAYcsVu1V+5QsmTPOri+zLC24XDoNE7z4fmUn95OU64gBoO5/aV qRW+/jN6B46ZQMRn+NV1WKI+np7ZCwHYNQUGUJQKk8t91FptgzDn9nwQ6e6SoON00dou 36pA== X-Gm-Message-State: AOJu0YzS+PiJPzdiLQRJZccbx9uP7wEMz4mG54NhslRkxLiV1ODz35kM 5Rz6vMvN71DeQGRlqhNYSImDhZubLsvfMRd/U/n0qcruFx6LMOtV X-Gm-Gg: ASbGncvysBiOZGaVXPv/5t61300aws8i4ov8/JTJIfokk4aqPoAj3BrmfKQOaAIm++A W345ys7Zdb2BZxqwHkI9+tnbnqPLH+nQXTSx6GiNoX4PJqPJ30IpJkmAJ//p1i1zi07NqIpU+Qj LFDpFbUqhVCps47oiISvz5VAIyDlItyqiEuWgahfR1FEdSIsr8X6LHuiKMr1acR7BEuQIkuK/YH oXJ+LboH+jaj1ZIX0MBlWp67G10kFCj5/3Lk3HJdHsVdh6v62BjtFRoezFZuVZlv8yGij3Qwt9q wziUZA== X-Google-Smtp-Source: AGHT+IEQ5oFs1ifcABBwjOpA5t4U65S3XXvUcxsC19cuCWeiLav/s9wwWL2jOoOY4wqwjyi0rQBVhA== X-Received: by 2002:a05:6512:3d0d:b0:545:d7d:ac4a with SMTP id 2adb3069b0e04-545181771d1mr2208375e87.36.1739454998935; Thu, 13 Feb 2025 05:56:38 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5451f105cdcsm177789e87.116.2025.02.13.05.56.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2025 05:56:38 -0800 (PST) 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 v1 1/2] dt-bindings: display: bridge: Document Solomon SSD2825 Date: Thu, 13 Feb 2025 15:56:04 +0200 Message-ID: <20250213135605.157650-2-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250213135605.157650-1-clamor95@gmail.com> References: <20250213135605.157650-1-clamor95@gmail.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add bindings for Solomon SSD2825 MIPI master bridge chip that connects an application processor with traditional parallel LCD interface and an LCD driver with MIPI slave interface. The SSD2825 supports both parallel RGB interface and serial SPI interface. Signed-off-by: Svyatoslav Ryhel --- .../display/bridge/solomon,ssd2825.yaml | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/solomon,ssd2825.yaml diff --git a/Documentation/devicetree/bindings/display/bridge/solomon,ssd2825.yaml b/Documentation/devicetree/bindings/display/bridge/solomon,ssd2825.yaml new file mode 100644 index 000000000000..cd7ff971495c --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/solomon,ssd2825.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/solomon,ssd2825.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Solomon SSD2825 RGB to MIPI-DSI bridge + +maintainers: + - Svyatoslav Ryhel + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + const: solomon,ssd2825 + + reg: + maxItems: 1 + + reset-gpios: true + + dvdd-supply: + description: Regulator for 1.2V digital power supply. + + avdd-supply: + description: Regulator for 1.2V analog power supply. + + vddio-supply: + description: Regulator for 1.8V IO power supply. + + spi-max-frequency: + maximum: 1000000 + + spi-cpha: true + spi-cpol: true + + clocks: + maxItems: 1 + + clock-names: + const: tx_clk + + solomon,hs-zero-delay-ns: + description: + HS zero delay period + default: 133 + + solomon,hs-prep-delay-ns: + description: + HS prep delay period + default: 40 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: + Video port for RGB input + + properties: + endpoint: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + unevaluatedProperties: false + + properties: + bus-width: + enum: [ 16, 18, 24 ] + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: + Video port for DSI output (panel or connector) + + required: + - port@0 + - port@1 + +required: + - compatible + - ports + +additionalProperties: false + +examples: + - | + #include + + spi { + #address-cells = <1>; + #size-cells = <0>; + + dsi@2 { + compatible = "solomon,ssd2825"; + reg = <2>; + + spi-max-frequency = <1000000>; + + spi-cpha; + spi-cpol; + + reset-gpios = <&gpio 114 GPIO_ACTIVE_LOW>; + + dvdd-supply = <&vdd_1v2>; + avdd-supply = <&vdd_1v2>; + vddio-supply = <&vdd_1v8_io>; + + solomon,hs-zero-delay-ns = <300>; + solomon,hs-prep-delay-ns = <65>; + + clocks = <&ssd2825_tx_clk>; + clock-names = "tx_clk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + bridge_input: endpoint { + remote-endpoint = <&dpi_output>; + bus-width = <24>; + }; + }; + + port@1 { + reg = <1>; + + bridge_output: endpoint { + remote-endpoint = <&panel_input>; + }; + }; + }; + }; + }; From patchwork Thu Feb 13 13:56:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Svyatoslav Ryhel X-Patchwork-Id: 13973302 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E050AC021A4 for ; Thu, 13 Feb 2025 13:56:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5420710E3EA; Thu, 13 Feb 2025 13:56:45 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FnbmbwFa"; dkim-atps=neutral Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 18F0C10EAB3 for ; Thu, 13 Feb 2025 13:56:43 +0000 (UTC) Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5450cf3ef63so920400e87.1 for ; Thu, 13 Feb 2025 05:56:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739455001; x=1740059801; darn=lists.freedesktop.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=+jWAeUNBmYkGSICGrH50m/AwLjpvZFX/2ULz52wgv8g=; b=FnbmbwFaS/SAQ9vZ3W0oC9pBpNFJFvuzFHus9PEGzpcimcTakcllWVghvAS7dj2H/K YbhPrWGEvzwHPg+z+a5DQeK0a7grlfCN544KQZVACRi/p8fu1OpabVgGLRwst8F3j4zT jPSH7raNbza9lCde3CJ+UYermvh1/t3biKxy39zZUj/K2/vgBNQkbIH2KJnoPH0UMpX1 6+LAVUOLfPhKohVmTcGOpvyjukzyRHpxjG19yYF9LmzlkobB6tvqCQQk3rKgvKOM6hDP 2JbiUPz46NvME72QZ03LmojlB0KVzCy1EeOCFH2AYfnFPwGoERIn5Roajd4FOGFApx6c CIIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739455001; x=1740059801; 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=+jWAeUNBmYkGSICGrH50m/AwLjpvZFX/2ULz52wgv8g=; b=Uz397xLfmWmfRutw4t368QwMNEYaX3MtRkLJEKC6F0GfWKV9ksPdka/GweHLLhq12U aHNyz2NR2c47smRoaqS8v4UI/jAk3OilWG33seFB8R2WAAOHi8Cv82RC2xaCCxwwk3d+ BZYBTd+cgj9fDjJUAdw54HC90Zcki4WNzhh+KcBuoUAJegHpWbMvBw3prUmUOzeZtZUQ SsjnsAninszsZe++pMsAjd2c7GpxEuSOVt8qxy3TuUXdGPCLhb19Oqgxa/+7hkr05ehL ddaYcmMswlJ6EJiVfABNSSDPQBVPxCLDQmsbd2i66gTVqQop2xWpDYTwcLK1QV779Wlg NgXw== X-Gm-Message-State: AOJu0YzTNHjuqm6uix4VRvVh2zr4IoBZD34X+LJVwnwXn5Weza3yytBT twFwBSN6ztQRoGhNpsBX2rcUcKeyEL3oFBeZeV6wgkeH0B2Uble4 X-Gm-Gg: ASbGncv9ZcWoLgDBw+Tp2wucYyjFrR/2U6PrViGHpR8lvq62XZ2i5MwG/GvWCCZC2fe Lv33Ybb5E1ZJ/yIk8bb3I2uyA0kwJ4porFKmIbfxVBaS4Ra2gAvqNJupUXBAAmWUgesai+cDclp kOqteB1I9h4oPuTk6oddgRjbaJtoEMKMlFM0GJrfu6cVK0JpxLcO/KcOB6wc+SqPjHWkWr/wsAg UYWHd8AM2R0VvHi2Ck7iTiR+QsB6xYX+6LXwVGvqFSDDA+oKN1nsEhu66+RIrKUdxrPkizxl2dw 2OhoZQ== X-Google-Smtp-Source: AGHT+IHr+eA9jzVHXCIoM2OGHclvb24qVPJDTuPIiuNrpY0USsnf9HBtRpmZQZFXQE+x4yZ6Yiai+g== X-Received: by 2002:a05:6512:238e:b0:545:e7f:cf3d with SMTP id 2adb3069b0e04-5451dd8c4e4mr1191117e87.5.1739455000887; Thu, 13 Feb 2025 05:56:40 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5451f105cdcsm177789e87.116.2025.02.13.05.56.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2025 05:56:40 -0800 (PST) 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 v1 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Thu, 13 Feb 2025 15:56:05 +0200 Message-ID: <20250213135605.157650-3-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250213135605.157650-1-clamor95@gmail.com> References: <20250213135605.157650-1-clamor95@gmail.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SSD2825 is an innovative and cost-effective MIPI Bridge Chip solution targeting high resolution smartphones. It can convert 24bit RGB interface into 4-lane MIPI-DSI interface to drive extremely high resolution display modules of up to 800 x 1366, while supporting AMOLED, a-si LCD or LTPS advanced 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 | 741 +++++++++++++++++++++++++++++++ 3 files changed, 755 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 6b4664d91faa..74aec32d0f3b 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -306,6 +306,19 @@ config DRM_SIMPLE_BRIDGE Support for non-programmable DRM bridges, such as ADI ADV7123, TI THS8134 and THS8135 or passive resistor ladder DACs. +config DRM_SOLOMON_SSD2825 + tristate "SSD2825 RGB/DSI bridge" + depends on 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/Makefile index 97304b429a53..c621ab3fa3a9 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -23,6 +23,7 @@ obj-$(CONFIG_DRM_SIL_SII8620) += sil-sii8620.o obj-$(CONFIG_DRM_SII902X) += sii902x.o obj-$(CONFIG_DRM_SII9234) += sii9234.o obj-$(CONFIG_DRM_SIMPLE_BRIDGE) += simple-bridge.o +obj-$(CONFIG_DRM_SOLOMON_SSD2825) += ssd2825.o obj-$(CONFIG_DRM_THINE_THC63LVD1024) += thc63lvd1024.o obj-$(CONFIG_DRM_TOSHIBA_TC358762) += tc358762.o obj-$(CONFIG_DRM_TOSHIBA_TC358764) += tc358764.o diff --git a/drivers/gpu/drm/bridge/ssd2825.c b/drivers/gpu/drm/bridge/ssd2825.c new file mode 100644 index 000000000000..823f6dc023a5 --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,741 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include