Jump to content

Qualcomm mainline porting

From postmarketOS Wiki
Note Work in progress and untested. Please improve this page (or merge it together with the non-Qualcomm-specific mainlining wiki page) when you try any of this.

Prerequisites

  • A working device-tree based downstream kernel
  • You know the location of the UART port on your device (video tutorial | Identifying serial ports)
  • A device that has one of the following Snapdragon processors
    • S3 (MSM8260 / MSM8660 / APQ8060)
    • S4 Pro (MSM8960T / MSM8960DT / APQ8064)
    • 410 (MSM8916 / APQ8016)
    • 800 (MSM8974)
    • 801 (MSM8974AA / MSM8974AB / MSM8974AC / APQ8074AB)
    • 805 (APQ8084)
    • 808 (MSM8992)
    • 810 (MSM8994)
    • 820 (MSM8996)
    • 835 (MSM8998)
    • 845 (SDM845)

Relevant chat log

Thanks to opendata and bshah for the following log. Let's make this more wiki friendly once we try it out.

  • Copy fairphone2 DTs and change device info
    • (alas, if you are using Nexus 4, apq8064 based device would be good start i.e Nexus 7 2013 (yes, it's most complete device now))
      • Not sure about 8064, I would do the same thing but base off yuga
  • Look for a file named msm8974-regulator.dtsi in devices android kernel tree
  • Look for pm8841_s1: regulator-s1 then look at the voltages and make sure your DTS is the same, if not change it.
  • Do the same operation for the other regulators:
    • pm8841_s2: regulator-s2
    • pm8841_s3: regulator-s3
    • pm8841_s4: regulator-s4
    • pm8941_s1: regulator-s1
    • pm8941_s2: regulator-s2
    • pm8941_s3: regulator-s3
    • ...
    • pm8941_l1: regulator-l1
    • ...
    • pm8941_l24: regulator-l24
  • Then look in your devices android DTSi and look for any regulator configs if you find any change the corresponding regulator in the dts
  • This should be enough to boot with USB telnet

See also