Commit a45ad71e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull remoteproc updates from Bjorn Andersson:
 "This adds support for the Mediatek MT8183 SCP, modem remoteproc on
  Qualcomm SC7180 platform, audio and sensor remoteprocs on Qualcomm
  MSM8998 and audio, compute, modem and sensor remoteprocs on Qualcomm
  SM8150.

  It adds votes for necessary power-domains for all Qualcomm TrustZone
  based remoteproc instances are held, fixes a bug related to remoteproc
  drivers registering before the core has been initialized and does
  clean up the Qualcomm modem remoteproc driver"

* tag 'rproc-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (21 commits)
  remoteproc: qcom: q6v5-mss: Improve readability of reset_assert
  remoteproc: qcom: q6v5-mss: Use regmap_read_poll_timeout
  remoteproc: qcom: q6v5-mss: Rename boot status timeout
  remoteproc: qcom: q6v5-mss: Improve readability across clk handling
  remoteproc: use struct_size() helper
  remoteproc: Initialize rproc_class before use
  rpmsg: add rpmsg support for mt8183 SCP.
  remoteproc/mediatek: add SCP support for mt8183
  dt-bindings: Add a binding for Mediatek SCP
  remoteproc: mss: q6v5-mss: Add modem support on SC7180
  dt-bindings: remoteproc: qcom: Add Q6V5 Modem PIL binding for SC7180
  remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
  dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
  remoteproc: q6v5-mss: Remove mem clk from the active pool
  remoteproc: qcom: Remove unneeded semicolon
  remoteproc: qcom: pas: Add auto_boot flag
  remoteproc: qcom: pas: Add SM8150 ADSP, CDSP, Modem and SLPI support
  dt-bindings: remoteproc: qcom: SM8150 Add ADSP, CDSP, MPSS and SLPI support
  remoteproc: qcom: pas: Vote for active/proxy power domains
  dt-bindings: remoteproc: qcom: Add power-domain bindings for Q6V5 PAS
  ...
parents 68509798 600c39b3
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
Mediatek SCP Bindings
----------------------------------------

This binding provides support for ARM Cortex M4 Co-processor found on some
Mediatek SoCs.

Required properties:
- compatible		Should be "mediatek,mt8183-scp"
- reg			Should contain the address ranges for the two memory
			regions, SRAM and CFG.
- reg-names		Contains the corresponding names for the two memory
			regions. These should be named "sram" & "cfg".
- clocks		Clock for co-processor (See: ../clock/clock-bindings.txt)
- clock-names		Contains the corresponding name for the clock. This
			should be named "main".

Subnodes
--------

Subnodes of the SCP represent rpmsg devices. The names of the devices are not
important. The properties of these nodes are defined by the individual bindings
for the rpmsg devices - but must contain the following property:

- mtk,rpmsg-name	Contains the name for the rpmsg device. Used to match
			the subnode to rpmsg device announced by SCP.

Example:

	scp: scp@10500000 {
		compatible = "mediatek,mt8183-scp";
		reg = <0 0x10500000 0 0x80000>,
		      <0 0x105c0000 0 0x5000>;
		reg-names = "sram", "cfg";
		clocks = <&infracfg CLK_INFRA_SCPSYS>;
		clock-names = "main";
	};
+44 −0
Original line number Diff line number Diff line
@@ -10,11 +10,17 @@ on the Qualcomm ADSP Hexagon core.
		    "qcom,msm8974-adsp-pil"
		    "qcom,msm8996-adsp-pil"
		    "qcom,msm8996-slpi-pil"
		    "qcom,msm8998-adsp-pas"
		    "qcom,msm8998-slpi-pas"
		    "qcom,qcs404-adsp-pas"
		    "qcom,qcs404-cdsp-pas"
		    "qcom,qcs404-wcss-pas"
		    "qcom,sdm845-adsp-pas"
		    "qcom,sdm845-cdsp-pas"
		    "qcom,sm8150-adsp-pas"
		    "qcom,sm8150-cdsp-pas"
		    "qcom,sm8150-mpss-pas"
		    "qcom,sm8150-slpi-pas"

- interrupts-extended:
	Usage: required
@@ -29,12 +35,18 @@ on the Qualcomm ADSP Hexagon core.
	qcom,msm8974-adsp-pil:
	qcom,msm8996-adsp-pil:
	qcom,msm8996-slpi-pil:
	qcom,msm8998-adsp-pas:
	qcom,msm8998-slpi-pas:
	qcom,qcs404-adsp-pas:
	qcom,qcs404-cdsp-pas:
	qcom,sdm845-adsp-pas:
	qcom,sdm845-cdsp-pas:
	qcom,sm8150-adsp-pas:
	qcom,sm8150-cdsp-pas:
	qcom,sm8150-slpi-pas:
		    must be "wdog", "fatal", "ready", "handover", "stop-ack"
	qcom,qcs404-wcss-pas:
	qcom,sm8150-mpss-pas:
		    must be "wdog", "fatal", "ready", "handover", "stop-ack",
		    "shutdown-ack"

@@ -67,6 +79,38 @@ on the Qualcomm ADSP Hexagon core.
	Definition: reference to the px regulator to be held on behalf of the
		    booting Hexagon core

- power-domains:
	Usage: required
	Value type: <phandle>
	Definition: reference to power-domains that match the power-domain-names

