Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3421559ybl; Mon, 27 Jan 2020 03:48:18 -0800 (PST) X-Google-Smtp-Source: APXvYqzSZ+pRs6GhmM4bDGNQyyHaWXIt+0BHKnuWz1zMeNCVzD/nvC+ArGhdx0UYDvIIz66oTP91 X-Received: by 2002:a9d:68d1:: with SMTP id i17mr11636306oto.367.1580125698787; Mon, 27 Jan 2020 03:48:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580125698; cv=none; d=google.com; s=arc-20160816; b=QvBXQlUOYN+jDeLa9EbD2EVOShTkFShUiwxIPfLNKSc7ZwrVH1NcJ+CcWo64lURr0E XLWt8Yp2U/8Epf5NkOjxr9CZThV0SdEQJNZmV4B3jvIgu3ew+K45Gwz6E3HoPsuTDwNT AIVV3IgPtk8If0b4cUDhGXgQo4Ei/GwTXcEZ5aOKPO17jMUferOcCQis+IGj3Vcgf8o1 qerhec2N7bnY1qvqTuYKTCP/q/dNYXTQKSOX8MnEhoa/kMjcBH9t0Mj6jCwhvElUy/F3 cxaNYAlFBkhaOWyaK9pkhKE+Lc5wcgXoeKj0LjLO6YgLN7iWBpEzL/o2wMfVoNziv3Sx TtUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=TrRlOwLc/tdMiEvgIjVuZLGeEAB4WdRX1AogQQheS8A=; b=NZk1D5D6R2ntLFE+ackPw7DJ1aO4y+jLljSSEIrVYFOY6BN5bAwhakIMsDsk3+Nyuv nvWPLJt8aabCPnjftxCkHwPMkrzYQjHNauEV6wKb91xAFdGhV93XSYmV0IZpFPV7fnhC gPPLy072IVn3oTwH20GqO0h5AXiu9pNtKyVR9Y1G+6d0akaJA/cCuDDIYj6a6vChQJ7k 6DZPD0tU9A9qRfnaC/bowejgSj5R+kds8hZG07WEDY2CwS2y8lvWEAnnSkbr7oDsxIsF IsN1UJReord1VcIOeZLwfPBClZbEsEoH7PnwOstP2TILEMu6zErXP3P1uChC/dhZENZU 1Aeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=YKz8X54P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i20si3411613oie.119.2020.01.27.03.48.06; Mon, 27 Jan 2020 03:48:18 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=YKz8X54P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730152AbgA0K4N (ORCPT + 99 others); Mon, 27 Jan 2020 05:56:13 -0500 Received: from fllv0016.ext.ti.com ([198.47.19.142]:55590 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730129AbgA0K4M (ORCPT ); Mon, 27 Jan 2020 05:56:12 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 00RAtrIj121310; Mon, 27 Jan 2020 04:55:53 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1580122553; bh=TrRlOwLc/tdMiEvgIjVuZLGeEAB4WdRX1AogQQheS8A=; h=From:To:CC:Subject:Date; b=YKz8X54PMvkl6NmNNnRwgUQQDfm1ZzIkhsYMMrNLt9BF4gpk1qOlRqt6wdD1PUE5d 9yjhK0dQk396EzPq8jcf1uO+0DafyjiJyERCpK97Frx8ZqCj4GlNwl+vRYUQaLoYyB P9xHMywnXERuBISBNp/K2MxDMsvyZe2/jm95Zxx0= Received: from DFLE103.ent.ti.com (dfle103.ent.ti.com [10.64.6.24]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 00RAtrX6044123 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 27 Jan 2020 04:55:53 -0600 Received: from DFLE115.ent.ti.com (10.64.6.36) by DFLE103.ent.ti.com (10.64.6.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Mon, 27 Jan 2020 04:55:51 -0600 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE115.ent.ti.com (10.64.6.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3 via Frontend Transport; Mon, 27 Jan 2020 04:55:51 -0600 Received: from feketebors.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id 00RAtmOY079625; Mon, 27 Jan 2020 04:55:48 -0600 From: Peter Ujfalusi To: , , , , , CC: , , , , , , Subject: [PATCH v3 0/2] drm/bridge: Support for Toshiba tc358768 RGB to DSI bridge Date: Mon, 27 Jan 2020 12:56:32 +0200 Message-ID: <20200127105634.7638-1-peter.ujfalusi@ti.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Changes since v2: - Implement pre_enable and post_disbale callbacks and move code from enable and disable callbacks. - hw_enable/disable is removed from tc358768_dsi_host_transfer() - Defines for DSI_CONFW accesses - breakout from the loops (the check for it) is moved one level up in tc358768_calc_pll() Changes since v1: DT bindings document: - Removed MaxItems for the regulators - additionalProperties: false added to port@1 Driver: - Year is now 2020 - Includes shorted - The three letter members of the private struct documented 0 they are named as in the datasheet - Error handling for the IO functions is following what sil-sii8620.c does - regmap regcache is disabled along with refcache_sync() and volatile callback for regmap - The hw enable and disable functions got separated - Taken the suggested simplifactions from Andrzej for tc358768_calc_pll() and tc358768_dsi_host_transfer() - The driver no longer stores the drm_display_mode, it relies on priv->bridge.encoder->crtc->state->adjusted_mode where it needs it - tc358768_calc_pll() can be used for verification only to not modify the state - refcounting added for hw enable state as a dsi transfer was shutting down the bridge when it was already enabled. Tested on top of drm-next + LED backlight patches + DT patches on dra7-evm with osd101t2045 (panel-simple) and osd101t2587 panel drivers. Cover letter from v1: TC358768 is a parallel RGB to MIPI DSI bridge. The initial driver supports MIPI_DSI_MODE_VIDEO, MIPI_DSI_FMT_RGB888 and only write is implemented for mipi_dsi_host_ops.transfer due to lack of hardware where other modes can be tested. Regards, Peter --- Peter Ujfalusi (2): dt-bindings: display: bridge: Add documentation for Toshiba tc358768 drm/bridge: Add tc358768 driver .../display/bridge/toshiba,tc358768.yaml | 158 +++ drivers/gpu/drm/bridge/Kconfig | 10 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/tc358768.c | 1040 +++++++++++++++++ 4 files changed, 1209 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml create mode 100644 drivers/gpu/drm/bridge/tc358768.c -- Peter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki