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

Commit 4bb2d100 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull "ARM: More SoC support updates" from Olof Johansson:
 "This branch contains a handful of updates of SoC base code that had
  dependencies on other external trees that have now been merged:

   * Support for the new EXYNOS5250 SoC from Samsung
   * SMP and power domain support for Tegra3 from NVIDIA
   * ux500 updates for exporting SoC information through sysfs"

Fix up trivial merge conflicts as per Olof.

* tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
  ARM: mach-shmobile: ap4evb: Reserve DMA memory for the frame buffer
  ARM: EXYNOS: Fix compilation error with mach-exynos4-dt board
  ARM: dts: add initial dts file for EXYNOS5250, SMDK5250
  ARM: EXYNOS: add support device tree enabled board file for EXYNOS5
  ARM: EXYNOS: add support ARCH_EXYNOS5 for EXYNOS5 SoCs
  ARM: EXYNOS: add support get_core_count() for EXYNOS5250
  ARM: EXYNOS: support EINT for EXYNOS4 and EXYNOS5
  ARM: EXYNOS: add interrupt definitions for EXYNOS5250
  ARM: EXYNOS: add support for EXYNOS5250 SoC
  ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5
  ARM: EXYNOS: add initial setup-i2c0 for EXYNOS5
  ARM: EXYNOS: add clock part for EXYNOS5250 SoC
  ARM: EXYNOS: use exynos_init_uarts() instead of exynos4_init_uarts()
  ARM: EXYNOS: to declare static for mach-exynos/common.c
  ARM: EXYNOS: Add clkdev lookup entry for lcd clock
  ARM: dt: Explicitly configure all serial ports on Tegra Cardhu
  ARM: tegra: support for secondary cores on Tegra30
  ARM: tegra: support for Tegra30 CPU powerdomains
  ARM: tegra: add support for Tegra30 powerdomains
  ARM: tegra: export tegra_powergate_is_powered()
  ...
