The lt9611_sleep_setup() modifies the chip's I2C address via registers 0x8023/0x8024 and reconfigures GPIO0 via 0x8157/0x8149. Since there is no corresponding restore in the wake-up path, I2C communication fails after resume.
Remove the I2C address and GPIO reconfiguration from sleep setup. The MIPI Rx power-down and TX PHY disable sequences are sufficient. Signed-off-by: Hongyang Zhao <[email protected]> --- The lt9611_sleep_setup() function modifies the chip's I2C address via registers 0x8023/0x8024 and reconfigures GPIO0. However, there is no corresponding restore in the wake-up path, which causes I2C communication to fail after resume. This patch removes the I2C address and GPIO reconfiguration from sleep setup. The MIPI Rx power-down and TX PHY disable sequences are sufficient for proper sleep operation. Tested on RubikPi3 (QCS6490) platform with the LT9611 HDMI bridge. --- drivers/gpu/drm/bridge/lontium-lt9611.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c index a2d032ee4744..ae47efe9d77f 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -424,11 +424,6 @@ static void lt9611_enable_hpd_interrupts(struct lt9611 *lt9611) static void lt9611_sleep_setup(struct lt9611 *lt9611) { const struct reg_sequence sleep_setup[] = { - { 0x8024, 0x76 }, - { 0x8023, 0x01 }, - { 0x8157, 0x03 }, /* set addr pin as output */ - { 0x8149, 0x0b }, - { 0x8102, 0x48 }, /* MIPI Rx power down */ { 0x8123, 0x80 }, { 0x8130, 0x00 }, --- base-commit: 46fe65a2c28ecf5df1a7475aba1f08ccf4c0ac1b change-id: 20260127-rubikpi-next-20260116-bugfix-75db8104d221 Best regards, -- Hongyang Zhao <[email protected]>
