From nobody Sun Feb 8 18:23:57 2026 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (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 16A621DDA00; Sat, 3 May 2025 09:47:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746265657; cv=none; b=i1aJ3uEcauzbFY5isLZ5r4gZ7Ehq6g2i+n9S9xQGwiQTylhVanqYXTv8w2LvFYWjKfYzLtL7Nq1DqdTQ8D+hd9i68+J80YsxuvEA3IIk30IrgaievMgOj0L98gk9qMoYkMzQCAy6prHF+DIStUOKBVCLzGH2L7EBkNV5L19xIQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746265657; c=relaxed/simple; bh=Qnk8ApjKHe7cIi2nAfJHQjcWlleZ4gTm+u7X22VKTFg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AH3wyv5E/N/kGMj8A1bR5RNBmGid1F3yJF1NZqGh1iUf+vs+AwzWXR4BBg8GtYA10SEyJG40GPE9DROS8M9c4J3dNZYlVRGp+uEmUQKqwbcvwqLh9Ofk5OQL9ynVPn2v+PsCpFjUHLLCFbPEu9WQIagiBmWMhKiIpmAWegQEqMY= 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=lyyKQ+L5; arc=none smtp.client-ip=209.85.218.53 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="lyyKQ+L5" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-acbb85ce788so682811166b.3; Sat, 03 May 2025 02:47:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746265653; x=1746870453; 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=lyyKQ+L55OA66qNkOUjkUtotJmkIoR9PkzlqdkDNKR1Qe9PTwU13js0EDullEUrUGW poGTvHDXjSEflQ90qeETnq1iaipNxExMMpptzEY9S/AnjROXQOy//mQ3zOUjyjyZgM4o a/sCsHKCwX/ELEJW33NG7FByiOVvUJ+IUb01QIB1D0HYEfC2F8hqK0TeisfbTKC2Z7zi I1N9fAuHd+K6g8IjYttvGObKTSyrC+ioI884ke9wGHmUQYbwnp1qYy/seWcA3E7rBgDK d9Jl4MwMH24A8ZikvUVcYts+yXkaDLwxgLMkcJDwA2c2YdihFUB5/nQcrJFuRlgQyP71 MrYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746265653; x=1746870453; 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=I+ggIHL+eECBCjP5gTXxBsbepbxhDVcx2w4JpX3lNhafQRCUi0F5QI+wxcdmTFJdxM xEM7aI7n8nMgXSL2rxYH08mlDgscqDJQwcDUT1Fg7nYPMYnajuHGm78PuPvTG+Q8ZbMt UZNzN7ONXYY0qUYXZtI//XQ6ZhARQL6yWonHA8yHdxBvpDxkINoYJkIhBV9TNYEkA2OT TMD2QhdOma698jBDunQq+ytxBH+wKoJzsLDItLcphvE8okMRbN1nX98Bo0ZiN1yzjAO5 XahsSEg34vFAxQTJ8ey/PrZyoGoo5pT7MK18+09xd7PvmPXSdpS5n5OK1BvaC93kMa0G hLUA== X-Forwarded-Encrypted: i=1; AJvYcCUGhsY+2VU+lSH40G9uIGLadAsX0knwyP/Z9NKukobK2fw761d7SGoiWBc5AQGC3GTDxUDkRcB9wNAG@vger.kernel.org, AJvYcCWrGCj5PfDv5Ek+zERFiSjqS+W7JuhOKlhEyo02qvSwfiC6TXdWiJr0X/t8G2bz+2YFTR+v3tponuwKdUIF@vger.kernel.org X-Gm-Message-State: AOJu0YxyTcoW848GMf7iQVrklP5GrkChrUrSl4bbI1KUWN1+SJ5RL8K3 0dzQ1thCLefEDGTGgRIKUs9yQrzX69vVGUFnBI+Gyx/j7kbstqID X-Gm-Gg: ASbGncsgAZ0VGirLvRqoMhztFzBeuZY04FAonKxtPYo+1Njg4Jjkno+dEEYsvikZ6eF JzStkV7mG9BfqrNuJth+tRmsaxAobDNDH4zfcjUotvjGy2z/SwmVitfAQBS32DV8QQ0m+juu5h6 YquhfqQhMB/gryrhzXiCqn0XuUwUV8Nk3HJCC93MIeHYy05OyQJbO3qr4A+jsws594HL1VOB7NG PM2co7wDCcdPpl8gyX3xLkIUyAgzpluW8eNyviEs/3o934qPN3Qrlhx/Bfbmk1DYLxH0wVOmWsZ y2jua9G22iTQxM01xW5rDS0QaUbmebEi X-Google-Smtp-Source: AGHT+IFBG03RjlGdyQOmaEyS5Gy0bqj87eUXFyUZvUOj08l5oGrUgJV9AjOPDZA2Fqt3gThVj1OXwA== X-Received: by 2002:a17:907:2d1f:b0:ad1:8169:da0b with SMTP id a640c23a62f3a-ad19069aee4mr187627166b.31.1746265653036; Sat, 03 May 2025 02:47:33 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad188ea7f41sm174732066b.0.2025.05.03.02.47.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 May 2025 02:47:32 -0700 (PDT) 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 v4 1/2] dt-bindings: display: bridge: Document Solomon SSD2825 Date: Sat, 3 May 2025 12:47:19 +0300 Message-ID: <20250503094721.29572-2-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250503094721.29572-1-clamor95@gmail.com> References: <20250503094721.29572-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 Sun Feb 8 18:23:57 2026 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 138621DE4E7; Sat, 3 May 2025 09:47:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746265659; cv=none; b=iCcl7ZdL5LLLupeAsBZTWCwbPTZG487nhqIcg5cJfRA494gY4DUNMAEwYqh3xeK0LKSAPRfrEBxfD6XSmHk8xKPR9O5Syn6skwIXqheU6bxx2xsQC7ojLrvWrFmSu7INROLZR4jPuKnm1ax6qEgikg2WxN9yrtzzsIElJ8Xm62s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746265659; c=relaxed/simple; bh=u9sxIpLy8IKeovtbXxzc0hsOCvLDGmV9M3RMFw80bzw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VN512zOYmUJV6raoB+UofMe2NjZ2ddFHn3brFooLB9HvKGReQW903ZH3Yw87PL/P85ejuwBp+2+XO3O16or3sdHpedqyRFIjHAB8WgHVqpZSbiUDoXPXZxpbbD09l0NpNbZXLj2xQ9t4pfwQkRE6It5CGroCsFP6p6cOgLV4xJk= 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=F2P64A2A; arc=none smtp.client-ip=209.85.208.47 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="F2P64A2A" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5f7ec0e4978so259293a12.1; Sat, 03 May 2025 02:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746265655; x=1746870455; 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=Qexk9eeQaYJa8GVaQDVZs+HijJGIqPWmhwmOIfZ461E=; b=F2P64A2AqHRwD9xq5eNCf1Sr/qJq6b5MAqQKEUej9ENbT+3iJmgIFaa0WFjvJ0DKu8 TpMeijagsm98yVgbH1ka6Rl/RmzRLLOC3vY/5C0ffDixJcUGmCsBe2lSFyxb0Mmzz/yO FaLK4DNLxie7EC4mzcEepycJJ8HgdUc21J3ISVcAausMQRQUy8e3lmSPaaJy96Z5Eb1W Vs1pURuXUkEYeckB4cHedgs0MrdsyDOacUcdkVGs+5nGGF1KhvmdUWXnscx1Q0IcM67i CcKZnUgQrFNZprBzqP6dlIm6Ge7/VFlPwj1g5F8jgbfA/AG3oWdraWIj1eLf6P8F1yDL NUMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746265655; x=1746870455; 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=Qexk9eeQaYJa8GVaQDVZs+HijJGIqPWmhwmOIfZ461E=; b=kYEDf/ncunhNKvEFQkZWLJnfIHYYKcBRb87A/gGALd+WiGmg6Vj7OpzPxzxCQ9w7qp 7Agx5s8D47T59qKpBEY09rFg8EhMNOb49gN0pCoJWgPNgZgkTLcWUNlSbPlEmCXPRk32 LAcmtJV7uguFDP5aXWCUP4Itart9Jl5WwtJJNugu096FBUg0Z8l1kmeniElIbH74Wm8g 62Kps+J2wDnzRka5mEfXm8YmNHXIWa1AmItnRRSlvEWq0cYWs+YPir4wvcge2lHEDJIy OufFD183/VPV7GWN6ck1tIzrR5UTQQ8E+Btqp5WumIiV1hSj4pSsHYPyPT9GWEsBiFuV EMBg== X-Forwarded-Encrypted: i=1; AJvYcCX43rFXDSkHcr1oEeUoIm0po/ZBRrDmFFB8tsFZ5kRJ+PpHfaaQQ5hMkGRk80ICjUk4+fu64ipLAWBk@vger.kernel.org, AJvYcCXjos9fFY7lWoLBZCkdyGG2LtXFVC8DSuuRnzuH6aKChu8xUXwUUm3+UcV+N9pyBrrX0G7snpdyWfgWxTXQ@vger.kernel.org X-Gm-Message-State: AOJu0YyNLnnYOJoSzx5PCYCetyfxRf1fQuRQtkHeZHt2Cx1E6qwwB+rb 53FL4zCfVA3+b9lgh1cB7ixpNLHzPAPRqRKsW8PnQdB3bhcRlpsy X-Gm-Gg: ASbGncv4eKnPog7iwMRXda5eAJ11yZIYIf1OkN9fkqbPvsYTTObbBdmQYlhS79UzLAC j+dthYL+WvonOyzBP/rtCqpnKgnq//M4h8eTqGVD0vBVgkKWKjvN2o4SSSugPZ5+m5XK2aUiEWt vKbvfNCEjKjxsloMdQA9JBJgaOZJD5N6ux9Y59EYLCs0BkCCX/LgjbEh+5h4c/SvALFxs8eRkJ+ gpdEkSPvUwVdtvzAESjzsk/6KApRzn7D7siivJT03T4uO6RzkrxsdXHxhDYju6Zom6Z5rVTJwvG i5YrldcLMJUejHQn1bdFkr9ysrroKj9SaUWwrR+OzYk= X-Google-Smtp-Source: AGHT+IGuLl+zstaJy+A7xyeSm4nntmG277Zml4cH80iHD4iFxXmwmxhnpeQgnt5L1ynnZu3E6B9UJg== X-Received: by 2002:a17:907:948e:b0:ace:f078:e08b with SMTP id a640c23a62f3a-ad190829ceemr192081366b.47.1746265654734; Sat, 03 May 2025 02:47:34 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad188ea7f41sm174732066b.0.2025.05.03.02.47.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 May 2025 02:47:34 -0700 (PDT) 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 v4 2/2] drm: bridge: Add support for Solomon SSD2825 RGB/DSI bridge Date: Sat, 3 May 2025 12:47:20 +0300 Message-ID: <20250503094721.29572-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250503094721.29572-1-clamor95@gmail.com> References: <20250503094721.29572-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 | 813 +++++++++++++++++++++++++++++++ 3 files changed, 827 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..b75cd022b201 --- /dev/null +++ b/drivers/gpu/drm/bridge/ssd2825.c @@ -0,0 +1,813 @@ +// 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