parents ff877c49 83fe628e
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -180,6 +180,7 @@ machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0
machine-$(CONFIG_ARCH_S5PC100)		:= s5pc100
machine-$(CONFIG_ARCH_S5PC100)		:= s5pc100
machine-$(CONFIG_ARCH_S5PV210)		:= s5pv210
machine-$(CONFIG_ARCH_S5PV210)		:= s5pv210
machine-$(CONFIG_ARCH_EXYNOS4)		:= exynos
machine-$(CONFIG_ARCH_EXYNOS4)		:= exynos
machine-$(CONFIG_ARCH_EXYNOS5)		:= exynos
machine-$(CONFIG_ARCH_SA1100)		:= sa1100
machine-$(CONFIG_ARCH_SA1100)		:= sa1100
machine-$(CONFIG_ARCH_SHARK)		:= shark
machine-$(CONFIG_ARCH_SHARK)		:= shark
machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
+26 −0
Original line number Original line Diff line number Diff line
/*
 * SAMSUNG SMDK5250 board device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

/dts-v1/;
/include/ "exynos5250.dtsi"

/ {
	model = "SAMSUNG SMDK5250 board based on EXYNOS5250";
	compatible = "samsung,smdk5250", "samsung,exynos5250";

	memory {
		reg = <0x40000000 0x80000000>;
	};

	chosen {
		bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
	};
};
+413 −0
Original line number Original line Diff line number Diff line
/*
 * SAMSUNG EXYNOS5250 SoC device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * SAMSUNG EXYNOS5250 SoC device nodes are listed in this file.
 * EXYNOS5250 based board files can include this file and provide
 * values for board specfic bindings.
 *
 * Note: This file does not include device nodes for all the controllers in
 * EXYNOS5250 SoC. As device tree coverage for EXYNOS5250 increases,
 * additional nodes can be added to this file.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

/include/ "skeleton.dtsi"

/ {
	compatible = "samsung,exynos5250";
	interrupt-parent = <&gic>;

	gic:interrupt-controller@10490000 {
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
	};

	watchdog {
		compatible = "samsung,s3c2410-wdt";
		reg = <0x101D0000 0x100>;
		interrupts = <0 42 0>;
	};

	rtc {
		compatible = "samsung,s3c6410-rtc";
		reg = <0x101E0000 0x100>;
		interrupts = <0 43 0>, <0 44 0>;
	};

	sdhci@12200000 {
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12200000 0x100>;
		interrupts = <0 75 0>;
	};

	sdhci@12210000 {
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12210000 0x100>;
		interrupts = <0 76 0>;
	};

	sdhci@12220000 {
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12220000 0x100>;
		interrupts = <0 77 0>;
	};

	sdhci@12230000 {
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12230000 0x100>;
		interrupts = <0 78 0>;
	};

	serial@12C00000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C00000 0x100>;
		interrupts = <0 51 0>;
	};

	serial@12C10000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C10000 0x100>;
		interrupts = <0 52 0>;
	};

	serial@12C20000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C20000 0x100>;
		interrupts = <0 53 0>;
	};

	serial@12C30000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C30000 0x100>;
		interrupts = <0 54 0>;
	};

	i2c@12C60000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C60000 0x100>;
		interrupts = <0 56 0>;
	};

	i2c@12C70000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C70000 0x100>;
		interrupts = <0 57 0>;
	};

	i2c@12C80000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C80000 0x100>;
		interrupts = <0 58 0>;
	};

	i2c@12C90000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C90000 0x100>;
		interrupts = <0 59 0>;
	};

	i2c@12CA0000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CA0000 0x100>;
		interrupts = <0 60 0>;
	};

	i2c@12CB0000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CB0000 0x100>;
		interrupts = <0 61 0>;
	};

	i2c@12CC0000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CC0000 0x100>;
		interrupts = <0 62 0>;
	};

	i2c@12CD0000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CD0000 0x100>;
		interrupts = <0 63 0>;
	};

	amba {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "arm,amba-bus";
		interrupt-parent = <&gic>;
		ranges;

		pdma0: pdma@121A0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121A0000 0x1000>;
			interrupts = <0 34 0>;
		};

		pdma1: pdma@121B0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121B0000 0x1000>;
			interrupts = <0 35 0>;
		};

		mdma0: pdma@10800000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x10800000 0x1000>;
			interrupts = <0 33 0>;
		};

		mdma1: pdma@11C10000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x11C10000 0x1000>;
			interrupts = <0 124 0>;
		};
	};

	gpio-controllers {
		#address-cells = <1>;
		#size-cells = <1>;
		gpio-controller;
		ranges;

		gpa0: gpio-controller@11400000 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400000 0x20>;
			#gpio-cells = <4>;
		};

		gpa1: gpio-controller@11400020 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400020 0x20>;
			#gpio-cells = <4>;
		};

		gpa2: gpio-controller@11400040 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400040 0x20>;
			#gpio-cells = <4>;
		};

		gpb0: gpio-controller@11400060 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400060 0x20>;
			#gpio-cells = <4>;
		};

		gpb1: gpio-controller@11400080 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400080 0x20>;
			#gpio-cells = <4>;
		};

		gpb2: gpio-controller@114000A0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114000A0 0x20>;
			#gpio-cells = <4>;
		};

		gpb3: gpio-controller@114000C0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114000C0 0x20>;
			#gpio-cells = <4>;
		};

		gpc0: gpio-controller@114000E0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114000E0 0x20>;
			#gpio-cells = <4>;
		};

		gpc1: gpio-controller@11400100 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400100 0x20>;
			#gpio-cells = <4>;
		};

		gpc2: gpio-controller@11400120 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400120 0x20>;
			#gpio-cells = <4>;
		};

		gpc3: gpio-controller@11400140 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400140 0x20>;
			#gpio-cells = <4>;
		};

		gpd0: gpio-controller@11400160 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400160 0x20>;
			#gpio-cells = <4>;
		};

		gpd1: gpio-controller@11400180 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400180 0x20>;
			#gpio-cells = <4>;
		};

		gpy0: gpio-controller@114001A0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114001A0 0x20>;
			#gpio-cells = <4>;
		};

		gpy1: gpio-controller@114001C0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114001C0 0x20>;
			#gpio-cells = <4>;
		};

		gpy2: gpio-controller@114001E0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x114001E0 0x20>;
			#gpio-cells = <4>;
		};

		gpy3: gpio-controller@11400200 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400200 0x20>;
			#gpio-cells = <4>;
		};

		gpy4: gpio-controller@11400220 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400220 0x20>;
			#gpio-cells = <4>;
		};

		gpy5: gpio-controller@11400240 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400240 0x20>;
			#gpio-cells = <4>;
		};

		gpy6: gpio-controller@11400260 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400260 0x20>;
			#gpio-cells = <4>;
		};

		gpx0: gpio-controller@11400C00 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400C00 0x20>;
			#gpio-cells = <4>;
		};

		gpx1: gpio-controller@11400C20 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400C20 0x20>;
			#gpio-cells = <4>;
		};

		gpx2: gpio-controller@11400C40 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400C40 0x20>;
			#gpio-cells = <4>;
		};

		gpx3: gpio-controller@11400C60 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x11400C60 0x20>;
			#gpio-cells = <4>;
		};

		gpe0: gpio-controller@13400000 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400000 0x20>;
			#gpio-cells = <4>;
		};

		gpe1: gpio-controller@13400020 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400020 0x20>;
			#gpio-cells = <4>;
		};

		gpf0: gpio-controller@13400040 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400040 0x20>;
			#gpio-cells = <4>;
		};

		gpf1: gpio-controller@13400060 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400060 0x20>;
			#gpio-cells = <4>;
		};

		gpg0: gpio-controller@13400080 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400080 0x20>;
			#gpio-cells = <4>;
		};

		gpg1: gpio-controller@134000A0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x134000A0 0x20>;
			#gpio-cells = <4>;
		};

		gpg2: gpio-controller@134000C0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x134000C0 0x20>;
			#gpio-cells = <4>;
		};

		gph0: gpio-controller@134000E0 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x134000E0 0x20>;
			#gpio-cells = <4>;
		};

		gph1: gpio-controller@13400100 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x13400100 0x20>;
			#gpio-cells = <4>;
		};

		gpv0: gpio-controller@10D10000 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x10D10000 0x20>;
			#gpio-cells = <4>;
		};

		gpv1: gpio-controller@10D10020 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x10D10020 0x20>;
			#gpio-cells = <4>;
		};

		gpv2: gpio-controller@10D10040 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x10D10040 0x20>;
			#gpio-cells = <4>;
		};

		gpv3: gpio-controller@10D10060 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x10D10060 0x20>;
			#gpio-cells = <4>;
		};

		gpv4: gpio-controller@10D10080 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x10D10080 0x20>;
			#gpio-cells = <4>;
		};

		gpz: gpio-controller@03860000 {
			compatible = "samsung,exynos4-gpio";
			reg = <0x03860000 0x20>;
			#gpio-cells = <4>;
		};
	};
};
+16 −0
Original line number Original line Diff line number Diff line
@@ -14,6 +14,22 @@
		clock-frequency = < 408000000 >;
		clock-frequency = < 408000000 >;
	};
	};


	serial@70006040 {
		status = "disable";
	};

	serial@70006200 {
		status = "disable";
	};

	serial@70006300 {
		status = "disable";
	};

	serial@70006400 {
		status = "disable";
	};

	i2c@7000c000 {
	i2c@7000c000 {
		clock-frequency = <100000>;
		clock-frequency = <100000>;
	};
	};
+23 −6
Original line number Original line Diff line number Diff line
@@ -11,18 +11,19 @@ if ARCH_EXYNOS


menu "SAMSUNG EXYNOS SoCs Support"
menu "SAMSUNG EXYNOS SoCs Support"


choice
	prompt "EXYNOS System Type"
	default ARCH_EXYNOS4

config ARCH_EXYNOS4
config ARCH_EXYNOS4
	bool "SAMSUNG EXYNOS4"
	bool "SAMSUNG EXYNOS4"
	default y
	select HAVE_SMP
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	select MIGHT_HAVE_CACHE_L2X0
	help
	help
	  Samsung EXYNOS4 SoCs based systems
	  Samsung EXYNOS4 SoCs based systems


endchoice
config ARCH_EXYNOS5
	bool "SAMSUNG EXYNOS5"
	select HAVE_SMP
	help
	  Samsung EXYNOS5 (Cortex-A15) SoC based systems


comment "EXYNOS SoCs"
comment "EXYNOS SoCs"


@@ -56,6 +57,13 @@ config SOC_EXYNOS4412
	help
	help
	  Enable EXYNOS4412 SoC support
	  Enable EXYNOS4412 SoC support


config SOC_EXYNOS5250
	bool "SAMSUNG EXYNOS5250"
	default y
	depends on ARCH_EXYNOS5
	help
	  Enable EXYNOS5250 SoC support

config EXYNOS4_MCT
config EXYNOS4_MCT
	bool
	bool
	default y
	default y
@@ -356,7 +364,7 @@ config MACH_SMDK4412
	  Machine support for Samsung SMDK4412
	  Machine support for Samsung SMDK4412
endif
endif


comment "Flattened Device Tree based board for Exynos4 based SoC"
comment "Flattened Device Tree based board for EXYNOS SoCs"


config MACH_EXYNOS4_DT
config MACH_EXYNOS4_DT
	bool "Samsung Exynos4 Machine using device tree"
	bool "Samsung Exynos4 Machine using device tree"
@@ -370,6 +378,15 @@ config MACH_EXYNOS4_DT
	  Note: This is under development and not all peripherals can be supported
	  Note: This is under development and not all peripherals can be supported
	  with this machine file.
	  with this machine file.


config MACH_EXYNOS5_DT
	bool "SAMSUNG EXYNOS5 Machine using device tree"
	select SOC_EXYNOS5250
	select USE_OF
	select ARM_AMBA
	help
	  Machine support for Samsung Exynos4 machine with device tree enabled.
	  Select this if a fdt blob is available for the EXYNOS4 SoC based board.

if ARCH_EXYNOS4
if ARCH_EXYNOS4


comment "Configuration for HSMMC 8-bit bus width"
comment "Configuration for HSMMC 8-bit bus width"
Loading