[PATCH RFC 7/9] drm/bridge: tc358762: make LPTXTIMECNT configurable

From: Andreas Kemnade

Date: Tue Sep 22 2026 - 02:21:33 EST


On the Epson Moverio BT-200, reading back registers does not work with the
default value, so make it configurable. Real meaning of this value is not
known from public sources.

Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
---
drivers/gpu/drm/bridge/tc358762.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc358762.c
index 1bea89fb03a8..194785bff997 100644
--- a/drivers/gpu/drm/bridge/tc358762.c
+++ b/drivers/gpu/drm/bridge/tc358762.c
@@ -15,6 +15,7 @@
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/of_graph.h>
+#include <linux/property.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>

@@ -101,8 +102,6 @@

#define IDREG 0x04A0 /* Chip and Revision ID */

-#define LPX_PERIOD 3
-
struct tc358762 {
struct device *dev;
struct drm_bridge bridge;
@@ -112,6 +111,7 @@ struct tc358762 {
struct spi_controller *spi;
bool pre_enabled;
int error;
+ u32 lpx_period;
bool use_vtg;
};

@@ -246,7 +246,7 @@ static void tc358762_pre_enable(struct drm_bridge *bridge,
tc358762_write(ctx, PPI_D1S_CLRSIPOCOUNT, 5);
tc358762_write(ctx, PPI_D0S_ATMR, 0);
tc358762_write(ctx, PPI_D1S_ATMR, 0);
- tc358762_write(ctx, PPI_LPTXTIMECNT, LPX_PERIOD);
+ tc358762_write(ctx, PPI_LPTXTIMECNT, ctx->lpx_period);

if (ctx->use_vtg) {
struct videomode vm = { 0 };
@@ -367,6 +367,9 @@ static int tc358762_parse_dt(struct tc358762 *ctx)
if (IS_ERR(ctx->reset_gpio))
return PTR_ERR(ctx->reset_gpio);

+ ctx->lpx_period = 3;
+ device_property_read_u32(dev, "toshiba,lptxtimecnt", &ctx->lpx_period);
+
return 0;
}


--
2.47.3