Commit 062c84fc authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull remoteproc updates from Bjorn Andersson:
 "This adds remoteproc support for the audio, compute, sensor and modem
  remoteprocs on the Qualcomm SM8350 platform, it adds Qualcomm WCN3660b
  support, Mediatek MT8192 SCP driver support for MPU and L1TCM memory,
  STM32 driver adopts dev_err_probe() and the Qualcomm Kconfig help
  texts are revamped"

* tag 'rproc-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
  remoteproc: qcom: pas: Add SM8350 PAS remoteprocs
  dt-bindings: remoteproc: qcom: pas: Add SM8350 remoteprocs
  remoteproc: core: Fix rproc->firmware free in rproc_set_firmware()
  remoteproc/mediatek: support L1TCM
  dt-bindings: remoteproc: mediatek: add L1TCM memory region
  remoteproc/mediatek: enable MPU for all memory regions in MT8192 SCP
  remoteproc/mediatek: use devm_platform_ioremap_resource_byname
  remoteproc: ingenic: Add module parameter 'auto_boot'
  remoteproc/mediatek: acknowledge watchdog IRQ after handled
  remoteproc: qcom_wcnss: remove unneeded semicolon
  remoteproc: qcom: fix glink dependencies
  remoteproc: stm32: improve debug using dev_err_probe
  remoteproc: qcom: add more help text qcom options
  remoteproc: qcom_wcnss: Add qcom,wcn3660b compatible
  dt-bindings: remoteproc: qcom,wcnss: Add qcom,wcn3660b compatible
parents e40242b9 e8b4e9a2
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -6,10 +6,10 @@ 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".
- reg			Should contain the address ranges for memory regions:
			SRAM, CFG, and L1TCM.
- reg-names		Contains the corresponding names for the memory regions:
			"sram", "cfg", and "l1tcm".
- clocks		Clock for co-processor (See: ../clock/clock-bindings.txt)
- clock-names		Contains the corresponding name for the clock. This
			should be named "main".
+12 −0
Original line number Diff line number Diff line
@@ -25,6 +25,10 @@ on the Qualcomm ADSP Hexagon core.
		    "qcom,sm8250-adsp-pas"
		    "qcom,sm8250-cdsp-pas"
		    "qcom,sm8250-slpi-pas"
		    "qcom,sm8350-adsp-pas"
		    "qcom,sm8350-cdsp-pas"
		    "qcom,sm8350-slpi-pas"
		    "qcom,sm8350-mpss-pas"

- interrupts-extended:
	Usage: required
@@ -51,10 +55,14 @@ on the Qualcomm ADSP Hexagon core.
	qcom,sm8250-adsp-pas:
	qcom,sm8250-cdsp-pas:
	qcom,sm8250-slpi-pas:
	qcom,sm8350-adsp-pas:
	qcom,sm8350-cdsp-pas:
	qcom,sm8350-slpi-pas:
		    must be "wdog", "fatal", "ready", "handover", "stop-ack"
	qcom,qcs404-wcss-pas:
	qcom,sc7180-mpss-pas:
	qcom,sm8150-mpss-pas:
	qcom,sm8350-mpss-pas:
		    must be "wdog", "fatal", "ready", "handover", "stop-ack",
		    "shutdown-ack"

@@ -114,13 +122,17 @@ on the Qualcomm ADSP Hexagon core.
	qcom,sm8150-adsp-pas:
	qcom,sm8150-cdsp-pas:
	qcom,sm8250-cdsp-pas:
	qcom,sm8350-cdsp-pas:
		    must be "cx", "load_state"
	qcom,sc7180-mpss-pas:
	qcom,sm8150-mpss-pas:
	qcom,sm8350-mpss-pas:
		    must be "cx", "load_state", "mss"
	qcom,sm8250-adsp-pas:
	qcom,sm8350-adsp-pas:
	qcom,sm8150-slpi-pas:
	qcom,sm8250-slpi-pas:
	qcom,sm8350-slpi-pas:
		    must be "lcx", "lmx", "load_state"

- memory-region:
+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ and its resource dependencies. It is described by the following properties:
	Definition: must be one of:
		    "qcom,wcn3620",
		    "qcom,wcn3660",
		    "qcom,wcn3660b",
		    "qcom,wcn3680"

- clocks:
+19 −6
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ config QCOM_Q6V5_ADSP
	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
	depends on QCOM_SYSMON || QCOM_SYSMON=n
	depends on RPMSG_QCOM_GLINK || RPMSG_QCOM_GLINK=n
	select MFD_SYSCON
	select QCOM_PIL_INFO
	select QCOM_MDT_LOADER
