APQ8064 MDP

From eLinux.org
Jump to: navigation, search

Booting

  • Recovery: VolumeUp + Power
  • Fastboot: VolumeDown + Power

Building

Code and instructions for building Android are here.

If you want to build just the kernel:

make out/target/product/msm8960/boot.img

or without the Android build system:

make -C kernel O=../out/target/product/msm8960/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=arm-eabi- msm8960_defconfig
make -C kernel O=../out/target/product/msm8960/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=arm-eabi-
out/host/linux-x86/bin/acp -fp out/target/product/msm8960/obj/KERNEL_OBJ/arch/arm/boot/zImage out/target/product/msm8960/kernel
out/host/linux-x86/bin/mkbootimg  --kernel out/target/product/msm8960/kernel --ramdisk out/target/product/msm8960/ramdisk.img --cmdline "console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3F ehci-hcd.park=3" --base 0x80200000 --pagesize 2048 --ramdisk_offset   0x109c000 -z --output out/target/product/msm8960/boot.img.nonsecure
openssl dgst -sha256  -binary out/target/product/msm8960/boot.img.nonsecure > out/target/product/msm8960/boot.img.sha256
openssl rsautl -sign -in out/target/product/msm8960/boot.img.sha256 -inkey device/qcom/common/qcom.key -out out/target/product/msm8960/boot.img.sig
dd if=/dev/zero of=out/target/product/msm8960/boot.img.sig.padded bs=2048 count=1
dd if=out/target/product/msm8960/boot.img.sig of=out/target/product/msm8960/boot.img.sig.padded conv=notrunc
cat out/target/product/msm8960/boot.img.nonsecure out/target/product/msm8960/boot.img.sig.padded > out/target/product/msm8960/boot.img

Partitions

major  minor   #blocks  name
179        0   31162368 mmcblk0
179        1      65536 mmcblk0p1         /firmware
179        2        128 mmcblk0p2
179        3        256 mmcblk0p3
179        4        512 mmcblk0p4
179        5        512 mmcblk0p5
179        6        512 mmcblk0p6
179        7      10240 mmcblk0p7         kernel/boot.img
179        8        512 mmcblk0p8
179        9          1 mmcblk0p9
179       10       3072 mmcblk0p10
179       11       3072 mmcblk0p11
179       12     524288 mmcblk0p12        /system
179       13   12582912 mmcblk0p13        /user
179       14       8192 mmcblk0p14        /persist
179       15      65536 mmcblk0p15        /cache
179       16     262144 mmcblk0p16        /tombstones
179       17       1024 mmcblk0p17
179       18      10240 mmcblk0p18
179       19       3072 mmcblk0p19
179       20          8 mmcblk0p20
179       21          5 mmcblk0p21
179       22   17137647 mmcblk0p22
179       32    7761920 mmcblk1
179       33    7757824 mmcblk1p1

Power

  • Disable USB charging:
echo 1 > /sys/module/pm8921_charger/parameters/disabled
  • Battery current and voltage:
cat /sys/devices/platform/msm_ssbi.0/pm8921-core/pm8921-charger/power_supply/battery/{current,voltage}_now
  • EPM sensors can be read using the epmread tool or from sysfs:
cat /sys/devices/platform/epm_adc/ads?_chan?

However the EPM values seem to be nonsensical on the APQ8064, at least for the CPU cores (channels 0, 3, 5 and 7).

Serial

  • The serial port /dev/ttyHSL0 is exposed (CMOS 1v8 levels, default 115200 8n1) via the dock connector on the bottom edge of the device. The supplied HDMI+2xUSB adapter can be easily hacked to access the necessary pins. (TODO: which pins are they?)

Links