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

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

Merge tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu into next/soc

Merge "mvebu SoC changes for v3.17" from Jason Cooper:

- kirkwood
  * add setup file for netxbig LEDs (non-trivial DT binding doesn't exist yet)

- mvebu
  * staticize where needed
  * add CPU hotplug for Armada XP
  * add public datasheet for Armada 370
  * don't apply thermal quirk by default
  * get SoC ID from the system controller when possible

* tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu

:
  ARM: mvebu: Staticize mvebu_cpu_reset_init
  ARM: mvebu: Staticize armada_370_xp_cpu_pm_init
  ARM: mvebu: Staticize armada_375_smp_cpu1_enable_wa
  ARM: mvebu: Use system controller to get the soc id when possible
  ARM: mvebu: Use the a standard errno in mvebu_get_soc_id
  ARM: mvebu: Don't apply the thermal quirk if the SoC revision is unknown
  Documentation: arm: add URLs to public datasheets for the Marvell Armada 370 SoC
  ARM: mvebu: implement CPU hotplug support for Armada XP
  ARM: mvebu: export PMSU idle enter/exit functions
  ARM: mvebu: slightly refactor/rename PMSU idle related functions
  ARM: mvebu: remove stub implementation of CPU hotplug on Armada 375/38x
  ARM: Kirkwood: Add setup file for netxbig LEDs
  ARM: mvebu: mark armada_370_xp_pmsu_idle_prepare() as static

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 98abaf13 e6571474
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -84,6 +84,8 @@ EBU Armada family
        88F6707
        88F6W11
    Product Brief:   http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf
    Hardware Spec:   http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf
    Functional Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf

  Armada 375 Flavors:
	88F6720
+7 −0
Original line number Diff line number Diff line
@@ -96,4 +96,11 @@ config MACH_KIRKWOOD
	  Say 'Y' here if you want your kernel to support boards based
	  on the Marvell Kirkwood device tree.

config MACH_NETXBIG
	bool "LaCie 2Big and 5Big Network v2"
	depends on MACH_KIRKWOOD
	help
	  Say 'Y' here if you want your kernel to support the
	  LaCie 2Big and 5Big Network v2

endif
+1 −1
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ obj-y += system-controller.o mvebu-soc-id.o
ifeq ($(CONFIG_MACH_MVEBU_V7),y)
obj-y				 += cpu-reset.o board-v7.o coherency.o coherency_ll.o pmsu.o
obj-$(CONFIG_SMP)		 += platsmp.o headsmp.o platsmp-a9.o headsmp-a9.o
obj-$(CONFIG_HOTPLUG_CPU)	 += hotplug.o
endif

obj-$(CONFIG_MACH_DOVE)		 += dove.o
obj-$(CONFIG_MACH_KIRKWOOD)	 += kirkwood.o kirkwood-pm.o
obj-$(CONFIG_MACH_NETXBIG)	 += netxbig.o
+3 −0
Original line number Diff line number Diff line
@@ -24,4 +24,7 @@ void armada_xp_secondary_startup(void);
extern struct smp_operations armada_xp_smp_ops;
#endif

int armada_370_xp_pmsu_idle_enter(unsigned long deepidle);
void armada_370_xp_pmsu_idle_exit(void);

#endif /* __MACH_ARMADA_370_XP_H */
+11 −2
Original line number Diff line number Diff line
@@ -118,8 +118,16 @@ static void __init thermal_quirk(void)
{
	struct device_node *np;
	u32 dev, rev;
	int res;

	if (mvebu_get_soc_id(&dev, &rev) == 0 && rev > ARMADA_375_Z1_REV)
	/*
	 * The early SoC Z1 revision needs a quirk to be applied in order
	 * for the thermal controller to work properly. This quirk breaks
	 * the thermal support if applied on a SoC that doesn't need it,
	 * so we enforce the SoC revision to be known.
	 */
	res = mvebu_get_soc_id(&dev, &rev);
	if (res < 0 || (res == 0 && rev > ARMADA_375_Z1_REV))
		return;

	for_each_compatible_node(np, NULL, "marvell,armada375-thermal") {
@@ -153,7 +161,8 @@ static void __init thermal_quirk(void)

		/*
		 * The thermal controller needs some quirk too, so let's change
		 * the compatible string to reflect this.
		 * the compatible string to reflect this and allow the driver
		 * the take the necessary action.
		 */
		prop = kzalloc(sizeof(*prop), GFP_KERNEL);
		prop->name = kstrdup("compatible", GFP_KERNEL);
Loading