Linux 6.1.14 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.1.14. Unlike most previous releases, there are no major new features in this release (unless you count DSP bringup). There have been some non-functional changes that upstream expects. A compatible string was added to the documentation. The panel's power supply, the interconnect macros, and the MDSS node were renamed. Device tree nodes have been sorted. Some reg properties in the relevant device trees were padded. The OPP table for DSI was moved. The S6E3FA7 was modified to use the new big endian 16-bit brightness functions instead of performing a byte swap. Some patches have been applied upstream and their final versions were picked. CPU frequency scaling should have improved a little, now with correct memory bandwidths (which was backported to 6.0.11 in postmarketOS), a device tree node for the OSM L3 cache controller, and some numbers from a benchmark. There was also an CPU frequency driver that has been disabled in this release to make dmesg cleaner. Changes to the SDM845 display and GPU clock controllers were reverted because the differences between SDM845 and SDM670 are too small to justify submitting these changes. This should not affect stability because the GMU shouldn't try to scale to a frequency outside of its OPP table and MDP shouldn't require the specific 286.7 MHz frequency. This might not be included in the final release but support for the ADSP was added. This does not add any audio (a sound card driver, LPI pinctrl driver, and UCM configuration file are still needed for that) or sensors (an interface that can be provided by userspace is needed for that), but it can still be brought up for experimentation. There are also some patches to the newly used FastRPC driver. There's still some indecisiveness surrounding the haptics driver. It could either treat the device as memless and be in RTP mode so there are no hardware-imposed limits to how long effects can be, or upload effects to potentially reduce I2C bandwidth usage. Modem, USB, NFC, GPU, eMMC, video acceleration, and panel should work like before. linux-next (37): 5887bc1ced74 dt-bindings: pinctrl: qcom: add sdm670 pinctrl f764b84848e8 pinctrl: qcom: do not reinitialize gpio valid mask 61164d220f52 pinctrl: qcom: add sdm670 pinctrl e7e24786cf90 arm64: dts: qcom: add gpi-dma fallback compatible 9ba5080e688d dt-bindings: power: rpmpd: add sdm670 power domains 5faeae4eac74 soc: qcom: rpmhpd: add sdm670 power domains 3c6bd6fa83bb dt-bindings: dma: qcom: gpi: add fallback compatible 67fd570d734d dt-bindings: dma: qcom: gpi: add compatible for sdm670 b4dba2bd3452 dt-bindings: arm: cpus: add qcom kryo 360 compatible 6c49e41c46a4 dt-bindings: arm: qcom: add sdm670 and pixel 3a compatible aa9f474014b1 dt-bindings: firmware: scm: add sdm670 compatible 07c8ded6e373 arm64: dts: qcom: add sdm670 and pixel 3a device trees 4529992c9474 interconnect: qcom: osm-l3: Use platform-independent node ids d623264f62d4 interconnect: qcom: osm-l3: Squash common descriptors 9235253ec73d interconnect: qcom: osm-l3: Add per-core EPSS L3 support c70edc067739 dt-bindings: interconnect: Add sm8350, sc8280xp and generic OSM L3 compatibles 8d3a9ec6ae28 dt-bindings: iommu: arm-smmu: add sdm670 compatible d6e636787d46 arm64: dts: qcom: msm8996: change order of SMMU clocks on this platform dbf88f743583 dt-bindings: arm-smmu: Add missing Qualcomm SMMU compatibles 982295bfe369 dt-bindings: arm-smmu: fix clocks/clock-names schema 3a12e8c06536 dt-bindings: arm-smmu: add special case for Google Cheza platform 6c84bbd103d8 dt-bindings: arm-smmu: Add generic qcom,smmu-500 bindings 4c1d0ad153f8 iommu/arm-smmu-qcom: Move implementation data into match data 30b912a03d91 iommu/arm-smmu-qcom: Move the qcom,adreno-smmu check into qcom_smmu_create 417b76adcf1d iommu/arm-smmu-qcom: provide separate implementation for SDM845-smmu-500 4172dda2b30a iommu/arm-smmu-qcom: Merge table from arm-smmu-qcom-debug into match data b4c6ee515c42 iommu/arm-smmu-qcom: Stop using mmu500 reset for v2 MMUs 80b71080720e iommu/arm-smmu-qcom: Add generic qcom,smmu-500 match entry 861b67fbdccd arm64: dts: qcom: sdm670-google-sargo: keep pm660 ldo8 on 7bff6f4351bf arm64: dts: qcom: sdm670: add qfprom node cb98187a6883 arm64: dts: qcom: sdm670: add missing usb hstx nvmem cell c9d27c6be518 drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness 81ccf4557105 dt-bindings: interconnect: add sdm670 interconnects 7e438e18874e interconnect: qcom: add sdm670 interconnects c85c191694cb power: supply: remove faulty cooling logic a1e63b63763d dt-bindings: nvmem: qfprom: add sdm670 compatible 0daef104e4b1 arm64: dts: qcom: sdm670: add interconnects sdm670-staging (17): [PATCH v4 2/2] SDM670 Interconnects (now with dts patches only) arm64: dts: qcom: sdm670: add icc paths and opps for peripherals Not sent yet (14): dt-bindings: interconnect: add SDM670 OSM L3 compatible arm64: dts: qcom: sdm670: add osm l3 arm64: dts: qcom: sdm670: add cpu frequency scaling arm64: dts: qcom: sdm670: add frequency profile drm/msm/dpu: add hw revision 410 arm64: dts: qcom: sdm670: add mdss dt-bindings: display: panel-simple-dsi: add s6e3fa7 compatible drm/panel: add samsung s6e3fa7 panel driver arm64: dts: qcom: sdm670-google-sargo: add panel dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible drm/msm/adreno: add a615 support drm/msm/a6xx: add a615 speed bins arm64: dts: qcom: sdm670: add gpu arm64: dts: qcom: sdm670-google-sargo: enable gpu [PATCH 0/2] misc: fastrpc: Fixes for issues in userspace misc: fastrpc: return -EPIPE to invocations on device removal misc: fastrpc: reject new invocations during device removal sdm845-mainline (7): f0347b911947 arm64: configs: add sdm845 config fragment 752350bd3f7e power: supply: Add driver for Qualcomm PMIC fuel gauge 1c0fa3c8c4e5 dt-bindings: power: supply: Add DT schema for qcom,fg 876799103cd4 power: supply: add Qualcomm PMI8998 SMB2 Charger driver 94a247bdea6a dt-bindings: power: supply: qcom,pmi8998-charger: add bindings for smb2 driver 6ebe05fc2702 power: supply: qcom: pmi8898-charger: update as per v6 patch 25988d130b5e Add back TEXT_OFFSET in the built image... sdm670-downstream (19): arm64: configs: add sdm670 config fragment arm64: dts: qcom: sdm670-google-sargo: mask the dtbo arm64: dts: qcom: pm660: add charging support arm64: dts: qcom: sdm670-google-sargo: enable charging support Input: add ti drv2624 haptics driver arm64: dts: qcom: sdm670-google-sargo: add haptics node arm64: dts: qcom: sdm670: add video codec arm64: dts: qcom: sdm670-google-sargo: 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: smem: expose socinfo platform device soc: qcom: socinfo: expose detailed platform info soc: qcom: add modemsmem arm64: dts: qcom: sdm670-google-sargo: add modemsmem arm64: dts: qcom: sdm670: add modem arm64: dts: qcom: sdm670: add ipa arm64: dts: qcom: sdm670: add wifi arm64: dts: qcom: sdm670: add and enable adsp Documentation/devicetree/bindings/arm/cpus.yaml | 1 + Documentation/devicetree/bindings/arm/qcom.yaml | 6 + .../bindings/display/panel/panel-simple-dsi.yaml | 2 + .../devicetree/bindings/dma/qcom,gpi.yaml | 15 + .../devicetree/bindings/firmware/qcom,scm.yaml | 1 + .../bindings/interconnect/qcom,osm-l3.yaml | 25 +- .../bindings/interconnect/qcom,rpmh.yaml | 8 + .../devicetree/bindings/iommu/arm,smmu.yaml | 174 +- .../devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + .../bindings/pinctrl/qcom,sdm670-tlmm.yaml | 127 + .../devicetree/bindings/power/qcom,rpmpd.yaml | 1 + .../devicetree/bindings/power/supply/qcom,fg.yaml | 102 + .../power/supply/qcom,pmi8998-charger.yaml | 82 + .../bindings/soc/qcom/google,modemsmem.yaml | 33 + arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/msm8996.dtsi | 31 +- arch/arm64/boot/dts/qcom/pm660.dtsi | 35 + .../dts/qcom/sdm670-google-sargo-dtbo-mask.dtsi | 472 ++++ arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts | 814 +++++++ arch/arm64/boot/dts/qcom/sdm670.dtsi | 2496 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/sm8150.dtsi | 6 +- arch/arm64/boot/dts/qcom/sm8250.dtsi | 6 +- arch/arm64/configs/sdm670.config | 27 + arch/arm64/configs/sdm845.config | 921 ++++++++ arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/image.h | 1 + drivers/gpu/drm/drm_mipi_dsi.c | 52 + drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 19 + drivers/gpu/drm/msm/adreno/adreno_device.c | 13 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 67 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c | 297 +++ drivers/input/misc/Kconfig | 12 + drivers/input/misc/Makefile | 1 + drivers/input/misc/drv2624.c | 1221 ++++++++++ drivers/input/misc/drv2624.h | 338 +++ drivers/interconnect/qcom/Kconfig | 9 + drivers/interconnect/qcom/Makefile | 2 + drivers/interconnect/qcom/osm-l3.c | 116 +- drivers/interconnect/qcom/sdm670.c | 440 ++++ drivers/interconnect/qcom/sdm670.h | 128 + drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c | 91 - drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 154 +- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h | 21 +- drivers/misc/fastrpc.c | 7 +- drivers/pinctrl/qcom/Kconfig | 10 + drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-msm.c | 3 +- drivers/pinctrl/qcom/pinctrl-sdm670.c | 1345 +++++++++++ drivers/power/supply/Kconfig | 17 + drivers/power/supply/Makefile | 2 + drivers/power/supply/power_supply_core.c | 93 - drivers/power/supply/qcom_fg.c | 1320 +++++++++++ drivers/power/supply/qcom_pmi8998_charger.c | 1082 +++++++++ drivers/soc/qcom/Kconfig | 10 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/modemsmem.c | 104 + drivers/soc/qcom/rpmhpd.c | 18 + drivers/soc/qcom/smem.c | 7 + drivers/soc/qcom/socinfo.c | 39 + include/drm/drm_mipi_dsi.h | 4 + .../dt-bindings/interconnect/qcom,sdm670-rpmh.h | 136 ++ include/dt-bindings/power/qcom-rpmpd.h | 10 + include/linux/soc/qcom/smem.h | 14 + include/linux/soc/qcom/socinfo.h | 12 + 66 files changed, 12258 insertions(+), 358 deletions(-)