Samsung Galaxy Mini 2 (samsung-jena)

Contributors

 * Halamix2

Maintainer(s)

 * Halamix2

What works

 * Boots
 * SSH through USB
 * display
 * flashing

What does not work

 * Restart after ~2 minutes 22 seconds
 * No input (keys and screen)
 * osk-keyboard
 * Wi-Fi
 * XWayland
 * FDE
 * Not mainlined
 * No charging with turned off phone (is it even supported?)
 * 3D acceleration
 * Accelerometers and other sensors
 * Audio
 * Bluetooth
 * Camera
 * GPS
 * Mobile data
 * SMS
 * Voice

Chips
cat /sys/bus/i2c/devices/*/name sr300pc20 #camera? CMOS image sensor sx1508q sc628a marimba marimba sx1509q sec_touch FSA9280 # USB multiplexer bma222 #accel bma222e #accel hscd_i2c gp2a pn544 #NFC controller, s6500 uses this, s6500d doesn't, don't know why it's there bq27425 #battery gauge

SMSM_RESET
Most annoying problem since everything on the phone has to be done within 2 minutes. After about 2mins 22secs phone reboots with dmesg showing SMSM: Modem SMSM state changed to SMSM_RESET This message is hardcoded into arch/arm/mach-msm/smd.c

Probably caused by modem, check all MODEM and MSM*_MODEM_* related options in menuconfig (there is one called reset, one reboot and one just modem) or find binary blobs if possible.

Touch screen
The screen as well as two touch buttons (menu and back) are combined together as /dev/input/event1. It displays some sort of animation when pressing buttons in postmarket demos window in weston but only for first press or two. weston-calibrate does not work

Home button and volume buttons are /dev/input/event1, where power button is recognised as /dev/input/event6

Mainline
Currently we have working 3.4 kernel, no DTS files for qcom-msm7227a.

Get data form all over the kernel source code (mainly arch/mach-msm/board- .c for starters and recreate it in .dts file(s).

Get UART working, then test basic DTS with just basics to get earlycon/earlyprintk working:


 * used voltage is 1.8V
 * needed resistor is *probably* 619kΩ
 * unknown name of the port in original kernel, candidates are ttyMSM0, tty0, ttyHS0, ttyHSL0 and ttyGS0
 * trying to get UART on 0xa9a00000 (ttyMSM0)
 * dtb probably misses clocks, maybe interrupts and other things

Unfinished, not working dtb

Useful links (mainly dts stuff)
The Mainline Kernel – our docs about mainlining

Qualcomm mainline porting — our sparse docs about Qualcomm mainlining

Qualcomm SOC Mainlining Project – sadly no MSM7227a

Documentation/devicetree/ inside linux kernel files, should contain newest documentation about dts files, should be most reliable source of information

How to enter flash mode
Press power button and hold home button and VOL-, then press VOL+ to continue

Alternatively, plug in microUSB plug with GND and ID pins connected through 300KΩ resistor. (so-called USB jig)

Installation
For now see Installation Guide and Flashing on Porting to a new device