From nobody Thu Dec 18 20:17:38 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 26E5824BBE0; Thu, 13 Feb 2025 13:56:40 +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=1739455003; cv=none; b=ZegdpDrvpWAqCuKYCtMsMkQqcA99QGp/bZZAHndJSZPuJhzrNcyYoRXpwHHPVVqCd6ewwTx+2OUy9r1yfFOpNwX/NBCLxdjBNu1NxtPixDSO5KBBZVgeomlqvsXbO3o044tvsaWJezY7VCb451Z+RruxYPn679VfePD7eBg0dy4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739455003; c=relaxed/simple; bh=MjbfY61IU0YUEm7VqTwHxj+rCjCkApQN3mOQK0DAL34=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cMLF2wH7mWMCTsJyvdI8bhRvFpBGHmfSyGAdnkpTzxcUj1nPJUaWpi7sC4gveSvo1K9U2MCOXrnEJhvr4QRiZo9yz8w2lFvERbiu21JncKOI7b1TJ9PaAugDpEl8PIj6rjT0SU/2MDzmRclVQ4JdqnYZ5IR7bb+wto3h2nkKd9k= 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=IgFTW3VU; 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="IgFTW3VU" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-54509f46614so896862e87.0; 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=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=b1IGkQScRodOBygrIsMSnLoiENI5KM9I94X/GE+75SU=; b=IgFTW3VUoGra4JzCs/phe+2ZBekGCX5d6ybAaKMUBTW7L0Hftahf4ysFSBp+yo37Bs a/mLFCL8aYzl/7vQjy5y6llDL/WE4Ulutu4l0UXy3WN5zFNN0htelMutFbmr8C+tIP5H c+YStMWcSMxm3u5PwCe6cLldOEE5JHNErrztNZlo7ZahAbnZyEFB3IxM6bw8IIrk3kFV /URUO4osDyo/0dLAsg5gwE6/+8S6zdveK5pf21P7Hbi9ejWmhyPZVswd0/T6BursnHSQ 101pUJXdQVbtk6XkZh4fy3eaKUhQgpIe9lFcXDXZHmcJECLHzUmdvwn1ZdJpyrWhUs2i wrOA== 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=GPOf6cVqpDfbyPVOUij0gFv5qSh14jj6LIEn5h9LdU3i6mjb8to//U8Tye8KQU+Vmt x0hWwpPVrGgTrDnglQ2S/GRH9FqIM7V1kH+OAlpt64isjsGZKSiNhmbcGDFQF3FfCytG is3C2AaagUcvxSrUMgzGxFYaxx+i+H8N7wqIYeuZwXKghmWr1/NQ7raftRPsZv1ZDQ4p ldmUE9BdrhkITxeWSIDKFbpT0+qGjzWVP4uhhKa2JSDeYOJfWEFBYgtOQ2JrwEYj/E+k a8ZcMTRPpPF2Reig7RhlrdNB1N+sAY1itfy9RifL2IF/U+tANn2d/XqM35PHAnTScg6d 6w4A== X-Forwarded-Encrypted: i=1; AJvYcCVQ9onLUzVCl4a6bULjHjt49rkANlmi/ZFc9gk5f9ot7gmhzQir/UBix51eG0IP1lIR+oZekhgquah4@vger.kernel.org, AJvYcCW8MM3MhG/9N8UmvYVGhUUMT9LiwgALCa7NlsuTTXhiDczhdMtKknX8hHuz/gxCL2KFftqQ6MU0q/fOaKOx@vger.kernel.org X-Gm-Message-State: AOJu0Yz4JEeejZKBlpeP4jXVkpLfkdRT0aYIZuLndPD8S+y3pZpo76mc HdPjdTvDzOb0H8gwDW17pcAY7bzmKPEJ9NWywNS7Hq2NapKgbMGm X-Gm-Gg: ASbGncsuKPHlwcUoFBrTtcD5AlBzsozk2CHRr044eRCW0J/zOlPhJGoCCheCAqeM96C pQvvwVpjMTefhoQPhAOU+FtSPuka0dKFWK2MiOa7hPNHVzxcwGOrfZgYlNbqlCTp69BivFsaS9Z EFsdE3mi033WSLJLaajVxohURtbZmaeotcCLZvlCs6mbM5/WdiA8Yy7h+ytaseHj4evlb6L9CKg 4KGa0aulAKS169EDdI0PXnLtSRIdHKsMSkZRzPTb60RRQatY7xTd/k7qURKXNRsupJJXcuciXWC qAIGzw== 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> 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 --- .../display/bridge/solomon,ssd2825.yaml | 140 ++++++++++++++++++ 1 file changed, 140 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..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 =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>; + clock-names =3D "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 20:17:38 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 4D34C2222C7; Thu, 13 Feb 2025 13:56:43 +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=1739455006; cv=none; b=tQ96/rQlBZTsz5x4DPp3Dsz+eNbNoQFXSxGhnRZQNhnR78r3rbsLLonreunCbwJvwBp4J7d9/N2zX0tSSEpJ9TRoZhrBh52FDDJKSCQvlF5jqKwd6TANv6N9/3hgbwl60qKVGG7EjiB1l6LS4JRSUNxdZ6a3SnVUNgse7quwnH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739455006; c=relaxed/simple; bh=ay/NRu4hSpAXEPXlwWQ6ljEcQ5O5JtvttWcPC4+1X2c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k3y+FoLdhPdLAlge5rIBjg8BCMNFyHzjpee8qFK+p8qBVhDZ6cpvENUk77SdXPiMYoOzvFj+BhFkyETMJgs9lPN/fauN6Es1Kq3FO8FprsvGIJvN4vCUIVzKtl+ruNEmeU19UBdP1XOYkEPxHGzdWva3NyUBcROrbUj+TqGkS5I= 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=eqfpNZOL; 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="eqfpNZOL" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-5450f2959f7so866962e87.2; 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=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=+jWAeUNBmYkGSICGrH50m/AwLjpvZFX/2ULz52wgv8g=; b=eqfpNZOL//NAO04IDsboFYTSwDgUoWDsgLB6EOj/u9BsYm7pGSUsUbG/GBxa+vXkGR c8a3WJj4qowbyQARIx4HUNseB1K6AAHtGjmsHwl/qPwU3ASusZgLq+LVw7Ubn620HoWe sC5cEYPb8eu0Y6DbbAdpMC8hXL7B24LhggufNynfkBhSFmPS6dgv4mJnwxnRMRCXTBiz 9+YGHj0mTzvK7KQqueLeKjCSCtWfU2y/ZZ2c+Ob8eHRMp8VQEy02EBDku3hT+T6FHLkM I1vMbYKXAs4js/3FImROU/MKkLdhOJlaKu1F0mhqTayXGnD8F8SYGYLy+e9nSx/tTWop mKhA== 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=ab197PwiEcq/ZkXqC07nwbeKxJ4H6gzFA+okfgss7u7Z+eAR2ivgKhw0jE0lbl3Aw0 tnQm1loze/MOUU5oYUPpWduQ/meMdPd1k4Kn4LkhY5zt7h7RjUXOMBFhPbKG/WAX6y3O e2G9KN1jfb0pvRZhqZKCRIMj8/G2VW8k0zk3Y1gh2IiQ+HGvdL4IZ17PiuWR9+2ivwCw ADY9XtumeLV7EaQ58OPSNXSCXp7IPCfcfAv+NcIu2lUesFSKB5yTvN7Y2Wfy6XrX7TJO ALG31H6jCcIHrMLHJXM5oVu0iSezNFDK7VSMP6dfYmQIbjZ5svIezbkrkUJZRoT/vBwC 7JZA== X-Forwarded-Encrypted: i=1; AJvYcCUHBBEskcYphZYzaQ0/ZY5d29195RglPosbaqdCR2F56ShCtIXzKR8f5nV0j7x+M2o6eipkywIUPssRBJSv@vger.kernel.org, AJvYcCXoRZmeZJjWBblawFR6tQmFKhsWom4M4rlqLUEOFfd7tnPTvHuAFPkUb57rrAqDhKtImLHcDSyhrVM6@vger.kernel.org X-Gm-Message-State: AOJu0YzcgCjp39+7fwcnMk3nDEo1d+OsPgljSqqA6rT1onynrsXkRdig yQNYA500UXrDNRPYahTkDJkRcrEj88EJaA7WKQVFBl1srAfitmRt X-Gm-Gg: ASbGncs4XxH4pY0ZBrfARGRez1QjkzBOONvbWVBD3SuDcN37f2zxvxtgtWV9SZnJE/s LqZYM6sPlyWtN/QKPCm3udWL/NOc2QbIktwq/Wx/ppWPrK4xtlbao5NCqpsvfB3zFJiBGqr4Z76 zE1UMxjuDr3lkBvyglXeTofbYAZX64n86NJQigp41dU7OIWkq9fDtonZ7jT5k0gk3vAXmfaME3M AqmQo68Q0cOqToPdZ+yzcdW+ZlItlVX7ePwSZb4VCVRURoanYT7I2bxhVlVUpl4psw4kEV1b9fk 68+uYg== 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> 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 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. =20 +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/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..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