Skip to content
Linux 5.19.14 with patches for Snapdragon 670

This is a collection of patches that are useful for devices with the Qualcomm
Snapdragon 670, applied on top of Linux 5.19.14. This includes patches which
will likely be seen as-is in one or two kernel releases (linux-next), patches
which are staged for review by the Linux kernel mailing lists (sdm670-staging),
patches with varying progress from the Snapdragon 845 mainlining community
(sdm845-mainline), and patches which have something preventing them from being
sent upstream (sdm670-downstream).

Most of the patches from the SDM845 mainlining community add support for
charging. The other two make it possible to run the kernel on a Pixel device's
Android 10+ firmware and add a configuration.

Support for the Google Pixel 3a panel and DPU 4.1.0 are included. The DPU is not
staged for submission because it might be causing some issues with the GPU.

linux-next (17):
 9a2139c2912e spmi: add a helper to look up an SPMI device from a device node
 e9c11c6e3a0e mfd: qcom-spmi-pmic: expose the PMIC revid information to clients
 d23c3c085a95 mfd: qcom-spmi-pmic: read fab id on supported PMICs
 7ea58c951ab3 dt-bindings: iio: adc: document qcom-spmi-rradc
 72c7df8505cb iio: adc: qcom-spmi-rradc: introduce round robin adc
 2a5bf05f123f iio: adc: qcom-spmi-rradc: Fix spelling mistake "coherrency" -> "coherency"
 657e9326658c dt-bindings: clock: gcc-sdm845: add sdm670 global clocks
 8e90216d2db9 clk: qcom: gcc-sdm845: use device tree match data
 ae66b1fe48e2 clk: qcom: gcc-sdm845: add sdm670 global clock data
 23b92adb53a1 dt-bindings: phy: qcom,qusb2: document sdm670 compatible
 d225ea95e9f9 dt-bindings: usb: dwc3: add sdm670 compatible
 911ce7cf72d9 regulator: qcom-rpmh: add pm660 and pm660l pmics
 21c93a95553d regulator: qcom,rpmh: add pm660 and pm660l pmics
 07c7338f05d2 dt-bindings: mmc: sdhci-msm: add sdm670 compatible
 4de95950d970 mmc: sdhci-msm: add compatible string check for sdm670
 c6648a402ced dt-bindings: clock: add rpmhcc bindings for sdm670
 2ded040cedf8 clk: qcom: rpmhcc: add sdm670 clocks

sdm670-staging (20):
 [PATCH v9 0/3] SDM670 Pin Control Driver
  dt-bindings: pinctrl: qcom: add sdm670 pinctrl
  pinctrl: qcom: do not reinitialize gpio valid mask
  pinctrl: qcom: add sdm670 pinctrl
 [PATCH v2 0/2] SDM670 Power Domains
  dt-bindings: power: rpmpd: add sdm670 power domains
  soc: qcom: rpmhpd: add sdm670 power domains
 [PATCH v2 0/2] iommu: SMMU for SDM670
  dt-bindings: iommu: arm-smmu: add sdm670 compatible
  iommu: arm-smmu-qcom: add sdm670 compatible
 [PATCH v5 0/3] SDM670 GPI DMA support
  dt-bindings: dma: qcom: gpi: add fallback compatible
  dt-bindings: dma: qcom: gpi: add compatible for sdm670
  dmaengine: qcom: deprecate redundant of_device_id entries
 Not yet sent (9):
  arm64: dts: qcom: add gpi-dma fallback compatible
  dt-bindings: arm: cpus: add qcom kryo 360 compatible
  dt-bindings: arm: qcom: add sdm670 and pixel 3a compatible
  dt-bindings: firmware: scm: add sdm670 compatible
  arm64: dts: qcom: add sdm670 and pixel 3a device trees
  dt-bindings: interconnect: add sdm670 interconnects
  interconnect: qcom: add sdm670 interconnects
  arm64: dts: qcom: sdm670: add interconnects
  arm64: dts: qcom: sdm670: add cpu frequency scaling
  arm64: dts: qcom: sdm670: add opps for peripherals

sdm845-mainline (13):
 [ANNOTATION] in-tree patches which won't be upstreamed
 power: supply: Add driver for Qualcomm PMIC fuel gauge
 qcom_fg: expose PROP_STATUS to fix upower not detecting charging status properly
 fg: adopt battery info API changes
 dt-bindings: power: supply: Add DT schema for qcom,fg
 power: supply: add Qualcomm PMI8998 SMB2 Charger driver
 dt-bindings: power: supply: qcom,pmi8998-charger: add bindings for smb2 driver
 Revert "i2c: qcom-geni: Use dev_err_probe() for GPI DMA error"
 power: supply: pmi8998_charger: actually do call changed in interrupt context
 power: qcom_fg: silence -EPROBE_DEFER error
 power/supply: qcom_fg: add present sysfs property
 power: supply: pmi8998_charger: drop in v5, fix slow charging
 Add back TEXT_OFFSET in the built image...

