Linux 6.11.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.11.2. Thanks to Joel and Pan, support for the Pixel 3a rear camera was added. The IMX363 driver was originally made by Joel for the Pocophone F1 (SDM845) and added by Pan along with the nodes in the device tree. Thanks to Robert Mader, resetting was added to the IMX355 startup sequence. Thanks to Arnaud Ferarris, the chassis type property was added to the Pixel 3a device tree. This makes the information about the form factor available to userspace. Support for q6voice audio calibration was added. This consists of a q6core patch to register topologies from the global ACDB and a q6voice patch to add an ALSA control. The known use case for this is calling newer phones over VoLTE. The VoiceMMode1 support was re-added from msm8953-mainline. The new patch from Affe Null has no merge conflicts with the up-to-date q6voice patches in msm8916-mainline. This resulted in an authorship change. The Tianma panel for the Pixel 3a XL was added along with its corresponding device tree, due to confirmation that this panel is in production devices. The camera subsystem patches were sent upstream and their review comments were applied. The sdm845-mainline patches were re-picked from the new sdm845-6.11_rc2 release. Some GPU patches were re-picked from linux-next because they were applied. Bluetooth, USB, I2C, eMMC, modem, video acceleration, WiFi, haptics, NFC, sensors, touchscreen, and thermals should work and be slightly broken like before. linux-next (4): 25f18cb1b673 media: qcom: camss: Remove use_count guard in stop_streaming c80bbd7fcdb2 drm/msm/adreno: add a615 support 7f58b336f3e0 dt-bindings: i2c: qcom-cci: Document SDM670 compatible 7271bbc86008 i2c: qcom-cci: Stop complaining about DT set clock rate sdm670-staging (14): [PATCH 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 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 (4): 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): 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 msm8953-mainline (1): 489da49dbc92 ASoC: qdsp6: q6voice-dai: Add VoiceMMode1 DAI msm8996-mainline (1): c444d999d4e7 dt-bindings: power: supply: Add DT schema for qcom,fg sdm845-mainline (14): 4dd200ff441b arm64: configs: add sdm845 config fragment 74f705c9798c power: supply: Add driver for Qualcomm PMIC fuel gauge 73ac38f91793 q6voice: use strscpy() 6fef8a13c70d sdm845.config: enable some more qcom drivers eca0f4c53401 Add back TEXT_OFFSET in the built image... a0683761d669 sdm845.config: p3 panel 16df76f34dae sdm845.config: add missing ASCII encoding option e9948567a61f sdm845.config: enable vbus regulator b69db2f58595 sdm845.config: enable fw compression + kconfig fix 3593062acd11 configs: smd845: group libcamera requirements and add missing ones b193c2044526 configs: sdm845: BT_BNEP and BT_RFCOMM must be module d38f36430bd6 media: i2c: Add imx363 image sensor driver 4a3f00c99e4d sdm845.config: enable imx363 camera driver 0b84a696fca8 sdm845.config: enable pixel downstream touchscreen driver sdm670-downstream (86): 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 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-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 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: 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 media: i2c: imx355: Parse and register properties 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 power: supply: qcom-fg: use remove_new callback 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 (3): soc: qcom: modemsmem: convert remove callback to return void ASoC: qcom: sdm660-internal: convert remove callback to return void 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 + .../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 | 264 +++ arch/arm64/configs/sdm845.config | 1010 ++++++++++ arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/image.h | 1 + drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 27 + 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 | 131 +- 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 | 6 + 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 ++++ 88 files changed, 15081 insertions(+), 602 deletions(-)