Samsung Galaxy Xcover 3 (samsung-xcover3lte)

== Contributors ==
* Blacksilver
== Users owning this device ==
== How to enter flash mode ==
 + + 
== How to enter recovery mode ==
 + + 
== What works == 
* XFCE
* Weston
* TTYEscape
* fbkeyboard
* MUIC/UART
== What doesn't work ==
* Blanking and Unblanking leads to framebuffer flickering, which stays after reboot and even battery-removal for some time.
* Only kernels built with GCC4 will boot downstream.
* AlsaUCM profile must be reapplied before each audio play.
* LEDs
== Installation ==
Flash the boot-image
$ pmbootstrap flash flash_kernel
Installation of rootfs can be be done either to SD-card
$ pmbootstrap install --sdcard=/dev/XXXXX
This makes manual dual boot (by replacing boot-image) possible.
Alternatively installation can be done via recovery to USER partition (5.3GB).
The system partition is rather small (1536M) for postmarketos with UI.
For installation to USER partition via android-recovery-zip you need a TWRP recovery (codename xcover3ltexx).
The latest TWRP recovery isn't flash-able after update to latest vendor version (Android 5.0).
A "Hackish TWRP" alternative recovery image can be found in XDA forum.
$ pmbootstrap install --android-recovery-zip --recovery-install-partition USER
$ cp /tmp/postmarketOS-export/pmos-samsung-xcover3lte.zip ...
== Boot image ==
The created pxa-bootimage contains a legacy uImage which is slightly different from vendor one.
Despite having keyword postmarketos and missing extra gzip compression, it boots as well.
== Debugging ==
To enable ramoops the kernel cmdline must be extended by these module parameters. See also ramoops
ramoops.mem_size=0x40000 ramoops.mem_address=0x8100000 ramoops.record_size=0x8000 ramoops.console_size=0x30000 ramoops.dump_oops=1
After kernel panic the console can be extracted in e.g. recovery.
$ hexdump -C -s 0x8108000 /dev/mem | less
== UART ==
You can get serial console with a 
microUSB/Carkit_debug_cable and 619KΩ resistor.
The phone will boot when plugging the cable in, after the phone has been powered off or battery inserted. Might take several attempts.
150KΩ will start the phone in flash mode.
== Audio ==
The Alsa UCM usecase must be set before each play, e.g.
alsaucm -c map_asoc set _verb HiFi set _enadev Speaker
== Mainline ==
See SoC Marvell PXA1908 for git-repo and DTS booting mainline.
== Partitions ==
Disk /dev/block/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID):
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854
Number Start (sector) End (sector) Size Code Name
 1 8192 9215 512K 0700 MRD
 2 9216 10239 512K 0700 MRD1
 3 10240 24575 7168K 0700 MEP2
 4 24576 28671 2048K 0700 LOKE2ND
 5 28672 32767 2048K 0700 LOKE1ST
 6 32768 65535 16.0M 0700 EFS
 7 65536 73727 4096K 0700 PARAM
 8 73728 106495 16.0M 0700 RECOVERY
 9 106496 139263 16.0M 0700 KERNEL
 10 139264 196607 28.0M 0700 MODEM
 11 196608 262143 32.0M 0700 SSTD
 12 262144 264191 1024K 0700 OTA
 13 264192 313343 24.0M 0700 NVM
 14 313344 3459071 1536M 0700 SYSTEM
 15 3459072 3868671 200M 0700 CACHE
 16 3868672 4073471 100M 0700 HIDDEN
 17 4073472 15267839 5466M 0700 USER
== Similar devices ==
The following devices are similar to SM-G388F.
* Core Prime VE LTE
* Grand Prime VE LTE
* Samsung Galaxy J1 ACE (j1acelteltn) - SM-J110m
== See also ==
* Initial merge request
* 
* 
* Android kernel
* Android vendor
* Android device