From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.218.52 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793287792; b=lvCmzX7kjO3Mk9Xz3ImK4hq8zVKeERK6dpLMY0++zM4yyfE9/AIhj44Gl7yoYxnlS5VE BhUoTUMkCksjM2Vnw1yUekwKLlFg+Luu9iS8alxmE9YNrdHmkmfKSxvexc38ypjAbJkfg gZQyhFYqgVz3c0IrX44exGNTiNhsZrO9Vv68iwGjsZNcVOTymlezXT4Uox6BYbvhXQhQb JCVLUCygvM2hq1KlSTr6CyeWejPQSUCpKboEOb+Bal9H2Wsan21IWQAwVHV9pH/Z87e4q ht3a+UOTmtjW0n+5oiZSIMekMdnn3zfV5wn/RvBxf+2TmEWLHjw6s7+d6WhN0BoMX3w== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793287792; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: From:To:Cc:Subject:Date:Message-ID:X-Mailer:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding; bh=n20yp1WfOkKyJcvfjNoh+sYbq2k8HN+gg6g++LCKhag=; b=McDuenQDMmDLzvkIjI0iym8eB6Gcmjxqwd2o57kDceV91xpxra3tdqBxLhw21XzmxnWI J0r8GS43DNrDxu3M8ff6vkgMdcMvfUZihL7GxqM82HLK0/5PmR2c4YAeUiVPoeIAbwLFU VgvG2IcCYPdJqK9gWKSGT2t6Hw5wJq7iyNbAWNxKySy2mH7VUDRPEJNIVo2JgYQ0uJtrK NjPpvl17iAXTQp3rMolKyT+5/Abn5o9joWR8e1Wob0kal10d7ILa03Qjk93WR2FA5fqm7 1yAMaOZMhCwgFODSPmt6cd2WrBEkG1DC/O+O3bqHCHuvcNSWkSBsxjWC/qYLrEFXsOA== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=NA6r896v; arc=none smtp.remote-ip=209.85.218.52 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96E0A606A32C for ; Thu, 29 Oct 2026 15:29:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 96E0A606A32C Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=NA6r896v Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-c43373ae89aso364502166b.3 for ; Thu, 29 Oct 2026 08:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793287790; x=1793892590; darn=vger.kernel.org; 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:content-type; bh=n20yp1WfOkKyJcvfjNoh+sYbq2k8HN+gg6g++LCKhag=; b=NA6r896vwIR+nWDU6vvh+wTLpQPICZx+ug2L4FB+ikGYFZHED1itQp0lFFjM6EVmhG gGobCJ9+NxZHpOscDg4qzf86WdylQDRtBh9txMGIaEoKeOcSQiseUazYM+Do6i9BrEKU iUZkSVLwRPfumVavILw+/XOSHYus2PzbBw3XWmPNCeaG4xMEZyym4kJHIGe3B52+GRsk W1IvrQZ5QMDZQaJ5Gdzpwf2YSV7IYA6pHcplrwwGFP8Eb8fosR0aRMcsRHE/MlHxmmAo dvmXF1G48bkjx+dVBnZ728QZySDCRsEpNcsqEdFpcBf/3n2YbTIDk1hF0mX7GNNJoPpu vIKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793287790; x=1793892590; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=n20yp1WfOkKyJcvfjNoh+sYbq2k8HN+gg6g++LCKhag=; b=QlUdTIuwIH2J4sh/JHJJeZR0fS/gan9MOESBIncUhJGqO3q/9TT8LP67DB5iPMRSsU bDKkpGe8fI7wz6l3GBfwuMOmkA/vmN8Ybvj+mizN873kWFps4dtfEKLfWC5ek24K+FUi twa/mmzUOSaBJwW4HPkbk9JOV/uniiMlYJaixme8/5mEhKK24VxBS8OJH9yfRbbCkLT9 Ws74GnPBkTQNDFm7a/SfP76o2urNikfq785bfM1yzxJXwGQNGQFB1eWfLPu/2ihvdUIL lqUby/UJS+SJWUbBPb+m0/CpTmWU2B7Hl4l7pBpPCfxaVEZNNH4cWJfsYNoZP9tXP6qK IoEg== X-Forwarded-Encrypted: i=1; AKwUvBw0ML1quf0yyJ/lCRA2QoM9VSddxc5EDVH3dgU/a+l+1tGtu7QYlbPNSbtZ5J2efNAR9zNN80XRbb1rFUU=@vger.kernel.org X-Gm-Message-State: AFq9FYLM3ji5t4oVajC7O3AJNh4pfVIkq9LZT0HSvu251HhFGLSh2nUT y31OJuir1+A0VsngfpKNRp8Pbp1nLhO6RVK/MJCnVPW3Ll8FJB9x7SA1 X-Gm-Gg: AYBFou1uCW/vC30rK0sWHnnR+hblzMPGnpIazA4DBUV/HvDVzY6oTpoUD7qG4/Je4Hv wkIzHHCJ4b/LoTgs4fw8l8vOgPPYvByEfS8X7EzD1dP9JdWpbo5ggYVXAyuXAyzpNRxKUd5tx7d 3NDeF76oAw5M6rYS0X+yVEKuopBuXrVHhpMN14hdVdHnudle/oT8X/XhE76udTJ5pU511K/XWrq oRnr7R2dLa7HPRYDemxuiAzj3YnLUlj6xXxUXQY1S40PTbxC6zA48UCN0NiRrVoonX0DnFX/9/u RSKGkgUhfVQ61ziiMWXpEstVhvpaxK4aiJnJyqTfmqd/5zyKQJJkqfHBP+LeUqUk59M6sT8rsmi uTAiusuWkMNo74WLR925022x/QEBMtWE6/VfnoOiLDCkzoGbGRe/iuFQnp1cXTMmWGsR1DNr/4i CpOPU8uS4iOUqeB6uJIIrFBEVFOL6sbNtICs8DtmBh0rRlqslVzwCzC+cAbGPq1GHSP25S4LYDK W3DUSx+3HUZnvH/kDh1PpyW3xAtmUBsfYR9kjmSy2WRP5LfpqKNnkM77sCQDChh6KBQ5qc52s7A 2kOwsP0mmB5PCFoUjDnuk5v4V7BfXIm0NpjnI9e4Q7cdXQ1a/g== X-Received: by 2002:a17:906:ef07:b0:c3e:4f41:e2a6 with SMTP id a640c23a62f3a-c49bdd7dcd4mr513550366b.6.1793287789850; Thu, 29 Oct 2026 08:29:49 -0700 (PDT) Received: from xeon ([188.163.112.62]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c4ca27984f8sm1252166b.80.2026.10.29.08.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 08:29:49 -0700 (PDT) From: Svyatoslav Ryhel To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , Mikko Perttunen , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v5 11/11] drm/tegra: Add support for 8-bit CPU interface Date: Thu, 29 Oct 2026 17:29:09 +0200 Message-ID: <20261029152909.234584-12-clamor95@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029152909.234584-1-clamor95@gmail.com> References: <20261029152909.234584-1-clamor95@gmail.com> X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The display controller in Tegra20/30 SoCs features an 8-bit SPI interface that closely resembles the MIPI DBI Type B protocol and is referred to as '8-bit CPU'. Each display controller provides two such interfaces, which can be used to send MIPI DCS commands to initialize and control the panel while image data is transmitted via 16/18/24-line RGB. The '8-bit CPU', although being the DC interface, is modeled using a bridge framework for flexibility and convenience. This implementation does not change the existing codebase besides registering the bus. Suggested-by: Mikko Perttunen # DC command transfer Signed-off-by: Svyatoslav Ryhel --- drivers/gpu/drm/tegra/Makefile | 1 + drivers/gpu/drm/tegra/dbi.c | 632 +++++++++++++++++++++++++++++++++ drivers/gpu/drm/tegra/dc.c | 4 + drivers/gpu/drm/tegra/dc.h | 3 + 4 files changed, 640 insertions(+) create mode 100644 drivers/gpu/drm/tegra/dbi.c diff --git a/drivers/gpu/drm/tegra/Makefile b/drivers/gpu/drm/tegra/Makefile index e399b40d64a1d..ae7fccb3d6421 100644 --- a/drivers/gpu/drm/tegra/Makefile +++ b/drivers/gpu/drm/tegra/Makefile @@ -18,6 +18,7 @@ tegra-drm-y := \ hdmi.o \ mipi-phy.o \ dsi.o \ + dbi.o \ sor.o \ dpaux.o \ gr2d.o \ diff --git a/drivers/gpu/drm/tegra/dbi.c b/drivers/gpu/drm/tegra/dbi.c new file mode 100644 index 0000000000000..e129be0f21da5 --- /dev/null +++ b/drivers/gpu/drm/tegra/dbi.c @@ -0,0 +1,632 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Nvidia Tegra20/30 MIPI-DBI Type B host driver + * + * Copyright (C) 2026 Svyatoslav Ryhel + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include