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

Commit c7eec380 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'rproc-v4.6' of git://github.com/andersson/remoteproc



Pull remoteproc updates from Bjorn Andersson:
 "New driver for controlling ST's remote processors and a couple of
  minor fixes.  Also includes the addition of myself as co-maintainer"

Acked-by: default avatarOhad Ben-Cohen <ohad@wizery.com>

* tag 'rproc-v4.6' of git://github.com/andersson/remoteproc:
  MAINTAINERS: Add co-maintainer for remoteproc subsystems
  remoteproc: Supply controller driver for ST's Remote Processors
  remoteproc: debugfs: Add ability to boot remote processor using debugfs
  remoteproc: dt: Provide bindings for ST's Remote Processor Controller driver
  remoteproc: debugfs: Return error on invalid 'count' value
  remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias
  remoteproc: report error if resource table doesn't exist
parents 37aa7319 69ae9895
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
STMicroelectronics Co-Processor Bindings
----------------------------------------

This binding provides support for adjunct processors found on ST SoCs.

Co-processors can be controlled from the bootloader or the primary OS. If
the bootloader starts a co-processor, the primary OS must detect its state
and act accordingly.

Required properties:
- compatible		Should be one of:
				"st,st231-rproc"
				"st,st40-rproc"
- memory-region		Reserved memory (See: ../reserved-memory/reserved-memory.txt)
- resets		Reset lines (See: ../reset/reset.txt)
- reset-names		Must be "sw_reset" and "pwr_reset"
- clocks		Clock for co-processor (See: ../clock/clock-bindings.txt)
- clock-frequency	Clock frequency to set co-processor at if the bootloader
			hasn't already done so
- st,syscfg		System configuration register which holds the boot vector
			for the co-processor
				1st cell: Phandle to syscon block
				2nd cell: Boot vector register offset

Example:

	audio_reserved: rproc@42000000 {
		compatible = "shared-dma-pool";
		reg = <0x42000000 0x01000000>;
		no-map;
	};

	st231-audio {
		compatible	= "st,st231-rproc";
		memory-region	= <&audio_reserved>;
		resets		= <&softreset STIH407_ST231_AUD_SOFTRESET>;
		reset-names	= "sw_reset";
		clocks		= <&clk_s_c0_flexgen CLK_ST231_AUD_0>;
		clock-frequency	= <600000000>;
		st,syscfg	= <&syscfg_core 0x228>;
	};
+3 −0
Original line number Diff line number Diff line
@@ -4979,6 +4979,7 @@ F: include/linux/hw_random.h

HARDWARE SPINLOCK CORE
M:	Ohad Ben-Cohen <ohad@wizery.com>
M:	Bjorn Andersson <bjorn.andersson@linaro.org>
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
F:	Documentation/hwspinlock.txt
@@ -9169,6 +9170,7 @@ F: include/linux/regmap.h

REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
M:	Ohad Ben-Cohen <ohad@wizery.com>
M:	Bjorn Andersson <bjorn.andersson@linaro.org>
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git
S:	Maintained
F:	drivers/remoteproc/
@@ -9177,6 +9179,7 @@ F: include/linux/remoteproc.h

REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
M:	Ohad Ben-Cohen <ohad@wizery.com>
M:	Bjorn Andersson <bjorn.andersson@linaro.org>
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg.git
S:	Maintained
F:	drivers/rpmsg/
+9 −0
Original line number Diff line number Diff line
@@ -77,4 +77,13 @@ config DA8XX_REMOTEPROC
	  It's safe to say n here if you're not interested in multimedia
	  offloading.

config ST_REMOTEPROC
	tristate "ST remoteproc support"
	depends on ARCH_STI
	select REMOTEPROC
	help
	  Say y here to support ST's adjunct processors via the remote
	  processor framework.
	  This can be either built-in or a loadable module.

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ obj-$(CONFIG_OMAP_REMOTEPROC) += omap_remoteproc.o
obj-$(CONFIG_STE_MODEM_RPROC)	 	+= ste_modem_rproc.o
obj-$(CONFIG_WKUP_M3_RPROC)		+= wkup_m3_rproc.o
obj-$(CONFIG_DA8XX_REMOTEPROC)		+= da8xx_remoteproc.o
obj-$(CONFIG_ST_REMOTEPROC)		+= st_remoteproc.o
+3 −1
Original line number Diff line number Diff line
@@ -823,8 +823,10 @@ static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw)

	/* look for the resource table */
	table = rproc_find_rsc_table(rproc, fw, &tablesz);
	if (!table)
	if (!table) {
		dev_err(dev, "Failed to find resource table\n");
		goto clean_up;
	}

	/* Verify that resource table in loaded fw is unchanged */
	if (rproc->table_csum != crc32(0, table, tablesz)) {
Loading