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]>

Reply via email to