From c8b9574e362febcb73086d8417e609ddda9c751d Mon Sep 17 00:00:00 2001 From: Andy Green Date: Tue, 30 Dec 2014 16:26:15 +0800 Subject: msm8916-qrd: add README.msm8916 qrd Signed-off-by: Andy Green --- README.ms8916-qrd | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 README.ms8916-qrd diff --git a/README.ms8916-qrd b/README.ms8916-qrd new file mode 100644 index 000000000000..57654f2a7391 --- /dev/null +++ b/README.ms8916-qrd @@ -0,0 +1,104 @@ +msm8916-qrd phone dev board info +Andy Green 2014-12-12 + +Introduction +------------ + +Qualcomm provide a cool LTE phone as a dev platform and make it available +chheaply. The SoC inside, msm8916 has 4 x A53. + +There are 4 issues with the phone-as-dev-platform out of the box. + +1) Serial port is on an undocumented 10-pin smt connector. + +The whole SMT connector is 1.8V only. + +1: ? +2: ? +3: ? +4: ? +5: ? +6: ? +7: Serial TX from msm8916 +8: Serial RX from msm8916 (1.8V ONLY!!!) +9: ? +10: 0V + +The FFC needed to mate with the connector is 0.5mm pitch 10-way. + +You can get an FFC to connect to it easily enough but hooking up the other end +to something you can solder on (0.5mm pitch...) is possible but requires some +skills. + +And remember it's 1.8V, you will need to level-convert to a normal 3.3V LVTTL +USB serial adapter or hack the adapter to use 1.8V reference (this is what I did) + +2) The battery is required for boot and is not charged while in fastboot or cut-down kernel + +Replacing the battery with 3.8V bench PSU is enough. + +Otherwise you will work for some hours and then nothing will work any more, because +the battery is flat. For development work that's not acceptable. + +3) Quick entry to fastboot means holding down a key on the phone and replug the battery + +I shorted the vol - key permanently (some disassembly and balls-of-steel soldering needed) +and use LMP to automate 'battery' replug + +4) If the phone loses all power, he reboots on a 12s cycle + +Mitigated by one-time entry to stock rootfs / kernel (fastboot continue) until next power loss +This might be associated with forcing Vol - key permananetly down. + + +Basic kernel build info +----------------------- + +This info is for the original qualcomm kernel build + +export ARCH=arm +export CROSS_COMPILE=arm-linux-gnueabihf- +make msm8916_defconfig +make + +you will find the combined zImage + dtb in arch/arm/boot/zImage-dtb + + +Running the kernel +------------------ + +With fastboot running, you can try your kernel like this: + +1) Use msm8916-qrd_defconfig, the zImage-dtb that is produced +has the dtb applied already and is good to give to fastboot. + +2) Give this to fastboot --> + +sudo fastboot boot \ + arch/arm/boot/zImage-dtb initramfs \ + -p "msm8916" \ + -c "console=ttyMSM0,115200,n8 loglevel=4 rdinit=/bin/bash" + +3) and you will get a boot, to a bash prompt if your initramfs has one at /bin/bash + + +Notes on using the adapter PCB +------------------------------ + +The tree has ./tools/dtr-control/dtr.c and a Makefile in there to make +dtr-control, which lets you reset (dtr-control by itself) and turn off (dtr-control --off) the phone from your PC in a scriptable way. + +When the phone turns on, it runs the stock firmware, unless you hold down the - volume key at boot which is difficult. + +Therefore there's a script ./tools/dtr-control/fb.sh included which uses +adb and fastboot to automate [stock boot] -> [adb reset-bootloader] -> [fastboot] and optionally send your kernel on fastboot. + +Use fb.sh --prep to automate only getting the phone back into fastboot, which you can run asynchronously at the start of your build, like this (./m is the make script) + + ./tools/dtr-control/fb.sh --prep & \ + ./m msm8916-qrd_defconfig && \ + ./m && \ + ./tools/dtr-control/fb.sh --wait + +fb.sh takes 22s to go through the reset -> adb -> fastboot sequence so if your build is longer than 22s, resetting into fastboot costs nothing and the new kernel is sent as soon as build completes. + -- cgit v1.2.3