Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp256835pxk; Tue, 1 Sep 2020 23:45:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGpbbnjWm2bVphGfGIbulK1+uVdu3b5Vdh5kUPFiBSbW///ZxvePJM1tNE3CEJg6fzQQXA X-Received: by 2002:a50:ab59:: with SMTP id t25mr4905811edc.364.1599029142885; Tue, 01 Sep 2020 23:45:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599029142; cv=none; d=google.com; s=arc-20160816; b=y2yVOqKhgJ4EXt6HjP4Q2hYvnoZXZGsfwVLVP1Ymhz/sXcd+6SYNCpxKwVqHSAdlp5 WrgPEjPqgw34SFtoJrik4i0wJToQf9e93ZEwD+l7eVDN9WvGvkXbL+teucQscKoZhhkx GJJ7deIf6dQ6IveltQeFSYTbP2Xb3opHFTP4E/LULfOvTIkWxi917g/ZRh5EvS7QdSFj LE4irKl9pHY6YU3ASu/uuMcuyXzHxUpcEcXHLgZEKsGS5BGt1rrFC1CGgXDVtAY9NJ5g NyPpBX7ZvmrIuhGbOFwnhFGwL8StzqzrTrw89YCyZJCOfRYSvppatmdBpeTCgQCI+OF8 ZjNg== 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=2/PwrHkXfRPQTDfnYkByFyhHKkP+0jKSPgxEEXELOwQ=; b=gX2qMQ+2K7AKud9pmnD8wNG9chHRGHFhdwBv5TGbcIw7jDeJSK3+GUYYOlS4wP+xOt GDzqAIAwo5Nyl27zwt8+0Ef9C1GK4HZo27mwKWz5i5ljSrVMd1ntZvO5dwuRd8o4Pdex iPvjSSbSOBe+qUazH2xlVKICdqRQ1XSe/S+zx14vM0EjNeKE4nVByl7AwOTVM2ntZGLD 5RYG2m4rMqX9hzPJA31SpOVOpjZizrAQXv7cZtz9TlUksJyGTUeWD9ErZzkBslgR1yq2 Ix/HJooNe1m4+xZ1eWJjYZq0NVPx0XvpnanlyJdESxpgyOFxerkyBOkZirs9KAt+aUcE QkDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="TQ/3KCYq"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bm16si1912226edb.114.2020.09.01.23.45.19; Tue, 01 Sep 2020 23:45:42 -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=@linaro.org header.s=google header.b="TQ/3KCYq"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726380AbgIBGoT (ORCPT + 99 others); Wed, 2 Sep 2020 02:44:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726311AbgIBGoR (ORCPT ); Wed, 2 Sep 2020 02:44:17 -0400 Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F2DDC061245 for ; Tue, 1 Sep 2020 23:44:17 -0700 (PDT) Received: by mail-pl1-x644.google.com with SMTP id x18so1832597pll.6 for ; Tue, 01 Sep 2020 23:44:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2/PwrHkXfRPQTDfnYkByFyhHKkP+0jKSPgxEEXELOwQ=; b=TQ/3KCYqasru32p2OO2IQhCCSo6aHlnixswEpGXVnVJY9KZ9cp7xEOtjds86wKSDTT KXys35zg30v70pQ6LiCi/nY+Vd7o+E3KJIiQpnaiVnoEU4ER3yBjJn2U9TpmHbbEG94s XMQHQkuBViGZn4I5xowJCyWtDNIDe0NUYeqZN4uZUdkBmEdEsGzCgG/1cwiB/VeJAJkA 9B9X1dZtaRsO5AenaU5e6WyiMGkeke3Qhupbfv/YQPIbWDtD7w/GIEiqe5DKHb866D6p frW0BlCXL+PH5QBJK2NQ58ohO4jEJCaVdBijhEnacUspto7zMjlOz2bAVyNSJ/CCgtRP cchA== 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=2/PwrHkXfRPQTDfnYkByFyhHKkP+0jKSPgxEEXELOwQ=; b=M3afInL+oSQaN6wZYJNAItnhufLIQxHJqMYrDxaSfrQB1XZnwFiqnZVH742r/1D2iW crgwFA2yVV0vrhTVpuc3NrDMcyyi2SCQ8uEp829xFcMPS9lL/bgM910eskGL0PVNSN16 0b8GDOfXJxUD3U18mkt4H0NKVJ/xvrZgeObxT7G3kJHKUNQ1+XGGXnHGOog5bDx4UZhz nWPMsxXb2SahxNF8hqzbRf4ZEj9LwbNVTi/X89LE9mVMSXKDDSOXmVOYWgCJ16kab7a/ 7kMKS6at5YoLj9rT5BagkARtl3oabE1jn/oIewxWmjDfSYa0eGnp9AxYtMNB2wLK9pjt lHHw== X-Gm-Message-State: AOAM530bAg3apmMlHjMNnDL/bne/4MI9YAvbNmYvxa91w1aZD7wBmlHK ID3ptM6yH7icJyBHOF5WWgpULg31YmJWzQ9tUZk= X-Received: by 2002:a17:90a:a882:: with SMTP id h2mr1015667pjq.180.1599029056297; Tue, 01 Sep 2020 23:44:16 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id i23sm4317434pfo.207.2020.09.01.23.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 23:44:15 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg Cc: David Airlie , Daniel Vetter , Mauro Carvalho Chehab , "David S . Miller" , Rob Herring , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Bjorn Andersson , Sumit Semwal Subject: [PATCH v7 0/2]dd support for Tianma nt36672a video mode panel Date: Wed, 2 Sep 2020 12:14:05 +0530 Message-Id: <20200902064407.30712-1-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some Poco F1 phones from Xiaomi have a FHD+ video mode panel based on the Novatek NT36672A display controller; Add support for the same. Most of the panel data is taken from downstream panel dts, and is converted to drm-panel based driver by me. It has been validated with v5.9-rc1 based drm-misc-next on Poco F1 phone; my tree with other dependent patches is here [1] [1]: https://git.linaro.org/people/sumit.semwal/linux-dev.git/log/?h=dev/poco-panel-upstreaming --- v2: In dt-binding, removed ports node, making port@0 directly under panel@0 node. Also updated the panel_on delay to a safer 200ms as needed for latest Android. v3: Replaced port@0 with just port in panel@0 node. v4: Since "0425662fdf05: drm: Nuke mode->vrefresh", we have to calculate vrefresh on demand. Update for it. v5: Fixed review comments from Sam: - rebased on top of drm-misc-next remove return of drm_panel_add() remove drm_panel_detach() - renamed the panel driver file to reflect that this is a novatek nt36672a display driver and not only for tianma panels. Adjusted some internal names also to reflect the same. - corrected changelog to add info about the generic Novatek DSI IC - corrected compatible string accordingly - removed pinctrl - used drm_panel* API for prepare/unprepare/disable/remove v6: Fixed few review comments on v5 from Sam: - add dev_err_probe() support - move DRM_* error printing to dev_err() - removed a few unnecessary bits v7: Fixed review comments on v6 from Bjorn: - Reworked the send_mipi_commands functionality - removed regulator disable_loads; moved active_load setting to probe time - made function names and struct less generic - updated the reset_gpio working to active_low - update MAINTAINERS for file name changes Sumit Semwal (2): dt-bindings: display: panel: Add bindings for Novatek nt36672a drm: panel: Add novatek nt36672a panel driver .../display/panel/novatek,nt36672a.yaml | 87 +++ MAINTAINERS | 7 + drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-novatek-nt36672a.c | 711 ++++++++++++++++++ 5 files changed, 816 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml create mode 100644 drivers/gpu/drm/panel/panel-novatek-nt36672a.c -- 2.28.0