From nobody Thu Dec 18 12:13:16 2025 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (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 DD10F273FD; Sun, 23 Feb 2025 15:33:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740324800; cv=none; b=Eef1lBHWDQNuxiS2MlitsEdQh5kWnoT26eNKZ66SfEnHXbL5g5p2gfhXLTV8pLNZZgAxiwrvF1cl2lSDsAqLHf9J09uori3vAM7z4H48tH4kWWTmdQBvvwD2/+lTUpuSwMJ4w8QcWK7TktjEXVTfaxdi2UB/Dxq8GxJhi48Xzdc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740324800; c=relaxed/simple; bh=96RxRdOC2EGilyMcMYEekHxN8zBGjgz/rtOQwzl0mF0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QVcsOI8UolwqPNQa9GCj1k6MdIB6WzKqmDtUFpaANfAXNAk//4lLUy6DJ4/fiXhy3I5ye+q6JiLjBHbdLUrpi8fzS5Qj5JO53vHimpF7voziBtzVwjDyCQo2MSHywS1b8DfvtKLFSFMmkKzftTKE8cP5RsVSEk0oQ7v7X41Mxqg= 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=XF8SI+e5; arc=none smtp.client-ip=209.85.167.42 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="XF8SI+e5" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-5461f2ca386so3195743e87.1; Sun, 23 Feb 2025 07:33:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740324796; x=1740929596; 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=/xNQ5jZiYHJ7mGqPVKrUERwUHV0d9NVp53zY7eeij3s=; b=XF8SI+e512ftyFyn2oDO91CTFzUiCRXOJRJxOVjPnOmnGkUqZ0r5YZOl9ssf6MS0eQ jxHYHHuXbGmQzIu5QjWV4ofYcawP6TBCEyyuUFBQwp1vn+GbnFQr1+vYVF0IixLJK3Yq /xdCCRvPOEByuSedPfSJ8KuRvAR8LeYRJJfa9aXuEWQaFU1yK5zRMeWzkD8ujaMtkAtC a+zU7j2lvEHUGdznJMGI/054Y71npLDfXmsfIy1r75ehbkSVxAZZzi9D1McOegM+MC1Q MnLeIJ/N8eijQ9XiF2KetoIqGAcs84GTAPoBg4KQnX79V7AsTnT8zPscZSABdk6meKXL 81HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740324796; x=1740929596; 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=/xNQ5jZiYHJ7mGqPVKrUERwUHV0d9NVp53zY7eeij3s=; b=ZbLHTvmXY12LTOmYqp/fRqDtb4XypaAax7RpGNHHYOCZCjVhk3wv6GdMdl/5ASFiAr E8s1a9Mt7jjcy6od4Qp3dbIkFxw1JjZOh1XOfFB40EutlYv5lO0NAXv6rDK6rW4P2Me9 SjoSGpyLbDl3cTWTYgD0S8OKaf8q3zN79gzam0n4FlAV6dmOcA90Jd2mUFRJy056+Sa5 cSbXCVql4Mj/ICjqg9tGo/hWBkMfic7U3WdUItwjerZn4MNbxKF6blbD6gzns3GF6Bet 9d7bHj4yvLcmvnVMPhE0TfZSkINxKubPfQuXOMYCwrym1pEIbus1YBSKm29HZUw/1SAC 9+MA== X-Forwarded-Encrypted: i=1; AJvYcCU6ciWDbYlz54ia9yPd8icUQW3HV2gqr+WLIllfLiklowdtZIyvX5Cxbh1/YIWKTYlirLIGT1tXuJr8rSbq@vger.kernel.org, AJvYcCU9Rv4cHLjMMayuYIfhJZ9AY1ZlD4S2anGxC9lDXPl2THFp2Aaf4f4Stb3cWVV4f/oikNfImGHt451T@vger.kernel.org X-Gm-Message-State: AOJu0YxUC+bXrCcvQ6PxOMMaQRrHwpPbfjFC2JR4RPLrEa3IA5DkUaug qOk/KFbVXAlu2tL0+mTKcEjC1PMMlqoWQH46xGLEYCEfFvY8HZu6 X-Gm-Gg: ASbGnctlaY09ulFoDZu4eFETXIYyZFWaft62EJlPzlBNpwf4CTCCrMggmebB+gM4n+F dl8LKDT0hEwNfxzp5lf6SIrIRv5Jji0YKgy+VsjmTRI9NLb1PQYGee9zuoVIGABd8jVVV3oh8dD vORDpQIS4PeKl0bZqIl6ssFZ7Ch661O63tk3BxrdlICDkKtgvXwABDx2q0/quK37WGtxxNi1z42 Vr6vG4cQPvnxqDADGNBG5D4lp7VOaS3Z6naAqZGkvnYoVT/ZUtXh1a0B+UrKwCepkSutw3y2g2U Jo0lzRSkw4oc1p07 X-Google-Smtp-Source: AGHT+IGhZKv66hyZd+R0sYrlUmONkzFhnHU8cGFVJ23YKzN8ubomX18t1RVBEPxkcZ1puaxhe+enHw== X-Received: by 2002:a05:6512:2391:b0:545:cd5:84c9 with SMTP id 2adb3069b0e04-5483912fd22mr3448281e87.10.1740324795595; Sun, 23 Feb 2025 07:33:15 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54523dd8ca3sm3025569e87.181.2025.02.23.07.33.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 07:33:15 -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 v3 1/2] dt-bindings: display: bridge: Document Solomon SSD2825 Date: Sun, 23 Feb 2025 17:32:43 +0200 Message-ID: <20250223153244.149102-2-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250223153244.149102-1-clamor95@gmail.com> References: <20250223153244.149102-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" 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/solomo= n,ssd2825.yaml diff --git a/Documentation/devicetree/bindings/display/bridge/solomon,ssd28= 25.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 =3D <1>; + #size-cells =3D <0>; + + dsi@2 { + compatible =3D "solomon,ssd2825"; + reg =3D <2>; + + spi-max-frequency =3D <1000000>; + + spi-cpha; + spi-cpol; + + reset-gpios =3D <&gpio 114 GPIO_ACTIVE_LOW>; + + dvdd-supply =3D <&vdd_1v2>; + avdd-supply =3D <&vdd_1v2>; + vddio-supply =3D <&vdd_1v8_io>; + + solomon,hs-zero-delay-ns =3D <300>; + solomon,hs-prep-delay-ns =3D <65>; + + clocks =3D <&ssd2825_tx_clk>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + bridge_input: endpoint { + remote-endpoint =3D <&dpi_output>; + bus-width =3D <24>; + }; + }; + + port@1 { + reg =3D <1>; + + bridge_output: endpoint { + remote-endpoint =3D <&panel_input>; + }; + }; + }; + }; + }; --=20 2.43.0 From nobody Thu Dec 18 12:13:16 2025 Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (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 A725120B1E1; Sun, 23 Feb 2025 15:33:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740324802; cv=none; b=CPwA2y8ixSRFnnsHSUwMJ4N+x7htu/w9vfKA7EzXNEdEoY5ST9YRUN3Qy7peEapZ5q5kkvC17SNn8f6DqOmA7DZENLjf97gXnnEWJfo+pXgKku8O2z1zdraqQGIrvh+MUVewB0mZwIpGamejTl5P86teKNESYBVBbsOUTXYhr6g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740324802; c=relaxed/simple; bh=1P3NMOnif0Lu/Wdk5Q7PJAtZ2TA49ZlWJcM3LakJrOQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PAsDDOT3ldSPb4pHNYriEtH9KV1qLMK1CUMpldb18RWZQX9Kpxm/46RJ7y8H/zE2p/M9Ehrn8awYIkbvi3jAyrbCy35QY5w2RUlBcOBHRbz1RApammmMGITLmXekNhRv/7wiPM+C0Wzcseqy1sdf4c6hN/OVXEckcZw/ydC2wq0= 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=eloBIBd0; arc=none smtp.client-ip=209.85.208.173 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="eloBIBd0" Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-30a3092a9ebso41741091fa.1; Sun, 23 Feb 2025 07:33:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740324798; x=1740929598; 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=78M/0Nez5cUJxIBZadJWbUxgypznPIuSGkiLHMGj3oU=; b=eloBIBd0c6IOiQxuY6/vsRjjTifslExAqCHGojjloOS7+pOH6cWeVBuuHPPHnQC8Qw i1FTyHPqkEGUUrulngrvf7HdXmEPH5mDpmbzP8fIdi8inOCguzkJLG5kFHpNiVNM96Ya iBL0B8Rm61X00XenjX41s1zGLUeKB/gobiieD9UK+kvSyL7rmHBpDbHALOGsg+wyDJlh sMJ3wu3mCffy+vmZaznX+AokUOxGCt5eXpREwuhZi5VlIpc4wUGNjH7WqnH4e3uOFvgX Hp6sRpgygroQeek9pFp9HC1aA9L7riGQR9/27g51ZtPSG8XvnMOmmhgEhtJDPsaA2oep XWlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740324798; x=1740929598; 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=78M/0Nez5cUJxIBZadJWbUxgypznPIuSGkiLHMGj3oU=; b=K1jQAohWu/Ct3yd573g8+ZXVQrrJStpPVWstpLupDHiMplxI4r7UizJ2Jj6yCwmX3c qV7oPQbHFHRsBM9bTE0vPBejK6Uov25Mmzk2ln2uZoIkYxhJXqW2ItZiAWQS2S7++E5X kcm07YRRD0pv67phPU6bZUwSLLQ/+E2v5ujWsFfHK3haAF56sr7IVnIgjPFThfvgHGA4 89nez3ulvqmqkMyeKrf0yfFyzSOKkJcfEZy5JbW5L9Y2JN5sl7C2uqCb0V7UUiO0Dwpl /M3KEwYohhOSpfe5Yn2xa7eGuWX1ixOalVAdpXV9dDqUgb7hRXF2bU7CIk5WfeUbZrro zadA== X-Forwarded-Encrypted: i=1; AJvYcCWSpn3Ez4A1uJ4TS8TiBmC2uE3HgNaj6cgwZjLoglOm62BsFCZMz0s+NrLYOXw4KOYI7BVCAKhLSbf3@vger.kernel.org, AJvYcCXoIuFcQu22Eh2Fp+ZZibgGMNJZLQ4MxTq7+1BblprK4UN5e3Ac42MN2/gCUcCTaJ6LKz70yI3B8BIJy4CX@vger.kernel.org X-Gm-Message-State: AOJu0Yxae55bK1moLReDICgTvpLB0/PBa91AXtBwaHp3Y4giiXjiqQkp /wu+O5hnwrW3NDyinY/pW+xc/fIoxNsZoEff5mDVIeqVyEC6Hye7 X-Gm-Gg: ASbGncsNoxYGRYBlwVJ8vQny72FG9AW/5kAPCO9uAjux/ZUOIWfnGxAuoC43i+2UAe2 SxwSg1nWSC0grA7wKEQ25DDz2Qp+ab46OfJaBJKBdN3XJVpdfv0zN9FobYApaYzqujFZcmZo2Wm SdckCHfgw3JIWEWxfShGwrOLKmrD2c5Id2dXKlK4grNiDmeCPzvOxDnAuzs70W4pcyfkliAdjOU tjJbmRo9v6vwvKIpXk0vbf7n+HaQZD+qu8UrT738n5V7n8EDEfwSoOc6maNEYS17d8mspBEOkxh 6npvC3UiFoaF5qip X-Google-Smtp-Source: AGHT+IGnfAOVfNJC7Xp2SZDDh4llQv3SYBgcWo9LVlo4AgHfPoBK3PItV3XuZNdyMAJ5sCH9m43AcQ== X-Received: by 2002:a05:6512:1390:b0:545:1773:30a0 with SMTP id 2adb3069b0e04-54839140092mr4141379e87.21.1740324797277; Sun, 23 Feb 2025 07:33:17 -0800 (PST) Received: from xeon.. ([188.163.112.51]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54523dd8ca3sm3025569e87.181.2025.02.23.07.33.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 07:33:16 -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 v3 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Sun, 23 Feb 2025 17:32:44 +0200 Message-ID: <20250223153244.149102-3-clamor95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250223153244.149102-1-clamor95@gmail.com> References: <20250223153244.149102-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 | 821 +++++++++++++++++++++++++++++++ 3 files changed, 835 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..8e915bab1cfd 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. =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 97304b429a53..c621ab3fa3a9 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -23,6 +23,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..102e24a1fb40 --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,821 @@ +// 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