- power-domain-names:
	Usage: required
	Value type: <stringlist>
	Definition: The power-domains needed depend on the compatible string:
	qcom,msm8974-adsp-pil:
	qcom,msm8996-adsp-pil:
	qcom,msm8998-adsp-pas:
		    must be "cx"
	qcom,msm8996-slpi-pil:
		    must be "ss_cx"
	qcom,msm8998-slpi-pas:
		    must be "ssc_cx"
	qcom,qcs404-adsp-pas:
		    must be "lpi_cx"
	qcom,qcs404-cdsp-pas:
	qcom,qcs404-wcss-pas:
		    must be "mx"
	qcom,sdm845-adsp-pas:
	qcom,sdm845-cdsp-pas:
	qcom,sm8150-adsp-pas:
	qcom,sm8150-cdsp-pas:
		    must be "cx", "load_state"
	qcom,sm8150-mpss-pas:
		    must be "cx", "load_state", "mss"
	qcom,sm8150-slpi-pas:
		    must be "lcx", "lmx", "load_state"

- memory-region:
	Usage: required
	Value type: <phandle>
+21 −2
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ on the Qualcomm Hexagon core.
		    "qcom,msm8974-mss-pil"
		    "qcom,msm8996-mss-pil"
		    "qcom,msm8998-mss-pil"
		    "qcom,sc7180-mss-pil"
		    "qcom,sdm845-mss-pil"

- reg:
@@ -43,6 +44,7 @@ on the Qualcomm Hexagon core.
		    must be "wdog", "fatal", "ready", "handover", "stop-ack"
	qcom,msm8996-mss-pil:
	qcom,msm8998-mss-pil:
	qcom,sc7180-mss-pil:
	qcom,sdm845-mss-pil:
		    must be "wdog", "fatal", "ready", "handover", "stop-ack",
		    "shutdown-ack"
@@ -75,6 +77,9 @@ on the Qualcomm Hexagon core.
	qcom,msm8998-mss-pil:
		    must be "iface", "bus", "mem", "xo", "gpll0_mss",
		    "snoc_axi", "mnoc_axi", "qdss"
	qcom,sc7180-mss-pil:
		    must be "iface", "bus", "xo", "snoc_axi", "mnoc_axi",
		    "mss_crypto", "mss_nav", "nav"
	qcom,sdm845-mss-pil:
		    must be "iface", "bus", "mem", "xo", "gpll0_mss",
		    "snoc_axi", "mnoc_axi", "prng"
@@ -86,7 +91,7 @@ on the Qualcomm Hexagon core.
		    reference to the list of 3 reset-controllers for the
		    wcss sub-system
		    reference to the list of 2 reset-controllers for the modem
		    sub-system on SDM845 SoCs
		    sub-system on SC7180, SDM845 SoCs

- reset-names:
	Usage: required
@@ -95,7 +100,7 @@ on the Qualcomm Hexagon core.
		    must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
		    for the wcss sub-system
		    must be "mss_restart", "pdc_reset" for the modem
		    sub-system on SDM845 SoCs
		    sub-system on SC7180, SDM845 SoCs

For the compatible strings below the following supplies are required:
  "qcom,q6v5-pil"
@@ -144,6 +149,7 @@ For the compatible string below the following supplies are required:
	qcom,msm8996-mss-pil:
	qcom,msm8998-mss-pil:
		    must be "cx", "mx"
	qcom,sc7180-mss-pil:
	qcom,sdm845-mss-pil:
		    must be "cx", "mx", "mss", "load_state"

@@ -165,6 +171,19 @@ For the compatible string below the following supplies are required:
		    by the three offsets within syscon for q6, modem and nc
		    halt registers.

For the compatible strings below the following phandle references are required:
  "qcom,sc7180-mss-pil"
- qcom,halt-nav-regs:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: reference to a list of 2 phandles with one offset each for
		    the modem sub-system running on SC7180 SoC. The first
		    phandle reference is to the mss clock node followed by the
		    offset within register space for nav halt register. The
		    second phandle reference is to a syscon representing TCSR
		    followed by the offset within syscon for conn_box_spare0
		    register.

= SUBNODES:
The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
the memory regions used by the Hexagon firmware. Each sub-node must contain:
+10 −0
Original line number Diff line number Diff line
@@ -23,6 +23,16 @@ config IMX_REMOTEPROC

	  It's safe to say N here.

config MTK_SCP
	tristate "Mediatek SCP support"
	depends on ARCH_MEDIATEK
	select RPMSG_MTK_SCP
	help
	  Say y here to support Mediatek's System Companion Processor (SCP) via
	  the remote processor framework.

	  It's safe to say N here.

config OMAP_REMOTEPROC
	tristate "OMAP remoteproc support"
	depends on ARCH_OMAP4 || SOC_OMAP5
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ remoteproc-y += remoteproc_sysfs.o
remoteproc-y				+= remoteproc_virtio.o
remoteproc-y				+= remoteproc_elf_loader.o
obj-$(CONFIG_IMX_REMOTEPROC)		+= imx_rproc.o
obj-$(CONFIG_MTK_SCP)			+= mtk_scp.o mtk_scp_ipi.o
obj-$(CONFIG_OMAP_REMOTEPROC)		+= omap_remoteproc.o
obj-$(CONFIG_WKUP_M3_RPROC)		+= wkup_m3_rproc.o
obj-$(CONFIG_DA8XX_REMOTEPROC)		+= da8xx_remoteproc.o
Loading