From patchwork Mon Feb 17 14:09:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Svyatoslav Ryhel X-Patchwork-Id: 13977921 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 85DB5C021AA for ; Mon, 17 Feb 2025 14:09:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0851910E264; Mon, 17 Feb 2025 14:09:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TeukRiut"; dkim-atps=neutral Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id D818A10E264 for ; Mon, 17 Feb 2025 14:09:27 +0000 (UTC) Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-543d8badc30so5215069e87.0 for ; Mon, 17 Feb 2025 06:09:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739801366; x=1740406166; 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=NBvpaDEnRYexWP0/rCT65mQ1l4vlz411qKmQ+5kOMDY=; b=TeukRiutxRcQVZZtZGRzGPSLAuZKnrIuOEL8zY4vD477oPWqTZrR90uf5ajt8tcCa9 WE426B2qQNRp/sIyoHtqwOgnMJ0fuxyarGKsEe5CuXXUSl2Jp76h3wnEqIn2I46UYyh/ C2JHbp6nGB7037xYi5o5sr3nqPR7HtMmo/75ev7o20FTIQ4yYvp4FrvIN4IXi8aFJ3tU vp/76DK9RWoPXTS5tmLaxanfvI95Y+VnW21w01Wjuwhw95rgJbV+Ne+ZYGUVfYACCVRO /PhzNuy6vviJpXv3gdnc8rOMjl18qLbO2SYGuH0/4oqM6SJeHa72zrqoQOLvTJbosCkw gW8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739801366; x=1740406166; 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=NBvpaDEnRYexWP0/rCT65mQ1l4vlz411qKmQ+5kOMDY=; b=vviIgu+XokWFpGvQQtcCThc5W4JFh9s/dZQzzsNrcoe1Py4omj8fj7IBYLysG2EY/2 8vSsJ+2RAFhprBvNyXSyNnutCJwL4YkXznthjUXoRJ0eXqED08DLZMSkROALTpFRZrNV 4Aly7IRcWZlC/WRVBaXxdpCmbMMy09Qd5ZCNKr4k6MwSDSOxaHLFepamaJPHOoQwY/mP mQFEl2aZHxcMkaivd/LTJNf9+SIug1KOYI0VEi3vNctVbo15VgDUlCWekAnHDENADkW+ Umc5ygEbSck3AybQrtltgYjueBduyp51mZJYO4vHZ4DygycNdosVFC9EZTEfwmtlNG+O V9qA== X-Gm-Message-State: AOJu0YwMf/mBjYWPuQiBL09X+E7EpogGluNYE8Jl9jKFTl62/7gQ8fgJ FvaXxGqesw7w8xLMGKa4sKKAK1pWFOFRPCd7xoZFaICTE6ecRl2f X-Gm-Gg: ASbGncukBj22P2LU1qgRcrV7Jgb2HRCPAHb29CyUD2zGhKy6c8bIluUSAtl6mNmaKhm 0WVcH+sLo3duQ1+vqyZWC2Brqev+NM3j6IsfMkvl4lonE+QSmOOgYr3qFBLqkJ/HUExRIze/01i WPrYCHmAapC6Aui+zLjNVxxFgZSNbRehc+odsnhNZPL2Ei4WoaK9syxcTy5ncS2FzIjSR404xkK wNiNiXNenIQ0sg9ccbie6b+3glvKM7AJDYm6U6hqCUSygpqubAUJyIc8YlUsK/VWDCTaJGVNyGY xLPspA== X-Google-Smtp-Source: AGHT+IFxia5DKdKWgX6hkQJUH6EY+CAt795XfnBfkMfO9oSW6FA40NQb9/QyEftvaXCvsImNdilT9A== X-Received: by 2002:a05:6512:3a91:b0:545:b89:30a4 with SMTP id 2adb3069b0e04-5452fe6369fmr2389050e87.29.1739801364482; Mon, 17 Feb 2025 06:09:24 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54531b8ac1dsm866855e87.75.2025.02.17.06.09.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 06:09:23 -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 v2 1/2] dt-bindings: display: bridge: Document Solomon SSD2825 Date: Mon, 17 Feb 2025 16:09:09 +0200 Message-ID: <20250217140910.108175-2-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250217140910.108175-1-clamor95@gmail.com> References: <20250217140910.108175-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 Reviewed-by: Krzysztof Kozlowski --- .../display/bridge/solomon,ssd2825.yaml | 141 ++++++++++++++++++ 1 file changed, 141 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..e2d293d623b8 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/solomon,ssd2825.yaml @@ -0,0 +1,141 @@ +# 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 + description: Reference TX_CLK used before PLL is locked. + + solomon,hs-zero-delay-ns: + description: + HS zero delay period + minimum: 0 + maximum: 1700 + default: 133 + + solomon,hs-prep-delay-ns: + description: + HS prep delay period + minimum: 0 + maximum: 1728 + 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>; + + 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 Mon Feb 17 14:09:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Svyatoslav Ryhel X-Patchwork-Id: 13977922 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 2DEB2C021A9 for ; Mon, 17 Feb 2025 14:09:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A30C510E286; Mon, 17 Feb 2025 14:09:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dLFHZgQN"; dkim-atps=neutral Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A80E10E264 for ; Mon, 17 Feb 2025 14:09:28 +0000 (UTC) Received: by mail-lj1-f170.google.com with SMTP id 38308e7fff4ca-3098088c630so15795641fa.1 for ; Mon, 17 Feb 2025 06:09:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739801367; x=1740406167; 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=ciy+5XcpcAscK2izNPHwRlg361ofDyui4agTOOyCNlM=; b=dLFHZgQNAVuLzYNSZMo0B94cOuvbnVFljmNb6QXXPaIV9Zd+dsTgfbOKirtBoQCHUc 1AGXmTkBhNBbt3IwLr2VDI1jCRZyuMynle0/E4BQHscT2U7epFQSxyTEeLCaWv/xE7/w jGPPPsegcxVCw4ZOl5Qp7RPGENamP/F/V6bAVOMN3f8MZUT1mlqlRhXWz892r+sc8e7T 6OkTGHpcC4L63g+3LTdKGPPX3j83fOT0cwfJCx/wvziqEUcNaRFC2W5lmzFn/YW7J2dX drbjuLWSsFVlKT2uAyfL909KkFB3A7aKzf9p4hwUCWS5Lb71vFfK4IPmvDtupPzHA7C+ AaZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739801367; x=1740406167; 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=ciy+5XcpcAscK2izNPHwRlg361ofDyui4agTOOyCNlM=; b=IuLCk+ZsFIvwo2yocheU6IcDZFgljHrmuhbRspGlYoe6nLDB0ab/8D2c/rqBTDdeL2 iRYoUaPeyjmU/p15r8MLIKGpma0pWf2zhhnBfARDQXFrNZq7RWRsmFf3FKfZMQ02rKM3 Z2TFiCQFa9m12HImrY/pssxmV2r7fd7Ao3WXvseY2ZUtLS9Eq9v1/lvti8wAo5PPLD8d wCG/FdAVKuY4MdQeE4MLt3f7v4j9Bml9zMVAaP2RVrN5nulSVCb1bEzu76V0SqtNpqPo /y1xD9bAGTVC+1rBbPZMcsMr2zfZ6IqmHnbz9IlDw+7FSy3REr8/mIrsSzufy9yEgq+9 ndeA== X-Gm-Message-State: AOJu0YwImD6MZZS7sdR4oSQ4PiBlRUFEHjmScTVVccXM1V1a3YLPf9Cd NF0XDUgklYBYL2q6NP0r7PjSxahk8MOoYNksO1XZNA+dNyQauyWO X-Gm-Gg: ASbGncszF2gC+Si7y9sg+0fMyT5DoLQUNBgkWHV5UN4pHPfrf0G4GUeYttXOCewqk4S 8NrZneH37DZvf7PEmalreMti+rNa27hCowVVe18ITi1Qu98RyxYNA5LoxejcA730sPOH99Oxld1 0yZA3PQWB49TTwYZ63IesETMO7WZQnAkg1WthDOAAV+G8UUZyXU5cw6SA16U84WiO+VSq1Ry6jQ XwmtwNXj02QrJujDcbSvku6Jr+Rvra/fdEngxa9UDFG8wgTqr++C6TY/5HGrFFxf4yFH+UIevBA /LMESw== X-Google-Smtp-Source: AGHT+IHfLywelDOE7b/EzPtWDBl8nQiFtlDzeSzpbZghkpWMJJYzUzgFjNuWzOkvP+3rPBZePlgF6A== X-Received: by 2002:a05:6512:ba6:b0:545:bda:f20 with SMTP id 2adb3069b0e04-5452fe9041dmr3192641e87.32.1739801366409; Mon, 17 Feb 2025 06:09:26 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54531b8ac1dsm866855e87.75.2025.02.17.06.09.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 06:09:25 -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 v2 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Mon, 17 Feb 2025 16:09:10 +0200 Message-ID: <20250217140910.108175-3-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250217140910.108175-1-clamor95@gmail.com> References: <20250217140910.108175-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 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 | 14 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ssd2825.c | 824 +++++++++++++++++++++++++++++++ 3 files changed, 839 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..a6eca3aef258 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -306,6 +306,20 @@ 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 SPI_MASTER && OF + select DRM_MIPI_DSI + select DRM_KMS_HELPER + select DRM_PANEL + select VIDEOMODE_HELPERS + 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..cc6f5d480812 --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,824 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include