release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > SamsungYPR1 (compare)

Difference: SamsungYPR1 (r18 vs. r17)

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 to be switched 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 Melfas MCS5000
  • Traces of USB otg (indeed CPU has full support, but on R0 some tests by VanniX failed. Needs care)

Recovery

To enter the recovery mode, press and hold the RESET button, insert the USB cable and then hold the power button while releasing the reset hole. You will see the IMX37 Blank SE Marley device. http://pastebin.com/Zpn5iEUh Sometimes it's difficult to get it right, so the only option is to try a few times.... Once in this mode the player can be recovered using the official (leaked) recovery tool in a similar way that it is done on YP-R0 (actually the 2 programs are quite identical). You can find the recovery tool and a tutorial here: http://www.anythingbutipod.com/forum/showthread.php?t=70224

Pins and I/O

See gpio-ypr1.h to have a complete list of important pins that are used.

Port status

The YP-R1 port is currently available as a patch http://gerrit.rockbox.org/r/#/c/395/ which has not been merged yet.

WORKS

  • LCD
  • Backlight
  • Charger detection
  • Hardware buttons
  • Headphone detection
  • Battery reading (voltage + percentage)
  • WM1808 driver
  • Audio playback
  • Radio (audio + RDS)

DOESN'T WORK

  • TV out
  • Most of the plugins aren't yet configured (keycodes)
driverstatuscomments
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 100% FM Radio is supported using a custom kernel module. RDS works too. Re-using R0's module.
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

r18 - 30 Dec 2013 - 22:39:10 - LorenzoMiori?

Revision r18 - 30 Dec 2013 - 22:39 - LorenzoMiori?
Revision r17 - 27 Dec 2013 - 10:11 - LorenzoMiori?
Copyright by the contributing authors.