Difference between revisions of "APQ8064 MDP"

From eLinux.org
Jump to: navigation, search
(Categorizing)
 
(8 intermediate revisions by one other user not shown)
Line 8: Line 8:
  
 
If you want to build just the kernel:
 
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- msm8960_defconfig
  make -C kernel O=../out/target/product/msm8960/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=arm-eabi- -j5
+
  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/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
 
  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
Line 18: Line 22:
 
  dd if=out/target/product/msm8960/boot.img.sig of=out/target/product/msm8960/boot.img.sig.padded conv=notrunc
 
  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
 
  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 [https://github.com/xaaronc/epmread 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 ==
 
== Links ==
Line 24: Line 69:
 
* [http://www.bsquare.com/apq8064-based-snapdragon-s4-mdptablet.aspx BSquare]
 
* [http://www.bsquare.com/apq8064-based-snapdragon-s4-mdptablet.aspx BSquare]
 
* [https://www.codeaurora.org/xwiki/bin/QAEP source code]
 
* [https://www.codeaurora.org/xwiki/bin/QAEP source code]
 +
 +
[[Category:Snapdragon]]

Latest revision as of 07:32, 28 June 2013

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