sdm670-downstream (8):
 arm64: configs: add sdm670 config fragment
 arm64: dts: qcom: sdm670-google-sargo: mask the dtbo
 arm64: dts: qcom: pm660: add charging support
 arm64: dts: qcom: sdm670-google-sargo: enable charging support
 drm/msm/dpu: add hw revision 410
 drm/panel: add samsung s6e3fa7 panel driver
 arm64: dts: qcom: sdm670: add mdss
 arm64: dts: qcom: sdm670-google-sargo: enable panel

 Documentation/devicetree/bindings/arm/cpus.yaml    |    1 +
 Documentation/devicetree/bindings/arm/qcom.yaml    |    6 +
 .../devicetree/bindings/clock/qcom,gcc-sdm845.yaml |   62 +-
 .../devicetree/bindings/clock/qcom,rpmhcc.yaml     |    1 +
 .../devicetree/bindings/dma/qcom,gpi.yaml          |   20 +-
 .../devicetree/bindings/firmware/qcom,scm.txt      |    1 +
 .../bindings/iio/adc/qcom,spmi-rradc.yaml          |   51 +
 .../bindings/interconnect/qcom,rpmh.yaml           |    8 +
 .../devicetree/bindings/iommu/arm,smmu.yaml        |    1 +
 .../devicetree/bindings/mmc/sdhci-msm.yaml         |    1 +
 .../devicetree/bindings/phy/qcom,qusb2-phy.yaml    |    1 +
 .../bindings/pinctrl/qcom,sdm670-tlmm.yaml         |  127 ++
 .../devicetree/bindings/power/qcom,rpmpd.yaml      |    1 +
 .../devicetree/bindings/power/supply/qcom,fg.yaml  |  102 ++
 .../power/supply/qcom,pmi8998-charger.yaml         |   82 +
 .../bindings/regulator/qcom,rpmh-regulator.yaml    |   36 +
 .../devicetree/bindings/usb/qcom,dwc3.yaml         |    2 +
 arch/arm64/boot/dts/qcom/Makefile                  |    1 +
 arch/arm64/boot/dts/qcom/pm660.dtsi                |   35 +
 .../dts/qcom/sdm670-google-sargo-dtbo-mask.dtsi    |  472 ++++++
 arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts   |  597 +++++++
 arch/arm64/boot/dts/qcom/sdm670.dtsi               | 1699 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8150.dtsi               |    6 +-
 arch/arm64/boot/dts/qcom/sm8250.dtsi               |    6 +-
 arch/arm64/configs/sdm670.config                   |    9 +
 arch/arm64/configs/sdm845.config                   |  863 ++++++++++
 arch/arm64/kernel/head.S                           |    2 +-
 arch/arm64/kernel/image.h                          |    1 +
 drivers/clk/qcom/Kconfig                           |    4 +-
 drivers/clk/qcom/clk-rpmh.c                        |   21 +
 drivers/clk/qcom/gcc-sdm845.c                      |  400 ++++-
 drivers/dma/qcom/gpi.c                             |    4 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     |   74 +
 drivers/gpu/drm/panel/Kconfig                      |    9 +
 drivers/gpu/drm/panel/Makefile                     |    1 +
 drivers/gpu/drm/panel/panel-s6e3fa7-sdc.c          |  319 ++++
 drivers/i2c/busses/i2c-qcom-geni.c                 |    6 +-
 drivers/iio/adc/Kconfig                            |   12 +
 drivers/iio/adc/Makefile                           |    1 +
 drivers/iio/adc/qcom-spmi-rradc.c                  | 1022 ++++++++++++
 drivers/interconnect/qcom/Kconfig                  |    9 +
 drivers/interconnect/qcom/Makefile                 |    2 +
 drivers/interconnect/qcom/sdm670.c                 |  463 ++++++
 drivers/interconnect/qcom/sdm670.h                 |   12 +
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |    1 +
 drivers/mfd/qcom-spmi-pmic.c                       |  272 ++--
 drivers/mmc/host/sdhci-msm.c                       |    1 +
 drivers/pinctrl/qcom/Kconfig                       |    9 +
 drivers/pinctrl/qcom/Makefile                      |    1 +
 drivers/pinctrl/qcom/pinctrl-msm.c                 |    3 +-
 drivers/pinctrl/qcom/pinctrl-sdm670.c              | 1345 ++++++++++++++++
 drivers/power/supply/Kconfig                       |   17 +
 drivers/power/supply/Makefile                      |    2 +
 drivers/power/supply/qcom_fg.c                     | 1320 +++++++++++++++
 drivers/power/supply/qcom_pmi8998_charger.c        | 1043 ++++++++++++
 drivers/regulator/qcom-rpmh-regulator.c            |   54 +
 drivers/soc/qcom/rpmhpd.c                          |   18 +
 drivers/spmi/spmi.c                                |   17 +
 include/dt-bindings/clock/qcom,gcc-sdm845.h        |    1 +
 include/dt-bindings/interconnect/qcom,sdm670.h     |  152 ++
 include/dt-bindings/power/qcom-rpmpd.h             |   10 +
 include/linux/spmi.h                               |    3 +
 include/soc/qcom/qcom-spmi-pmic.h                  |   61 +
 63 files changed, 10758 insertions(+), 125 deletions(-)