From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2C56C4332F for ; Wed, 6 Oct 2021 07:47:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 951CF61177 for ; Wed, 6 Oct 2021 07:47:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237656AbhJFHtM (ORCPT ); Wed, 6 Oct 2021 03:49:12 -0400 Received: from mx1.tq-group.com ([93.104.207.81]:56298 "EHLO mx1.tq-group.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237655AbhJFHtL (ORCPT ); Wed, 6 Oct 2021 03:49:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1633506440; x=1665042440; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=iG2jS+y/WSgcYwDoervvp4SA4wH8TDN8lILJ7OYWWWY=; b=ky8PoVmHeMWJUKRxTtzopKmiAqmvnJTyme77/saMNXCsrzKXkZuz/6FF SEupHp9yjxnwZcSDIOlZGTWvg3OZTwSyWEIoPDexYPSgInEVTw0GkyX6i UytQmymCP3dwncu/QZFXSAkPKYzuzWx44l5m5vYyuWvgQOum5EMWOiBo8 UUJFB+koYOTe2jJX98Agfoy/NiDtMVi6C9Hxo10iJrqkXE8VrLpzHS/jJ Xx9016oJ0sOHthQJgbRdSh9ObAuS3LvPvwU2tQnKEXg2vCQ4qU/AR/t5y 4I2y5v/WK8+BX8rcUiScbRDRywaWKwNzcNemQZ0UI72TRwZylHPoLQ5xj g==; X-IronPort-AV: E=Sophos;i="5.85,350,1624312800"; d="scan'208";a="19887676" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 06 Oct 2021 09:47:18 +0200 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Wed, 06 Oct 2021 09:47:18 +0200 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Wed, 06 Oct 2021 09:47:18 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1633506438; x=1665042438; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=iG2jS+y/WSgcYwDoervvp4SA4wH8TDN8lILJ7OYWWWY=; b=jP4K0bij3UsTdRik7yyYu8w3xhjcRHuj9kkfT51NXIQu1RdIU5giJlzd YRhZ7ZWOFpPaiWnF6Ux5jUhYNpZolsP5iUeGvPTs/rnilJ/qDwWNPTemz U9udc2j1HfXSwj08QzoHn7sAosVZ0POAZqj27diGTLRM3sy7O0a7LS/cm E+Lr4anxMwBXHIocPdgTyQwxb9Rg01zLZ0wi7y10OB07Ew7eFyGny/qbg vLUprQTeoj+qqfNiID8v4wtG/aqO+YIsO0ssB7wRbQsGxoyMBJJ0tVh27 ickrjrUkHcvLE/emQkPW00Tk+vm88GTUJWzEDNB/fysBE+6PIQwrfsDi+ A==; X-IronPort-AV: E=Sophos;i="5.85,350,1624312800"; d="scan'208";a="19887675" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 06 Oct 2021 09:47:18 +0200 Received: from steina-w.tq-net.de (unknown [10.123.49.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by vtuxmail01.tq-net.de (Postfix) with ESMTPSA id 82E24280065; Wed, 6 Oct 2021 09:47:18 +0200 (CEST) From: Alexander Stein To: David Airlie , Daniel Vetter , Rob Herring , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: Alexander Stein , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Subject: [PATCH 1/3] drm/bridge: ti-sn65dsi83: Add vcc supply regulator support Date: Wed, 6 Oct 2021 09:47:11 +0200 Message-Id: <20211006074713.1094396-1-alexander.stein@ew.tq-group.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org VCC needs to be enabled before releasing the enable GPIO. Signed-off-by: Alexander Stein --- drivers/gpu/drm/bridge/ti-sn65dsi83.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c index a32f70bc68ea..5fab0fabcd15 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -143,6 +144,7 @@ struct sn65dsi83 { struct mipi_dsi_device *dsi; struct drm_bridge *panel_bridge; struct gpio_desc *enable_gpio; + struct regulator *vcc; int dsi_lanes; bool lvds_dual_link; bool lvds_dual_link_even_odd_swap; @@ -647,6 +649,12 @@ static int sn65dsi83_parse_dt(struct sn65dsi83 *ctx, enum sn65dsi83_model model) ctx->panel_bridge = panel_bridge; + ctx->vcc = devm_regulator_get(dev, "vcc"); + if (IS_ERR(ctx->vcc)) + return dev_err_probe(dev, PTR_ERR(ctx->vcc), + "Failed to get supply 'vcc': %pe\n", + ERR_PTR(ret)); + return 0; } @@ -690,7 +698,11 @@ static int sn65dsi83_probe(struct i2c_client *client, ctx->bridge.of_node = dev->of_node; drm_bridge_add(&ctx->bridge); - return 0; + ret = regulator_enable(ctx->vcc); + if (ret) + dev_err(dev, "Failed to enable vcc\n"); + + return ret; } static int sn65dsi83_remove(struct i2c_client *client) @@ -701,6 +713,7 @@ static int sn65dsi83_remove(struct i2c_client *client) mipi_dsi_device_unregister(ctx->dsi); drm_bridge_remove(&ctx->bridge); of_node_put(ctx->host_node); + regulator_disable(ctx->vcc); return 0; } -- 2.25.1