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

Commit c6722ddc authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'samsung-fixes' of...

Merge tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

Merge "Samsung fixes for v4.3" from Kukjin Kim:

- fix invalid clock used for FIMD IOMMU
- fix thermal boot issue smdk5250-smdk5250
- fix S2R on exynos4412 trats2 boards
- fix LEDs on exynos5422-odroidxu3-common
- fix booting of all 8 cores on exynos542x

* tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Fix wrong clock binding for sysmmu_fimd1_1 on exynos5420
  ARM: dts: Fix bootup thermal issue on smdk5250
  ARM: dts: add suspend opp to exynos4412
  ARM: dts: Fix LEDs on exynos5422-odroidxu3
  ARM: EXYNOS: reset Little cores when cpu is up
parents a73b4db2 4776dbb3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1000000>;
			clock-latency-ns = <200000>;
			opp-suspend;
		};
		opp07 {
			opp-hz = /bits/ 64 <900000000>;
+1 −0
Original line number Diff line number Diff line
@@ -197,6 +197,7 @@
				regulator-name = "P1.8V_LDO_OUT10";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo11_reg: LDO11 {
+1 −1
Original line number Diff line number Diff line
@@ -1117,7 +1117,7 @@
		interrupt-parent = <&combiner>;
		interrupts = <3 0>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
		clocks = <&clock CLK_SMMU_FIMD1M1>, <&clock CLK_FIMD1>;
		power-domains = <&disp_pd>;
		#iommu-cells = <0>;
	};
+0 −1
Original line number Diff line number Diff line
@@ -472,7 +472,6 @@
	 */
	pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
	pinctrl-names = "default";
	samsung,pwm-outputs = <0>;
	status = "okay";
};

+26 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <asm/cputype.h>
#include <asm/cp15.h>
#include <asm/mcpm.h>
#include <asm/smp_plat.h>

#include "regs-pmu.h"
#include "common.h"
@@ -70,7 +71,31 @@ static int exynos_cpu_powerup(unsigned int cpu, unsigned int cluster)
		cluster >= EXYNOS5420_NR_CLUSTERS)
		return -EINVAL;

	if (!exynos_cpu_power_state(cpunr)) {
		exynos_cpu_power_up(cpunr);

		/*
		 * This assumes the cluster number of the big cores(Cortex A15)
		 * is 0 and the Little cores(Cortex A7) is 1.
		 * When the system was booted from the Little core,
		 * they should be reset during power up cpu.
		 */
		if (cluster &&
		    cluster == MPIDR_AFFINITY_LEVEL(cpu_logical_map(0), 1)) {
			/*
			 * Before we reset the Little cores, we should wait
			 * the SPARE2 register is set to 1 because the init
			 * codes of the iROM will set the register after
			 * initialization.
			 */
			while (!pmu_raw_readl(S5P_PMU_SPARE2))
				udelay(10);

			pmu_raw_writel(EXYNOS5420_KFC_CORE_RESET(cpu),
					EXYNOS_SWRESET);
		}
	}

	return 0;
}

Loading