Installation / Removal > Other - Installation/Removal

Surfans F20 "NAND open error"

<< < (14/15) > >>

GraFfiX:

--- Quote from: amachronic on April 09, 2024, 01:59:41 PM ---Nice, now we just need to find out how to detect the LCD automatically. :) 

Are you able to flash that bootloader? If it still gives errors please post what it says.

--- End quote ---

Yes, the bootloader flashed successfully. One difference I did notice, normally the bootloader menu is black background with white lettering, using this version, it's white background with black lettering. Other than that, I don't see any differences.

GraFfiX:

--- Quote from: amachronic on April 09, 2024, 01:59:41 PM ---Nice, now we just need to find out how to detect the LCD automatically. :) 

Are you able to flash that bootloader? If it still gives errors please post what it says.

--- End quote ---

So, unfortunately, it looks like the colors are actually inverted on my display. I didn't notice it until I ran Quake. It's odd, because using the "lcd-invert" files you sent actually flips the display for me, but using the "lcd-invert+flip" results in the colors matching, but the display/lettering is all still backwards. Do you have any suggestions? I have the source, and can compile it successfully, but I'm not sure exactly where in the source the LCD orientation is. Thanks again for your help.

EDIT** I spoke too soon, while this build does work, I tried to actually use the device today. When the screen went to sleep, the display would not light up again. After holding down the power button, it did turn off, but first it showed the "Surfans" logo screen, however it was flipped and not inverted. Would really appreciate any tips you could give me.

amachronic:
Ok, so the LCD configuration is in firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c. Vertical/horizontal flip is controlled by this command:

--- Code: ---    /* Set Address Mode */
    LCD_INSTR_CMD,      0x36,
    LCD_INSTR_DAT,      0xd8,

--- End code ---

The data byte is what controls the orientation. Bit 7 = vertical flip, bit 6 = horizontal flip. The "inverted" build is just a horizontal flip, so 0xd8 becomes 0x98. Bit 3 is RGB/BGR order, so changing that may help fix the colors.

Another thing you can try is adding the "display invert on" command (0x21), assuming the default is non-inverted; maybe also try 0x20 "display invert off" just in case it defaults to on for some reason.

--- Code: ---    // vvv add this
    LCD_INSTR_CMD, 0x21,
    // ^^^
    /* Exit Sleep */
    LCD_INSTR_CMD,      0x11,
    LCD_INSTR_UDELAY,   120000,
    /* Display On */
    LCD_INSTR_CMD,      0x29,
    LCD_INSTR_UDELAY,   20000,
    LCD_INSTR_END,

--- End code ---

To stop the display from going to sleep you can comment out / remove the code in lcd_tgt_sleep(), the backlight will still turn off but the controller will keep running normally.

I don't remember if dconrad ever figured out what the display controller was... not that it would help since you could have a different one, but most of them support a similar command set (called MIPI DCS) and you can check eg. the ILI9341 datasheet for info.

GraFfiX:

--- Quote from: amachronic on April 13, 2024, 07:22:20 PM ---Ok, so the LCD configuration is in firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c. Vertical/horizontal flip is controlled by this command:

--- Code: ---    /* Set Address Mode */
    LCD_INSTR_CMD,      0x36,
    LCD_INSTR_DAT,      0xd8,

--- End code ---

The data byte is what controls the orientation. Bit 7 = vertical flip, bit 6 = horizontal flip. The "inverted" build is just a horizontal flip, so 0xd8 becomes 0x98. Bit 3 is RGB/BGR order, so changing that may help fix the colors.

Another thing you can try is adding the "display invert on" command (0x21), assuming the default is non-inverted; maybe also try 0x20 "display invert off" just in case it defaults to on for some reason.

--- Code: ---    // vvv add this
    LCD_INSTR_CMD, 0x21,
    // ^^^
    /* Exit Sleep */
    LCD_INSTR_CMD,      0x11,
    LCD_INSTR_UDELAY,   120000,
    /* Display On */
    LCD_INSTR_CMD,      0x29,
    LCD_INSTR_UDELAY,   20000,
    LCD_INSTR_END,

--- End code ---

To stop the display from going to sleep you can comment out / remove the code in lcd_tgt_sleep(), the backlight will still turn off but the controller will keep running normally.

I don't remember if dconrad ever figured out what the display controller was... not that it would help since you could have a different one, but most of them support a similar command set (called MIPI DCS) and you can check eg. the ILI9341 datasheet for info.

--- End quote ---

Thanks! That worked beautifully. I set the address mode instr_dat to 0x98, and added instr_cmd 0x21 per your instructions, everything is displayed properly now. I haven't tested the sleep fix yet, but I will report back when I do.

coomer101:
Hi all,
I recently received an aigo eros Q running a v1.9 firmware
Had the nand issue using the bootloader linked on the wiki page
As posted before (thanks!), this boot loader worked.
https://drive.google.com/file/d/1S5HsTPbqPpBoyJExfhBcXRpEUkh86xGk/view?usp=sharing

Can we get this bootloader added to the wiki?
The only way I was able to get this installed is via this thread, so I'd hate for the links to die
I opened it up to confirm the nand chip as well.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version