@@ -162,7 +163,9 @@ config QCOM_Q6V5_ADSP
	select QCOM_RPROC_COMMON
	help
	  Say y here to support the Peripheral Image Loader
	  for the Qualcomm Technology Inc. ADSP remote processors.
	  for the non-TrustZone part of Qualcomm Technology Inc. ADSP and CDSP
	  remote processors. The TrustZone part is handled by QCOM_Q6V5_PAS
	  driver.

config QCOM_Q6V5_MSS
	tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
@@ -171,6 +174,7 @@ config QCOM_Q6V5_MSS
	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
	depends on QCOM_SYSMON || QCOM_SYSMON=n
	depends on RPMSG_QCOM_GLINK || RPMSG_QCOM_GLINK=n
	select MFD_SYSCON
	select QCOM_MDT_LOADER
	select QCOM_PIL_INFO
@@ -179,7 +183,8 @@ config QCOM_Q6V5_MSS
	select QCOM_SCM
	help
	  Say y here to support the Qualcomm self-authenticating modem
	  subsystem based on Hexagon V5.
	  subsystem based on Hexagon V5. The TrustZone based system is
	  handled by QCOM_Q6V5_PAS driver.

config QCOM_Q6V5_PAS
	tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
@@ -188,6 +193,7 @@ config QCOM_Q6V5_PAS
	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
	depends on QCOM_SYSMON || QCOM_SYSMON=n
	depends on RPMSG_QCOM_GLINK || RPMSG_QCOM_GLINK=n
	select MFD_SYSCON
	select QCOM_PIL_INFO
	select QCOM_MDT_LOADER
@@ -197,7 +203,9 @@ config QCOM_Q6V5_PAS
	help
	  Say y here to support the TrustZone based Peripheral Image Loader
	  for the Qualcomm Hexagon v5 based remote processors. This is commonly
	  used to control subsystems such as ADSP, Compute and Sensor.
	  used to control subsystems such as ADSP (Audio DSP),
	  CDSP (Compute DSP), MPSS (Modem Peripheral SubSystem), and
	  SLPI (Sensor Low Power Island).

config QCOM_Q6V5_WCSS
	tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
@@ -206,6 +214,7 @@ config QCOM_Q6V5_WCSS
	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
	depends on QCOM_SYSMON || QCOM_SYSMON=n
	depends on RPMSG_QCOM_GLINK || RPMSG_QCOM_GLINK=n
	select MFD_SYSCON
	select QCOM_MDT_LOADER
	select QCOM_PIL_INFO
@@ -214,7 +223,8 @@ config QCOM_Q6V5_WCSS
	select QCOM_SCM
	help
	  Say y here to support the Qualcomm Peripheral Image Loader for the
	  Hexagon V5 based WCSS remote processors.
	  Hexagon V5 based WCSS remote processors on e.g. IPQ8074.  This is
	  a non-TrustZone wireless subsystem.

config QCOM_SYSMON
	tristate "Qualcomm sysmon driver"
@@ -238,13 +248,16 @@ config QCOM_WCNSS_PIL
	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
	depends on QCOM_SMEM
	depends on QCOM_SYSMON || QCOM_SYSMON=n
	depends on RPMSG_QCOM_GLINK || RPMSG_QCOM_GLINK=n
	select QCOM_MDT_LOADER
	select QCOM_PIL_INFO
	select QCOM_RPROC_COMMON
	select QCOM_SCM
	help
	  Say y here to support the Peripheral Image Loader for the Qualcomm
	  Wireless Connectivity Subsystem.
	  Say y here to support the Peripheral Image Loader for loading WCNSS
	  firmware and boot the core on e.g. MSM8974, MSM8916. The firmware is
	  verified and booted with the help of the Peripheral Authentication
	  System (PAS) in TrustZone.

config ST_REMOTEPROC
	tristate "ST remoteproc support"
+7 −0
Original line number Diff line number Diff line
@@ -27,6 +27,11 @@
#define AUX_CTRL_NMI		BIT(1)
#define AUX_CTRL_SW_RESET	BIT(0)

static bool auto_boot;
module_param(auto_boot, bool, 0400);
MODULE_PARM_DESC(auto_boot,
		 "Auto-boot the remote processor [default=false]");

struct vpu_mem_map {
	const char *name;
	unsigned int da;
@@ -172,6 +177,8 @@ static int ingenic_rproc_probe(struct platform_device *pdev)
	if (!rproc)
		return -ENOMEM;

	rproc->auto_boot = auto_boot;

	vpu = rproc->priv;
	vpu->dev = &pdev->dev;
	platform_set_drvdata(pdev, vpu);
Loading