summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2014-12-30 16:26:15 +0800
committerAndy Green <andy.green@linaro.org>2014-12-30 16:26:15 +0800
commitc8b9574e362febcb73086d8417e609ddda9c751d (patch)
tree6eea1a77cdcbbd96aecd7ad956b7e79e2a458b4d
parent0d3152f2b0804ae6bf345b6b05a47864c858b1e4 (diff)
msm8916-qrd: add README.msm8916 qrdv3.10.28-basis
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r--README.ms8916-qrd104
1 files changed, 104 insertions, 0 deletions
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 <andy.green@linaro.org> 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.
+