Samsung YP-R1 Port Page
This port is intended to make rockbox work as an "hybrid" application, that runs on linux, but must control lot's of HW parameters by itself
Do NOT think as this port being something like an application for Android. It's the only application running on the device at a time...
Basically I will resume my port to YP-R0 to R1, since basic hardware is the same (CPU; linux environment...)
Hardware
- CPU: IMX37 532 MHz
- 3 RTC (why the hell): S-35392A - MX37 integrated - Bluetooth
- Power management: MAX8819 & MAX17040
- Audio codec: WM1808
- Radio SI4709
- LCD: 400x240 16 bit [Two possible LCD types: /* 0=> casio, 1=> SMD */]
- TV output! [needs a switch with a gpio, uses imx37 tv out capability]
- Bluetooth / Other stuff: BCM2070CB0KUFBXG?
- Input: 3 buttons (VolUP?/VolDown/PowerOn) + touch screen (capacitive) + reset button
- Touchscreen controller: Melpas MCS5000
- Traces of USB otg (indeed CPU has full support, but on R0 some tests by VanniX failed. Needs care)
Recovery
To enter recovery mode hold RESET button, insert USB cable and then hold power button while releasing reset hole. You will see the IMX37 Blank SE Marley device. I will provide a lsusb of it.
lsusb -
http://pastebin.com/Zpn5iEUh
Pins and I/O
TODO
Port status
- Backlight - LCD
- Charger detection
- Hardware buttons
- Headphone detection
- Battery voltage reading
- WM1808 driver -> volume control
- Audio playback
| driver |
status |
comments |
| LCD |
100% |
Standard Linux framebuffer device. ~900 FPS fullscreen, which seems a little lower in respect to R0... |
| Backlight |
100% |
Works fine so far. Check limits and why in OF there is a different (limit |
starting point) for the two different LCD |
| Buttons |
95% |
Keymap needs some love, but is largely OK. Multiple keypresses through GPIO module are working fine. |
| Touchpad |
90% |
Basics are working, initial calibration too but there is still space for improvements (slightly to be moved to the right along x-axis |
| Audio |
95% |
Playback seems to work rather flawlessy audio-driver wise (using standard alsalib). Volume handling is seperately implemented since alsalib doesnt offer this. For this we directly communicate with the wm1808 audio codec. Take care of frequencies (check) |
| FM Radio |
70% |
FM Radio is supported using a custom kernel module. RDS works too. Re-using R0's module. Still no audio (modify audio path to pick from AUX) |
| Recording |
0% |
It is possible to record. Need to write down the ALSA recording wrapper. |
| Power Management |
90% |
Charging, voltage readout and charger status are working. We save power by using the ondemand cpu governor the Linux kernel provides. Runtime is about 12 hrs which is pretty low. Need to turn off touchscreen while backlight is off + other possible improvements |
| USB |
50% |
We provide a early/safe USB mode in the patched firmware so the OF isn't needed. However there's no USB cable detection in Rockbox yet. Also, doing USB from within Rockbox is desirable to avoid reboots. Special care is needed to close open files before we make a connection, since the USB device cannot be exposed with open handles. |
| Storage |
100% |
Storage handled by Linux. No microSD to bother about! |
| Plugins |
80% |
Key mappings added, plugins are indeed to be tested but they're fairly working fine |
| RTC |
90% |
Read and Set time/date works flawlessy, 1 hr difference to be adjusted with respect to OF. Explore the possibility of alarm wake up (if available at all) |
Compile Official Kernel
It seems that they forgot to make a decent .tar archive, i.e. symbolik links are broken. What to do?
Simply get the YP-R0 official package, extract it correctly and then do a recursive copy of the /include directory from R0's tree to R1's one. That's it!
--
LorenzoMiori? - 16 Jan 2013
Copyright © by the contributing authors.