From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1B173AD504 for ; Fri, 27 Mar 2026 10:22:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606948; cv=none; b=P8kaOJnBr8hC2qageBUv+L+D4JJfZvz/WFeKy0dxMHFBs7x9wNhwdjn+ptJ20F3NB/4DPZIS12QAWszesdjXzadr4NLbwQvqBfPQMDl4dzn2qYrMPoc9DA/5TiQ45RCxMd05fVgDAg3kmj+HH0UDwcNgns4q7AhKUISsrQS0nWw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606948; c=relaxed/simple; bh=rXG4UaTkhdBDUrBbY+IrNeY5w5J0q/UWD4rfx+BbDqY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZvBzqFk2D67F7Y72Q2scqqMPmsPupM8VNiVMJkCqVxHtcmAA7pXJNCkxtOevRGauf8FtObsGVp+/J2hsbNbRJICXKcI4u4jK47aMYSmsPIz5x8uvMma6ONhlyNdTs9ueSU49xccMNmKfnNbeK3xtxrY5pbzmcxuHx9c/K3jqgvk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=byjUjqyD; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="byjUjqyD" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 62FFC7CA; Fri, 27 Mar 2026 11:21:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606865; bh=rXG4UaTkhdBDUrBbY+IrNeY5w5J0q/UWD4rfx+BbDqY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=byjUjqyDmQk06TPFiO+Ne8t/xHwXPsqY4oTGJ3NEi0nOOz9i09eIWYEIbx3WCl531 sPr+TbJ0yh1bnGWmHuTYn+N9GauoQWIuLYTx8pSd0fCPkR3XEnBrZ/8K1weVnWNsmz G3rDi/OMrjQKkyY9dOtImrVPrSRUP5Zau7pVElfM= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:49 +0200 Subject: [PATCH v2 01/12] drm/bridge: tc358762: Clean up register defines Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-1-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2518; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=rXG4UaTkhdBDUrBbY+IrNeY5w5J0q/UWD4rfx+BbDqY=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpZMIdwKIT+IkYMqMbe4NEWcmJ9lqe9WuT+M KkPgL0sbwOJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWQAKCRD6PaqMvJYe 9S7eD/0QwG2iwm1LgUwTxwSwO2QXB8fUyp8NEwPoecktxgRpuU7sx3Ak/Du61ub9BLeo2fVu/bD Nwtx3T6zyCLqPXtAuyQrEGiAvOOjTerVAm58Q/yp5bdoGFjB2JM+5uZrRDr4NZKLNSqVSlkfiIl Z5XzcNApVSNy3NZ/B85s03hINCoSVa6lHyqgp5r1YpTGsSZT1lDM9GyuSqHac+pxTwSQA0fdbyB caHArFaBXXYXFSOdNF2ITbwkaQsLwt+GR2LVa+wlPiF4lTvvEOXKJpGMKQvJYKy9lDe1TCzZXwg 4ebvlmJ+kyyxgM/axb3H3FxBHF0X7YseWeS/HqfuVRfyMA6xh37E0CIdUmcPu4/6Wk+hXovFrTN mYiFaLYfpVOjvjTb71JNr+YlqAeNpBxqh1EFjEEDwVLlSwTFfIklZpfGmVJGArOokBi2VpTWEeT nI+gWdO21vkPgIeNG0hGIaSHZcvpAhDNicWyRPNrWhDb0VOI5CB3mKHYPfxJtWh+bHyIiGd1ZnS 3nYPWA670UDTyV4XAva28KsAnwVn6WTkM39sWvh7CO+2EMaDtJfoZ7k1lq7B1CWUpVTBwkJytfq 1O08NYqOGEc1K0pwtS4rXUvzI3LoZYEFq3pCZ5flWED7qr2ZE1qJaqWL09gA9wotOFXZXjYS9lh yzVBwnrtp6QH8gA== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 Move the defines around and rename for clarity and consistency. No functional change. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 98df3e667d4a..833fd9913c75 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -29,17 +29,22 @@ =20 /* PPI layer registers */ #define PPI_STARTPPI 0x0104 /* START control bit */ +#define PPI_STARTPPI_STARTPPI BIT(0) + #define PPI_LPTXTIMECNT 0x0114 /* LPTX timing signal */ #define PPI_D0S_ATMR 0x0144 #define PPI_D1S_ATMR 0x0148 #define PPI_D0S_CLRSIPOCOUNT 0x0164 /* Assertion timer for Lane 0 */ #define PPI_D1S_CLRSIPOCOUNT 0x0168 /* Assertion timer for Lane 1 */ -#define PPI_START_FUNCTION 1 =20 /* DSI layer registers */ #define DSI_STARTDSI 0x0204 /* START control bit of DSI-TX */ +#define DSI_STARTDSI_STARTDSI BIT(0) + #define DSI_LANEENABLE 0x0210 /* Enables each lane */ -#define DSI_RX_START 1 +#define DSI_LANEENABLE_CLEN BIT(0) +#define DSI_LANEENABLE_L0EN BIT(1) +#define DSI_LANEENABLE_L1EN BIT(2) =20 /* LCDC/DPI Host Registers, based on guesswork that this matches TC358764 = */ #define LCDCTRL 0x0420 /* Video Path Control */ @@ -60,14 +65,8 @@ /* System Controller Registers */ #define SYSCTRL 0x0464 =20 -/* System registers */ #define LPX_PERIOD 3 =20 -/* Lane enable PPI and DSI register bits */ -#define LANEENABLE_CLEN BIT(0) -#define LANEENABLE_L0EN BIT(1) -#define LANEENABLE_L1EN BIT(2) - struct tc358762 { struct device *dev; struct drm_bridge bridge; @@ -118,7 +117,7 @@ static int tc358762_init(struct tc358762 *ctx) u32 lcdctrl; =20 tc358762_write(ctx, DSI_LANEENABLE, - LANEENABLE_L0EN | LANEENABLE_CLEN); + DSI_LANEENABLE_L0EN | DSI_LANEENABLE_CLEN); tc358762_write(ctx, PPI_D0S_CLRSIPOCOUNT, 5); tc358762_write(ctx, PPI_D1S_CLRSIPOCOUNT, 5); tc358762_write(ctx, PPI_D0S_ATMR, 0); @@ -141,8 +140,8 @@ static int tc358762_init(struct tc358762 *ctx) tc358762_write(ctx, SYSCTRL, 0x040f); msleep(100); =20 - tc358762_write(ctx, PPI_STARTPPI, PPI_START_FUNCTION); - tc358762_write(ctx, DSI_STARTDSI, DSI_RX_START); + tc358762_write(ctx, PPI_STARTPPI, PPI_STARTPPI_STARTPPI); + tc358762_write(ctx, DSI_STARTDSI, DSI_STARTDSI_STARTDSI); =20 msleep(100); =20 --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BA1E3B38A1 for ; Fri, 27 Mar 2026 10:22:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606950; cv=none; b=F8NKF0/hG0zbdzwD/bxdeuZe71SLteiTRb4BcQeDvFxAGtiOtZcHXybLS4xyV6vJzJnTu0tVlM11Z6nNibaAi2sFNXaJ0trIZo4ALeZh97Gc/l+HfZGUIP5VTrQ+DxKG9kXB0Q8ir1gJScER5CtTrOTJ6025TZfwMNcKiIIzrOc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606950; c=relaxed/simple; bh=tUPCwk9RutYoAa7a2LRuYv47/hgSBZUcX/gp3JO4ClU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gv11sHIACtJcBKocHvcOEM+ZwFsxPNUVcFmPN9LFrni4W4/p6N1zoCWqdHGI99/C0sYSr9PTxGEiJH1331UdT9oBt0mLFu46ZtATaU6hsYMdUC76EGZpERDEcodOmiFb1AXIvSkFVsZdgec/WD4C3O8Z8tZH5wZxICR2u6NfG/I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=bd6pv+oE; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="bd6pv+oE" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 566561F37; Fri, 27 Mar 2026 11:21:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606866; bh=tUPCwk9RutYoAa7a2LRuYv47/hgSBZUcX/gp3JO4ClU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bd6pv+oEk80txaXgXBctysFXqD9rmHWpoO1UscarloF3keAFbW9Nmf2afVLldEn7b HEFp+87P1bWvp6bjt7+hmIgB0+2wiF5ePiNJR5dC9NtO2iU2jnSMb12mkgmKZrnwuo YsmsnFdQyLeubCpwDleILbYQWtj2EsTwJ5m+rF0M= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:50 +0200 Subject: [PATCH v2 02/12] drm/bridge: tc358762: Improce SYSCTRL register defines Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-2-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1553; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=tUPCwk9RutYoAa7a2LRuYv47/hgSBZUcX/gp3JO4ClU=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpa8d0qXiEMIaOUfieO9a8ktDmPJ1oZf5gaj lrGE16daRmJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWgAKCRD6PaqMvJYe 9f/WEACqis5CedE5sDAN0Uo6YeY3qgtXQm3yiQvL20NyXib/gIcQ/owsqjZZhAyVUu2uhsd5R+W t8BHCEALib3/14/JmvVLoNIM002LdxxlUetbgAZNiphfj9aIq472vLHJBZT2dkjtEDjm8GHnYbP wDW4JpeV9k88IQQno3CgXpttrpwgwoWHCkrpgPklnbuInd4GGDA8thNLOeFJ+m41zcs9a/RE6NL QNkuTyT8Hjza8qikBCVnbq6LSIuyZHZGFMQqT8tEO7TXOJHH79UqYiOPqiX9MMqyvGjr9hd5XSW em8RiXQpuXY2zNJZ7UaMQo97V1sWZkRCQTnIaoQPWFDW6oCzmdQ9Pqn2GruYX5AMdq2rd74UiCz s3nVOrOBEBPLkomFYx3Yp0MRxZ4T6aBuLvoaH2KvDi5GWOq98Kise0Vaq/9sYsxK3+aPg8VABj1 4HJFC2Wp26hKTY+MRgpCjyHLE29iqgdkHnAZTmdCyvAlo4P3YAaFjrVK6IIfXuxRHYCumjSPndo flYotxw4fJGzk3a6nwMZ0eWEfpLK/deVg8SAG/RnD3fQzsQcWV8UZhV/ZyqrJR5N4G8brujSkAU VIO7L9rQEgfuKBtzIjfR6oP/XVfx4BPss+LMJDopXAZVM/OzXo1XTAx+J0K36GGDFwaSdvQRHYd 8hpi3pYHrUW+MYw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 Define SYSCTRL fields. No functional changes. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 833fd9913c75..9a0b1f0c18f0 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -64,6 +64,19 @@ =20 /* System Controller Registers */ #define SYSCTRL 0x0464 +#define SYSCTRL_DPIDATA_IO_MASK GENMASK_U32(1, 0) +#define SYSCTRL_DPIDATA_IO_1MA 0 +#define SYSCTRL_DPIDATA_IO_2MA 1 +#define SYSCTRL_DPIDATA_IO_3MA 2 +#define SYSCTRL_DPIDATA_IO_4MA 3 +#define SYSCTRL_DPISTB_IO_MASK GENMASK_U32(3, 2) +#define SYSCTRL_DPISTB_IO_1MA 0 +#define SYSCTRL_DPISTB_IO_2MA 1 +#define SYSCTRL_DPISTB_IO_3MA 2 +#define SYSCTRL_DPISTB_IO_4MA 3 +#define SYSCTRL_PCLKDIV_MASK GENMASK_U32(11, 8) +#define SYSCTRL_PCLKDIV_DIV_2 2 +#define SYSCTRL_PCLKDIV_DIV_3 4 =20 #define LPX_PERIOD 3 =20 @@ -137,7 +150,11 @@ static int tc358762_init(struct tc358762 *ctx) =20 tc358762_write(ctx, LCDCTRL, lcdctrl); =20 - tc358762_write(ctx, SYSCTRL, 0x040f); + tc358762_write(ctx, SYSCTRL, + FIELD_PREP(SYSCTRL_DPIDATA_IO_MASK, SYSCTRL_DPIDATA_IO_4MA) | + FIELD_PREP(SYSCTRL_DPISTB_IO_MASK, SYSCTRL_DPISTB_IO_4MA) | + FIELD_PREP(SYSCTRL_PCLKDIV_MASK, SYSCTRL_PCLKDIV_DIV_3)); + msleep(100); =20 tc358762_write(ctx, PPI_STARTPPI, PPI_STARTPPI_STARTPPI); --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 833AA3B3BEC for ; Fri, 27 Mar 2026 10:22:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606951; cv=none; b=CEEYiFlUoYva9ozzPFfRBgkHwMemkWO4JKMnYTeO1na/qJKPyazvNWDuLG843edv18lKsCsoh2BlR2BNeq91pXwrymo+R2Lqc2s+b/jk0kAIqPad516oxiJFrfFEyZ2AnqvgySjt8+G4bVYRqUnJmSQMv/92rn1S3ss7y8Ad9pM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606951; c=relaxed/simple; bh=NuaGyo7S8VZSSZ/guEUo9cbKkXUB0xNZ7DHe3gckBAc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZTB3rwD5dxxtOIPDIQqESSB6fkQP2knD/dWb8TZOdC48vXmeMINdjnGFDdirVnibrJAoCYPSi0/6dtxMJlXA1xlrTRm5/FG9RAIAIoZX4EOhzI3SATzJ3zm2KNG9VYUym6MtZGs0QQNkoLwV7fRbzJn/dLy2z84gjnp5zcY0W3Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=Qh5RP1NG; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Qh5RP1NG" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 50A3A201C; Fri, 27 Mar 2026 11:21:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606867; bh=NuaGyo7S8VZSSZ/guEUo9cbKkXUB0xNZ7DHe3gckBAc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Qh5RP1NGPt9/hPI+Q1Sb9OZPS921Nw9rh/4ybE4Y+SB1795fCZuGyGzzBn8Pc9xUu pH1SYQh4UX62hl5uTCFhPeWweii4+l5Oqq3lq3FjJRf9+w2gG4NKQfy0Vbv+H/tuDv Xx+zI2QZhj9II8ieljGvEYCI1/uLW8oMHVWItTrc= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:51 +0200 Subject: [PATCH v2 03/12] drm/bridge: tc358762: Improve LCDCTRL defines Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-3-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3005; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=NuaGyo7S8VZSSZ/guEUo9cbKkXUB0xNZ7DHe3gckBAc=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpaqEG2AEDHQCs6ZzihIgLoWocExJ+ySZsqY LtNRI+7y3uJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWgAKCRD6PaqMvJYe 9S7iD/9duMg80Wt5V3hKIigUEmAxAOiZ1mQhlUQW9gpaB7Mx4ad/Q77z/rOcz7PVebgct43Lutz DWILjV7IxfNQq8WdZHaAn15JRjnRV2iViwqjjPlv8HKOB7qbhBi8lBOhkq+aysRgagcQRja4iVE mQ4cExx5ZR5drtKuHXH2TLZum2U+yNyzGP9zXDACMFAbATFI+Mx4GXFcmO6qRCniDV1pCsn+ZNy K9mpaxbmJV29nxgr5F8ydP97cS3kX0zKIEDbIv0hjV62jM3Z6KxIPIYhJVR7Ry3jzvBYyHK45MW I5KA5wbynCzrsbg1qk3yAYXmkNddlMqurByYvKIv/gK9faFeMLjbwfxRp8zPAyMq6MAChOw5ul8 GkVPuMyHeWIQ0dgcDCKSNR4XEZIMRNU5Y6DdxnZhjnL9TyXnM8jjW1OrV+SfwWiHax56HPYPyN2 yzw+XstOdldz+WzU1J6CZ7z77RF9k46H/DydLm5PbOuUwEpdAXNJv7hbtLJYLK2Cfbr4Giq1Ddv eq0bPSb4Zh4TIcuUFDqGD/tRnInDnNCdH1V91HN3oDT/P//e7ECOLDws63Fhs5tuK3ZmqQWhKSz gcxmxLhEXYnqwxMuLVz6fQyTjybq9y3rb1YGUl6U5K3cUfTIEmafA7gmGUTaEOZx/GSre5OFr+W y9ZPz3eMmpkxOrA== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 LCDCTRL fields are quite wrong in the driver. Fix the field defines. A few notes about the wrong fields: LCDCTRL_VSDELAY(1) actually sets LCDCTRL_DCLK_POL LCDCTRL_UNK6 | LCDCTRL_VTGEN actually set LCDCTRL_PXLFORM_RGB888 LCDCTRL_RGB888 actually sets LCDCTRL_DPI_EN The total still resulted in a working display even if the defines were quite wrong. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 9a0b1f0c18f0..cbedffb7a705 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -46,17 +46,22 @@ #define DSI_LANEENABLE_L0EN BIT(1) #define DSI_LANEENABLE_L1EN BIT(2) =20 -/* LCDC/DPI Host Registers, based on guesswork that this matches TC358764 = */ +/* LCDC/DPI Registers */ #define LCDCTRL 0x0420 /* Video Path Control */ #define LCDCTRL_MSF BIT(0) /* Magic square in RGB666 */ -#define LCDCTRL_VTGEN BIT(4)/* Use chip clock for timing */ -#define LCDCTRL_UNK6 BIT(6) /* Unknown */ -#define LCDCTRL_EVTMODE BIT(5) /* Event mode */ -#define LCDCTRL_RGB888 BIT(8) /* RGB888 mode */ -#define LCDCTRL_HSPOL BIT(17) /* Polarity of HSYNC signal */ -#define LCDCTRL_DEPOL BIT(18) /* Polarity of DE signal */ -#define LCDCTRL_VSPOL BIT(19) /* Polarity of VSYNC signal */ -#define LCDCTRL_VSDELAY(v) (((v) & 0xfff) << 20) /* VSYNC delay */ +#define LCDCTRL_VTGEN BIT(1) /* Use chip clock for timing */ +#define LCDCTRL_PXLFORM GENMASK_U32(6, 4) +#define LCDCTRL_PXLFORM_RGB666 0 /* x:R:G:B 6:8:8:8 */ +#define LCDCTRL_PXLFORM_RGB666_24 1 /* x:R:x:G:x:B 2:6:2:6:2:6 */ +#define LCDCTRL_PXLFORM_RGB565 2 /* x:R:G:B 8:5:6:5 */ +#define LCDCTRL_PXLFORM_RGB565_1 3 /* x:R:x:G:x:B 3:5:2:6:3:5 */ +#define LCDCTRL_PXLFORM_RGB565_2 4 /* x:R:x:G:x:B:x 2:5:3:6:2:5:1 */ +#define LCDCTRL_PXLFORM_RGB888 5 /* R:G:B 8:8:8 */ +#define LCDCTRL_DPI_EN BIT(8) +#define LCDCTRL_HSYNC_POL BIT(17) /* Polarity of HSYNC signal */ +#define LCDCTRL_DE_POL BIT(18) /* Polarity of DE signal */ +#define LCDCTRL_VSYNC_POL BIT(19) /* Polarity of VSYNC signal */ +#define LCDCTRL_DCLK_POL BIT(20) /* Polarity of pixel clock */ =20 /* SPI Master Registers */ #define SPICMR 0x0450 @@ -139,14 +144,16 @@ static int tc358762_init(struct tc358762 *ctx) =20 tc358762_write(ctx, SPICMR, 0x00); =20 - lcdctrl =3D LCDCTRL_VSDELAY(1) | LCDCTRL_RGB888 | - LCDCTRL_UNK6 | LCDCTRL_VTGEN; + lcdctrl =3D FIELD_PREP(LCDCTRL_PXLFORM, LCDCTRL_PXLFORM_RGB888) | + LCDCTRL_DPI_EN; + + lcdctrl |=3D LCDCTRL_DCLK_POL; =20 if (ctx->mode.flags & DRM_MODE_FLAG_NHSYNC) - lcdctrl |=3D LCDCTRL_HSPOL; + lcdctrl |=3D LCDCTRL_HSYNC_POL; =20 if (ctx->mode.flags & DRM_MODE_FLAG_NVSYNC) - lcdctrl |=3D LCDCTRL_VSPOL; + lcdctrl |=3D LCDCTRL_VSYNC_POL; =20 tc358762_write(ctx, LCDCTRL, lcdctrl); =20 --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CD293AE1A4 for ; Fri, 27 Mar 2026 10:22:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606953; cv=none; b=FqrZFKd78L90QNqH4DsBa6daGAuhJatdjq8wkC1NzWvYhwIdVhqSL5vixCsMo7i9xLswZdahem/PlKNRDOHfyPDQ/wUUjnCcJJfYh+RZGJkJtRaw3DzEkYH+L2H3sJQd5mPb1ncb5o1jWi2W/m+pUVcNzZo7vtUYkYVo15p+nqw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606953; c=relaxed/simple; bh=kXEBX6aktrNXxxPjgSs66smVTLORZLIDKgjSxczFR7U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V2NaHjUIyN+oX9oUZs6gUUMmCmAbWZC6k6Xp5orvay84ajPJcLUBcgo8jgUzoXHL0rDR3rl8vvwrLavddTcYO4ANmmSToXSMtmv2J2ai0YiD4vsQNx7fBtuJCaOCR5a03ElYrxwA33vHEn9p7o8mrefePFdfOTbd56SKB/8wTVM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=SiN1tJT0; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="SiN1tJT0" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4687720B1; Fri, 27 Mar 2026 11:21:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606868; bh=kXEBX6aktrNXxxPjgSs66smVTLORZLIDKgjSxczFR7U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SiN1tJT0hFvNS3ysjzsXqbYqc/EEBbHz3ZtiAtVIaztL7HHD/e551eSP0YJySNaJs eDFW3o3aDd7sdSUQgpliaDKJoDWYSE2WsozxDZ1OInJQw2gxeb3+m008QeRhteL3D9 TELffqDpRfIow9qLS3N0OFB5NUP6TE7VGOUoFvK4= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:52 +0200 Subject: [PATCH v2 04/12] drm/bridge: tc358762: Configure SYSCTRL first Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-4-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1636; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=kXEBX6aktrNXxxPjgSs66smVTLORZLIDKgjSxczFR7U=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpbnS/v6u6HoN7+ye5GmbfvoMUY/5yECTcmj E0EwEamAJuJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWwAKCRD6PaqMvJYe 9XnqD/0WFsh2fl9+hlduIhlAVLv/pWYjHgzuqadKDfi8t4JOYTfVb9b4VIhU8SyPJCjztiS5OpF 5wCXxROkYsQ+Oe04gnmxYqWdEclYe38Ef0AJvvxr8x4chyP0q7CscEwxPH+db41m0/O2Q1vWZYx +imhtDtZj41qavHHQPrXtWdmcQl1DL70qvkhR6YXf0QOyd6C/T0Lx1PT9y/yEG6fFbX7ZurNpN5 jg7g30bZM7CfjJ0lA55NgT/NYR2f+k2SVGBlL7NhDEsaXZp6D6Xq9tazh1BvcsiDpnprWhGSKtr X+Cx0CxB3zCoYoYMd+Tk2N7+SoUbaoKd7PKfvub85A9SNIkoFV8o17Hfhim9C6lnf6eFzp96Pqo Ds1gEvfnMQGHXOdRuEkMyDFD063GlYMKKUz8Cb++KPWz2sj5csDjLUnwp5y3Csu6EGhBGN+GmKx aZGolaRtp7q7qm9J6AEz+j0N30bkUpmcudxeUsWn1l4SUtRljCVaJ/+sH3aWa1dOFWGeyq8rdoX Ke0u6AbI0x4nD+7Yj4R1Yir8Oe7vsw8SsjnmelDEC4v13pHlcafgCx7gQG4j6cBzN35/DF8VaXA 9blOZkiZ3D7989AARk2aq/M7PsyVePqh+LnX9G7Ic1SUXEilRZ5qHlZnKHGxuroIqOtU75hutVZ eLFZdbLthEeq4dg== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 SYSCTRL affects the DPI output and the clock tree, but we configure it late, when the DPI output is already enabled and clocks are running. Move the SYSCTRL configuration to the beginning, before anything is enabled. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index cbedffb7a705..053579591dba 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -134,6 +134,13 @@ static int tc358762_init(struct tc358762 *ctx) { u32 lcdctrl; =20 + tc358762_write(ctx, SYSCTRL, + FIELD_PREP(SYSCTRL_DPIDATA_IO_MASK, SYSCTRL_DPIDATA_IO_4MA) | + FIELD_PREP(SYSCTRL_DPISTB_IO_MASK, SYSCTRL_DPISTB_IO_4MA) | + FIELD_PREP(SYSCTRL_PCLKDIV_MASK, SYSCTRL_PCLKDIV_DIV_3)); + + msleep(100); + tc358762_write(ctx, DSI_LANEENABLE, DSI_LANEENABLE_L0EN | DSI_LANEENABLE_CLEN); tc358762_write(ctx, PPI_D0S_CLRSIPOCOUNT, 5); @@ -157,13 +164,6 @@ static int tc358762_init(struct tc358762 *ctx) =20 tc358762_write(ctx, LCDCTRL, lcdctrl); =20 - tc358762_write(ctx, SYSCTRL, - FIELD_PREP(SYSCTRL_DPIDATA_IO_MASK, SYSCTRL_DPIDATA_IO_4MA) | - FIELD_PREP(SYSCTRL_DPISTB_IO_MASK, SYSCTRL_DPISTB_IO_4MA) | - FIELD_PREP(SYSCTRL_PCLKDIV_MASK, SYSCTRL_PCLKDIV_DIV_3)); - - msleep(100); - tc358762_write(ctx, PPI_STARTPPI, PPI_STARTPPI_STARTPPI); tc358762_write(ctx, DSI_STARTDSI, DSI_STARTDSI_STARTDSI); =20 --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E45A63AE719 for ; Fri, 27 Mar 2026 10:22:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606954; cv=none; b=Bc8xeiC+98qbnOuQa1TsnSluUBcQy9RTYWQ+xuxzDMD9lC6ruCxHXAi7us+ggWf1peAZ/BG3gmmDRcg0s9o/XXaFYwiPYU2DCdGhNKuYGmsjRixCQVIDK2cYUGBvrlTMTAWtItcC7DCsMdrWerLlvMf5hdTezxGYKVGLfxUCYh4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606954; c=relaxed/simple; bh=PGVyxsaF8j/G00K+MUsdNAV/oy/866N9DYBXfv3q49g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TTCnorHtCTR5Q50+64/5hT3HEdyrg+JrD1JLkINjSsvOveCYY2L6vo0uGExdjTEWdjIU4f5OLqrMXm5/y4GJ9OgVeZLghv8FgL2YqgQorb9cLQJk59kyGHvrfe9kgfpF+Dqf8q8pn+Y3EboV2hUdkyXtghEaD9GC/652nBXiKHI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=UDRoLs0P; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="UDRoLs0P" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3B3F821CD; Fri, 27 Mar 2026 11:21:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606869; bh=PGVyxsaF8j/G00K+MUsdNAV/oy/866N9DYBXfv3q49g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UDRoLs0PqFiEzWuuYFrs38mUFWXWqKY0sIr1bp73/tOJTET1YkgYFUferNt9nEIb0 bhJMKabiAZwi/LdaZOTqOWs/eeMOVahyDLqgh32B8Juxqw5jnpQn8EE3Ct5XPkUSU3 jkIXwjdbn0t09fzbolrhYLFrO441QsJ3HclyQn1w= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:53 +0200 Subject: [PATCH v2 05/12] drm/bridge: tc358762: Drop SPICMR write Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-5-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=906; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=PGVyxsaF8j/G00K+MUsdNAV/oy/866N9DYBXfv3q49g=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpbger4INgg8PPp5MWYU3j9NUmOVrlF35BD8 KYoF+lIgNGJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWwAKCRD6PaqMvJYe 9XxjD/wLI1KV1av43WpV+cMny4LbP+0qHOAm9X2zOitFHiQBBz1gLCork/X5Y8Y/Slp/JuWfy7o JkEsR9gERdw67h4ZBqIgpkxDb3TB/0N6PRoGrilO1tu42q/K4tFuXoi3UQ4JUyCSdBJgpQn/t1b dNvzrNuNt8Gd3i/oHEWGi0jVTwIh71B+Yj5GhdvEbDHyq771PvdvyQKTPH/vbqnuYC0uhJPvCuO vAUZ+UStbJziV9XDGflXGL3XlN09OqXVAA5x/cBzowZ4rcEDfrzvPMAtZ6c7/PlkFjy0+u/BeQ8 N4JmcKdsgxN4WJ8Z1KNlxQTFh4eUMi7Wjg9Klc4Wl4dMJIv3n+bGHn+D3T0sLb8wjHLBh47jw6H 2keKweW7/cYk7jPYYKyPYOeV37rHBU9Jq2SEgAJTO7hv58bnM8TcjC4HPT+ul/tcvMYp5kAoJGi 7A/jmTf9jQQ+FOiADVDbQhgVUWGZNJmp6hvHHDxDSafHLXL2oLQmZP3HYlCVGxpTqaHLotw+RAQ ApRVbQ+HfSiLeBe046ZGFPK+ETB/uz9cARVA8AsXSYlHTd6q1e0F/kKYnOIj0ctPDhK2tvb8hpI tpfHI4zAI39G5LFgvcfMIC5TetXGyxriGQ5Ng5pOjoVN8DLh9TU8kPpPRfpcbSl/Zh/fXTwKRG3 B3XEwyJCnfN5I/g== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 Drop write to SPICMR. It's unclear why the write is there, as SPI is not supported in the driver, and it's mostly just writing zeroes to already zero fields (reset defaults). None of the zero bits written disable anything wrt. SPI. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 053579591dba..52e2f3a73721 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -149,8 +149,6 @@ static int tc358762_init(struct tc358762 *ctx) tc358762_write(ctx, PPI_D1S_ATMR, 0); tc358762_write(ctx, PPI_LPTXTIMECNT, LPX_PERIOD); =20 - tc358762_write(ctx, SPICMR, 0x00); - lcdctrl =3D FIELD_PREP(LCDCTRL_PXLFORM, LCDCTRL_PXLFORM_RGB888) | LCDCTRL_DPI_EN; =20 --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D35D3AF65D for ; Fri, 27 Mar 2026 10:22:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606956; cv=none; b=JdDAh0Yz/sGVQh7ETUadEICa5ig/z9e8QRHfvogOvCUSEFfArvePwwV1QQWHlzz+Y2KkfwFOwX8rYR9NprjB1gO6K2a8onNTqwA/Gy8zAVuH6L+NJKZtZOXQlQLOYWCKZHkV0KYaPavZ/FF0hlNBWVkwbP4BA7AZGpIApxFvVgE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606956; c=relaxed/simple; bh=nEYzezcIAjmSLC9VcRjnoTGH7YY5s81VvSuJLMxj3K4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SjIQuVvl9t21g1Yd46/lc0K1jNmo5VE7W2GaTWqYA96Pvn1vR4wT0oR9M9TksodlOSC1HC7jWihjbiU+zUV8NmNconk6sRQFeaTfDDkuUQT1MlO/7YJG+LLq6UZ7EXNUvK6YNaYo2cwJmMWykprs8YbPgafYBoB2/eBlhfPu46k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=W2KiFWQo; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="W2KiFWQo" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2E23621D0; Fri, 27 Mar 2026 11:21:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606869; bh=nEYzezcIAjmSLC9VcRjnoTGH7YY5s81VvSuJLMxj3K4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=W2KiFWQo8SgA6uMpZLLn+CBLQbgeCMzKoqU3xzm+4rRlWo06MhM2IWZ/sECThr1ui 0f6VuOF0iqULc7yJTb7FJs05KoXiZ6zbkpZ8rHSzAR+bVgWku2Fve97B9Zdh4B0E7X o1lQ2LL4jzY53ITLOXKHGACsnREJAfZJuNmrursc= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:54 +0200 Subject: [PATCH v2 06/12] drm/bridge: tc358762: Improve DPI enable handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-6-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1676; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=nEYzezcIAjmSLC9VcRjnoTGH7YY5s81VvSuJLMxj3K4=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpbPTZ/qbUjZzg3ReA+PLXEiSMaCwNzi0rLN PdsTFBgqK+JAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaWwAKCRD6PaqMvJYe 9TwLEACrxjCvccccwPlZDFpPVrWcRSF6BwiwxvZ12NBoq2eeoreb79IHe5CZcNqT3ImxPcN1zI8 t5OCj1YXG5ymoyWIH8sNjTQV4l3D8gX09olIxAYK37BJfUzZwA8oKHkRSOlR5RjcnRqQ8KrTZMD VTwnmddA+K9TQ3Juk/mUepyfJpKf6NRVxThgYazAI9Cay4+Fvcu8YUzMMhYiVDfkC0WjM49okRr JFdJYmNWMBd4UGWJV1KPehyCWxwiNh+cZKuEohW5n7iagJaf/rxzNoZzxVgYPf0PoLRotNTW8hB UWOYWNlXh0YmFkqaUS6VUyHk2208I172tPbSlQvcr1BH2MklCw+mUL8wbVq+WEguNApnZ3yChVK uLjotbVRFJObLOoQSr1f3xwlmkUrrZ2PCkoV5syDXVSTwubcoYEPNJ76KjRwYDrSwHnNEOTOe5K rhpeCB0AGkqPabbLtYpUR4lnO33ESF+M6sM0qiPcyzAdv3IKpvGfROPCT1QzY6b2KorXIDTs/yJ Eyo3HPN4u1DNE6hr82jQW6GDqRx/+C4rsZXas2uXBz1LLcLF1rDNtigdzxjwZ8O02/aMP0DAhUz 9JHHoRnJ70uE9dxEvqREDVTzKzYZ+i7KZiLjZ/woLAOohN+/0IPjuWjH/nqX00mA3+2K4n4npS2 yCaw3vF04NvhT1Q== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 The HW reset defaults has DPIENABLE bit as set. In the current driver we configure and enable various things while DPIENABLE is set. This results in a temporary DPI output with wrong timings, which may cause artifacts on the panel. Fix this by clearing DPIEANBLE as the first thing when we start to enable the display. DPIENABLE is set later with the rest of the LCDCTRL configuration, and at that time we have done all the other configurations. Also, for symmetry and possibly improving the DPI output at disable time, explicitly disable DPIENABLE when disabling the bridge. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 52e2f3a73721..cc1c5ff42cbd 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -134,6 +134,12 @@ static int tc358762_init(struct tc358762 *ctx) { u32 lcdctrl; =20 + /* + * DPIENABLE has reset default of 1. Make sure we don't output on + * DPI until we have finished the coniguration. + */ + tc358762_write(ctx, LCDCTRL, 0); + tc358762_write(ctx, SYSCTRL, FIELD_PREP(SYSCTRL_DPIDATA_IO_MASK, SYSCTRL_DPIDATA_IO_4MA) | FIELD_PREP(SYSCTRL_DPISTB_IO_MASK, SYSCTRL_DPISTB_IO_4MA) | @@ -185,6 +191,9 @@ static void tc358762_post_disable(struct drm_bridge *br= idge, =20 ctx->pre_enabled =3D false; =20 + /* Turn off the DPI output */ + tc358762_write(ctx, LCDCTRL, 0); + if (ctx->reset_gpio) gpiod_set_value_cansleep(ctx->reset_gpio, 0); =20 --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C3753BED6E for ; Fri, 27 Mar 2026 10:22:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606956; cv=none; b=f0A/skxqbhMc+NXV184j5LVCj8zXk4HBL/1Gw3C1GtY3HIdDTk3XXLNLMy3v41pewA+g9cEPsgyCRyhq/5U5SuGXp8p3oa4osdxkW+OLn0lf+qA7vpvsIDKYabRwWxFKcBU2YufA4igrMTjo6btDPmV7ZSY/5jpiCimoPcU3ako= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606956; c=relaxed/simple; bh=eaeDuhTwVtvOUYbWOU6Pi8XJP6K+PPcBl3PTwjkGBnM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UJr4/8FRGH1y6cb3FxOX1/wvliOrXzmnje+PI3exmfmPVJsudT8WDioNekIvBuOTAdl2+iOonxZtNByBssQBC8n0vUyGwJ/8SD0+gXfNGGMjIWz+m9DJbbGjTGQ0FvKcNy+PMDab3yoo8kiNv9JoY6wwIqODkPBrMZZaXJM5a3A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=G/hbaY5V; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="G/hbaY5V" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 349B71E31; Fri, 27 Mar 2026 11:21:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606871; bh=eaeDuhTwVtvOUYbWOU6Pi8XJP6K+PPcBl3PTwjkGBnM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=G/hbaY5VUiOWhtpB0qCz0Kwh7M3oL3se9SeJ0fh+/cSAgl6FzQY5T3BeMua54Gyl1 2yx0sPZRY/dJ6ehXLl/9D833jiXOesH0rMngTmhcGFowFvomRsU9UaR2CjGFpsmaXx w4wbM6rBjpRRE4eFdAUgX0pD2rdA6HSaBwgDt330= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:55 +0200 Subject: [PATCH v2 07/12] drm/bridge: tc358762: Update comment about the number of lanes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-7-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1121; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=eaeDuhTwVtvOUYbWOU6Pi8XJP6K+PPcBl3PTwjkGBnM=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpc06X2gdz9/il55MrCCRPBxBbZ+p9fQSZqP 5RqZ3j4CuWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaXAAKCRD6PaqMvJYe 9b7iEACbL2OHaGmQIj/peIL2x07AktnKO8Obzf7Q4y/F1ds3ofrzreYbaSBSrOFHl7TYik2/WDS 1GRLfKsckKrKOs1fhDgNPkP84/4x5FbMqPOrsMZz9SyQK4+Ac3HobldG5ctOld/AfJoLbY1CREA o/r94jYP5n+NhnjeOm0qbJa4PJnvwH208kEwfHR0oLYTS31niYFC492g256gAX8QGmMyg1cb7bF PaW/XXdPuBTcssVHirP8MSD/7uSehCI8zBUoUq84gqGOg+XrExjlah8aX0fhMLDNLoeW0jhAPf2 75JBBaoa6zHKQR8daQWOV7kXgdXZ2Wzbrsv2CO/ipnFJ2BeYZNvUT6YbP0JuJOjUAcvLajQ9k3r KLJpuF+poIbL+jF1EvspN0Zu56XFHQpqYH3wF7H5gT/8VJOfMEOsrnaD9L09MPCj5e4/RtXbfKH XfCPjzYE2IOuGozDPAS9aBOssmrh4qgY/yr51Y8ceVQBGgIDkHSF7Pzv2uGLczeUdo2A7V3gSof BrruEE6nhY3Ypw9LrxbVn6t79QsbPqrJpu5GVfOCE6TBIGwdRd7bqdBgXyjKUSfrc8ARJ25zDov pCumLfE2StVwuEh+kR9pQjoq+VXOYeyj2GyqizDmESZ3gM+iowRnI4Fo0Jq8AtMf5K2HF/tQrwR lQUMam5cfliL5Yw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 Update comment about the number of lanes. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index cc1c5ff42cbd..9fb921b3fa0d 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -305,7 +305,14 @@ static int tc358762_probe(struct mipi_dsi_device *dsi) ctx->dev =3D dev; ctx->pre_enabled =3D false; =20 - /* TODO: Find out how to get dual-lane mode working */ + /* + * When using DSI clk for pixel clock (only mode supported in the driver), + * the pclk is derived directly from the DSI byteclk via simple divider, + * which is either 2 or 3. + * The required divider can be calculated with bitspp / 8 / nlanes. Thus, + * for RGB888, only nlanes =3D 1 works as nlanes =3D 2 would require divi= der + * of 1.5. + */ dsi->lanes =3D 1; dsi->format =3D MIPI_DSI_FMT_RGB888; dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | --=20 2.43.0 From nobody Thu Apr 2 17:17:19 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31CF13B7741 for ; Fri, 27 Mar 2026 10:22:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606960; cv=none; b=Aexw3QRK3oOL8dz7UqCA8SGGHlXTWz/Td+EArS82qrY0149lQ5tiqSaRjwwjFCNVrNjnGXl2f0VVJ7YVR663rkx5S3ogzCQV7r5IzBcXMiv872dDMet0/NkRZCtsAy1qCjWAjxXImthBqZKt2Bn8Ralgci1qFzQL36NUc17u/7M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774606960; c=relaxed/simple; bh=qDgOvHrPx5VBCjCyaz4snC9nowUJ1uQTs9EWYBT2EmM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lgkeuKOpNzQcMe/785HW3nFEGwSf5TlL44pwC40n1XsEx/C8XH4fZ8Up7XozE4fGDZxjzIrVzhKrtmxU7LYYA3AsSLHlJor+ilzznPwmciG8RF+Nhv0teHCUmgjDVTNf1/pvGskg2Puye0QD0/iaL/D1pb9IE/1WbocXpiawGzM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=oxaeOqAK; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="oxaeOqAK" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2B0752F85; Fri, 27 Mar 2026 11:21:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1774606871; bh=qDgOvHrPx5VBCjCyaz4snC9nowUJ1uQTs9EWYBT2EmM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=oxaeOqAKnSjzuZdPtXjnImwUa4GyysR+oRP23w0e+kVgt6UyJMiANttyWe2K9+Nq4 kcXko+ieuDtOHVzgWRge5cqSSyjtqNtmM4wXc5Ghe9l/SjcXxwaqgRHlB633cUSsQ7 Z87ijpHODNAn95gpen8Cop7qfGD51/eDlstvYt0c= From: Tomi Valkeinen Date: Fri, 27 Mar 2026 12:21:56 +0200 Subject: [PATCH v2 08/12] drm/bridge: tc358762: Support VTG Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-tc358762-fixes-v2-8-3589d3c45f4a@ideasonboard.com> References: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> In-Reply-To: <20260327-tc358762-fixes-v2-0-3589d3c45f4a@ideasonboard.com> To: Marek Vasut , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3412; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=qDgOvHrPx5VBCjCyaz4snC9nowUJ1uQTs9EWYBT2EmM=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpxlpcNsqDgH8y2GjIikbc77QNJxyP27/8KWXnl +1LSGwqzbWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCacZaXAAKCRD6PaqMvJYe 9RJiEACRz+dMqwftX5IzdnlGnGY7983yUC5ZijLLOpdkd7Gs2DIjX7LUBCNIivalAdWAbdluLTn GVW6zh10NilujK2MKeZ+cM1qLS9bgqbsmzqTHV1nW17UKRflmQOmDI4Wjs7WEoXT6m9Tj91EcKK bTM9/GyXW+qzkipeTRq4dvDdedeRsIgA6XX3peFxqadzJhSlaDbxFCCLNSZrEGWT62CYJlMIxDc Ilmsl1tDYXqAwqHiNCnNZOOKVMhhnE9g4vuZXx4n8lsxMyYcOwAqrEq/r2ljZlMCIH/FCb1/5nm 0bckoPzDUEWUWoUc4SIUuHIu476EuToWgkXwm9LLR7vi7gIzvbt7PN1NQbegsIzJlbItZXERgKy Rd0Eh3d3hdwDdh7uS4b6YQzEePiPWhhBOComNFBhSODqz1z/jgyjORPNaJcwGuVQnTCnCQJjRP4 h/JJtu4fR0WGO+0VjIjDBmcMEREt/k66ehvLIUdluZ+2qY8J1knU31odi21XRtimWvhFdwlgxNF obKhAAjnJmJRs+/uG8yV7EOPi66rD5+LKouwEJWPM6DFFxUxMVNXxYyfnHl+kH2t6XV/sBzgpmx Rlcx0im/lUoWEhmhTB31Af7CmzvUOu2igeIEvjH27fBJuXQSdIOJKQyyV2yJyVkfYKrZg7HEkG5 OObSqkdEICXzfNA== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 TC358762 can generate the DPI output's timings in two ways, either Video Timings Generator (VTG) on or off: - VTG off: Duplicate the timings coming from the DSI. This requires DSI pulse mode. - VTG on: Sync frame on DSI VSync Start, but the exact output timings are defined in TC358762 registers. This can be used with DSI event/burst mode. We are currently using VTG off in the driver. I observe that the hsync signal, on my HW setup, is not 100% stable with VTG off, and it seems to lengthen by a single clock every now and then. However, it then stabilizes later. To me the DSI input looks solid, but that is more challenging to measure exactly. So I have not found the root cause for this. Turning VTG on removes that instability. As I dont' see any downsides with enabling VTG (and it would allow extending the driver to use event/burst mode in the future), let's always enable the VTG. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/tc358762.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc3= 58762.c index 9fb921b3fa0d..d3bcdf8af804 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -18,6 +18,7 @@ #include =20 #include