Unverified Commit e2a3495b authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-drivers-for-5.16-2' of...

Merge tag 'qcom-drivers-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

More Qualcomm driver updates for v5.16

This introduces the Qualcomm "sleep stats" driver, which aids the
efforts of bringing various Qualcomm platforms into low power mode.

The SMP2P driver gains support for negotiating the "SSR" feature, which
is used to better synchronize some corner cases that might appear as the
remoteproc is recovering from a crash.

The socinfo driver learns about a few new PMICs.

SMEM is updated so that it's possible to put the compatible property
directly in the reserved-memory node, to avoid having to have a separate
node just pointing to the memory-region.

Lastly it fixes some bugs in smp2p, apr, rpmhpd drivers, notably
avoiding the issue where powering on a power-domain using rpmhpd while
keeping the performance_state at 0 is a nop

* tag 'qcom-drivers-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  firmware: qcom: scm: Don't break compile test on non-ARM platforms
  soc: qcom: smp2p: Add of_node_put() before goto
  soc: qcom: apr: Add of_node_put() before return
  soc: qcom: qcom_stats: Fix client votes offset
  soc: qcom: rpmhpd: fix sm8350_mxc's peer domain
  dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method
  ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226
  firmware: qcom: scm: Add support for MC boot address API
  soc: qcom: spm: Add 8916 SPM register data
  dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu
  soc: qcom: socinfo: Add PM8150C and SMB2351 models
  firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available()
  soc: qcom: smp2p: add feature negotiation and ssr ack feature support
  soc: qcom: Add Sleep stats driver
  dt-bindings: Introduce QCOM Sleep stats bindings
  soc: qcom: socinfo: add two missing PMIC IDs
  soc: qcom: rpmhpd: Make power_on actually enable the domain
  soc: qcom: smem: Support reserved-memory description
  dt-bindings: soc: smem: Make indirection optional
  dt-bindings: sram: Document qcom,rpm-msg-ram

Link: https://lore.kernel.org/r/20211026140706.1205989-1-bjorn.andersson@linaro.org


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 64954d19 c50031f0
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -210,6 +210,8 @@ properties:
          - qcom,kpss-acc-v1
          - qcom,kpss-acc-v1
          - qcom,kpss-acc-v2
          - qcom,kpss-acc-v2
          - qcom,msm8226-smp
          - qcom,msm8226-smp
          # Only valid on ARM 32-bit, see above for ARM v8 64-bit
          - qcom,msm8916-smp
          - renesas,apmu
          - renesas,apmu
          - renesas,r9a06g032-smp
          - renesas,r9a06g032-smp
          - rockchip,rk3036-smp
          - rockchip,rk3036-smp
@@ -294,7 +296,8 @@ properties:
      Specifies the ACC* node associated with this CPU.
      Specifies the ACC* node associated with this CPU.


      Required for systems that have an "enable-method" property
      Required for systems that have an "enable-method" property
      value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2" or "qcom,msm8226-smp"
      value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2", "qcom,msm8226-smp" or
      "qcom,msm8916-smp".


      * arm/msm/qcom,kpss-acc.txt
      * arm/msm/qcom,kpss-acc.txt


+30 −4
Original line number Original line Diff line number Diff line
@@ -10,14 +10,18 @@ maintainers:
  - Andy Gross <agross@kernel.org>
  - Andy Gross <agross@kernel.org>
  - Bjorn Andersson <bjorn.andersson@linaro.org>
  - Bjorn Andersson <bjorn.andersson@linaro.org>


description: |
description:
  This binding describes the Qualcomm Shared Memory Manager, used to share data
  This binding describes the Qualcomm Shared Memory Manager, a region of
  between various subsystems and OSes in Qualcomm platforms.
  reserved-memory used to share data between various subsystems and OSes in
  Qualcomm platforms.


properties:
properties:
  compatible:
  compatible:
    const: qcom,smem
    const: qcom,smem


  reg:
    maxItems: 1

  memory-region:
  memory-region:
    maxItems: 1
    maxItems: 1
    description: handle to memory reservation for main SMEM memory region.
    description: handle to memory reservation for main SMEM memory region.
@@ -29,11 +33,19 @@ properties:
    $ref: /schemas/types.yaml#/definitions/phandle
    $ref: /schemas/types.yaml#/definitions/phandle
    description: handle to RPM message memory resource
    description: handle to RPM message memory resource


  no-map: true

required:
required:
  - compatible
  - compatible
  - memory-region
  - hwlocks
  - hwlocks


oneOf:
  - required:
      - reg
      - no-map
  - required:
      - memory-region

additionalProperties: false
additionalProperties: false


examples:
examples:
@@ -43,6 +55,20 @@ examples:
        #size-cells = <1>;
        #size-cells = <1>;
        ranges;
        ranges;


        smem@fa00000 {
            compatible = "qcom,smem";
            reg = <0xfa00000 0x200000>;
            no-map;

            hwlocks = <&tcsr_mutex 3>;
        };
    };
  - |
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        smem_region: smem@fa00000 {
        smem_region: smem@fa00000 {
            reg = <0xfa00000 0x200000>;
            reg = <0xfa00000 0x200000>;
            no-map;
            no-map;
+1 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ properties:
          - qcom,sdm660-silver-saw2-v4.1-l2
          - qcom,sdm660-silver-saw2-v4.1-l2
          - qcom,msm8998-gold-saw2-v4.1-l2
          - qcom,msm8998-gold-saw2-v4.1-l2
          - qcom,msm8998-silver-saw2-v4.1-l2
          - qcom,msm8998-silver-saw2-v4.1-l2
          - qcom,msm8916-saw2-v3.0-cpu
          - qcom,msm8226-saw2-v2.1-cpu
          - qcom,msm8226-saw2-v2.1-cpu
          - qcom,msm8974-saw2-v2.1-cpu
          - qcom,msm8974-saw2-v2.1-cpu
          - qcom,apq8084-saw2-v2.1-cpu
          - qcom,apq8084-saw2-v2.1-cpu
+47 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom-stats.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. (QTI) Stats bindings

maintainers:
  - Maulik Shah <mkshah@codeaurora.org>

description:
  Always On Processor/Resource Power Manager maintains statistics of the SoC
  sleep modes involving powering down of the rails and oscillator clock.

  Statistics includes SoC sleep mode type, number of times low power mode were
  entered, time of last entry, time of last exit and accumulated sleep duration.

properties:
  compatible:
    enum:
      - qcom,rpmh-stats
      - qcom,rpm-stats

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  # Example of rpmh sleep stats
  - |
    sram@c3f0000 {
      compatible = "qcom,rpmh-stats";
      reg = <0x0c3f0000 0x400>;
    };
  # Example of rpm sleep stats
  - |
    sram@4690000 {
      compatible = "qcom,rpm-stats";
      reg = <0x04690000 0x10000>;
    };
...
+4 −1
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ properties:
        - amlogic,meson-gxbb-sram
        - amlogic,meson-gxbb-sram
        - arm,juno-sram-ns
        - arm,juno-sram-ns
        - atmel,sama5d2-securam
        - atmel,sama5d2-securam
        - qcom,rpm-msg-ram
        - rockchip,rk3288-pmu-sram
        - rockchip,rk3288-pmu-sram


  reg:
  reg:
@@ -135,7 +136,9 @@ if:
  properties:
  properties:
    compatible:
    compatible:
      contains:
      contains:
        const: rockchip,rk3288-pmu-sram
        enum:
          - qcom,rpm-msg-ram
          - rockchip,rk3288-pmu-sram


else:
else:
  required:
  required:
Loading