static void lcd_tick(void) { unsigned data; if (lcd_state != LCD_NEED_UPDATE) return; data = bcm_read32(0x1F8); if (data == 0xFFFA0005 || data == 0xFFFF) /* Not ready for update - return */ return; /* kick off update and reset request */ bcm_write32(0x1F8, 0xFFFA0005); BCM_CONTROL = 0x31; lcd_state = LCD_IDLE; }