From patchwork Tue Apr 21 04:55:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harigovindan P X-Patchwork-Id: 11500435 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 99BA681 for ; Tue, 21 Apr 2020 04:55:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 86EDC208E4 for ; Tue, 21 Apr 2020 04:55:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726104AbgDUEzS (ORCPT ); Tue, 21 Apr 2020 00:55:18 -0400 Received: from alexa-out-blr-01.qualcomm.com ([103.229.18.197]:1302 "EHLO alexa-out-blr-01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725880AbgDUEzS (ORCPT ); Tue, 21 Apr 2020 00:55:18 -0400 Received: from ironmsg01-blr.qualcomm.com ([10.86.208.130]) by alexa-out-blr-01.qualcomm.com with ESMTP/TLS/AES256-SHA; 21 Apr 2020 10:25:12 +0530 Received: from harigovi-linux.qualcomm.com ([10.204.66.157]) by ironmsg01-blr.qualcomm.com with ESMTP; 21 Apr 2020 10:25:11 +0530 Received: by harigovi-linux.qualcomm.com (Postfix, from userid 2332695) id 2A3942A55; Tue, 21 Apr 2020 10:25:11 +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: [PATCH v11 1/2] drm/panel: add support for rm69299 visionox panel driver Date: Tue, 21 Apr 2020 10:25:07 +0530 Message-Id: <20200421045508.21137-2-harigovi@codeaurora.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200421045508.21137-1-harigovi@codeaurora.org> References: <20200421045508.21137-1-harigovi@codeaurora.org> MIME-Version: 1.0 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 Reviewed-by: Matthias Kaehlcke --- 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. Changes in v4: - Removing error messages from regulator_set_load. - Removing dev struct entry. - Removing checks. - Dropping empty comment lines. Changes in v5: - Removing unused struct member variables. - Removing blank lines. - Fixed indentation. - Invoking dsi_detach and panel_remove while early exiting from probe. Changes in v6: - Changed "35597" to "rm69299" for power_on function. - Removing rm69299_config since it supports single type of panel for now. - Fixed alignment. - Using goto statements when regulator_set_load fails. Changes in v7: - Added new goto statement when regulator_set_load fails. Changes in v8,v9,v10: - Had changes in first patch, did not make any change in panel driver. Changes in v11: - Fixing checkpatch script errors. - Updated assignment of panel.dev property in probe. drivers/gpu/drm/panel/Kconfig | 8 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-visionox-rm69299.c | 304 ++++++++++++++++++ 3 files changed, 313 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 d56258b9fcaf..4b6131f5893d 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -444,6 +444,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 2335a1e32ae0..8eac3e6fa82c 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -47,4 +47,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 000000000000..3ef4cc80044a --- /dev/null +++ b/drivers/gpu/drm/panel/panel-visionox-rm69299.c @@ -0,0 +1,304 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2019, The Linux Foundation. All rights reserved. + */ + +#include +#include +#include +#include +#include + +#include