From 68a5524a48fe08d930c193d843dcd5dcdd4e98a4 Mon Sep 17 00:00:00 2001 From: Vencislav Atanasov Date: Tue, 22 Jul 2025 21:19:46 +0200 Subject: [PATCH] iPod 6G: Disable usage of deep standby mode on LCD type 2 and 3 This caused the devices to crash a few seconds after sending the command. A small power consumption increase is possible when the screen is off with this patch, but Rockbox doesn't crash anymore. Type 0 and 1 are not affected as they use a completely different sequence. Tested on iPod 6G LCD type 1 and LCD type 2. Type 0 is similar to Type 1, Type 3 is similar to Type 2, so it should cover all available LCD types. Change-Id: I3e8a653ca22bf59e3db38e1d26e747b358e62cb2 --- firmware/target/arm/s5l8702/ipod6g/lcd-6g.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-6g.c b/firmware/target/arm/s5l8702/ipod6g/lcd-6g.c index 0f74787b45..49d6945a07 100644 --- a/firmware/target/arm/s5l8702/ipod6g/lcd-6g.c +++ b/firmware/target/arm/s5l8702/ipod6g/lcd-6g.c @@ -57,8 +57,13 @@ static const uint16_t lcd_deepstandby_seq_23[] = MREG16(1), 0x100, 0x0700, /* Deep Standby Mode */ + /* Sending this on type 2 or 3 LCD causes Rockbox to crash after a few seconds + Disabling it until the root cause is found, it's probably a busy wait somewhere + or a mutex that's not being unlocked in a timely manner */ +#if 0 MREG16(1), 0x100, 0x0704, SLEEP16(5), +#endif END }; #endif /* HAVE_LCD_SLEEP || HAVE_LCD_SHUTDOWN */