Skip to content
Linux 6.8.2 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 6.8.2.

For the LPI TLMM (pin controller for audio), a missing slew memory region was
ignored. This behavior is superseded by using a flag to avoid searching for the
memory region.

Some patches were applied to linux-next and picked from there.

Audio, bluetooth, camera, display, GPU, USB, I2C, eMMC, modem, video
acceleration, and haptics should work and be slightly broken like before.

linux-next (3):
 2689b33b8864 dt-bindings: display: panel-simple-dsi: add s6e3fa7 ams559nk06 compat
 bf0390e2c95b drm/panel: add samsung s6e3fa7 panel driver
 232490b92527 arm64: dts: qcom: sdm670-google-sargo: add panel

sdm670-staging (7):
 Not sent yet (7):
  arm64: dts: qcom: sdm670-google-sargo: add touchscreen and display labels
  arm64: dts: qcom: sdm670-google: add common device tree include
  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
  arm64: dts: qcom: sdm670: add gpu
  arm64: dts: qcom: sdm670-google: enable gpu

msm8916-mainline (8):
 0657b041b01d ASoC: qdsp6: Add shared session management for q6voice services
 ce271548066b ASoC: qdsp6: Add driver for Q6 Multimode Voice Manager (q6mvm)
 54cd4da67fda ASoC: qdsp6: Add driver for Q6 Core Voice Processor (q6cvp)
 a48b89fc4700 ASoC: qdsp6: Add driver for Q6 Core Voice Stream (q6cvs)
 cf125cf6d114 ASoC: qdsp6: Add voice call functionality in Q6 Voice driver
 6e92cab0d653 ASoC: qdsp6: Add Q6 Voice DAI driver (v2.1)
 fcccc6de448f ASoC: qdsp6: q6voice: Add getter/setter for rx and tx ports
 b14a3a0a40de ASoC: qdsp6: q6voice-dai: Add controls for voice rx and tx ports

sdm670-msm8916-sdm845-fixup (1):
 ASoC: qdsp6: q6voice-dai: reserve bit in shift attribute for rx/tx

msm8996-mainline (1):
 c444d999d4e7 dt-bindings: power: supply: Add DT schema for qcom,fg

sdm845-mainline (5):
 0b62f5595bad arm64: configs: add sdm845 config fragment
 2e0c57c32195 power: supply: Add driver for Qualcomm PMIC fuel gauge
 59805fc8b406 ASoC: qdsp6: q6voice-dai: Introduce VoiceMMode1 dai
 1ee9bd31c1d6 sdm845.config: enable L3 interconnect
 25988d130b5e Add back TEXT_OFFSET in the built image...

sdm670-downstream (68):
 arm64: configs: add sdm670 config fragment
 arm64: dts: qcom: sdm670-google: mask the dtbo
 arm64: dts: qcom: pm660: add charging support
 arm64: dts: qcom: sdm670-google: enable charging support
 Input: add ti drv2624 haptics driver
 arm64: dts: qcom: sdm670-google: add haptics node
 arm64: dts: qcom: sdm670: add video codec
 arm64: dts: qcom: sdm670-google: 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: add modemsmem
 arm64: dts: qcom: sdm670-google: add modemsmem
 dt-bindings: mailbox: qcom: Add SDM670 APCS compatible
 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: increase maximum gpio count to 32
 pinctrl: qcom: add sdm670 lpi tlmm
 ASoC: dt-bindings: qcom: q6dsp: add internal mi2s support
 ASoC: qdsp6: q6dsp-lpass-ports: add internal mi2s support
 ASoC: qdsp6: q6afe: add internal mi2s support
 ASoC: qdsp6: q6afe-dai: add internal mi2s support
 ASoC: qdsp6: q6routing: add internal mi2s support
 ASoC: qcom: add sdm660 internal sound card support
 ASoC: msm8916-wcd-analog: add quirk for cajon 2.0
 arm64: dts: qcom: sdm670: add lpi pinctrl
 arm64: dts: qcom: sdm670-google: add sound card
 arm64: dts: qcom: sdm670-google: add cs35l36 codecs
 arm64: dts: qcom: pm660l: add analog audio codec
 arm64: dts: qcom: sdm670: add digital audio codec
 arm64: dts: qcom: sdm670-google: configure analog and digital codecs
 dt-bindings: leds: qcom,spmi-flash-led: add pm660l compatible
 arm64: dts: qcom: pm660l: add flash leds
 arm64: dts: qcom: sdm670-google: add flash leds
 drm/panel: add sofef00 panel for bonito
 drm/panel: samsung-sofef00-bonito: move dsi commands to disable function
 drm/panel: samsung-sofef00-bonito: move dsi commands to enable function
 dt-bindings: arm: qcom: document google,bonito-sdc board
 arm64: dts: qcom: sdm670-google: add bonito sdc
 dt-bindings: power: supply: qcom,fg: correct compatibles in allOf
 dt-bindings: power: supply: qcom,fg: allow interrupt properties
 dt-bindings: power: supply: qcom,fg: Document power-supplies property
 ASoC: qdsp6: q6voice-dai: get path type from shift param
 ASoC: qdsp6: q6voice-dai: add internal mi2s
 ASoC: qdsp6: q6cvp: add commands in cvd 2.3
 ASoC: qdsp6: q6voice: change initialization sequence to cvd 2.3
 arm64: dts: qcom: sdm670: add q6voice apr services
 arm64: dts: qcom: sdm670-google: add voicemmode1 dai
 cpufreq: dt-platdev: block SDM670 in cpufreq-dt-platdev
 dt-bindings: thermal: tsens: add SDM670 compatible
 dt-bindings: mfd: qcom,spmi-pmic: Allow PMIC4 thermal monitor on pm660
 arm64: dts: qcom: sdm670: add thermal zones
 arm64: dts: qcom: pm660: add thermal monitor
 arm64: dts: qcom: sdm670-google: add thermal zones
 dt-bindings: i2c: qcom-cci: Document SDM670 compatible
 media: camss: add support for SDM670 camss
 media: i2c: imx355: Support device tree probing and resource management
 arm64: dts: qcom: sdm670: add camss and cci
 arm64: dts: qcom: sdm670-google: add imx355 front camera

