Skip to content
Linux 6.4.4 with patches for Snapdragon 670, testing version 2

This is a collection of patches that are useful for devices with the
Qualcomm Snapdragon 670, applied on top of Linux 6.4.4.

This release adds support for the earpiece and speaker. The sound card
cannot be upstreamed because it is only known to work on one device.

Unrelated to sound, flashlight support is introduced. It seems to only have one
brightness setting.

A concerning proportion of patches is still staying in this repository.

Modem, USB, I2C, GPU, eMMC, video acceleration, and haptics should work
and be slightly broken like before.

linux-next (2):
 0ae8dc1a1a99 leds: flash: leds-qcom-flash: Add PMI8998 support
 91fe1bda4672 leds: flash: leds-qcom-flash: Disable LED when changing brightness

sdm670-staging (16):
 Not sent yet (16):
  dt-bindings: interconnect: add SDM670 OSM L3 compatible
  arm64: dts: qcom: sdm670: add osm l3
  arm64: dts: qcom: sdm670: add cpu frequency scaling
  arm64: dts: qcom: sdm670: add frequency profile
  drm/msm: mdss: add support for SDM670
  drm/msm/dpu: Add hw revision 4.1 (SDM670)
  arm64: dts: qcom: sdm670: add mdss
  dt-bindings: display: panel-simple-dsi: add s6e3fa7 compatible
  drm/panel: add samsung s6e3fa7 panel driver
  arm64: dts: qcom: sdm670-google-sargo: add panel
  dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
  iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
  drm/msm/adreno: add a615 support
  drm/msm/a6xx: add a615 speed bins
  arm64: dts: qcom: sdm670: add gpu
  arm64: dts: qcom: sdm670-google-sargo: enable gpu

sdm845-mainline (8):
 4a0847168958 dt-bindings: power: supply: qcom,pmi8998-charger: add bindings for smb2 driver
 62d1d54057f5 power: supply: add Qualcomm PMI8998 SMB2 Charger driver
 ddff586f7be0 arm64: configs: add sdm845 config fragment
 ed3c1d6c1687 dt-bindings: power: supply: Add DT schema for qcom,fg
 87c70e5c6ca5 power: supply: Add driver for Qualcomm PMIC fuel gauge
 121d24458828 sdm845.config: 6.4 additions
 75925df522b3 fixup! sdm845.config: 6.4 additions
 25988d130b5e Add back TEXT_OFFSET in the built image...

