From patchwork Fri May 24 10:41:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 10959677 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2C11776 for ; Fri, 24 May 2019 10:42:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1A327288BB for ; Fri, 24 May 2019 10:42:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0E8BE28895; Fri, 24 May 2019 10:42:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 51A15288BA for ; Fri, 24 May 2019 10:41:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Vscw3LIvefTB3FQP69A6d/R4CWehKd4QpxqSLDnieuA=; b=qTTwbqCQ12Pjm0 uzGZ6MNT0LC6rQt09FWvde/VQ8P0wdHTTqmgeawxJ+PCaunIoXTF0W7XpUKJbcnEPXJ00FHvuMYVj aoq8PLHTc7/RF0zV8zNpp1OW3jj+GpZ1uxYj1zm2zgYr6OkN3zQQXiCrN5bNmmNoYFSELsmOK8fKY UjlD7gVI/obzqajrm9WNzZ1yw2oK/5+WwnH5184eh2z9JQLN4ClwNWJvRH8+Q8bf2kLigvEBrL9N0 x2NWZn4THgg8flDZv22Dw4WlJnU9S0VvOSA7o9Ag8lGI7zYE6t6qB+BD1nKm7YfU3J8AtJ/l7EK6l oEpFNgIk3JSNrhLO9qQw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7e5-0000ji-M4; Fri, 24 May 2019 10:41:53 +0000 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7e1-0000hb-LV for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 10:41:51 +0000 Received: by mail-pg1-x544.google.com with SMTP id w22so4851579pgi.6 for ; Fri, 24 May 2019 03:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Y5swjDHGKG+ezs/+w53g29T0/qBVH9yKlg23nn55c5E=; b=U3C+2Pkv2aIG9zWer39/ZGLeS4wd7ty00L8nRwq2xSL9FzpzYmJ8/WtIyJFRadmuQc DTP0KxyKCLyYHEAPVI55+6VrkoniAOF48Vl9Wj50Veq/wZPJat9/g22LGvoecBk8SR7s r9+EN1shbjhX2kn0bCjSZ2tUp8JHkSf1kS7r8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Y5swjDHGKG+ezs/+w53g29T0/qBVH9yKlg23nn55c5E=; b=IKYVLBFvWGqxfWccEjgHbbChtLvcbudBWu8WKyTFYi6fzRUyAo8GAmhzZBr+PQMAMm Jm54guD8jOcwZQyXRARcSqlB2+8aGdVLOjHaJSTY+yRAQJ3Na2MhmernlalofSDv4rma phsmojHvE3OAxv1RoKvzIQSlZb6FQoCoTJj/4MlPueV2oCYOzGq7PPkFzzOp6wAgcHol ykB6SgF8+2WwjcjArWeT4JMgGNEQJyz70uURGeU2Jauf9E8H+YMAs9X1CQP0TyAILkFq WSmOBH0QS12MoQVT99sfNP43HZ0yHA4Hvjkq5JnVEgXkZbTXMEMQ6bgd8sdOH+jF5Hus wqNw== X-Gm-Message-State: APjAAAUR3J+f+wGdPRmd1C33hzvY4u9r1zh72ctFWJM+zgsQrb1rVVj5 MXwI7ihIVzfPvQR/pwuSKolbNA== X-Google-Smtp-Source: APXvYqyvPrCWj4wLzn1Yd+9CbYrQKIVeghMZMryVtTFYZMAHt18ZSgOULimYpUVkB3YXKeqkBNPeBw== X-Received: by 2002:a63:9d8d:: with SMTP id i135mr104296236pgd.245.1558694509078; Fri, 24 May 2019 03:41:49 -0700 (PDT) Received: from localhost.localdomain ([183.82.227.60]) by smtp.gmail.com with ESMTPSA id m72sm6550113pjb.7.2019.05.24.03.41.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 03:41:48 -0700 (PDT) From: Jagan Teki To: Andrzej Hajda , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland Subject: [PATCH v2 1/6] drm/sun4i: dsi: Use drm panel_or_bridge call Date: Fri, 24 May 2019 16:11:10 +0530 Message-Id: <20190524104115.20161-2-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190524104115.20161-1-jagan@amarulasolutions.com> References: <20190524104115.20161-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_034149_700009_41399409 X-CRM114-Status: GOOD ( 13.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Paul Kocialkowski , linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Right now the driver is finding the panel using of_drm_find_panel, replace the same with drm_of_find_panel_or_bridge which would help to find the panel or bridge on the same call if bridge support added in future. Added NULL in bridge argument, same will replace with bridge parameter once bridge supported. Cc: Paul Kocialkowski Signed-off-by: Jagan Teki --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c index 65771e9a343a..ae2fe31b05b1 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -964,11 +965,13 @@ static int sun6i_dsi_attach(struct mipi_dsi_host *host, struct mipi_dsi_device *device) { struct sun6i_dsi *dsi = host_to_sun6i_dsi(host); + int ret; dsi->device = device; - dsi->panel = of_drm_find_panel(device->dev.of_node); - if (IS_ERR(dsi->panel)) - return PTR_ERR(dsi->panel); + ret = drm_of_find_panel_or_bridge(host->dev->of_node, 0, 0, + &dsi->panel, NULL); + if (ret) + return ret; dev_info(host->dev, "Attached device %s\n", device->name); From patchwork Fri May 24 10:42:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 10959683 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C70A676 for ; Fri, 24 May 2019 10:43:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B44D62875E for ; Fri, 24 May 2019 10:43:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A85242880F; Fri, 24 May 2019 10:43:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4C50028891 for ; Fri, 24 May 2019 10:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=8hvIa+hCgwsAk5aIRBv8qmXLeH2/LSIlMXOhfy5ZAAg=; b=SaDY/goJnXr5na KNdqBcNGXPlFgXdjkYZp8v1obA79bYEXUhCcxUyJ1/wezJiArkySOqbqvwD665XBNIzMUjmzYTDBH Up/1NHFeEI971UDy8iQZTwQ6k36mFH+I/GNiXkD2nZlI6Z0lPGSimlvNQdfWAa+KIlfuDHIJjdY3b ZEqMthqsid04uh/xenVa00ij6y2tQvgBRpfQGk/kNi7lCymTehF+foBtfeqMWWyYdyUcz0knhtk8b ipxtVxAJxPIoylk9l6N4qmuQFmeQ8MecYMzOqpOOslJyN3mXaN/G8VYvzBKuEiaFQ2AU2AVqVzEaR Le5SbHGCcyemO5xpBaaA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fP-0001hm-Cf; Fri, 24 May 2019 10:43:15 +0000 Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fM-0001g8-Es for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 10:43:13 +0000 Received: by mail-pf1-x442.google.com with SMTP id n19so5114912pfa.1 for ; Fri, 24 May 2019 03:43:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nP3yWdSdOBguUQvL1Rluu0V+blq5lMGRtGXamF3bLkw=; b=Umf6KdVJ9NBQr824CkR3whnBByI3We6uojHAy4ZHN7aGThpcSheG/NUEteAhmo4BZr Tv3iTdzkL3hZ1221FRM9gKTC009LNKGhRQd/2Sb66A6bKtWHwQKYuaOlJstrgROIkLqy D/raVHojoJ6xnSPJKnpRe1QKrLqYeYrXcqEw8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nP3yWdSdOBguUQvL1Rluu0V+blq5lMGRtGXamF3bLkw=; b=Fea0EbQJqcV3GwwlEnLQg3zqdmgMtbTuXYSyjwDrUIfaDnUTEqf9vWZLVVuK2UGnlW qVwD/AIinAoBE2S59NYzNeFkFbAp0srPYA1PVx2ju6SX/NDktX6CeX97vLSj1iAIBa9c klu/oDdty2hXFlXFxSlQESET3NJdGZaW2Oaxz2XtVRjMz6tRUYNltmtzRAaU6IoieHcf x0HY/MjC0YiMb51V74vQVoWswj06drT97sXDq+8MHssDoyriN0XnNUdGeHn/QMw3DCc3 HuwH0TgbrYkZjO4htmCiXUyel1E7QTyyjYVG8l++88chp0Ha/NFcYrDFDd4d5/fT2W79 0Whw== X-Gm-Message-State: APjAAAVTM7qa+gE4+YwEusPHALmtFIB9oAyaFK6DNp0Idb7N+ey4cOgm TRs1DRlQLJlYuYrYYNk2ccf2mg== X-Google-Smtp-Source: APXvYqxrirpUHWJCS4XTsorLCGVLEXohr/Hu6n159kHS43nSAQBPXQ2rskeSgI2M8selLJJyC1lBrA== X-Received: by 2002:a63:225b:: with SMTP id t27mr18104506pgm.25.1558694587171; Fri, 24 May 2019 03:43:07 -0700 (PDT) Received: from localhost.localdomain ([183.82.227.60]) by smtp.gmail.com with ESMTPSA id u1sm2176028pfh.85.2019.05.24.03.43.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 03:43:06 -0700 (PDT) From: Jagan Teki To: Andrzej Hajda , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland Subject: [DO NOT MERGE] [PATCH v2 2/6] ARM: dts: sun8i: bananapi-m2m: Enable Bananapi S070WV20-CT16 DSI panel Date: Fri, 24 May 2019 16:12:52 +0530 Message-Id: <20190524104252.20236-1-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_034312_495023_7E6B4C62 X-CRM114-Status: GOOD ( 12.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP This patch add support for Bananapi S070WV20-CT16 DSI panel to BPI-M2M board. DSI panel connected via board DSI port with, - DCDC1 as VCC-DSI supply - PL5 gpio for lcd reset gpio pin - PB7 gpio for lcd enable gpio pin - PL4 gpio for backlight enable pin Signed-off-by: Jagan Teki --- arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts | 59 ++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts b/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts index e1c75f7fa3ca..762d4cfcff01 100644 --- a/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts +++ b/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts @@ -44,6 +44,7 @@ #include "sun8i-a33.dtsi" #include +#include / { model = "BananaPi M2 Magic"; @@ -61,6 +62,14 @@ stdout-path = "serial0:115200n8"; }; + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; + brightness-levels = <1 2 4 8 16 32 64 128 255>; + default-brightness-level = <8>; + enable-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* LCD-BL-EN: PL4 */ + }; + leds { compatible = "gpio-leds"; @@ -122,6 +131,46 @@ status = "okay"; }; +&de { + status = "okay"; +}; + +&dphy { + status = "okay"; +}; + +&dsi { + vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + dsi_out: port@0 { + reg = <0>; + + dsi_out_panel: endpoint { + remote-endpoint = <&panel_out_dsi>; + }; + }; + }; + + panel@0 { + compatible = "bananapi,s070wv20-ct16-icn6211"; + reg = <0>; + enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* LCD-PWR-EN: PB7 */ + reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* LCD-RST: PL5 */ + backlight = <&backlight>; + + port { + panel_out_dsi: endpoint { + remote-endpoint = <&dsi_out_panel>; + }; + }; + }; +}; + &ehci0 { status = "okay"; }; @@ -157,6 +206,12 @@ status = "okay"; }; +&pwm { + pinctrl-names = "default"; + pinctrl-0 = <&pwm0_pin>; + status = "okay"; +}; + &r_rsb { status = "okay"; @@ -269,6 +324,10 @@ status = "okay"; }; +&tcon0 { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pb_pins>; From patchwork Fri May 24 10:43:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 10959687 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E1723112C for ; Fri, 24 May 2019 10:43:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CF0462888B for ; Fri, 24 May 2019 10:43:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CD34028891; Fri, 24 May 2019 10:43:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 42A17288BD for ; Fri, 24 May 2019 10:43:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=XzKbkg9dZyvymM2k5JCnvyIm9oJn4Dc56t2YBzYLuLk=; b=RnyhDP0tfY0luA I1BYpxrXglIK2ONDO7GC3kD6XrbamOeA+CppgJmozj/ienyxG6xjl5K+/80DS6vVwONQFeejEOiXl 8cT5v9Eh57jnVMA0t2KTjWz4BRUFC3sX17hCFhteg4qO5wjth+bDVSYAGATn7/Gw4QScruf8UD43W zd6xgu7+RRvE0xbpeagYNoLjVtornTw2j716S7r8ZZ0usuc8hLEfzYirod5OuZ7AVE2h+WeXRKHc6 /s1DGQUTqzt7t86c2yAkkWNY8nKVsyHPCJTsrm+fEknWZ88XACxX3opo+q80uBSc8MjBLgsOdY/Qn hDnOXHQSLZb/N1HF5d4A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fk-0001xq-C8; Fri, 24 May 2019 10:43:36 +0000 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fh-0001wy-AQ for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 10:43:34 +0000 Received: by mail-pg1-x544.google.com with SMTP id f25so4850275pgv.10 for ; Fri, 24 May 2019 03:43:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8vuYuFD/5hunekM87lEsGh/8eCfgNQ+vP68Nh+1lg0I=; b=EXBKWqHzxchoyXavJy+DUUjq9erk94e758eJBKaG25cITWW0Xl8CUyFxgzvFO0DMkv BxSmZYGJtPSa+kZvcfnj0NdXKDSOk3W19dZTkZwN2O0FAUq8LuiCl0Gh4JQ7F3zrq0BG iI/9LpGH7fs1cG8BSzxFwQPyCLkVyWmhSpfhQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8vuYuFD/5hunekM87lEsGh/8eCfgNQ+vP68Nh+1lg0I=; b=IE5Tz3AFd+ltg9wVqRgnBypt+j7E7NQptzta6toxtzytvmUjXciG5otqKjZmQ/J+2a LdnMOTq5NaExfq2US0tbahfyt1zo+CNTzaU0ROufHXW3t4+VCgOpO+6ouasuL7+xMdt2 7pwgdM+8dLLfG7D46sRXXcaMDvSIbNUkOfqP1XfLO2I1ApmkxGY4QuvNnWdETGDk1LN6 TBjivT1AslLpBbAhHXv9KspB9PuoVppcBvODy6PPFPUGUgHkUs25/oJJl5zola685+3C yhaeBzxqje4dWElxq2eQiCKlQa50YqRei/eAwgCEyM89BXLH+0UO/lKt+R9Vy727CT6J tcfg== X-Gm-Message-State: APjAAAXSk5uc1kq6PKcjUNFAE9Es4Co9Rkyq2gnBEv0X/dcKIvvNHi9f 5bcYB85MLTZT0BlMDhB/gKCLQA== X-Google-Smtp-Source: APXvYqwycicrVwk5ndUffCLYURVgKz0vy41pPuW9ahWqj3rjBAvuDI9sZaRa1UaC/4hduJFpzK7ccg== X-Received: by 2002:aa7:842f:: with SMTP id q15mr112526398pfn.161.1558694612646; Fri, 24 May 2019 03:43:32 -0700 (PDT) Received: from localhost.localdomain ([183.82.227.60]) by smtp.gmail.com with ESMTPSA id h11sm2303416pfn.170.2019.05.24.03.43.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 03:43:32 -0700 (PDT) From: Jagan Teki To: Andrzej Hajda , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland Subject: [PATCH v2 3/6] drm/sun4i: dsi: Add bridge support Date: Fri, 24 May 2019 16:13:14 +0530 Message-Id: <20190524104317.20287-1-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_034333_356490_E9B4F58E X-CRM114-Status: GOOD ( 17.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Some display panels would come up with a non-DSI output which can have an option to connect DSI interface by means of bridge converter. This DSI to non-DSI bridge converter would require a bridge driver that would communicate the DSI controller for bridge functionalities. So, add support for bridge functionalities in Allwinner DSI controller. Signed-off-by: Jagan Teki --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 60 +++++++++++++++++++------- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h | 1 + 2 files changed, 45 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c index ae2fe31b05b1..2b4b1355a88f 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -775,6 +775,9 @@ static void sun6i_dsi_encoder_enable(struct drm_encoder *encoder) if (!IS_ERR(dsi->panel)) drm_panel_prepare(dsi->panel); + if (!IS_ERR(dsi->bridge)) + drm_bridge_pre_enable(dsi->bridge); + /* * FIXME: This should be moved after the switch to HS mode. * @@ -790,6 +793,9 @@ static void sun6i_dsi_encoder_enable(struct drm_encoder *encoder) if (!IS_ERR(dsi->panel)) drm_panel_enable(dsi->panel); + if (!IS_ERR(dsi->bridge)) + drm_bridge_enable(dsi->bridge); + sun6i_dsi_start(dsi, DSI_START_HSC); udelay(1000); @@ -806,6 +812,9 @@ static void sun6i_dsi_encoder_disable(struct drm_encoder *encoder) if (!IS_ERR(dsi->panel)) { drm_panel_disable(dsi->panel); drm_panel_unprepare(dsi->panel); + } else if (!IS_ERR(dsi->bridge)) { + drm_bridge_disable(dsi->bridge); + drm_bridge_post_disable(dsi->bridge); } phy_power_off(dsi->dphy); @@ -969,11 +978,12 @@ static int sun6i_dsi_attach(struct mipi_dsi_host *host, dsi->device = device; ret = drm_of_find_panel_or_bridge(host->dev->of_node, 0, 0, - &dsi->panel, NULL); + &dsi->panel, &dsi->bridge); if (ret) return ret; - dev_info(host->dev, "Attached device %s\n", device->name); + dev_info(host->dev, "Attached %s %s\n", + dsi->bridge ? "bridge" : "panel", device->name); return 0; } @@ -983,7 +993,10 @@ static int sun6i_dsi_detach(struct mipi_dsi_host *host, { struct sun6i_dsi *dsi = host_to_sun6i_dsi(host); - dsi->panel = NULL; + if (dsi->panel) + dsi->panel = NULL; + else if (dsi->bridge) + dsi->bridge = NULL; dsi->device = NULL; return 0; @@ -1055,8 +1068,10 @@ static int sun6i_dsi_bind(struct device *dev, struct device *master, struct sun4i_tcon *tcon0 = sun4i_get_tcon0(drm); int ret; - if (!dsi->panel) + if (!(dsi->panel || dsi->bridge)) { + dev_info(drm->dev, "No panel or bridge found... DSI output disabled\n"); return -EPROBE_DEFER; + } dsi->drv = drv; @@ -1078,19 +1093,29 @@ static int sun6i_dsi_bind(struct device *dev, struct device *master, } dsi->encoder.possible_crtcs = BIT(0); - drm_connector_helper_add(&dsi->connector, - &sun6i_dsi_connector_helper_funcs); - ret = drm_connector_init(drm, &dsi->connector, - &sun6i_dsi_connector_funcs, - DRM_MODE_CONNECTOR_DSI); - if (ret) { - dev_err(dsi->dev, - "Couldn't initialise the DSI connector\n"); - goto err_cleanup_connector; + if (dsi->panel) { + drm_connector_helper_add(&dsi->connector, + &sun6i_dsi_connector_helper_funcs); + ret = drm_connector_init(drm, &dsi->connector, + &sun6i_dsi_connector_funcs, + DRM_MODE_CONNECTOR_DSI); + if (ret) { + dev_err(dsi->dev, + "Couldn't initialise the DSI connector\n"); + goto err_cleanup_connector; + } + + drm_connector_attach_encoder(&dsi->connector, &dsi->encoder); + drm_panel_attach(dsi->panel, &dsi->connector); } - drm_connector_attach_encoder(&dsi->connector, &dsi->encoder); - drm_panel_attach(dsi->panel, &dsi->connector); + if (dsi->bridge) { + ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL); + if (ret) { + dev_err(dsi->dev, "Couldn't attach the DSI bridge\n"); + goto err_cleanup_connector; + } + } return 0; @@ -1104,7 +1129,10 @@ static void sun6i_dsi_unbind(struct device *dev, struct device *master, { struct sun6i_dsi *dsi = dev_get_drvdata(dev); - drm_panel_detach(dsi->panel); + if (dsi->panel) + drm_panel_detach(dsi->panel); + else if (dsi->bridge->funcs->detach) + dsi->bridge->funcs->detach(dsi->bridge); } static const struct component_ops sun6i_dsi_ops = { diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h index c570f2b3868f..c76b71259d2e 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h @@ -32,6 +32,7 @@ struct sun6i_dsi { struct sun4i_tcon *tcon; struct mipi_dsi_device *device; struct drm_panel *panel; + struct drm_bridge *bridge; }; static inline struct sun6i_dsi *host_to_sun6i_dsi(struct mipi_dsi_host *host) From patchwork Fri May 24 10:43:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 10959693 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 81CA8112C for ; Fri, 24 May 2019 10:43:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6F5EA288B8 for ; Fri, 24 May 2019 10:43:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 63B672875E; Fri, 24 May 2019 10:43:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0428C288B9 for ; Fri, 24 May 2019 10:43:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=t5TBqLGlIjZAq6LwBNOShvegjx/nU497SNZbQmVvbnU=; b=gHispdSZQAkYdE Zijjgsutj0lYqGaCUtbUooPaYbPeHr4AfRKqXHW93xDbZf+3e56HmznU47MhdxXQAW1smrfWWjJUR W14CcgpQ0GLumOkFmJbdv1AqRLmkAhLku4dLEXp776RF4SXrwTYdU+ia/nyf8paZ5r6bhQqnfmqNh BFZ8OQNRUlgi5oQF8WDMGy7yIK4j0+hbkZWdQ+G3mBp1Nr/Fc7S6jIB+cciQH/pMq92DidmIB/eEd dhH8AzXDMsUCN44O74qbC/BlZpSYeHxUNwQOCuw5ZEkVb5XKWjppDzLUPK5EIo1gVxND4zMVu6lm9 G/wgIb/VYMzf1LnOl4/A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fy-0002Dc-Di; Fri, 24 May 2019 10:43:50 +0000 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7fs-00028V-UF for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 10:43:48 +0000 Received: by mail-pf1-x441.google.com with SMTP id b76so5101450pfb.5 for ; Fri, 24 May 2019 03:43:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qNTSCPsOEC2W2+GNT7l2VKFB0+zY6ZYUs+njP7ZZryY=; b=MMbn8v2Zd2qsn/V/zb6Mt7MtfVlWEps+yV995UvWXL1qqyAQ3BZmYedcZmufHrmzso pmn/HjUvKsI28wdzVni96j2suAg2VF2NOyBYHDWkoag8/K6d/bRvl3k9S3+JbubG81qG C/PJWR2X8Czf3xVJnt9ALXMpfquiiK0chagBE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qNTSCPsOEC2W2+GNT7l2VKFB0+zY6ZYUs+njP7ZZryY=; b=FEjnj0Rch19ahFM1vk6T2vGHnsmmjNVAPqkGrlfNpkfvtkUXe3V4pmeB/wZh7RxZW1 3TRW2704uWhuyk9NiYtNAjDaI7YTziqV3zRIPMa06654jaykXxD74HA0yDpE5kSeB+/J 0DdHCaxUTc25B8BEKEJcKYvSPK0Qv+1Lle7HgMLGrXJY7c3lduqIFeptRadywXCoOsHg D50qW+YvMLYggYpRp81gtXIqS68MXaiMLHLf4a6FdGvOpOhJm1/m8x1mFpamcZQ3gGNK +riNV1ANukdwRIgmDb9z9uedZqkgRAxzaqPx8bOFQ0VFGD2xyQ3YyeDHX7QDUvGuRQkH f2ng== X-Gm-Message-State: APjAAAXrMR45d5+cBOX8qFoouzxJU2KCNnZyMQVWnW+wWWrUyqulCfuU guYSOpfMvR+VmrOqThp/Tl05bw== X-Google-Smtp-Source: APXvYqwKcohDIPUT5/aEC255pUPB2TXqU3TOva/kNXfG24c8fTCD7t9u2h8RQ7FYuSxfiGAGamTVqQ== X-Received: by 2002:a62:5653:: with SMTP id k80mr110389226pfb.144.1558694623629; Fri, 24 May 2019 03:43:43 -0700 (PDT) Received: from localhost.localdomain ([183.82.227.60]) by smtp.gmail.com with ESMTPSA id h11sm2303416pfn.170.2019.05.24.03.43.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 03:43:43 -0700 (PDT) From: Jagan Teki To: Andrzej Hajda , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland Subject: [PATCH v2 4/6] dt-bindings: display: bridge: Add ICN6211 MIPI-DSI to RGB converter bridge Date: Fri, 24 May 2019 16:13:15 +0530 Message-Id: <20190524104317.20287-2-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190524104317.20287-1-jagan@amarulasolutions.com> References: <20190524104317.20287-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_034345_005878_A8A5374E X-CRM114-Status: GOOD ( 12.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP ICN6211 is MIPI-DSI/RGB converter bridge from chipone. It has a flexible configuration of MIPI DSI signal input and produce RGB565, RGB666, RGB888 output format. Add dt-bingings for it. Signed-off-by: Jagan Teki --- .../display/bridge/chipone,icn6211.txt | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/chipone,icn6211.txt diff --git a/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.txt b/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.txt new file mode 100644 index 000000000000..53a9848ef8b6 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.txt @@ -0,0 +1,78 @@ +Chipone ICN6211 MIPI-DSI to RGB Converter Bridge + +ICN6211 is MIPI-DSI/RGB converter bridge from chipone. +It has a flexible configuration of MIPI DSI signal input +and produce RGB565, RGB666, RGB888 output format. + +Required properties for RGB: +- compatible: must be "chipone,icn6211" +- reg: the virtual channel number of a DSI peripheral +- reset-gpios: a GPIO phandle for the reset pin + +The device node can contain following 'port' child nodes, +according to the OF graph bindings defined in [1]: + 0: DSI Input, not required, if the bridge is DSI controlled + 1: RGB Output, mandatory + +[1]: Documentation/devicetree/bindings/media/video-interfaces.txt + +Example: + + panel { + compatible = "bananapi,s070wv20-ct16", "simple-panel"; + enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* LCD-PWR-EN: PB7 */ + backlight = <&backlight>; + + port { + panel_out_bridge: endpoint { + remote-endpoint = <&bridge_out_panel>; + }; + }; + }; + +&dsi { + vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + dsi_out: port@0 { + reg = <0>; + + dsi_out_bridge: endpoint { + remote-endpoint = <&bridge_out_dsi>; + }; + }; + }; + + bridge@0 { + compatible = "chipone,icn6211"; + reg = <0>; + reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* LCD-RST: PL5 */ + #address-cells = <1>; + #size-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + bridge_in: port@0 { + reg = <0>; + + bridge_out_dsi: endpoint { + remote-endpoint = <&dsi_out_bridge>; + }; + }; + + bridge_out: port@1 { + reg = <1>; + + bridge_out_panel: endpoint { + remote-endpoint = <&panel_out_bridge>; + }; + }; + }; + }; +}; From patchwork Fri May 24 10:43:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 10959697 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8031A76 for ; Fri, 24 May 2019 10:44:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C1A02880F for ; Fri, 24 May 2019 10:44:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 56B64288C5; Fri, 24 May 2019 10:44:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2F7C02880F for ; Fri, 24 May 2019 10:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Pwo5/gfsky6vft/LDAqOjzwtL3W6n3BBDC+akDDJgtU=; b=ON1+3iFkHJrC5/ BeVuzbsCXaWjQe4/Gs+4tWOIrcDOJoh4nKIKOYg9LSVodPCpNH/wwMCykEwqyiBasNYG3CDsau50+ dLN52MAnUiZ3E6jtfDSoxDI/8st7v+gmEhDyShA+14Gj4SDNuxlbj4y8Fkz0wENEpRTr3WDtZGtTZ 9cd6lzOMQxFFZmDm+o5us31ZJECC3Bytc+PCRCCv8yGHEqtwpwk/HL9W882rivMP1nlQPBdONCSG7 PSST8v1xfnc88PuM5LhMJn1hSputMfsrDUF6Z3lkaoF8MswMqFt5OD37Iw21NXuC+x0bcnT5vnlgR 9Ov6yHBQCsARE2dV3G3g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7gF-0002aW-3J; Fri, 24 May 2019 10:44:07 +0000 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hU7g7-0002OA-DD for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 10:44:05 +0000 Received: by mail-pg1-x542.google.com with SMTP id n2so4845684pgp.11 for ; Fri, 24 May 2019 03:43:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Bq5JeR/itXRFWJkFBy/4tSREROqi+e79H6/1fNsKbVM=; b=OyifHJAO2FY1I6WMV5KWMz4fEKUQ5ksubmjH/U8znuzy2iQ40wQwxbzcoCgrPSjNqP UmHNJaiDFOdp0ycz0rXeRxoWHEsSi3zTE00HERGPtcpyteh8cFWNlBv7MWc/Esuibd95 bM4Jg6ykMobiJdLIlTq44XJJbby9O4wz+2fXI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Bq5JeR/itXRFWJkFBy/4tSREROqi+e79H6/1fNsKbVM=; b=Nko6oNDTbcItnV8nPa60nRRw9vq3NnkB5g3heLnzYgFfgTjYygYg2AL+j7MuZsaNWh 0fczPDQJhKPROoJ44+FPhlxNjtz9RNxPe6RmaairIlqI5YCLFOlHOcBml6thLmLUJ8Us E19b4q1PBT9wD9TpAwslcBA/cL4nX0/pdZvLxCeuoYz+3ly4KWyM3pGMLzgEAmRUTrUA ChdL16mRr6nDrCmkc8Jhxta7PYPawfP6BjXfq2eo8kSnO9KMIoWn0+AOvvXnvI4OYgzI 0Ul1FkL/F0SQnv6lD3n+/f0y8bVPySpXjPGROkRaz71tdQBRrB2+G6j/HWOw5Bcov4h2 zEPg== X-Gm-Message-State: APjAAAVVLTF40tmrKMCp7hdH3R/j1ogJkXWSMvGI3eGxcT1sPr7Au6Ln rhUn1hYNoLNqrFdVL7MzaDqveQ== X-Google-Smtp-Source: APXvYqxfYiF5og1UQq3Y0TjhTFSgxW3pYtju93KNCwdtLt3rerjecQ5de3ix+C1QlDyDCblrS3f7eQ== X-Received: by 2002:a63:dc09:: with SMTP id s9mr63725852pgg.425.1558694637934; Fri, 24 May 2019 03:43:57 -0700 (PDT) Received: from localhost.localdomain ([183.82.227.60]) by smtp.gmail.com with ESMTPSA id h11sm2303416pfn.170.2019.05.24.03.43.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 03:43:57 -0700 (PDT) From: Jagan Teki To: Andrzej Hajda , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland Subject: [PATCH v2 5/6] drm/bridge: Add Chipone ICN6211 MIPI-DSI/RGB converter bridge Date: Fri, 24 May 2019 16:13:16 +0530 Message-Id: <20190524104317.20287-3-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190524104317.20287-1-jagan@amarulasolutions.com> References: <20190524104317.20287-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_034359_749499_7A919246 X-CRM114-Status: GOOD ( 19.24 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP ICN6211 is MIPI-DSI/RGB converter bridge from chipone. It has a flexible configuration of MIPI DSI signal input and produce RGB565, RGB666, RGB888 output format. Add bridge driver for it. Signed-off-by: Jagan Teki --- Note: - drm_panel_bridge_add seems not working or incompatible as per driver setup. any inputs on this would be great. MAINTAINERS | 6 + drivers/gpu/drm/bridge/Kconfig | 10 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/chipone-icn6211.c | 344 +++++++++++++++++++++++ 4 files changed, 361 insertions(+) create mode 100644 drivers/gpu/drm/bridge/chipone-icn6211.c diff --git a/MAINTAINERS b/MAINTAINERS index 4cc30c360fda..97ffb265bedc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4991,6 +4991,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc S: Maintained F: drivers/gpu/drm/bochs/ +DRM DRIVER FOR CHIPONE ICN6211 MIPI-DSI to RGB CONVERTOR BRIDGE +M: Jagan Teki +S: Maintained +F: drivers/gpu/drm/bridge/chipone-icn6211.c +F: Documentation/devicetree/bindings/display/bridge/chipone,icn6211.txt + DRM DRIVER FOR FARADAY TVE200 TV ENCODER M: Linus Walleij T: git git://anongit.freedesktop.org/drm/drm-misc diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 3dff9997f5e3..2e06be1aaca3 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -36,6 +36,16 @@ config DRM_CDNS_DSI Support Cadence DPI to DSI bridge. This is an internal bridge and is meant to be directly embedded in a SoC. +config DRM_CHIPONE_ICN6211 + tristate "Chipone ICN6211 MIPI-DSI/RGB converter bridge" + depends on DRM && DRM_PANEL + depends on OF + select DRM_MIPI_DSI + help + ICN6211 is MIPI-DSI/RGB converter bridge from chipone. + It has a flexible configuration of MIPI DSI signal input + and produce RGB565, RGB666, RGB888 output format. + config DRM_DUMB_VGA_DAC tristate "Dumb VGA DAC Bridge support" depends on OF diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile index 4934fcf5a6f8..541fdccad10b 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_ANALOGIX_ANX78XX) += analogix-anx78xx.o obj-$(CONFIG_DRM_CDNS_DSI) += cdns-dsi.o +obj-$(CONFIG_DRM_CHIPONE_ICN6211) += chipone-icn6211.o obj-$(CONFIG_DRM_DUMB_VGA_DAC) += dumb-vga-dac.o obj-$(CONFIG_DRM_LVDS_ENCODER) += lvds-encoder.o obj-$(CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW) += megachips-stdpxxxx-ge-b850v3-fw.o diff --git a/drivers/gpu/drm/bridge/chipone-icn6211.c b/drivers/gpu/drm/bridge/chipone-icn6211.c new file mode 100644 index 000000000000..76edda52dc57 --- /dev/null +++ b/drivers/gpu/drm/bridge/chipone-icn6211.c @@ -0,0 +1,344 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Amarula Solutions + * Author: Jagan Teki + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include