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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E7C88C7619A for ; Mon, 27 Mar 2023 08:15:17 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0780E86083; Mon, 27 Mar 2023 10:13:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="o/2H6+4N"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 724E586096; Mon, 27 Mar 2023 10:12:49 +0200 (CEST) Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id ACE6C86092 for ; Mon, 27 Mar 2023 10:12:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=clamor95@gmail.com Received: by mail-lj1-x229.google.com with SMTP id q14so7955958ljm.11 for ; Mon, 27 Mar 2023 01:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679904747; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SdJ8nTIXJEceZy3yD6O+QnxCeq3tdhYOIxA5+1VJWXM=; b=o/2H6+4NcDj3ePG5G9AJe01FXcHWBi2M8L56DlRvxbEJ13/H0qx2rm7Fj2xD9daBPe G8PNLFtjfqrGPWPwG75wbJjJbfLsc0z8RtJzwfDlq4jFqlPcdg4MbmdzexwEOfqtpbAf ea9RfM20hvL/ymKL9RS/HDg4Ivse/Ztdm2YYLX45SVx/TMP1sdD8koIKZdDrBbRyM7eI Qktro4byWSxQIPKttOI4u0H5vb9NbJ0KHQl3HIPiboYuqk398hUWarLVYnn4FKVnrnGp KBnmm7VfmDqf3Cm3BSCPsJVD4+Qn6jJyWHtoeU2D3TgoX74LJEMFC21ltbFO9XNEvOhw UVCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679904747; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SdJ8nTIXJEceZy3yD6O+QnxCeq3tdhYOIxA5+1VJWXM=; b=e6mO8f6IL5SZ85lnI+4Dad58QdGZPDDwYKwmamlAt3IuJVdFhOprDPWDhNJ2rirdHq 5USbeavoYPuM+0FciCchVNDsTVCQ+IpHQeCv3xAjmzO/ARIWqQYbvT/HAkZwZCYPxPv+ /B18H/BPTFlruWnFDdm+cE3WylD7U1aSOJevwx8L58lrnr/eDsx8sU9AOwlgbf8b85Ds xnbjTwPDwoaQ4M1MmPkcvHOqP2N5D4XVNhbr2/JPKeHl0k2On5CVVYfWVBQhaDhO6tr9 QMc530N5GUcLrHnOr8Q+G9lpUEJxl2VdBOzX2aGFij3+z/FeivgFmNnmP89Zzart+Qv1 HZwQ== X-Gm-Message-State: AO0yUKVn9AYtNIfUmBlMKgiSUL3BMFqUERe/o7mvaUucO1AXLzpCETLS AClaagRgFbL3sG/qxfFnKw4= X-Google-Smtp-Source: AK7set+lnnCi97viXFsDe932rXNlaVwq3weNR6qsE7SBNS4AEoUeRxqm9MIdXcfaWFm29lrf+IMfpQ== X-Received: by 2002:a2e:a277:0:b0:2a1:dca0:1ab1 with SMTP id k23-20020a2ea277000000b002a1dca01ab1mr4149443ljm.10.1679904746978; Mon, 27 Mar 2023 01:12:26 -0700 (PDT) Received: from xeon.. ([188.163.112.76]) by smtp.gmail.com with ESMTPSA id z2-20020a2e8402000000b002a32238ea10sm1460263ljg.53.2023.03.27.01.12.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Mar 2023 01:12:26 -0700 (PDT) From: Svyatoslav Ryhel To: Tom Warren , Anatolij Gustschin , Simon Glass , Svyatoslav Ryhel , Marcel Ziswiler , Thierry Reding , Maxim Schwalm , Dmitry Osipenko , Nicolas Chauvet Cc: u-boot@lists.denx.de Subject: [PATCH v3 08/11] video: tegra-dc: pass DC regmap to internal devices Date: Mon, 27 Mar 2023 11:11:47 +0300 Message-Id: <20230327081150.4585-9-clamor95@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230327081150.4585-1-clamor95@gmail.com> References: <20230327081150.4585-1-clamor95@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Internal video devices like DSI and HDMI controllers require sending commands into DC register field. To make this available, lets create platform data, which is restricted to pass DC regmap only to pre-defined devices. Tested-by: Andreas Westman Dorcsak # ASUS TF T30 Tested-by: Nicolas Chauvet # Paz00 Tested-by: Robert Eckelmann # ASUS TF101 T20 Tested-by: Svyatoslav Ryhel # HTC One X T30 Signed-off-by: Svyatoslav Ryhel --- arch/arm/include/asm/arch-tegra/dc.h | 8 ++++++++ drivers/video/tegra20/tegra-dc.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/arch/arm/include/asm/arch-tegra/dc.h b/arch/arm/include/asm/arch-tegra/dc.h index 6444af2993..7613d84f22 100644 --- a/arch/arm/include/asm/arch-tegra/dc.h +++ b/arch/arm/include/asm/arch-tegra/dc.h @@ -569,4 +569,12 @@ enum { #define DC_N_WINDOWS 5 #define DC_REG_SAVE_SPACE (DC_N_WINDOWS + 5) +#define TEGRA_DSI_A "dsi@54300000" +#define TEGRA_DSI_B "dsi@54400000" + +struct tegra_dc_plat { + struct udevice *dev; /* Display controller device */ + struct dc_ctlr *dc; /* Display controller regmap */ +}; + #endif /* __ASM_ARCH_TEGRA_DC_H */ diff --git a/drivers/video/tegra20/tegra-dc.c b/drivers/video/tegra20/tegra-dc.c index 00462fa188..f53ad46397 100644 --- a/drivers/video/tegra20/tegra-dc.c +++ b/drivers/video/tegra20/tegra-dc.c @@ -417,6 +417,14 @@ static int tegra_lcd_of_to_plat(struct udevice *dev) return ret; } + if (!strcmp(priv->panel->name, TEGRA_DSI_A) || + !strcmp(priv->panel->name, TEGRA_DSI_B)) { + struct tegra_dc_plat *dc_plat = dev_get_plat(priv->panel); + + dc_plat->dev = dev; + dc_plat->dc = priv->dc; + } + ret = panel_get_display_timing(priv->panel, &priv->timing); if (ret) { ret = fdtdec_decode_display_timing(blob, rgb, 0, &priv->timing); -- 2.37.2