sdm670-downstream (37):
 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
 Input: add ti drv2624 haptics driver
 arm64: dts: qcom: sdm670-google-sargo: add haptics node
 arm64: dts: qcom: sdm670: add video codec
 arm64: dts: qcom: sdm670-google-sargo: enable venus video codec
 arm64: dts: qcom: drop-in bluetooth support
 arm64: dts: qcom: sdm670: add nfc support
 dt-bindings: soc: qcom: add modemsmem
 soc: qcom: smem: expose socinfo platform device
 soc: qcom: socinfo: expose detailed platform info
 soc: qcom: add modemsmem
 arm64: dts: qcom: sdm670-google-sargo: add modemsmem
 dt-bindings: mailbox: qcom: Add SDM670 APCS compatible
 mailbox: qcom-apcs-ipc: Add SDM670 APCS IPC support
 dt-bindings: soc: qcom: aoss: Add compatible for SDM670
 remoteproc: qcom_q6v5_mss: Add modem support for SDM670
 arm64: dts: qcom: sdm670: add modem
 dt-bindings: net: qcom,ipa: Add SDM670 compatible
 net: ipa: add sdm670 compatible
 arm64: dts: qcom: sdm670: add ipa
 arm64: dts: qcom: sdm670: add wifi
 dt-bindings: soc: qcom,smp2p: add sleepstate support
 arm64: dts: qcom: sdm670: add and enable adsp
 remoteproc: qcom: pas: Add SDM670 ADSP support
 wifi: ath10k: make in-order rx amsdu buffers persistent
 pinctrl: qcom: lpass-lpi: make slew base optional
 pinctrl: qcom: lpass-lpi: increase maximum gpio count to 32
 pinctrl: qcom: add sdm670 lpi tlmm
 ASoC: qcom: add sdm660 internal sound card support
 arm64: dts: qcom: sdm670: add lpi pinctrl
 arm64: dts: qcom: sdm670-google-sargo: add sound card
 arm64: dts: qcom: sdm670-google-sargo: add cs35l36 codecs
 arm64: dts: qcom: pm660l: add flash leds
 arm64: dts: qcom: sdm670-google-sargo: add flash leds

 .../bindings/display/panel/panel-simple-dsi.yaml   |    2 +
 .../bindings/interconnect/qcom,osm-l3.yaml         |    1 +
 .../devicetree/bindings/iommu/arm,smmu.yaml        |    1 +
 .../bindings/mailbox/qcom,apcs-kpss-global.yaml    |    1 +
 .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml    |    1 +
 .../devicetree/bindings/net/qcom,ipa.yaml          |    1 +
 .../devicetree/bindings/power/supply/qcom,fg.yaml  |  102 ++
 .../power/supply/qcom,pmi8998-charger.yaml         |   82 ++
 .../bindings/soc/qcom/google,modemsmem.yaml        |   40 +
 .../bindings/soc/qcom/qcom,aoss-qmp.yaml           |    1 +
 .../devicetree/bindings/soc/qcom/qcom,smp2p.yaml   |    2 +-
 arch/arm64/boot/dts/qcom/pm660.dtsi                |   32 +
 arch/arm64/boot/dts/qcom/pm660l.dtsi               |    6 +
 .../dts/qcom/sdm670-google-sargo-dtbo-mask.dtsi    |  483 +++++++
 arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts   |  453 ++++++-
 arch/arm64/boot/dts/qcom/sdm670.dtsi               | 1259 +++++++++++++++++++
 arch/arm64/configs/sdm670.config                   |   32 +
 arch/arm64/configs/sdm845.config                   |  973 +++++++++++++++
 arch/arm64/kernel/head.S                           |    2 +-
 arch/arm64/kernel/image.h                          |    1 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c              |   19 +
 drivers/gpu/drm/msm/adreno/adreno_device.c         |   13 +
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_1_sdm670.h |   78 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     |    6 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h     |    1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            |    1 +
 drivers/gpu/drm/msm/msm_mdss.c                     |    7 +
 drivers/gpu/drm/panel/Kconfig                      |    9 +
 drivers/gpu/drm/panel/Makefile                     |    1 +
 drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c      |  293 +++++
 drivers/input/misc/Kconfig                         |   12 +
 drivers/input/misc/Makefile                        |    1 +
 drivers/input/misc/drv2624.c                       |  950 ++++++++++++++
 drivers/input/misc/drv2624.h                       |  290 +++++
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |    1 +
 drivers/leds/flash/leds-qcom-flash.c               |   13 +-
 drivers/mailbox/qcom-apcs-ipc-mailbox.c            |    1 +
 drivers/net/ipa/ipa_main.c                         |    4 +
 drivers/net/wireless/ath/ath10k/htt.h              |    4 +
 drivers/net/wireless/ath/ath10k/htt_rx.c           |   45 +-
 drivers/pinctrl/qcom/Kconfig                       |   10 +
 drivers/pinctrl/qcom/Makefile                      |    1 +
 drivers/pinctrl/qcom/pinctrl-lpass-lpi.c           |   13 +-
 drivers/pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c    |  204 +++
 drivers/power/supply/Kconfig                       |   17 +
 drivers/power/supply/Makefile                      |    2 +
 drivers/power/supply/qcom_fg.c                     | 1320 ++++++++++++++++++++
 drivers/power/supply/qcom_pmi8998_charger.c        | 1059 ++++++++++++++++
 drivers/remoteproc/qcom_q6v5_mss.c                 |    1 +
 drivers/remoteproc/qcom_q6v5_pas.c                 |    1 +
 drivers/soc/qcom/Kconfig                           |   11 +
 drivers/soc/qcom/Makefile                          |    1 +
 drivers/soc/qcom/modemsmem.c                       |   97 ++
 drivers/soc/qcom/smem.c                            |    7 +
 drivers/soc/qcom/socinfo.c                         |   39 +
 include/linux/soc/qcom/smem.h                      |   14 +
 include/linux/soc/qcom/socinfo.h                   |   11 +
 sound/soc/qcom/Kconfig                             |    8 +
 sound/soc/qcom/Makefile                            |    2 +
 sound/soc/qcom/sdm660-internal.c                   |  212 ++++
 60 files changed, 8236 insertions(+), 18 deletions(-)