From nobody Wed Oct 8 23:42:14 2025 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (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 42F3B1DED5F; Mon, 23 Jun 2025 08:15:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750666534; cv=none; b=XxrbKKWWFWNDqCV0y9XuCcpIkPrbVDYNFNNPoVT2kOi3epm5oQeiScyH1+/JKuXQMntiCrKxDQozuQ13Bt7BQb8S0vpTeYcZ6QkQwxIlajMtlEXLIJgZpufwPsUPrXoGs9avfV68PYLQDQruVJOalmjNICapoj9rYcwwdHAbiHY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750666534; c=relaxed/simple; bh=Qnk8ApjKHe7cIi2nAfJHQjcWlleZ4gTm+u7X22VKTFg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AjPemKB6XGBHJOfbR6lVn5d+0XEkoOt25ykeJEd/xYVsMxLBu7evilrjrQvB5LZxswt6vz5oZ5DwTfsU+WO/iZurGu9rYfbw8I1nt8gUMv+Fv/acXflzF+FIknpJ8IYgWoITz3u9wbL/2SdnbQ3IeFq6SVptKsCO2IppYWHBYhA= 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=AXy42Ybf; arc=none smtp.client-ip=209.85.167.41 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="AXy42Ybf" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-553b584ac96so4033080e87.1; Mon, 23 Jun 2025 01:15:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750666530; x=1751271330; 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=qhA4vB5QX4cGx67rLq/kl8NrO4ybnOcVhUciXhl2JI0=; b=AXy42Ybfx4dc1Smf1/R88JwqlCSCewm5ZwEXjJ4lG11GKKjw8QmyAV0is1yiE95sN4 3N2ByleJn18AWEDa3uZ+7JtonWUeo3hFrHaNlBBT/vaCeEFs70wWezUPDEnI8e16TRbR c8fsDnEuLSYbljoV17wqpTKXSxYoEV/cKWHtjWWPrE7T0Gy74dOzzjEpGhK43U5dFazC 3dhVL2vxyoQnu7ZfxnBY1TSZaax6yaWHhsTnCkW2+P/w5m/cB7IKMHQUjGWXUI2qhm8L qZ7E4CCbG9hOw49Ee5Gn9UWO5EkeXABW7+u1tZbW0xhns0MB5en9htsGD82dJDXhP1jl bGXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750666530; x=1751271330; 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=qhA4vB5QX4cGx67rLq/kl8NrO4ybnOcVhUciXhl2JI0=; b=VsPzwxv6baZF/kj4XvXKpOyHT/+Qw098mUjDNJwTQe9+bR5KVqnDLTlY2RsrCZln75 yUr628tQsDAgd4ykc9x8IZ8SquxqcNTV2kZwQz0nBWAOld93l6UbuG6JrEDAjU+C4vBz H2YYT3Pnq3aGwSbEOy1UGqPuPW048o92aV85is7Lv914md+AHz7h9yiayWab75iKg2OL QXP72pNQafAywrOv8uPP54aAt+Y6nPOaUqeRzqIdRnWkQpH1OIqn1Y/uNh1atZU2UQ/h 6M1AukBhbpAYy6ArOlWmFEt2UjpomoKrXBJ4eIejIqaHo/VY4pqHYlJpwUIrWg+uBzE5 ekTQ== X-Forwarded-Encrypted: i=1; AJvYcCVZyWKhOcc9L/EH3OItjU9F5KQrmOwRl9dv/eNP2nFpzjWChZWmTEykfm5Sh4cSD3kV1WZkG/cA5/FoYrqe@vger.kernel.org, AJvYcCWgj3IN4sp0pNhKTlsovEZLmWNYHxITfvdIJZW4Ef074JdgO2yqpcMQ/fBdvgqhVBDDW2o0WhvAvy0X@vger.kernel.org X-Gm-Message-State: AOJu0YzFbyqd5yuvokfmTn3EfNOvANF/l9V8F/S0/Ge1y+cG4NchSDCn 0uPVt7hA6f4RuvLGYRs9Osl5z3oeZmS2ZUP+zs1U3E018BklgCbIzbrLXTcmog== X-Gm-Gg: ASbGnctmH+6xzmwVmk3k5WmLFJsVs2/z/tnIfk9bTev2ytq+lftvyrrSMkdJrnvJieS lt9vObmpjCwwYq6FbllEQHE/QeXa1xS+A5Bejr6eitRPo15DWtx05VZBUj6qpigsy/KyH2A6OEa ZuEhK8xgt/GhuiEmxYVQtoKEU2vvu/BByTzxI2lz8W6cEtgF90naHphQI3m0uxBRBF45U26rxtQ 6Jko4gikL78zCvN+7TuzqNkUxqKw0wPHpZMWki+w0P0TuR9yL+2i3fdxjqZbC7utTX7xCwqiAlu Qq/ecMrymJ6pdO9gio4vGuxFmtujyKyb6tNIcpObAlROU2D9V9bz1A== X-Google-Smtp-Source: AGHT+IF3QEi+k6EJ/xY0gmwMm2BjKyfzFhvFLowpbK8wmnngpEVMkOKV5dcDODOgqZ35fxin2tU5wQ== X-Received: by 2002:a05:6512:220b:b0:553:260c:1b90 with SMTP id 2adb3069b0e04-553e3bfed7fmr3615305e87.32.1750666529626; Mon, 23 Jun 2025 01:15:29 -0700 (PDT) Received: from xeon.. ([188.163.112.61]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e414483asm1308072e87.52.2025.06.23.01.15.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 01:15:29 -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 , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 1/2] dt-bindings: display: bridge: Document Solomon SSD2825 Date: Mon, 23 Jun 2025 11:15:03 +0300 Message-ID: <20250623081504.58622-2-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250623081504.58622-1-clamor95@gmail.com> References: <20250623081504.58622-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.48.1 From nobody Wed Oct 8 23:42:15 2025 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 241BE21638A; Mon, 23 Jun 2025 08:15:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750666535; cv=none; b=AG1quvnXCtIxJeBH515xpkLS43ZhJqlXV7f2ZNcjC1cmg43ZoxLZ3vrFPyQLJRH/clYTOI3HFeNXBUtwYBgoBd5P4DoXLwVVLR5X6H85ffL5j2b08fMjD7GlXf+m3FngFFvfvAQbNF4wN4+xnsjuM/KhCASXfXSZ4BNmuEx+iIk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750666535; c=relaxed/simple; bh=lg8hOlH2K6ynDAP9tkZ9gcGmOGTX38D3AGuEgMWCXDA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bsaj1f7gY+ZgChR9dN/RvIp0AL6mf1AOUlfcWexzv8+6vxY5tDgaEju590ge/ORAhlBnb5FhNxMxj047e+IyWAwq62shwMsFC7xGA7DUNxLiWxRcPWGA57dHNaddZZXq4bDen6SZ3YUyn1IJy/d4s+OTjZ3DJhHZGT7VHoXDQsY= 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=KWizLlQe; arc=none smtp.client-ip=209.85.167.43 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="KWizLlQe" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-553ba7f11cbso4276233e87.1; Mon, 23 Jun 2025 01:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750666531; x=1751271331; 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=KWizLlQema6NCDMIPv9H54kxZaz50Qf8uW3UlKXKk1ZVL6oBOVfapEqzDI49byinQ4 PNhkIrhTuSrtnCzvcrAy2sjyfuPeWCatuLJ5MjYYioT1l8Y+fCmae40tmnU5iUpKTJvb F77TeH+IcWHOrhJqY/NwZHskfBPEpzEpc0So3Hs8ZGrWoRf2/GhsMgkf+DINdL8Rblrg wUE/zeCYSdA6o6h6bHFo4BSGT+rEBU7/QcunJ4DyNNyFDEvxL/QJ0z/xAsVhBRmr7f+A JgQ/Ka7KVaOBHSnjShfZu2S4qyCOuJatpd9cntHOWE4NqFAh5v5u5+XVZRb8Q4FPWEWg MinQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750666531; x=1751271331; 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=QAMT7dm8n4107PSy5pW+MhH5MLwyAR8PED9aIGGUv6ceX6xfhVvbKJO9R3wDTBv4is aQxijXxsS8ErIRd5CF5ifYNZD8cs45jAYV/S9GgQGO9clNw0mHQ+g3+Z3xuKkOCxIKV8 lVrDuqqT4X10uOKcoHYmV/vBZIGSAzN3ZafkqDk1BqJq4xtsqs3IcmF2Skkp+0iWHz7U fhdV4SYdHXsea6cZh4X+cEqentbU2w9NgmnFIve9rP3w1v7a25lj85Fbkgn3t5aO76vs 5MXyyZJf08T9OjMTgRIk001FQGwIRzbrMsDuelB5B/STIYaLd19hvr9iu/gOKuvBf0b5 2ixg== X-Forwarded-Encrypted: i=1; AJvYcCUYqwPNII3q78zoB14VgQx9YDzBd1cDnRMDagAcj/6rC4Y2LuujyGNU68Qm5r3xmvai0pMvvtis0yRE@vger.kernel.org, AJvYcCW1BBhrjHwi+gFg/2xF0rj82mGBCTiLY0EzwASSKY1nNLuqe7AACJW5//0GbUNXMvcSnO7PV78eak4VvegE@vger.kernel.org X-Gm-Message-State: AOJu0YwPTserWjwX+/BoLR23StIejMFmq0ZLVL+Ct70O9Ewu0lyu/ZmY 94GbKIX09/zPWrREypjgopSp45rfYuW4+9OoM84kGBhG0jIDCmvln2pr X-Gm-Gg: ASbGnctD0ZcGzY1/mMSQN8gEWXhvuxsFn9W93tt+wRCkpWx6bho9W2ngl4ev6GpHy4E EOwD5m0Rw+lD2X/uw658kSE0F3g2eFIuWo2V6OgzeWQPafPX6vK55LX56CkkKyBa0bzabv+g675 rUxrwQcr1W+vovFnzKR4X7dYHWGg2Od7GMS6auQISkyJ/6bz7gdiAAtiAiXusLgvtJisuG6fk8y V896BJMnGL2jrYouyA5Gox3FLf8cOBbachdTw025JhipGhShnopp1WVoukthC62aDSG/YEIjUeM a7yLJDRpVvQ31V784ust1Rj0YCX9PTRv0M5tmw32ke4lFGw9+s1EhQ== X-Google-Smtp-Source: AGHT+IEsbPedNNWbSovgxGxhmDUHel1SKwoeBqNnLAnR0LjHAMn/EwsMxpRbBBXXdaS3hdr4pDQhBQ== X-Received: by 2002:a05:6512:3b0b:b0:553:20f2:2e79 with SMTP id 2adb3069b0e04-553e3ba840cmr3001945e87.13.1750666530783; Mon, 23 Jun 2025 01:15:30 -0700 (PDT) Received: from xeon.. ([188.163.112.61]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e414483asm1308072e87.52.2025.06.23.01.15.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 01:15:30 -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 , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Mon, 23 Jun 2025 11:15:04 +0300 Message-ID: <20250623081504.58622-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250623081504.58622-1-clamor95@gmail.com> References: <20250623081504.58622-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 | 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