sdm670-fixup (3):
 pinctrl: qcom: sdm670-lpass-lpi: remove gpio*_pins
 media: qcom: camss: count all SDM670 VFE in vfe_num
 q6voice: use strscpy()

 Documentation/devicetree/bindings/arm/qcom.yaml    |    1 +
 .../bindings/display/panel/panel-simple-dsi.yaml   |    2 +
 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml      |    1 +
 .../devicetree/bindings/iommu/arm,smmu.yaml        |    1 +
 .../bindings/leds/qcom,spmi-flash-led.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  |  115 ++
 .../bindings/soc/qcom/google,modemsmem.yaml        |   40 +
 .../bindings/soc/qcom/qcom,aoss-qmp.yaml           |    1 +
 .../devicetree/bindings/soc/qcom/qcom,smp2p.yaml   |    2 +-
 .../bindings/sound/qcom,q6dsp-lpass-ports.yaml     |    5 +-
 .../devicetree/bindings/thermal/qcom-tsens.yaml    |    1 +
 arch/arm64/boot/dts/qcom/Makefile                  |    1 +
 arch/arm64/boot/dts/qcom/pm660.dtsi                |   42 +
 arch/arm64/boot/dts/qcom/pm660l.dtsi               |   48 +
 .../boot/dts/qcom/sdm670-google-bonito-sdc.dts     |   42 +
 .../dts/qcom/sdm670-google-common-dtbo-mask.dtsi   |  483 ++++++
 arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 1268 ++++++++++++++++
 arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts   |  526 +------
 arch/arm64/boot/dts/qcom/sdm670.dtsi               | 1583 ++++++++++++++++++++
 arch/arm64/configs/sdm670.config                   |  222 +++
 arch/arm64/configs/sdm845.config                   | 1005 +++++++++++++
 arch/arm64/kernel/head.S                           |    2 +-
 arch/arm64/kernel/image.h                          |    1 +
 drivers/cpufreq/cpufreq-dt-platdev.c               |    1 +
 drivers/gpu/drm/msm/adreno/adreno_device.c         |   24 +
 drivers/gpu/drm/panel/Kconfig                      |   18 +
 drivers/gpu/drm/panel/Makefile                     |    2 +
 drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c      |  285 ++++
 .../gpu/drm/panel/panel-samsung-sofef00-bonito.c   |  297 ++++
 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/media/i2c/imx355.c                         |   62 +
 drivers/media/platform/qcom/camss/camss.c          |   12 +
 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           |    2 +-
 drivers/pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c    |  172 +++
 drivers/power/supply/Kconfig                       |    8 +
 drivers/power/supply/Makefile                      |    1 +
 drivers/power/supply/qcom_fg.c                     | 1320 ++++++++++++++++
 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                       |  107 ++
 include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h |   14 +
 include/dt-bindings/sound/qcom,q6voice.h           |    8 +
 sound/soc/codecs/msm8916-wcd-analog.c              |   63 +-
 sound/soc/qcom/Kconfig                             |   20 +
 sound/soc/qcom/Makefile                            |    2 +
 sound/soc/qcom/qdsp6/Makefile                      |    6 +
 sound/soc/qcom/qdsp6/q6afe-dai.c                   |   45 +
 sound/soc/qcom/qdsp6/q6afe.c                       |   56 +
 sound/soc/qcom/qdsp6/q6afe.h                       |    2 +-
 sound/soc/qcom/qdsp6/q6cvp.c                       |  350 +++++
 sound/soc/qcom/qdsp6/q6cvp.h                       |   18 +
 sound/soc/qcom/qdsp6/q6cvs.c                       |   36 +
 sound/soc/qcom/qdsp6/q6cvs.h                       |    9 +
 sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c           |  200 +++
 sound/soc/qcom/qdsp6/q6mvm.c                       |  162 ++
 sound/soc/qcom/qdsp6/q6mvm.h                       |   15 +
 sound/soc/qcom/qdsp6/q6routing.c                   |   78 +-
 sound/soc/qcom/qdsp6/q6voice-common.c              |  272 ++++
 sound/soc/qcom/qdsp6/q6voice-common.h              |   44 +
 sound/soc/qcom/qdsp6/q6voice-dai.c                 |  481 ++++++
 sound/soc/qcom/qdsp6/q6voice.c                     |  290 ++++
 sound/soc/qcom/qdsp6/q6voice.h                     |   34 +
 sound/soc/qcom/sdm660-internal.c                   |  340 +++++
 77 files changed, 11059 insertions(+), 525 deletions(-)