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(-)