Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c616ea19 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'qcom-drivers-for-5.3' of...

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

Qualcomm ARM Based Driver Updates for v5.3

* Add ACPI support to Qualcomm GENI SE
* Update Qualcomm Maintainers entry to remove David Brown as maintainer and
  fixup typos and incorrect DT file entry
* Fixup APR domain id usage and making callbacks in non-atomic context
* Add AOSS QMP driver and bindings
* Add power domains for MSM8998 and QCS404 in QCOM RPMPD
* Add corner macros, max state support, and fixups for setting performance state
  for Qcom RPMPD

* tag 'qcom-drivers-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux

:
  soc: qcom: geni: Add support for ACPI
  MAINTAINERS: Remove myself as qcom maintainer
  soc: qcom: apr: Don't use reg for domain id
  soc: qcom: fix QCOM_AOSS_QMP dependency and build errors
  soc: qcom: Add AOSS QMP driver
  dt-bindings: soc: qcom: Add AOSS QMP binding
  qcom: apr: Make apr callbacks in non-atomic context
  soc: qcom: rpmpd: Add MSM8998 power-domains
  dt-bindings: power: Add rpm power domain bindings for msm8998
  soc: qcom: rpmpd: Add QCS404 power-domains
  dt-bindings: power: Add rpm power domain bindings for qcs404
  soc: qcom: rpmpd: Modify corner defining macros
  soc: qcom: rpmpd: Add support to set rpmpd state to max
  soc: qcom: rpmpd: fixup rpmpd set performance state
  MAINTAINER: Fix Qualcomm ETHQOS ethernet DT file
  MAINTAINERS: fix typo in file name

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 6c249cc7 e1068c32
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ which then translates it into a corresponding voltage on a rail
Required Properties:
 - compatible: Should be one of the following
	* qcom,msm8996-rpmpd: RPM Power domain for the msm8996 family of SoC
	* qcom,msm8998-rpmpd: RPM Power domain for the msm8998 family of SoC
	* qcom,qcs404-rpmpd: RPM Power domain for the qcs404 family of SoC
	* qcom,sdm845-rpmhpd: RPMh Power domain for the sdm845 family of SoC
 - #power-domain-cells: number of cells in Power domain specifier
	must be 1.
+81 −0
Original line number Diff line number Diff line
Qualcomm Always-On Subsystem side channel binding

This binding describes the hardware component responsible for side channel
requests to the always-on subsystem (AOSS), used for certain power management
requests that is not handled by the standard RPMh interface. Each client in the
SoC has it's own block of message RAM and IRQ for communication with the AOSS.
The protocol used to communicate in the message RAM is known as Qualcomm
Messaging Protocol (QMP)

The AOSS side channel exposes control over a set of resources, used to control
a set of debug related clocks and to affect the low power state of resources
related to the secondary subsystems. These resources are exposed as a set of
power-domains.

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be "qcom,sdm845-aoss-qmp"

- reg:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: the base address and size of the message RAM for this
		    client's communication with the AOSS

- interrupts:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: should specify the AOSS message IRQ for this client

- mboxes:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: reference to the mailbox representing the outgoing doorbell
		    in APCS for this client, as described in mailbox/mailbox.txt

- #clock-cells:
	Usage: optional
	Value type: <u32>
	Definition: must be 0
		    The single clock represents the QDSS clock.

- #power-domain-cells:
	Usage: optional
	Value type: <u32>
	Definition: must be 1
		    The provided power-domains are:
		    CDSP state (0), LPASS state (1), modem state (2), SLPI
		    state (3), SPSS state (4) and Venus state (5).

= SUBNODES
The AOSS side channel also provides the controls for three cooling devices,
these are expressed as subnodes of the QMP node. The name of the node is used
to identify the resource and must therefor be "cx", "mx" or "ebi".

- #cooling-cells:
	Usage: optional
	Value type: <u32>
	Definition: must be 2

= EXAMPLE

The following example represents the AOSS side-channel message RAM and the
mechanism exposing the power-domains, as found in SDM845.

  aoss_qmp: qmp@c300000 {
	  compatible = "qcom,sdm845-aoss-qmp";
	  reg = <0x0c300000 0x100000>;
	  interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
	  mboxes = <&apss_shared 0>;

	  #power-domain-cells = <1>;

	  cx_cdev: cx {
		#cooling-cells = <2>;
	  };

	  mx_cdev: mx {
		#cooling-cells = <2>;
	  };
  };
+3 −3
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ used for audio/voice services on the QDSP.
	Value type: <stringlist>
	Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"

- reg
- qcom,apr-domain
	Usage: required
	Value type: <u32>
	Definition: Destination processor ID.
@@ -49,9 +49,9 @@ by the individual bindings for the specific service
The following example represents a QDSP based sound card on a MSM8996 device
which uses apr as communication between Apps and QDSP.

	apr@4 {
	apr {
		compatible = "qcom,apr-v2";
		reg = <APR_DOMAIN_ADSP>;
		qcom,apr-domain = <APR_DOMAIN_ADSP>;

		q6core@3 {
			compatible = "qcom,q6core";
+2 −3
Original line number Diff line number Diff line
@@ -2050,7 +2050,6 @@ S: Maintained

ARM/QUALCOMM SUPPORT
M:	Andy Gross <agross@kernel.org>
M:	David Brown <david.brown@linaro.org>
L:	linux-arm-msm@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/soc/qcom/
@@ -2072,7 +2071,7 @@ F: drivers/i2c/busses/i2c-qup.c
F:	drivers/i2c/busses/i2c-qcom-geni.c
F:	drivers/mfd/ssbi.c
F:	drivers/mmc/host/mmci_qcom*
F:	drivers/mmc/host/sdhci_msm.c
F:	drivers/mmc/host/sdhci-msm.c
F:	drivers/pci/controller/dwc/pcie-qcom.c
F:	drivers/phy/qualcomm/
F:	drivers/power/*/msm*
@@ -13056,7 +13055,7 @@ M: Niklas Cassel <niklas.cassel@linaro.org>
L:	netdev@vger.kernel.org
S:	Maintained
F:	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
F:	Documentation/devicetree/bindings/net/qcom,dwmac.txt
F:	Documentation/devicetree/bindings/net/qcom,ethqos.txt

QUALCOMM GENERIC INTERFACE I2C DRIVER
M:	Alok Chauhan <alokc@codeaurora.org>
+12 −0
Original line number Diff line number Diff line
@@ -4,6 +4,18 @@
#
menu "Qualcomm SoC drivers"

config QCOM_AOSS_QMP
	tristate "Qualcomm AOSS Driver"
	depends on ARCH_QCOM || COMPILE_TEST
	depends on MAILBOX
	depends on COMMON_CLK && PM
	select PM_GENERIC_DOMAINS
	help
	  This driver provides the means of communicating with and controlling
	  the low-power state for resources related to the remoteproc
	  subsystems as well as controlling the debug clocks exposed by the Always On
	  Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP).

config QCOM_COMMAND_DB
	bool "Qualcomm Command DB"
	depends on ARCH_QCOM || COMPILE_TEST
Loading