Commit 49826a68 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'mvebu-dt64-5.4-2' of git://git.infradead.org/linux-mvebu into arm/late

mvebu dt64 for 5.4 (part 2)

Add support for Turris Mox board (Armada 3720 SoC based)

* tag 'mvebu-dt64-5.4-2' of git://git.infradead.org/linux-mvebu: (53 commits)
  arm64: dts: marvell: add DTS for Turris Mox
  dt-bindings: marvell: document Turris Mox compatible
  arm64: dts: marvell: armada-37xx: add SPI CS1 pinctrl
  arm64: dts: marvell: Add cpu clock node on Armada 7K/8K
  arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply
  arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes
  arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes
  arm64: dts: marvell: Add 7k/8k per-port PHYs in SATA nodes
  arm64: dts: marvell: Add CP110 COMPHY clocks
  arm64: dts: marvell: armada-37xx: add mailbox node
  dt-bindings: gpio: Document GPIOs via Moxtet bus
  drivers: gpio: Add support for GPIOs over Moxtet bus
  bus: moxtet: Add sysfs and debugfs documentation
  dt-bindings: bus: Document moxtet bus binding
  bus: Add support for Moxtet bus
  reset: Add support for resets provided by SCMI
  firmware: arm_scmi: Add RESET protocol in SCMI v2.0
  dt-bindings: arm: Extend SCMI to support new reset protocol
  firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol
  firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels
  ...

Link: https://lore.kernel.org/r/87h85two0r.fsf@FE-laptop


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 65ab0dba 7109d817
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/moxtet/input
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <marek.behun@nic.cz>
Description:	(R) Read input from the shift registers, in hexadecimal.
		Returns N+1 bytes, where N is the number of Moxtet connected
		modules. The first byte is from the CPU board itself.
		Example: 101214
			 10: CPU board with SD card
			 12: 2 = PCIe module, 1 = IRQ not active
			 14: 4 = Peridot module, 1 = IRQ not active

What:		/sys/kernel/debug/moxtet/output
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <marek.behun@nic.cz>
Description:	(RW) Read last written value to the shift registers, in
		hexadecimal, or write values to the shift registers, also
		in hexadecimal.
		Example: 0102
			 01: 01 was last written, or is to be written, to the
			     first module's shift register
			 02: the same for second module
+17 −0
Original line number Diff line number Diff line
What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <marek.behun@nic.cz>
Description:	(R) Moxtet module description. Format: string

What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <marek.behun@nic.cz>
Description:	(R) Moxtet module ID. Format: %x

What:		/sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name
Date:		March 2019
KernelVersion:	5.3
Contact:	Marek Behún <marek.behun@nic.cz>
Description:	(R) Moxtet module name. Format: string
+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 {
+8 −0
Original line number Diff line number Diff line
@@ -48,3 +48,11 @@ avs: avs@11500 {
	compatible = "marvell,armada-3700-avs", "syscon";
	reg = <0x11500 0x40>;
}


CZ.NIC's Turris Mox SOHO router Device Tree Bindings
----------------------------------------------------

Required root node property:

 - compatible: must contain "cznic,turris-mox"
+46 −0
Original line number Diff line number Diff line
Turris Mox module status and configuration bus (over SPI)

Required properties:
 - compatible		: Should be "cznic,moxtet"
 - #address-cells	: Has to be 1
 - #size-cells		: Has to be 0
 - spi-cpol		: Required inverted clock polarity
 - spi-cpha		: Required shifted clock phase
 - interrupts		: Must contain reference to the shared interrupt line
 - interrupt-controller	: Required
 - #interrupt-cells	: Has to be 1

For other required and optional properties of SPI slave nodes please refer to
../spi/spi-bus.txt.

Required properties of subnodes:
 - reg			: Should be position on the Moxtet bus (how many Moxtet
			  modules are between this module and CPU module, so
			  either 0 or a positive integer)

The driver finds the devices connected to the bus by itself, but it may be
needed to reference some of them from other parts of the device tree. In that
case the devices can be defined as subnodes of the moxtet node.

Example:

	moxtet@1 {
		compatible = "cznic,moxtet";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <1>;
		spi-max-frequency = <10000000>;
		spi-cpol;
		spi-cpha;
		interrupt-controller;
		#interrupt-cells = <1>;
		interrupt-parent = <&gpiosb>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;

		moxtet_sfp: gpio@0 {
			compatible = "cznic,moxtet-gpio";
			gpio-controller;
			#gpio-cells = <2>;
			reg = <0>;
		}
	};
Loading