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

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

Merge tag 'scmi-fixes-5.4' of...

Merge tag 'scmi-fixes-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

ARM SCMI fixes for v5.4

Couple of fixes: one in scmi reset driver initialising missed scmi handle
and an other in scmi reset API implementation fixing the assignment of
reset state

* tag 'scmi-fixes-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  reset: reset-scmi: add missing handle initialisation
  firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset

Link: https://lore.kernel.org/r/20190918142139.GA4370@bogus


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b74d957f 61423712
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -73,6 +73,16 @@ Required properties:
			 as used by the firmware. Refer to  platform details
			 for your implementation for the IDs to use.

Reset signal bindings for the reset domains based on SCMI Message Protocol
------------------------------------------------------------

This binding for the SCMI reset domain providers uses the generic reset
signal binding[5].

Required properties:
 - #reset-cells : Should be 1. Contains the reset domain ID value used
		  by SCMI commands.

SRAM and Shared Memory for SCMI
-------------------------------

@@ -93,6 +103,7 @@ Required sub-node properties:
[2] Documentation/devicetree/bindings/power/power_domain.txt
[3] Documentation/devicetree/bindings/thermal/thermal.txt
[4] Documentation/devicetree/bindings/sram/sram.txt
[5] Documentation/devicetree/bindings/reset/reset.txt

Example:

@@ -152,6 +163,11 @@ firmware {
			reg = <0x15>;
			#thermal-sensor-cells = <1>;
		};

		scmi_reset: protocol@16 {
			reg = <0x16>;
			#reset-cells = <1>;
		};
	};
};

@@ -166,6 +182,7 @@ hdlcd@7ff60000 {
	reg = <0 0x7ff60000 0 0x1000>;
	clocks = <&scmi_clk 4>;
	power-domains = <&scmi_devpd 1>;
	resets = <&scmi_reset 10>;
};

thermal-zones {
+1 −0
Original line number Diff line number Diff line
@@ -15575,6 +15575,7 @@ F: drivers/clk/clk-sc[mp]i.c
F:	drivers/cpufreq/sc[mp]i-cpufreq.c
F:	drivers/firmware/arm_scpi.c
F:	drivers/firmware/arm_scmi/
F:	drivers/reset/reset-scmi.c
F:	include/linux/sc[mp]i_protocol.h

SYSTEM RESET/SHUTDOWN DRIVERS
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ static int scmi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
{
	struct scmi_clk *clk = to_scmi_clk(hw);

	return clk->handle->clk_ops->rate_set(clk->handle, clk->id, 0, rate);
	return clk->handle->clk_ops->rate_set(clk->handle, clk->id, rate);
}

static int scmi_clk_enable(struct clk_hw *hw)
+1 −1
Original line number Diff line number Diff line
@@ -2,5 +2,5 @@
obj-y	= scmi-bus.o scmi-driver.o scmi-protocols.o
scmi-bus-y = bus.o
scmi-driver-y = driver.o
scmi-protocols-y = base.o clock.o perf.o power.o sensors.o
scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o
obj-$(CONFIG_ARM_SCMI_POWER_DOMAIN) += scmi_pm_domain.o
+1 −1
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ static int scmi_base_discover_agent_get(const struct scmi_handle *handle,
	if (ret)
		return ret;

	*(__le32 *)t->tx.buf = cpu_to_le32(id);
	put_unaligned_le32(id, t->tx.buf);

	ret = scmi_do_xfer(handle, t);
	if (!ret)
Loading