Linux 6.12.3 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.12.3. This release cycle was very quiet with small fixes. The ttynull driver was enabled in the configuration to fix a bug where userspace would start with no stdio open. A patch that made the fuel gauge driver compatible with v6.10 was dropped. Patches from MSM8916 and MSM8953 were re-picked, to include the change from strlcpy to strscpy and to remove duplicate q6voice entries in a Makefile. Some flashlight and charging patches were staged. The thermal nodes were sorted by the thermal sensor to match other platforms. Bluetooth, camera, call audio, display, USB, I2C, eMMC, modem, video acceleration, WiFi, haptics, NFC, sensors, and touchscreen should work and be slightly broken like before. linux-patches.git commits since previous release (23): a5356a1 patches: stage flash led patches 0085b1c arm64: dts: qcom: sdm670: sort thermal nodes by thermal sensor 991d37a Revert "power: supply: qcom-fg: use remove_new callback" c475338 sdm845.config: enable CS35L36 speaker amp codec 86a75a6 patches: re-pick patches from sdm845-6.11 7a19824 patches: stage charging support patch a10328c patches: explain need for specific compatible in iommu driver patch 827498a patches: move flashlight and charging support closer in queue c63f8d1 patches: add reviewed-by from Rob for the flashlight dt-bindings patch 6a7a7c5 patches: add reviewed-by from Dmitry for smmu v2 driver patch 6284518 patches: add acked-by from Rob for smmu v2 dt-bindings patch 98f0864 arm64: configs: sdm670.config: enable null tty bee3d97 ASoC: qdsp6: Add driver for Q6 Multimode Voice Manager (q6mvm) (v6.12.1-msm8916) 3e5cfd2 ASoC: qdsp6: Add driver for Q6 Core Voice Processor (q6cvp) (v6.12.1-msm8916) 5eb36a4 ASoC: qdsp6: Add driver for Q6 Core Voice Stream (q6cvs) (v6.12.1-msm8916) 5847ed2 patches: re-pick msm8916 patches from v6.12.1-msm8916 b37c144 patches: add reviewed-by from Konrad for flash leds patch in sargo dts df50d2b patches: re-pick voicemmode1 patch from msm8953 v6.12.0-r0 10ae3ef patches: rebase on v6.12.2 66588e0 patches: rebase on v6.12.3 1a7610a media: i2c: imx363: move asm/unaligned.h to linux/unaligned.h cb09087 arm64: configs: sdm670.config: re-enable module compression fed176a arm64: configs: sdm670.config: re-enable zstd for zram linux-next (2): 7f58b336f3e0 dt-bindings: i2c: qcom-cci: Document SDM670 compatible 7271bbc86008 i2c: qcom-cci: Stop complaining about DT set clock rate sdm670-staging (18): [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible [PATCH v2 0/4] drm/msm/adreno: Add A615 GPU for SDM670 and Pixel 3a dt-bindings: display/msm/gmu: Add SDM670 compatible arm64: dts: qcom: sdm670: add gpu arm64: dts: qcom: sdm670-google-sargo: enable gpu [PATCH 0/3] arm64: dts: qcom: Pixel 3a Flash LEDs dt-bindings: leds: qcom,spmi-flash-led: add pm660l compatible arm64: dts: qcom: pm660l: add flash leds arm64: dts: qcom: sdm670-google-sargo: add flash leds [PATCH v6 0/5] Add SDM670 camera subsystem dt-bindings: clock: qcom,sdm845-camcc: add sdm670 compatible dt-bindings: media: camss: Add qcom,sdm670-camss media: qcom: camss: add support for SDM670 camss arm64: dts: qcom: sdm670: add camcc arm64: dts: qcom: sdm670: add camss and cci Not sent yet (5): 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 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): e20f01b4df65 ASoC: qdsp6: q6voice-dai: Add VoiceMMode1 DAI msm8996-mainline (1): c444d999d4e7 dt-bindings: power: supply: Add DT schema for qcom,fg sdm845-mainline (14): 452a442d7ff5 arm64: configs: add sdm845 config fragment fbcc76b92b6d power: supply: Add driver for Qualcomm PMIC fuel gauge 1f3ce62bdb95 sdm845.config: enable some more qcom drivers 0914742a7036 Add back TEXT_OFFSET in the built image... 472a92600f23 sdm845.config: p3 panel 3e87b306feff sdm845.config: add missing ASCII encoding option 389bb187aff2 sdm845.config: enable vbus regulator e9c8d3e5ea3d sdm845.config: enable fw compression + kconfig fix 01e6be168d58 configs: smd845: group libcamera requirements and add missing ones 945f6c39f41f configs: sdm845: BT_BNEP and BT_RFCOMM must be module 8c59c71f057f media: i2c: Add imx363 image sensor driver deb66c5c71a8 sdm845.config: enable imx363 camera driver 0e883317014d sdm845.config: enable pixel downstream touchscreen driver 9bd98192e0a2 sdm845.config: enable CS35L36 speaker amp codec sdm670-downstream (81): 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 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: 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 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: add internal mi2s ASoC: qdsp6: q6voice-dai: add tdm ASoC: qdsp6: q6cvp: add commands in cvd 2.3 ASoC: qdsp6: q6voice: add cvd 2.3 initialization sequence arm64: dts: qcom: sdm670: add q6voice apr services arm64: dts: qcom: sdm670-google: add voicemmode1 dai 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 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 arm64: dts: qcom: sdm670-google: Add front camera rotation/orientation dt-bindings: cache: qcom,llcc: Add SDM670 compatible soc: qcom: llcc: Add configuration data for SDM670 arm64: dts: qcom: sdm670: add llcc drm/panel: Add Novatek/Tianma NT37700F panel arm64: dts: qcom: add support for pixel 3a xl with the tianma panel arm64: dts: sdm670-google-common: add IMX363 rear camera pmdomain: core: Defer probe again when power domain is not found 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 ASoC: qdsp6: q6core: add support for registering topologies arm64: dts: qcom: sdm670-google: specify acdb path 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 sdm670-fixup (4): Merge branch 'linux-rolling-stable' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux into on-stable media: i2c: imx363: move asm/unaligned.h to linux/unaligned.h arm64: configs: sdm670.config: re-enable module compression arm64: configs: sdm670.config: re-enable zstd for zram Documentation/devicetree/bindings/arm/qcom.yaml | 1 + .../devicetree/bindings/cache/qcom,llcc.yaml | 2 + .../bindings/clock/qcom,sdm845-camcc.yaml | 6 +- .../devicetree/bindings/display/msm/gmu.yaml | 1 + .../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 19 + .../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/media/i2c/sony,imx355.yaml | 117 ++ .../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 | 18 + arch/arm64/boot/dts/qcom/pm660l.dtsi | 48 + .../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 | 1489 +++++++++++++++ arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts | 590 +----- arch/arm64/boot/dts/qcom/sdm670.dtsi | 1953 ++++++++++++++++++++ arch/arm64/configs/sdm670.config | 273 +++ arch/arm64/configs/sdm845.config | 1011 ++++++++++ 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/i2c/busses/i2c-qcom-cci.c | 8 - 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/Kconfig | 10 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/imx355.c | 119 ++ drivers/media/i2c/imx363.c | 1475 +++++++++++++++ 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/pmdomain/core.c | 2 +- drivers/power/supply/Kconfig | 8 + drivers/power/supply/Makefile | 1 + drivers/power/supply/qcom_fg.c | 1318 +++++++++++++ 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 | 28 + 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/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 ++++ 87 files changed, 15050 insertions(+), 601 deletions(-)