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

Commit 5cf87a12 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'mvebu_fixes_for_v3.8' of git://git.infradead.org/users/jcooper/linux into fixes

From Jason Cooper:

fixes for mvebu/kirkwood v3.8
 - use correct uart driver for mvebu boards
 - add a missing DT clocks
 - gpio-poweroff level vs. edge triggering, use gpio_is_valid()
 - remove an inappropriate __init, modules need to access function.
 - various DT fixes
 - error handling in mv_xor

* tag 'mvebu_fixes_for_v3.8' of git://git.infradead.org/users/jcooper/linux

:
  pinctrl: mvebu: make pdma clock on dove mandatory
  ARM: Dove: Add pinctrl clock to DT
  dma: mv_xor: fix error handling for clocks
  dma: mv_xor: fix error handling of mv_xor_channel_add()
  arm: mvebu: Add missing ; for cpu node.
  arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
  arm: mvebu: Armada XP MV78230 has two cores, not one
  clk: mvebu: Remove inappropriate __init tagging
  ARM: Kirkwood: Use fixed-regulator instead of board gpio call
  ARM: Kirkwood: Fix missing sdio clock
  ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
  Power: gpio-poweroff: Fix documentation and gpio_is_valid
  ARM: Kirkwood: Fix missing clk for USB device.
  arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 0e3a4a2e ba607b62
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
GPIO line that should be set high/low to power off a device
Driver a GPIO line that can be used to turn the power off.

The driver supports both level triggered and edge triggered power off.
At driver load time, the driver will request the given gpio line and
install a pm_power_off handler. If the optional properties 'input' is
not found, the GPIO line will be driven in the inactive
state. Otherwise its configured as an input.

When the pm_power_off is called, the gpio is configured as an output,
and drive active, so triggering a level triggered power off
condition. This will also cause an inactive->active edge condition, so
triggering positive edge triggered power off. After a delay of 100ms,
the GPIO is set to inactive, thus causing an active->inactive edge,
triggering negative edge triggered power off. After another 100ms
delay the GPIO is driver active again. If the power is still on and
the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.

Required properties:
- compatible : should be "gpio-poweroff".
@@ -13,10 +28,9 @@ Optional properties:
  property is not specified, the GPIO is initialized as an output in its
  inactive state.


Examples:

gpio-poweroff {
	compatible = "gpio-poweroff";
	gpios = <&gpio 4 0>; /* GPIO 4 Active Low */
	gpios = <&gpio 4 0>;
};
+4 −2
Original line number Diff line number Diff line
@@ -50,17 +50,19 @@
		ranges;

		serial@d0012000 {
				compatible = "ns16550";
				compatible = "snps,dw-apb-uart";
				reg = <0xd0012000 0x100>;
				reg-shift = <2>;
				interrupts = <41>;
				reg-io-width = <4>;
				status = "disabled";
		};
		serial@d0012100 {
				compatible = "ns16550";
				compatible = "snps,dw-apb-uart";
				reg = <0xd0012100 0x100>;
				reg-shift = <2>;
				interrupts = <42>;
				reg-io-width = <4>;
				status = "disabled";
		};

+8 −1
Original line number Diff line number Diff line
@@ -34,7 +34,14 @@
		reg = <0>;
		clocks = <&cpuclk 0>;
	    };
	}

	    cpu@1 {
		device_type = "cpu";
		compatible = "marvell,sheeva-v7";
		reg = <1>;
		clocks = <&cpuclk 1>;
	    };
	};

	soc {
		pinctrl {
+8 −0
Original line number Diff line number Diff line
@@ -85,5 +85,13 @@
			#interrupts-cells = <2>;
			interrupts = <24>;
		};

		ethernet@d0034000 {
				compatible = "marvell,armada-370-neta";
				reg = <0xd0034000 0x2500>;
				interrupts = <14>;
				clocks = <&gateclk 1>;
				status = "disabled";
		};
	};
};
+8 −0
Original line number Diff line number Diff line
@@ -100,5 +100,13 @@
			#interrupts-cells = <2>;
			interrupts = <24>;
		};

		ethernet@d0034000 {
				compatible = "marvell,armada-370-neta";
				reg = <0xd0034000 0x2500>;
				interrupts = <14>;
				clocks = <&gateclk 1>;
				status = "disabled";
		};
	};
 };
Loading