From nobody Mon Feb 9 07:22:50 2026 Received: from mail.mainlining.org (mainlining.org [94.241.141.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E475148836; Wed, 17 Apr 2024 16:29:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=94.241.141.152 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713371381; cv=none; b=NzxA7MvXnIfUY2UsR/HXVfVf4YYcT20cPV51NXrTA2+5lHP5QUMFHbmYRPaa8kS/63D1ec80P4NFrEWkQ0V99Sjxtp0UVvUkbiONQO8dhLOhhdZvZ7rJ8S/aiqh5iKfLNnJy951x+g0UkwIJrYG7fwh4AAqEfa7461W1dtmIy5c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713371381; c=relaxed/simple; bh=h5qZZjzoTRxtLs57A1m+Ned2UYZ4J/B9Lk8ufvsTNtI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LmcfdILWwN/9T1CV0mJ3ZHVTFvxZsKM5DTaL+wSvpt+Y+9jmu0RY8GeN9n3c85naSDm8T+N4MNz3BeA7EaNEs08mPDD1jvIdirYjSTZ4Lf9jXFKsev9lDUCCt7vTpkv1bsVMhR8QbUeW5cVGHmA4jujRl3c8F5C3j3s2lw8jo3A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=DNNzHnfJ; arc=none smtp.client-ip=94.241.141.152 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="DNNzHnfJ" Received: from david-ryuzu.localdomain (ipbcc3a836.dynamic.kabel-deutschland.de [188.195.168.54]) by mail.mainlining.org (Postfix) with ESMTPSA id 5EEFDE1E3E; Wed, 17 Apr 2024 16:29:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mainlining.org; s=psm; t=1713371378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kCC1OXHE0ahT9Hbuxs9gCsCWn97AcT+f1n3yOCFLu98=; b=DNNzHnfJEZUv0cIGdTJ/OC8ngcj7KdNkf94kxES9YjOFvqUB+Os5ravoHXQjDbotNiCOJ/ AKNDYo9Gwm8WiQ617N/a/HKpESYEozPWoKiP34go9ditLObkeltDdjLFwJPWPu3sBMdVSr HnZ9zHXNCedm1F7jajNyc9lwBLCE36NJxYyIf7DALGKn90g9ur9QdS5CMjpkVjj9wG/LMm j31HdJIkKcmWD88ZRJCEUtjxm5fJxMrp3bwX54kT/6Z4xOdxXo9rbK2aBUjxDBdtx+indc pwQmjLvnGVccYb+OYFmeLJLNX/r3BMr7f0Owfrgs8On8Uoiyl8FjB9fbbLoSYw== From: David Wronek Date: Wed, 17 Apr 2024 18:29:33 +0200 Subject: [PATCH v4 1/2] dt-bindings: display: panel: Add Raydium RM69380 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240417-raydium-rm69380-driver-v4-1-e9c2337d0049@mainlining.org> References: <20240417-raydium-rm69380-driver-v4-0-e9c2337d0049@mainlining.org> In-Reply-To: <20240417-raydium-rm69380-driver-v4-0-e9c2337d0049@mainlining.org> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marijn Suijten , Konrad Dybcio , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, David Wronek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1713371375; l=3031; i=david@mainlining.org; s=20240121; h=from:subject:message-id; bh=h5qZZjzoTRxtLs57A1m+Ned2UYZ4J/B9Lk8ufvsTNtI=; b=eEA2bl2+/AK7NVt/QBJD2qR7+rPLWt1oPhkBMkZ6U7ine90Eo5D2gA9itUHshahPPuY3bgedf xtLA2Rr9H+YCWx3X5GQyETgNGsIqUsDqu+b1GzAd7gPd48lkwbPUZVa X-Developer-Key: i=david@mainlining.org; a=ed25519; pk=PJIYyFK3VrK6x+9W6ih8IGSJ5dxRXHiYay+gG1qQzqs= Raydium RM69380 is a display driver IC used to drive OLED DSI panels. Add a dt-binding for it. Signed-off-by: David Wronek Reviewed-by: Rob Herring (Arm) --- Note: Depends on commit 48a516363e29 ("dt-bindings: display: panel: add common du= al-link schema") --- .../bindings/display/panel/raydium,rm69380.yaml | 89 ++++++++++++++++++= ++++ 1 file changed, 89 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/raydium,rm6938= 0.yaml b/Documentation/devicetree/bindings/display/panel/raydium,rm69380.ya= ml new file mode 100644 index 000000000000..b17765b2b351 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/raydium,rm69380.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/raydium,rm69380.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Raydium RM69380-based DSI display panels + +maintainers: + - David Wronek + +description: + The Raydium RM69380 is a generic DSI panel IC used to control + OLED panels. + +allOf: + - $ref: panel-common-dual.yaml# + +properties: + compatible: + items: + - enum: + - lenovo,j716f-edo-rm69380 + - const: raydium,rm69380 + description: This indicates the panel manufacturer of the panel + that is in turn using the RM69380 panel driver. The compatible + string determines how the RM69380 panel driver shall be configured + to work with the indicated panel. The raydium,rm69380 compatible sha= ll + always be provided as a fallback. + + avdd-supply: + description: Analog voltage rail + + vddio-supply: + description: I/O voltage rail + + reset-gpios: + maxItems: 1 + description: phandle of gpio for reset line - This should be active low + + reg: true + +required: + - compatible + - reg + - avdd-supply + - vddio-supply + - reset-gpios + +unevaluatedProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "lenovo,j716f-edo-rm69380", "raydium,rm69380"; + reg =3D <0>; + + avdd-supply =3D <&panel_avdd_regulator>; + vddio-supply =3D <&vreg_l14a>; + reset-gpios =3D <&tlmm 75 GPIO_ACTIVE_LOW>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + panel_in_0: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg =3D <1>; + panel_in_1: endpoint { + remote-endpoint =3D <&mdss_dsi1_out>; + }; + }; + }; + }; + }; + +... --=20 2.44.0 From nobody Mon Feb 9 07:22:50 2026 Received: from mail.mainlining.org (mainlining.org [94.241.141.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53F3B14C587; Wed, 17 Apr 2024 16:29:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=94.241.141.152 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713371383; cv=none; b=Hba2YAaP1Uod+lt1niEK3ypMUG4BrZLixB//mzcI4/YK6aDHFSByO5sqYjYhV9FY/l1JoJbT3wZKwvs+TEcXLYUvYgSuZdtTYkFcgVIt4F4JU3SPbR/5+Dhf1BbhYoKIsjiemjGglh+OQKQ2wyNPrOqh+m9nd6LSsv65/HsUCww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713371383; c=relaxed/simple; bh=Xcy+l38me3IRf6SU/Xo9GNlyOs6vv5f3u0l/G7ZohSo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IlTW00Dqv5WTw/gIkmi/42t4iEUhZ4fofk5cUbsGDtppW1D1JXO/4WxjnFSDwoSU8FTxU7TSjB8BN241TB6RoiwCrmOm2VGbffTd5ev7b1wkYVuGJBWBIV3EdVrUMsIskvA3Ua3peyIWE8mvE4a9b/pkQIz5VTE/ZjQyz66/xz4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=fdP7xjOM; arc=none smtp.client-ip=94.241.141.152 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="fdP7xjOM" Received: from david-ryuzu.localdomain (ipbcc3a836.dynamic.kabel-deutschland.de [188.195.168.54]) by mail.mainlining.org (Postfix) with ESMTPSA id 9DA44E1E3B; Wed, 17 Apr 2024 16:29:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mainlining.org; s=psm; t=1713371379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=X8DUAlvH/08M3XCAHb1CRL1bKQYkn2BtQJi/LvRlQA0=; b=fdP7xjOM6bQbqpqUxNL4yhv8K+Y0vUAWpqS2dlZIv9sC0nqebuOJxAfNBWleym7WLZjues pMfHODpY4YdsJK+OtPVe8KwpmC3eWbWsGspcgEHEZjsCFSlFanKOY+9eHzrMBGbU7SKmrT djIoEvKd/1V1oRFQ3jZ2FwZRtYS6cPTMe+hTLC8N5TZQrDOLyZ4MNgLhMXcIoqWsb+5ewC hmWpEtws+t0wEOxMXyau0JoQLNjWDPpr5NqyUm8FxC4ZdmOac43Q6wuidMDgifQShtCUyu ZFsqgbzm56G/0uVoF3cHi0sWRE4z1U2+GTeMQNPaQNt/LlH+noIgV4Zi8N7e0A== From: David Wronek Date: Wed, 17 Apr 2024 18:29:34 +0200 Subject: [PATCH v4 2/2] drm/panel: Add driver for EDO RM69380 OLED panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240417-raydium-rm69380-driver-v4-2-e9c2337d0049@mainlining.org> References: <20240417-raydium-rm69380-driver-v4-0-e9c2337d0049@mainlining.org> In-Reply-To: <20240417-raydium-rm69380-driver-v4-0-e9c2337d0049@mainlining.org> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marijn Suijten , Konrad Dybcio , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, David Wronek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1713371375; l=11832; i=david@mainlining.org; s=20240121; h=from:subject:message-id; bh=Xcy+l38me3IRf6SU/Xo9GNlyOs6vv5f3u0l/G7ZohSo=; b=nonIgszVDltxeSaSLB26kkFFvAPDdPpDHqErwFjtH5ktEXouWeOz6jbAPTvCYjWb1aFI0ZJKu 1o4e78cH82pDMnDFpbmCFE+sGB5gYBiXWHhM9L8asWvRLEnapSpaPQX X-Developer-Key: i=david@mainlining.org; a=ed25519; pk=PJIYyFK3VrK6x+9W6ih8IGSJ5dxRXHiYay+gG1qQzqs= Add support for the 2560x1600@90Hz OLED panel by EDO bundled with a Raydium RM69380 controller, as found on the Lenovo Xiaoxin Pad Pro 2021. Reviewed-by: Dmitry Baryshkov Signed-off-by: David Wronek Acked-by: Jessica Zhang Reviewed-by: Marijn Suijten --- drivers/gpu/drm/panel/Kconfig | 12 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-raydium-rm69380.c | 344 ++++++++++++++++++++++= ++++ 3 files changed, 357 insertions(+) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 154f5bf82980..e2a66c21349f 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -542,6 +542,18 @@ config DRM_PANEL_RAYDIUM_RM692E5 Say Y here if you want to enable support for Raydium RM692E5-based display panels, such as the one found in the Fairphone 5 smartphone. =20 +config DRM_PANEL_RAYDIUM_RM69380 + tristate "Raydium RM69380-based DSI panel" + depends on OF && GPIOLIB + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for Raydium RM69380-based + display panels. + + This panel controller can be found in the Lenovo Xiaoxin Pad Pro 2021 + in combination with an EDO OLED panel. + config DRM_PANEL_RONBO_RB070D30 tristate "Ronbo Electronics RB070D30 panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 24a02655d726..e2a2807d4ef0 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -55,6 +55,7 @@ obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) +=3D pane= l-raspberrypi-touchscreen obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) +=3D panel-raydium-rm67191.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) +=3D panel-raydium-rm68200.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM692E5) +=3D panel-raydium-rm692e5.o +obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM69380) +=3D panel-raydium-rm69380.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) +=3D panel-ronbo-rb070d30.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20) +=3D panel-samsung-atna33xc20.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_DB7430) +=3D panel-samsung-db7430.o diff --git a/drivers/gpu/drm/panel/panel-raydium-rm69380.c b/drivers/gpu/dr= m/panel/panel-raydium-rm69380.c new file mode 100644 index 000000000000..4dca6802faef --- /dev/null +++ b/drivers/gpu/drm/panel/panel-raydium-rm69380.c @@ -0,0 +1,344 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generated with linux-mdss-dsi-panel-driver-generator from vendor device= tree. + * Copyright (c) 2024 David Wronek + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include