Linux 5.19.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 5.19.14. This includes patches which will likely be seen as-is in one or two kernel releases (linux-next), patches which are staged for review by the Linux kernel mailing lists (sdm670-staging), patches with varying progress from the Snapdragon 845 mainlining community (sdm845-mainline), and patches which have something preventing them from being sent upstream (sdm670-downstream). Most of the patches from the SDM845 mainlining community add support for charging. The other two make it possible to run the kernel on a Pixel device's Android 10+ firmware and add a configuration. Support for the Google Pixel 3a panel and DPU 4.1.0 are included. The DPU is not staged for submission because it might be causing some issues with the GPU. linux-next (17): 9a2139c2912e spmi: add a helper to look up an SPMI device from a device node e9c11c6e3a0e mfd: qcom-spmi-pmic: expose the PMIC revid information to clients d23c3c085a95 mfd: qcom-spmi-pmic: read fab id on supported PMICs 7ea58c951ab3 dt-bindings: iio: adc: document qcom-spmi-rradc 72c7df8505cb iio: adc: qcom-spmi-rradc: introduce round robin adc 2a5bf05f123f iio: adc: qcom-spmi-rradc: Fix spelling mistake "coherrency" -> "coherency" 657e9326658c dt-bindings: clock: gcc-sdm845: add sdm670 global clocks 8e90216d2db9 clk: qcom: gcc-sdm845: use device tree match data ae66b1fe48e2 clk: qcom: gcc-sdm845: add sdm670 global clock data 23b92adb53a1 dt-bindings: phy: qcom,qusb2: document sdm670 compatible d225ea95e9f9 dt-bindings: usb: dwc3: add sdm670 compatible 911ce7cf72d9 regulator: qcom-rpmh: add pm660 and pm660l pmics 21c93a95553d regulator: qcom,rpmh: add pm660 and pm660l pmics 07c7338f05d2 dt-bindings: mmc: sdhci-msm: add sdm670 compatible 4de95950d970 mmc: sdhci-msm: add compatible string check for sdm670 c6648a402ced dt-bindings: clock: add rpmhcc bindings for sdm670 2ded040cedf8 clk: qcom: rpmhcc: add sdm670 clocks sdm670-staging (20): [PATCH v9 0/3] SDM670 Pin Control Driver dt-bindings: pinctrl: qcom: add sdm670 pinctrl pinctrl: qcom: do not reinitialize gpio valid mask pinctrl: qcom: add sdm670 pinctrl [PATCH v2 0/2] SDM670 Power Domains dt-bindings: power: rpmpd: add sdm670 power domains soc: qcom: rpmhpd: add sdm670 power domains [PATCH v2 0/2] iommu: SMMU for SDM670 dt-bindings: iommu: arm-smmu: add sdm670 compatible iommu: arm-smmu-qcom: add sdm670 compatible [PATCH v5 0/3] SDM670 GPI DMA support dt-bindings: dma: qcom: gpi: add fallback compatible dt-bindings: dma: qcom: gpi: add compatible for sdm670 dmaengine: qcom: deprecate redundant of_device_id entries Not yet sent (9): arm64: dts: qcom: add gpi-dma fallback compatible dt-bindings: arm: cpus: add qcom kryo 360 compatible dt-bindings: arm: qcom: add sdm670 and pixel 3a compatible dt-bindings: firmware: scm: add sdm670 compatible arm64: dts: qcom: add sdm670 and pixel 3a device trees dt-bindings: interconnect: add sdm670 interconnects interconnect: qcom: add sdm670 interconnects arm64: dts: qcom: sdm670: add interconnects arm64: dts: qcom: sdm670: add cpu frequency scaling arm64: dts: qcom: sdm670: add opps for peripherals sdm845-mainline (13): [ANNOTATION] in-tree patches which won't be upstreamed power: supply: Add driver for Qualcomm PMIC fuel gauge qcom_fg: expose PROP_STATUS to fix upower not detecting charging status properly fg: adopt battery info API changes dt-bindings: power: supply: Add DT schema for qcom,fg power: supply: add Qualcomm PMI8998 SMB2 Charger driver dt-bindings: power: supply: qcom,pmi8998-charger: add bindings for smb2 driver Revert "i2c: qcom-geni: Use dev_err_probe() for GPI DMA error" power: supply: pmi8998_charger: actually do call changed in interrupt context power: qcom_fg: silence -EPROBE_DEFER error power/supply: qcom_fg: add present sysfs property power: supply: pmi8998_charger: drop in v5, fix slow charging Add back TEXT_OFFSET in the built image... sdm670-downstream (8): 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 drm/msm/dpu: add hw revision 410 drm/panel: add samsung s6e3fa7 panel driver arm64: dts: qcom: sdm670: add mdss arm64: dts: qcom: sdm670-google-sargo: enable panel Documentation/devicetree/bindings/arm/cpus.yaml | 1 + Documentation/devicetree/bindings/arm/qcom.yaml | 6 + .../devicetree/bindings/clock/qcom,gcc-sdm845.yaml | 62 +- .../devicetree/bindings/clock/qcom,rpmhcc.yaml | 1 + .../devicetree/bindings/dma/qcom,gpi.yaml | 20 +- .../devicetree/bindings/firmware/qcom,scm.txt | 1 + .../bindings/iio/adc/qcom,spmi-rradc.yaml | 51 + .../bindings/interconnect/qcom,rpmh.yaml | 8 + .../devicetree/bindings/iommu/arm,smmu.yaml | 1 + .../devicetree/bindings/mmc/sdhci-msm.yaml | 1 + .../devicetree/bindings/phy/qcom,qusb2-phy.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/regulator/qcom,rpmh-regulator.yaml | 36 + .../devicetree/bindings/usb/qcom,dwc3.yaml | 2 + arch/arm64/boot/dts/qcom/Makefile | 1 + 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 | 597 +++++++ arch/arm64/boot/dts/qcom/sdm670.dtsi | 1699 ++++++++++++++++++++ arch/arm64/boot/dts/qcom/sm8150.dtsi | 6 +- arch/arm64/boot/dts/qcom/sm8250.dtsi | 6 +- arch/arm64/configs/sdm670.config | 9 + arch/arm64/configs/sdm845.config | 863 ++++++++++ arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/image.h | 1 + drivers/clk/qcom/Kconfig | 4 +- drivers/clk/qcom/clk-rpmh.c | 21 + drivers/clk/qcom/gcc-sdm845.c | 400 ++++- drivers/dma/qcom/gpi.c | 4 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 74 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-s6e3fa7-sdc.c | 319 ++++ drivers/i2c/busses/i2c-qcom-geni.c | 6 +- drivers/iio/adc/Kconfig | 12 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/qcom-spmi-rradc.c | 1022 ++++++++++++ drivers/interconnect/qcom/Kconfig | 9 + drivers/interconnect/qcom/Makefile | 2 + drivers/interconnect/qcom/sdm670.c | 463 ++++++ drivers/interconnect/qcom/sdm670.h | 12 + drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 + drivers/mfd/qcom-spmi-pmic.c | 272 ++-- drivers/mmc/host/sdhci-msm.c | 1 + drivers/pinctrl/qcom/Kconfig | 9 + 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/qcom_fg.c | 1320 +++++++++++++++ drivers/power/supply/qcom_pmi8998_charger.c | 1043 ++++++++++++ drivers/regulator/qcom-rpmh-regulator.c | 54 + drivers/soc/qcom/rpmhpd.c | 18 + drivers/spmi/spmi.c | 17 + include/dt-bindings/clock/qcom,gcc-sdm845.h | 1 + include/dt-bindings/interconnect/qcom,sdm670.h | 152 ++ include/dt-bindings/power/qcom-rpmpd.h | 10 + include/linux/spmi.h | 3 + include/soc/qcom/qcom-spmi-pmic.h | 61 + 63 files changed, 10758 insertions(+), 125 deletions(-)