From patchwork Wed Feb 5 13:06:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harigovindan P X-Patchwork-Id: 11366297 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3B33192A for ; Wed, 5 Feb 2020 13:07:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 22D2D222C2 for ; Wed, 5 Feb 2020 13:07:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726960AbgBENG7 (ORCPT ); Wed, 5 Feb 2020 08:06:59 -0500 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:22397 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726386AbgBENG7 (ORCPT ); Wed, 5 Feb 2020 08:06:59 -0500 Received: from ironmsg01-blr.qualcomm.com ([10.86.208.130]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 05 Feb 2020 18:36:56 +0530 Received: from harigovi-linux.qualcomm.com ([10.204.66.157]) by ironmsg01-blr.qualcomm.com with ESMTP; 05 Feb 2020 18:36:43 +0530 Received: by harigovi-linux.qualcomm.com (Postfix, from userid 2332695) id 444682770; Wed, 5 Feb 2020 18:36:42 +0530 (IST) From: Harigovindan P To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Harigovindan P , robdclark@gmail.com, seanpaul@chromium.org, sean@poorly.run Subject: [PATCHv3 1/2] dt-bindings: display: add visionox rm69299 panel variant Date: Wed, 5 Feb 2020 18:36:29 +0530 Message-Id: <1580907990-32108-2-git-send-email-harigovi@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1580907990-32108-1-git-send-email-harigovi@codeaurora.org> References: <1580907990-32108-1-git-send-email-harigovi@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Add bindings for visionox rm69299 panel. Signed-off-by: Harigovindan P --- Changes in v1: - Added a compatible string to support sc7180 panel version. Changes in v2: - Removed unwanted properties from description. - Creating source files without execute permissions(Rob Herring). Changes in v3: - Changing txt file into yaml .../bindings/display/visionox,rm69299.yaml | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/visionox,rm69299.yaml diff --git a/Documentation/devicetree/bindings/display/visionox,rm69299.yaml b/Documentation/devicetree/bindings/display/visionox,rm69299.yaml new file mode 100644 index 0000000..bfcd46d --- /dev/null +++ b/Documentation/devicetree/bindings/display/visionox,rm69299.yaml @@ -0,0 +1,109 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/visionox,rm69299.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Visionox model RM69299 Panels Device Tree Bindings + +maintainers: + - Harigovindan P + - Kalyan Thota + - Vishnuvardhan Prodduturi + +description: + This binding is for display panels using a Visionox RM692999 panel. + +patternProperties: + "^(panel|panel-dsi)@[0-9]$": + type: object + description: + A node containing the panel or bridge description as documented in + Documentation/devicetree/bindings/display/mipi-dsi-bus.txt + properties: + compatible: + const: visionox,rm69299-1080p-display + + reg: + maxItems: 1 + + vdda-supply: + description: + Phandle of the regulator that provides the vdda supply voltage. + + vdd3p3-supply: + description: + Phandle of the regulator that provides the vdd3p3 supply voltage. + + pinctrl-names: + items: + - const: default + - const: suspend + + pinctrl-0: + items: + - const: Display default pin + - const: Display default pin + + ports: + type: object + description: + A node containing DSI input & output port nodes with endpoint + definitions as documented in + Documentation/devicetree/bindings/media/video-interfaces.txt + Documentation/devicetree/bindings/graph.txt + properties: + port@0: + type: object + description: + DSI input port node. + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +required: + - "#address-cells" + - "#size-cells" + - compatible + - reg + - vdda-supply + - vdd3p3-supply + - pinctrl-names + - pinctrl-0 + - pinctrl-1 + - reset-gpios + +additionalProperties: false + +examples: + - + dsi@ae94000 { + panel@0 { + compatible = "visionox,rm69299-1080p-display"; + reg = <0>; + + vdda-supply = <&src_pp1800_l8c>; + vdd3p3-supply = <&src_pp2800_l18a>; + + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&disp_pins_default>; + pinctrl-1 = <&disp_pins_default>; + + reset-gpios = <&pm6150l_gpios 3 0>; + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + panel0_in: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + }; + }; + }; + +... From patchwork Wed Feb 5 13:06:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harigovindan P X-Patchwork-Id: 11366303 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 31F921395 for ; Wed, 5 Feb 2020 13:07:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 10C69217BA for ; Wed, 5 Feb 2020 13:07:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728047AbgBENHq (ORCPT ); Wed, 5 Feb 2020 08:07:46 -0500 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:16546 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727064AbgBENHq (ORCPT ); Wed, 5 Feb 2020 08:07:46 -0500 Received: from ironmsg01-blr.qualcomm.com ([10.86.208.130]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 05 Feb 2020 18:36:56 +0530 Received: from harigovi-linux.qualcomm.com ([10.204.66.157]) by ironmsg01-blr.qualcomm.com with ESMTP; 05 Feb 2020 18:36:44 +0530 Received: by harigovi-linux.qualcomm.com (Postfix, from userid 2332695) id B22B02770; Wed, 5 Feb 2020 18:36:43 +0530 (IST) From: Harigovindan P To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Harigovindan P , robdclark@gmail.com, seanpaul@chromium.org, sean@poorly.run Subject: [PATCHv3 2/2] drm/panel: add support for rm69299 visionox panel driver Date: Wed, 5 Feb 2020 18:36:30 +0530 Message-Id: <1580907990-32108-3-git-send-email-harigovi@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1580907990-32108-1-git-send-email-harigovi@codeaurora.org> References: <1580907990-32108-1-git-send-email-harigovi@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Add support for Visionox panel driver. Signed-off-by: Harigovindan P --- Changes in v1: - Split out panel driver patch from dsi config changes(Rob Clark). - Remove unrelated code(Stephen Boyd). - Remove static arrays to make regulator setup open coded in probe(Stephen Boyd). - Remove pre-assigning variables(Stephen Boyd). - Inline panel_add function into probe(Stephen Boyd). - Use mipi_dsi_dcs_write directly(Rob Clark). - Remove qcom_rm69299_1080p_panel_magic_cmds array(Rob Clark). Changes in v2: - Dropping redundant space in Kconfig(Sam Ravnborg). - Changing structure for include files(Sam Ravnborg). - Removing backlight related code and functions(Sam Ravnborg). - Removing repeated printing of error message(Sam Ravnborg). - Adding drm_connector as an argument for get_modes function. Changes in v3: - Adding arguments for drm_panel_init to support against mainline. drivers/gpu/drm/panel/Kconfig | 8 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-visionox-rm69299.c | 371 +++++++++++++++++++++++++ 3 files changed, 380 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-visionox-rm69299.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 04225a8..354a3a5 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -407,6 +407,14 @@ config DRM_PANEL_TRULY_NT35597_WQXGA Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI Video Mode panel +config DRM_PANEL_VISIONOX_RM69299 + tristate "Visionox RM69299" + depends on OF + depends on DRM_MIPI_DSI + help + Say Y here if you want to enable support for Visionox + RM69299 DSI Video Mode panel. + config DRM_PANEL_XINPENG_XPP055C272 tristate "Xinpeng XPP055C272 panel driver" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 801f9f6..eeeeb7ae 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -43,4 +43,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o +obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o diff --git a/drivers/gpu/drm/panel/panel-visionox-rm69299.c b/drivers/gpu/drm/panel/panel-visionox-rm69299.c new file mode 100644 index 0000000..7195ab0 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-visionox-rm69299.c @@ -0,0 +1,371 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2019, The Linux Foundation. All rights reserved. + */ + +#include +#include +#include +#include +#include + +#include