Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4039339ybz; Mon, 20 Apr 2020 14:25:14 -0700 (PDT) X-Google-Smtp-Source: APiQypIBjmZHVZbReMCHFxBjUbZ0L4E2buNRLMA3gHcW/6PxKAi8zMlV1iLLKGk+NRwbcXSEj0Uz X-Received: by 2002:a50:cc87:: with SMTP id q7mr15570560edi.96.1587417914443; Mon, 20 Apr 2020 14:25:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1587417914; cv=pass; d=google.com; s=arc-20160816; b=zhlR1BJSjdXrsX95CjzCi2+d5uRX5k1/ObPSM4LXX1e8carPUKltH7EyNu0Ao7Xvo8 ToTaDV970qVJ6f/CdXIdUhlemC778ofPYFC+twWvxtJdxTvxAYRZR0Bofu9Z2DtmYV4o 3wopOGSCmMKvHSh2e95oMckD9SmbetKAMV8nvd//se5AyU6SNdYsfIOVj765ounrFppn tOmY97+Q8j+03Mi7sigyZS5RsO1WACtbTc0hVqdrgtN+6/MxnEuDj4VJMhrI5BG7FOEL fiAGqDWl/emW7EIH7jU1zkrogPFKBEfkFKFz7guguof0+iMmCFAcTF261D5mwYaCYPFb nSoQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BgF2QJq1iBoCWzdnndLftVRaDvHRPxqIe5Xsc1potw0=; b=NS5MtAw2ruV+IwGvOLIEYJiUB/PHNjnwyRf5ZJtIRTxiL6UocxZK+LX7KHFwR3HILW zxbYKU4oiXmUQ5etme1Bj3vdkjTQvCcDy1UvzmOXmWVacbtpEY/D/s+xeQ/VkjIH8Hhq SQUrR+MSWRJzUOm1jVFMpsF69xfucYt/ucl1l0MYuBHdnnHVzXm76caAQMGwcCWgtSCW FgyZJiDaCVc4Hd1x1gtInmbdnr/q2aCyAhxclSM7/oBGC+MMNkUVBntMY5kLIADY2QCc bQyh7m1Zc19vYjkXrIInle63JAEvL+aJnnr/Y8RA+uKcPT4fNZKH5Z8Eh9iTxyNen4HN 0mig== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=MVLWJf6v; arc=pass (i=1 spf=pass spfdomain=xilinx.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m26si548343edj.197.2020.04.20.14.24.50; Mon, 20 Apr 2020 14:25:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=MVLWJf6v; arc=pass (i=1 spf=pass spfdomain=xilinx.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728154AbgDTVVV (ORCPT + 99 others); Mon, 20 Apr 2020 17:21:21 -0400 Received: from mail-eopbgr750077.outbound.protection.outlook.com ([40.107.75.77]:64815 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726838AbgDTVVT (ORCPT ); Mon, 20 Apr 2020 17:21:19 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LJNqAEK2RLUvdTuPsSUY10TMfWuGVBuWtPaCzdSaiu1l6VC517F/5djElE9JDqJfuT6soGB51h9aMQtlBcA+WRfCDFs12nZF23z5+dgsGsbvaI8QAxISvjQ/ph5ZAEOEslff8QSuA3owedEshSc37+Pj3hufojBHxOM2dcYrcfSm9g8N13ojQH5cc6PKgeXrmpZKWT8OU5d/tjHM6uF6DZyDttRMUdy3ZT047wObRN6cFFC6lxYRk/CfuUi7H/wlFyzooXdF2vaUjL7volVfNJO0er01oumU52/OHADVRiUZoMyDjCMYwQBPr/s1UvxL6defFOAmFnfqlNDhR78bxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BgF2QJq1iBoCWzdnndLftVRaDvHRPxqIe5Xsc1potw0=; b=fmestkz5EkRMztEPDQf+j1Eu5MIzsL6VbkTHO3VmS813kRL7iXfdOVcxAvRANjsJkovBkAc6K5Q8qMVBPxC4yPEm/IpQjyv4Cu6Yw0LXhH6696LOeMfhcjknXM1CnhU0SPgGmsk5oc4RHGdk7kcKacljWSQVhAAt0vOBz/JAC0SXKJmKWfqU7ttvnEKL69C7XXi1ra+RtIff+6UeyKjxHWr1xmpkUVlw/7Igcn26uuXToT1tF2L89ZHL06zISpn5bYApIwdB5F4y19z/dW45cfM/UmgdZMoh7PcnW/8WSSNbG3U+l6O5KtCs9MxRzCwpLP4j/4tJfCOnFLqPq4tfLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=ideasonboard.com smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BgF2QJq1iBoCWzdnndLftVRaDvHRPxqIe5Xsc1potw0=; b=MVLWJf6vJrMqnhDWIsl+5GiQZZXGSqy5EQ4za5wQJXzcSHv2rjvmzVx3IqPEnTk30sMBRhc9lDMFUL6DLlQ3PWWRO8D/E8qTYLBi/HekyILTnCBJeNqDqAtWQr1S1tvCL+b4GhuaExQqC+FUcbd5Afv/3ihMCsTERbGIDVekVMQ= Received: from BL0PR02CA0108.namprd02.prod.outlook.com (2603:10b6:208:51::49) by DM5PR02MB2764.namprd02.prod.outlook.com (2603:10b6:3:106::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Mon, 20 Apr 2020 21:21:13 +0000 Received: from BL2NAM02FT060.eop-nam02.prod.protection.outlook.com (2603:10b6:208:51:cafe::cc) by BL0PR02CA0108.outlook.office365.com (2603:10b6:208:51::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Mon, 20 Apr 2020 21:21:13 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; ideasonboard.com; dkim=none (message not signed) header.d=none;ideasonboard.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BL2NAM02FT060.mail.protection.outlook.com (10.152.76.124) with Microsoft SMTP Server id 15.20.2921.25 via Frontend Transport; Mon, 20 Apr 2020 21:21:12 +0000 Received: from [149.199.38.66] (port=60267 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.90) (envelope-from ) id 1jQdpt-0007rj-93; Mon, 20 Apr 2020 14:20:13 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1jQdqq-0003Iv-AZ; Mon, 20 Apr 2020 14:21:12 -0700 Received: from [172.23.62.221] (helo=xhdrdevl201.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1jQdqm-0003FI-KK; Mon, 20 Apr 2020 14:21:09 -0700 From: Venkateshwar Rao Gannavarapu To: hyun.kwon@xilinx.com, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org Cc: airlied@linux.ie, daniel@ffwll.ch, linux-kernel@vger.kernel.org, sandipk@xilinx.com, vgannava@xilinx.com, Venkateshwar Rao Gannavarapu Subject: [RFC PATCH 2/2] drm: xlnx: driver for Xilinx DSI TX Subsystem Date: Tue, 21 Apr 2020 02:50:56 +0530 Message-Id: <1587417656-48078-3-git-send-email-venkateshwar.rao.gannavarapu@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1587417656-48078-1-git-send-email-venkateshwar.rao.gannavarapu@xilinx.com> References: <1587417656-48078-1-git-send-email-venkateshwar.rao.gannavarapu@xilinx.com> X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:xsj-pvapsmtpgw01;PTR:unknown-60-83.xilinx.com;CAT:NONE;SFTY:;SFS:(10009020)(4636009)(39860400002)(376002)(346002)(396003)(136003)(46966005)(7696005)(5660300002)(26005)(478600001)(30864003)(70586007)(186003)(70206006)(47076004)(316002)(336012)(6666004)(356005)(2906002)(2616005)(82740400003)(8936002)(426003)(8676002)(4326008)(9786002)(81166007)(81156014)(107886003)(36756003);DIR:OUT;SFP:1101; MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 48ad70bd-78fa-4c06-6f22-08d7e570c09c X-MS-TrafficTypeDiagnostic: DM5PR02MB2764: X-Microsoft-Antispam-PRVS: Content-Transfer-Encoding: quoted-printable X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:2276; X-Forefront-PRVS: 03793408BA X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LCFzW789KcHMZsYPGTRL7TPs1eACC3W9/yKMM4Dt64xiog2MWvwnbhE4wTVJ7Hbkn9xxQjBGLfjeG7yX6rthPhcAgF45t10mrkRmKw3i39F0B40f0i5bfG44W0KK7ldAb4Thz1RuMK8EX1CdeTN+gEUsd6FJFlJTONmpWSEOkSWrvysrzAgDez1+0H6j0ftMTUzGsBgGFmKycBr8pG+06MFF643j/aGS9ktMJQ6K15P/UbLQOYxaaVjYaMxRGRxnqDgwMrmOFYOhHUK0cPvIe0amLGlXBprSM9gVjhCF10vJS25zEjwql9o2O2Reo03LIzR+z46gprzD3x+vK1EJLXFMt2USvAAdcd+hoZ3/dhmr3n3svuTkvc/NuLxOtZvQd/bGjPPDkzvC8/Fp2z4PDdAgxkl2gJV+9B6mH0ThmafdblFReQo64Gr+S818xLPoNeA6v0qzEACMGGBekADixDbpSsrBLzeYBEkDdzJV+h8Pv47OH2i7AtpPVBfWX4zlseWvmiZAx9I+ipJOU67Qzg== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2020 21:21:12.6709 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 48ad70bd-78fa-4c06-6f22-08d7e570c09c X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB2764 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Xilinx MIPI DSI Tx Subsystem soft IP is used to display video data from AXI-4 stream interface. It supports upto 4 lanes, optional register interface for the DPHY, multiple RGB color formats, command mode and video mode. This is a MIPI-DSI host driver and provides DSI bus for panels. This driver also helps to communicate with its panel using panel framework. Signed-off-by: Venkateshwar Rao Gannavarapu --- drivers/gpu/drm/xlnx/Kconfig | 11 + drivers/gpu/drm/xlnx/Makefile | 2 + drivers/gpu/drm/xlnx/xlnx_dsi.c | 755 ++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 768 insertions(+) create mode 100644 drivers/gpu/drm/xlnx/xlnx_dsi.c diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig index aa6cd88..73873cf 100644 --- a/drivers/gpu/drm/xlnx/Kconfig +++ b/drivers/gpu/drm/xlnx/Kconfig @@ -11,3 +11,14 @@ config DRM_ZYNQMP_DPSUB This is a DRM/KMS driver for ZynqMP DisplayPort controller. Choos= e this option if you have a Xilinx ZynqMP SoC with DisplayPort subsystem. + +config DRM_XLNX_DSI + tristate "Xilinx DRM DSI Subsystem Driver" + select DRM_MIPI_DSI + select DRM_PANEL + select DRM_PANEL_SIMPLE + help + This enables support for Xilinx MIPI-DSI. + This is a DRM/KMS driver for Xilinx programmable DSI controller. + Choose this option if you have a Xilinx MIPI DSI-TX controller + subsytem. diff --git a/drivers/gpu/drm/xlnx/Makefile b/drivers/gpu/drm/xlnx/Makefile index 2b844c6..b7ee6ef 100644 --- a/drivers/gpu/drm/xlnx/Makefile +++ b/drivers/gpu/drm/xlnx/Makefile @@ -1,2 +1,4 @@ zynqmp-dpsub-objs +=3D zynqmp_disp.o zynqmp_dpsub.o zynqmp_dp.o obj-$(CONFIG_DRM_ZYNQMP_DPSUB) +=3D zynqmp-dpsub.o + +obj-$(CONFIG_DRM_XLNX_DSI) +=3D xlnx_dsi.o diff --git a/drivers/gpu/drm/xlnx/xlnx_dsi.c b/drivers/gpu/drm/xlnx/xlnx_ds= i.c new file mode 100644 index 0000000..b8cae59 --- /dev/null +++ b/drivers/gpu/drm/xlnx/xlnx_dsi.c @@ -0,0 +1,755 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Xilinx FPGA MIPI DSI Tx Controller driver + * + * Copyright (C) 2017 - 2019 Xilinx, Inc. + * + * Authors: + * - Saurabh Sengar + * - Venkateshwar Rao Gannavarapu + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include