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

Commit 2a993a58 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'samsung-soc-4.6-2' of...

Merge tag 'samsung-soc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc

Samsung Exynos (and older platforms) improvements for v4.6:
1. Split out Exynos PMU driver implementation from arm/mach-exynos
   to the drivers/soc/samsung which will allow re-use of it on ARM64.
2. Use generic DT cpufreq driver on Exynos542x/5800.
3. Minor cleanups.

* tag 'samsung-soc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux

:
  ARM: s3c24xx: Avoid warning for inb/outb
  ARM: SAMSUNG: Remove unused register offset definition
  ARM: EXYNOS: Cleanup header files inclusion
  drivers: soc: samsung: Enable COMPILE_TEST
  MAINTAINERS: Add maintainers entry for drivers/soc/samsung
  drivers: soc: Add support for Exynos PMU driver
  ARM: EXYNOS: Split up exynos5420 SoC specific PMU data
  ARM: EXYNOS: Split up exynos5250 SoC specific PMU data
  ARM: EXYNOS: Split up exynos4 SoC specific PMU data
  ARM: EXYNOS: Split up exynos3250 SoC specific PMU data
  ARM: EXYNOS: Move pmu specific headers under "linux/soc/samsung"
  ARM: EXYNOS: Correct header comment in Kconfig file
  ARM: EXYNOS: Use generic cpufreq driver for Exynos5422/5800
  ARM: EXYNOS: Use generic cpufreq driver for Exynos5420
  ARM: s3c64xx: use "depends on" instead of "if" after prompt
  ARM: plat-samsung: use to_platform_device()
  ARM: EXYNOS: Code cleanup in map.h
  ARM: EXYNOS: Remove unused static mapping of CMU for exynos5

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 0d8ec17c 15925cfc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1506,6 +1506,7 @@ F: arch/arm/mach-s5p*/
F:	arch/arm/mach-exynos*/
F:	drivers/*/*s3c2410*
F:	drivers/*/*/*s3c2410*
F:	drivers/soc/samsung/*
F:	drivers/spi/spi-s3c*
F:	sound/soc/samsung/*
F:	Documentation/arm/Samsung/
+3 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
#
# Licensed under GPLv2

# Configuration options for the EXYNOS4
# Configuration options for the EXYNOS

menuconfig ARCH_EXYNOS
	bool "Samsung EXYNOS"
@@ -17,6 +17,7 @@ menuconfig ARCH_EXYNOS
	select ARM_GIC
	select COMMON_CLK_SAMSUNG
	select EXYNOS_THERMAL
	select EXYNOS_PMU
	select HAVE_ARM_SCU if SMP
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
@@ -25,6 +26,7 @@ menuconfig ARCH_EXYNOS
	select PINCTRL_EXYNOS
	select PM_GENERIC_DOMAINS if PM
	select S5P_DEV_MFC
	select SOC_SAMSUNG
	select SRAM
	select THERMAL
	select MFD_SYSCON
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)

# Core

obj-$(CONFIG_ARCH_EXYNOS)	+= exynos.o pmu.o exynos-smc.o firmware.o
obj-$(CONFIG_ARCH_EXYNOS)	+= exynos.o exynos-smc.o firmware.o

obj-$(CONFIG_EXYNOS_CPU_SUSPEND) += pm.o sleep.o
obj-$(CONFIG_PM_SLEEP)		+= suspend.o
+0 −1
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@
#ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
#define __ARCH_ARM_MACH_EXYNOS_COMMON_H

#include <linux/of.h>
#include <linux/platform_data/cpuidle-exynos.h>

#define EXYNOS3250_SOC_ID	0xE3472000
+5 −12
Original line number Diff line number Diff line
@@ -11,29 +11,23 @@

#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/serial_s3c.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_fdt.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_domain.h>
#include <linux/irqchip.h>
#include <linux/soc/samsung/exynos-regs-pmu.h>

#include <asm/cacheflush.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/memory.h>

#include <mach/map.h>

#include "common.h"
#include "mfc.h"
#include "regs-pmu.h"

void __iomem *pmu_base_addr;

static struct map_desc exynos4_iodesc[] __initdata = {
	{
@@ -70,11 +64,6 @@ static struct map_desc exynos5_iodesc[] __initdata = {
		.pfn		= __phys_to_pfn(EXYNOS5_PA_SROMC),
		.length		= SZ_4K,
		.type		= MT_DEVICE,
	}, {
		.virtual	= (unsigned long)S5P_VA_CMU,
		.pfn		= __phys_to_pfn(EXYNOS5_PA_CMU),
		.length		= 144 * SZ_1K,
		.type		= MT_DEVICE,
	},
};

@@ -230,6 +219,10 @@ static const struct of_device_id exynos_cpufreq_matches[] = {
	{ .compatible = "samsung,exynos4212", .data = "cpufreq-dt" },
	{ .compatible = "samsung,exynos4412", .data = "cpufreq-dt" },
	{ .compatible = "samsung,exynos5250", .data = "cpufreq-dt" },
#ifndef CONFIG_BL_SWITCHER
	{ .compatible = "samsung,exynos5420", .data = "cpufreq-dt" },
	{ .compatible = "samsung,exynos5800", .data = "cpufreq-dt" },
#endif
	{ /* sentinel */ }
};

Loading