diff options
author | Dana Conrad <dconrad@fastmail.com> | 2021-06-26 12:07:11 -0500 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-07-18 12:14:35 +0000 |
commit | 3e7a09cb0dee0ee04b5c77f427bf89d990ec8d0b (patch) | |
tree | be1eb7e1d4166f60b245a0603e9f7dc11e1f5614 /firmware/target/mips/ingenic_x1000/lcd-x1000.c | |
parent | 64a24591aec049682167b193700a07572fc04c4c (diff) | |
download | rockbox-3e7a09cb0dee0ee04b5c77f427bf89d990ec8d0b.tar.gz rockbox-3e7a09cb0dee0ee04b5c77f427bf89d990ec8d0b.zip |
New Port: Eros Q Native
What works:
- LCD: 16-bit RGB565
- all buttons, including scrollwheel
- SD Card
- Battery level and charging/not charging status
- USB
- audio
- sample rate switching
- HP / LO detect, with "safe" fixed LO volume -
LO volume will only be put to user-defined max volume
if headphones are not present.
- rtc
- Plugins build, tried a couple and they seem OK
- Bootloader, installable to nand via usbboot
What doesn't work:
- Dual Boot
- power on/off has intermittent, low volume audio click
(sometimes it's completely silent, sometimes there's
a click)
- Audio uses 16-bit volume scaling, so clicking/popping
is pretty bad at lower volumes - need 32 bit volume
scaling, 24 bit I2S data
- USB HID keys not yet defined
- no jztool support
Unknowns:
- Stereo Switch pins: Direction select, AC_DC
(probably not even hooked up)
- What is the actual purpose of the Stereo Swtich?
- How does the bluetooth module connect?
"Someday" stuff:
- get LCD working at higher bit depth
- Bluetooth
Change-Id: I70dda8fc092c6e3f4352f2245e4164193f803c33
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/lcd-x1000.c')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/lcd-x1000.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_x1000/lcd-x1000.c b/firmware/target/mips/ingenic_x1000/lcd-x1000.c index 193ff082e0..b66359a598 100644 --- a/firmware/target/mips/ingenic_x1000/lcd-x1000.c +++ b/firmware/target/mips/ingenic_x1000/lcd-x1000.c | |||
@@ -457,6 +457,10 @@ void lcd_update(void) | |||
457 | jz_writef(LCD_MCTRL, DMA_START(1), DMA_MODE(1)); | 457 | jz_writef(LCD_MCTRL, DMA_START(1), DMA_MODE(1)); |
458 | } | 458 | } |
459 | 459 | ||
460 | /* We can do partial updates even though the DMA doesn't seem to handle it well, | ||
461 | * due to the fact that this is actually putting it into a buffer, and then | ||
462 | * it gets transferred via DMA to a secondary buffer, which gets transferred in | ||
463 | * its entirety to the LCD through a different DMA process. */ | ||
460 | void lcd_update_rect(int x, int y, int width, int height) | 464 | void lcd_update_rect(int x, int y, int width, int height) |
461 | { | 465 | { |
462 | /* Clamp the coordinates */ | 466 | /* Clamp the coordinates */ |