Linux 6.14.5 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.14.5. Support for the Compute DSP was added. This DSP is capable of running more FastRPC interfaces, including hexagon_nn for AI acceleration. The Pixel 3a's front camera sensor got fixes to the devicetree bindings and Robert's patch for orientation data was staged for submission in the near future. Patches from the SDM845 community were cherry-picked again from the latest version. The order of patches was rearranged to group them by feature enabled. This is just for organization and should make it easier to understand the patches. Bluetooth, call audio, display, USB, I2C, eMMC, modem, video acceleration, WiFi, haptics, NFC, sensors, touchscreen, and thermals should work and be slightly broken like before. linux-patches.git commits since previous release (26): c4c0413 thermal: qcom-spmi-adc-tm5: Correct the voltage-code scaling for HC cad9892 patches: add Gitlab CI scripts 7632359 patches: fix CI script workflow rule 0f5dca6 patches: fix CI branch rule again db1199d patches: remove Gitlab CI ddde281 Revert "pmdomain: core: Defer probe again when power domain is not found" 6a203ff patches: move wifi workaround patch before adsp patches 3e59f37 patches: move rt5514 patches immediately after initial sound patches a7abcb9 patches: move call audio patches with audio patches 28c913d patches: move bonito patches together 7bdcbe9 patches: move adsp driver patch between dt-bindings and dts patches 051c42a patches: stage camera rotation info patch 40ba9e5 dt-bindings: media: i2c: imx355: Fix compilation using includes c32ea9d arm64: dts: qcom: sdm670: add cdsp fab1b6f arm64: dts: qcom: sdm670-google: enable cdsp 07aa26c dt-bindings: media: i2c: imx355: Put example camera in i2c 36bf465 dt-bindings: media: i2c: imx355: Remove phandle constraint for regulators 13423a8 dt-bindings: media: i2c: imx355: Fix digital power supply description 8cb824d arm64: configs: add sdm845 config fragment (sdm845-6.15-rc5-r1) 7e0142b arm64: configs: sdm670.config: remove configs repating sdm845 (6.15-rc5) a024719 patches: re-pick patches from sdm845-mainline 69ca6a5 arm64: dts: qcom: sdm670: move board clocks to sdm670.dtsi file e9f0940 patches: rebase onto v6.14.3 d08a4f0 patches: rebase onto v6.14.4 a9e2d98 arm64: dts: qcom: sdm670-google: switch polarity for rear camera reset ae1263d patches: rebase onto v6.14.5 linux-next (2): 0274ea59f83e dt-bindings: media: camss: Add qcom,sdm670-camss c52643b24152 media: qcom: camss: add support for SDM670 camss sdm670-staging (8): [PATCH v2 1/4] dt-bindings: display/msm/gmu: Add SDM670 compatible [PATCH v10 3/3] arm64: dts: qcom: sdm670: add camss and cci Not sent yet (6): arm64: dts: qcom: sdm670-google-sargo: enable charger dt-bindings: media: i2c: Add Sony IMX355 media: i2c: imx355: Support device tree probing and resource management media: i2c: imx355: Add power management for managed resources arm64: dts: qcom: sdm670-google-sargo: add imx355 front camera arm64: dts: qcom: sdm670-google-sargo: Add front camera rotation/orientation msm8916-mainline (8): a7f55b13fcdd ASoC: qdsp6: Add shared session management for q6voice services eb82ba2c4229 ASoC: qdsp6: Add driver for Q6 Multimode Voice Manager (q6mvm) d04fd7b3a873 ASoC: qdsp6: Add driver for Q6 Core Voice Processor (q6cvp) ba9cd1dac6c7 ASoC: qdsp6: Add driver for Q6 Core Voice Stream (q6cvs) e49b67185e83 ASoC: qdsp6: Add voice call functionality in Q6 Voice driver fe7841409608 ASoC: qdsp6: Add Q6 Voice DAI driver (v2.1) 6599fc6fa4ac ASoC: qdsp6: q6voice: Add getter/setter for rx and tx ports 0f3005393555 ASoC: qdsp6: q6voice-dai: Add controls for voice rx and tx ports msm8953-mainline (1): e191c0d08488 ASoC: qdsp6: q6voice-dai: Add VoiceMMode1 DAI msm8996-mainline (1): c444d999d4e7 dt-bindings: power: supply: Add DT schema for qcom,fg sdm845-mainline (4): c0aac8c8ed83 arm64: configs: add sdm845 config fragment 53817ebb9dac power: supply: Add driver for Qualcomm PMIC fuel gauge b0ab1c774804 Add back TEXT_OFFSET in the built image... fad38a026530 media: i2c: Add imx363 image sensor driver sdm670-downstream (90): arm64: configs: add sdm670 config fragment arm64: dts: qcom: sdm670-google-sargo: mask the dtbo arm64: dts: qcom: sdm670-google-sargo: add touchscreen and display labels arm64: dts: qcom: sdm670-google: add common device tree include arm64: dts: qcom: pm660: add fuel gauge arm64: dts: qcom: sdm670-google: enable fuel gauge 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-google: 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 wifi: ath10k: make in-order rx amsdu buffers persistent arm64: dts: qcom: sdm670: add wifi dt-bindings: soc: qcom,smp2p: add sleepstate support remoteproc: qcom: pas: Add SDM670 ADSP support arm64: dts: qcom: sdm670: add and enable adsp 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 ASoC: qdsp6: q6afe: pass tdm ctrl_sync_data_delay from config ASoC: qdsp6: q6afe-dai: configure tdm data delay from device tree ASoC: codecs: rt5514: allow codec to be enabled manually arm64: dts: qcom: sdm670: add support for geni spi arm64: dts: qcom: sdm670-google: add rt5514 microphone codec ASoC: qdsp6: q6core: add support for registering topologies arm64: dts: qcom: sdm670-google: specify acdb path ASoC: qdsp6: q6cvp: add commands in cvd 2.3 ASoC: qdsp6: q6voice: add cvd 2.3 initialization sequence ASoC: qdsp6: q6cvp: add topology ID parameters to session functions ASoC: qdsp6: q6voice: pass new topology property to q6cvp ASoC: qdsp6: q6voice-dai: add ALSA controls for the topology ID ASoC: qdsp6: q6voice-dai: add internal mi2s ASoC: qdsp6: q6voice-dai: add tdm arm64: dts: qcom: sdm670: add q6voice apr services arm64: dts: qcom: sdm670-google: add voicemmode1 dai 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 drm/panel: Add Novatek/Tianma NT37700F panel arm64: dts: qcom: add support for pixel 3a xl with the tianma panel 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 dt-bindings: thermal: tsens: add SDM670 compatible dt-bindings: mfd: qcom,spmi-pmic: Allow PMIC4 thermal monitor on pm660 thermal: qcom-spmi-adc-tm5: Correct the voltage-code scaling for HC arm64: dts: qcom: sdm670: add thermal zones arm64: dts: qcom: pm660: add thermal monitor arm64: dts: qcom: sdm670-google: add thermal zones dt-bindings: cache: qcom,llcc: Add SDM670 compatible soc: qcom: llcc: Add configuration data for SDM670 arm64: dts: qcom: sdm670: add llcc arm64: dts: sdm670-google-common: add IMX363 rear camera arm64: dts: qcom: sdm670-google: model imx363 analog pin as regulator media: i2c: imx355: Port imx258/imx363 stream startup fixes media: i2c: imx363: Remove 1920_1080 mode arm64: dts: sdm670-google-common: set chassis-type property arm64: dts: qcom: sdm670-google: use labelled endpoint node for rear cam power: supply: qcom_pmi8998_charger: add charger enable and disable power: supply: qcom_pmi8998_charger: add passive cooling support arm64: dts: qcom: pm660: add cooling for charger arm64: dts: qcom: sdm670-google: add battery thermal zones power: supply: qcom_pmi8998_charger: increase default current to 3 Amps media: qcom: camss: Power pipeline only when streaming arm64: dts: qcom: sdm670: add cdsp arm64: dts: qcom: sdm670-google: enable cdsp sdm670-fixup (3): Merge remote-tracking branch 'stable/linux-rolling-stable' into on-stable arm64: dts: qcom: sdm670-google: switch polarity for rear camera reset Merge remote-tracking branch 'stable/linux-rolling-stable' into on-stable Documentation/devicetree/bindings/arm/qcom.yaml | 1 + .../devicetree/bindings/cache/qcom,llcc.yaml | 2 + .../devicetree/bindings/display/msm/gmu.yaml | 1 + .../bindings/mailbox/qcom,apcs-kpss-global.yaml | 1 + .../devicetree/bindings/media/i2c/sony,imx355.yaml | 122 ++ .../bindings/media/qcom,sdm670-camss.yaml | 318 ++++ .../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 | 2 + arch/arm64/boot/dts/qcom/pm660.dtsi | 20 + arch/arm64/boot/dts/qcom/pm660l.dtsi | 42 + .../boot/dts/qcom/sdm670-google-bonito-sdc.dts | 42 + .../boot/dts/qcom/sdm670-google-bonito-tianma.dts | 42 + .../dts/qcom/sdm670-google-common-dtbo-mask.dtsi | 483 +++++ arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 1556 ++++++++++++++++ arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts | 599 +------ arch/arm64/boot/dts/qcom/sdm670.dtsi | 1881 +++++++++++++++++++- arch/arm64/configs/sdm670.config | 329 ++++ arch/arm64/configs/sdm845.config | 1160 ++++++++++++ arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/image.h | 1 + drivers/gpu/drm/panel/Kconfig | 18 + drivers/gpu/drm/panel/Makefile | 2 + drivers/gpu/drm/panel/panel-novatek-nt37700f.c | 319 ++++ .../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/media/i2c/Kconfig | 10 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/imx355.c | 120 ++ drivers/media/i2c/imx363.c | 1474 +++++++++++++++ drivers/media/platform/qcom/camss/camss-video.c | 39 +- drivers/media/platform/qcom/camss/camss.c | 191 ++ 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-sdm670-lpass-lpi.c | 172 ++ drivers/power/supply/Kconfig | 8 + drivers/power/supply/Makefile | 1 + drivers/power/supply/qcom_fg.c | 1318 ++++++++++++++ drivers/power/supply/qcom_pmi8998_charger.c | 121 +- 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/llcc-qcom.c | 105 ++ drivers/soc/qcom/modemsmem.c | 107 ++ drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 2 +- include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 14 + include/dt-bindings/sound/qcom,q6voice.h | 8 + sound/soc/codecs/Kconfig | 9 +- sound/soc/codecs/msm8916-wcd-analog.c | 63 +- sound/soc/qcom/Kconfig | 20 + sound/soc/qcom/Makefile | 2 + sound/soc/qcom/qdsp6/Makefile | 3 + sound/soc/qcom/qdsp6/q6afe-dai.c | 46 + sound/soc/qcom/qdsp6/q6afe.c | 57 + sound/soc/qcom/qdsp6/q6afe.h | 3 +- sound/soc/qcom/qdsp6/q6core.c | 148 +- sound/soc/qcom/qdsp6/q6cvp.c | 350 ++++ sound/soc/qcom/qdsp6/q6cvp.h | 20 + 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 | 174 ++ 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 | 1320 ++++++++++++++ sound/soc/qcom/qdsp6/q6voice.c | 333 ++++ sound/soc/qcom/qdsp6/q6voice.h | 33 + sound/soc/qcom/sdm660-internal.c | 399 +++++ 83 files changed, 15443 insertions(+), 619 deletions(-)