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

Commit 954e198e authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'samsung-dt-2' of...

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

From Kukjin Kim:
Samsung DT 2nd updates for v3.14
- add DMA controller, SPI, and TMU DT nodes for exynos5420
- add PWM DT nodes for exynos5250 and exynos5420
- drop interrupt controller properties from MCT nodes
  because MCT is not an interrupt controller
- move MCT nodes to exynos4x12 from board because it is
  a per-processor interrupt and same 4212 and 4412
- use one cell for MCT interrupt map for exynos4 SoCs
- update Exynos MCT DT bindings accordingly
- fix missing spaces after labels for exynos
- fix mmc status property for exynos5250-snow
- add MCLK for codec for exynos5250-smdk5250
- disable SPI and I2C by default for exynos5250 SoC
  and enable into requiring some boards
- rename cros5250-common to exynos5250-cros-common

* tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

: (27 commits)
  ARM: dts: Rename Exynos5250 ChromeOS common file to have exynos prefix
  ARM: dts: Disable I2C controllers by default on Exynos5250
  ARM: dts: Leave Exynos5250 SPI controller disabled by default
  ARM: dts: Add CODEC MCLK for SMDK5250
  ARM: dts: Add device nodes for TMU blocks for exynos5420
  ARM: dts: Fix status property of mmc nodes for snow board
  ARM: dts: Fix missing spaces after labels for exynos
  ARM: dts: Simplify MCT interrupt map for exynos4 SoCs
  ARM: dts: Move MCT node to exynos4x12.dtsi
  ARM: dts: Drop interrupt controller properties from MCT nodes for exynos4 SoCs
  Documentation: devicetree: Update Exynos MCT bindings description
  ARM: dts: add pwm DT nodes to Exynos5250 and Exynos5420
  ARM: dts: Add SPI nodes to the exynos5420 device tree file
  ARM: dts: Add DMA controller node info on Exynos5420
  ARM: dts: Use MSHC controller for eMMC memory for exynos4412-trats2
  ARM: dts: Fix definition of MSHC device tree nodes for exynos4x12
  ARM: dts: add clock provider for mshc node for Exynos4412 SOC
  clk: samsung: exynos4: Fix definition of div_mmc_pre4 divider
  ARM: dts: Fix exynos5250-snow's search key to be L_META
  ARM: dts: Add the missing "\" key in non-US keyboards for exynos5250-snow
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents f2edbade a22d060e
Loading
Loading
Loading
Loading
+37 −17
Original line number Diff line number Diff line
@@ -31,38 +31,58 @@ Required properties:
	7: ..
	i: Local Timer Interrupt n

Example 1: In this example, the system uses only the first global timer
	   interrupt generated by MCT and the remaining three global timer
	   interrupts are unused. Two local timer interrupts have been
	   specified.
  For MCT block that uses a per-processor interrupt for local timers, such
  as ones compatible with "samsung,exynos4412-mct", only one local timer
  interrupt might be specified, meaning that all local timers use the same
  per processor interrupt.

Example 1: In this example, the IP contains two local timers, using separate
	   interrupts, so two local timer interrupts have been specified,
	   in addition to four global timer interrupts.

	mct@10050000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x10050000 0x800>;
		interrupts = <0 57 0>, <0 0 0>, <0 0 0>, <0 0 0>,
		interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
			     <0 42 0>, <0 48 0>;
	};

Example 2: In this example, the MCT global and local timer interrupts are
	   connected to two separate interrupt controllers. Hence, an
	   interrupt-map is created to map the interrupts to the respective
	   interrupt controllers.
Example 2: In this example, the timer interrupts are connected to two separate
	   interrupt controllers. Hence, an interrupt-map is created to map
	   the interrupts to the respective interrupt controllers.

	mct@101C0000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x101C0000 0x800>;
		interrupt-controller;
		#interrups-cells = <2>;
		interrupt-parent = <&mct_map>;
		interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
			     <4 0>, <5 0>;
		interrupts = <0>, <1>, <2>, <3>, <4>, <5>;

		mct_map: mct-map {
			#interrupt-cells = <2>;
			#interrupt-cells = <1>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0x0 0 &combiner 23 3>,
					<0x4 0 &gic 0 120 0>,
					<0x5 0 &gic 0 121 0>;
			interrupt-map = <0 &gic 0 57 0>,
					<1 &gic 0 69 0>,
					<2 &combiner 12 6>,
					<3 &combiner 12 7>,
					<4 &gic 0 42 0>,
					<5 &gic 0 48 0>;
		};
	};

Example 3: In this example, the IP contains four local timers, but using
	   a per-processor interrupt to handle them. Either all the local
	   timer interrupts can be specified, with the same interrupt specifier
	   value or just the first one.

	mct@10050000 {
		compatible = "samsung,exynos4412-mct";
		reg = <0x10050000 0x800>;

		/* Both ways are possible in this case. Either: */
		interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
			     <0 42 0>;
		/* or: */
		interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
			     <0 42 0>, <0 42 0>, <0 42 0>, <0 42 0>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -313,7 +313,7 @@
	display-timings {
		native-mode = <&timing0>;
		timing0: timing {
			clock-frequency = <50000>;
			clock-frequency = <47500000>;
			hactive = <1024>;
			vactive = <600>;
			hfront-porch = <64>;
+10 −13
Original line number Diff line number Diff line
@@ -51,24 +51,21 @@
	mct@10050000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x10050000 0x800>;
		interrupt-controller;
		#interrups-cells = <2>;
		interrupt-parent = <&mct_map>;
		interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
			     <4 0>, <5 0>;
		interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
		clocks = <&clock 3>, <&clock 344>;
		clock-names = "fin_pll", "mct";

		mct_map: mct-map {
			#interrupt-cells = <2>;
			#interrupt-cells = <1>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0x0 0 &gic 0 57 0>,
					<0x1 0 &gic 0 69 0>,
					<0x2 0 &combiner 12 6>,
					<0x3 0 &combiner 12 7>,
					<0x4 0 &gic 0 42 0>,
					<0x5 0 &gic 0 48 0>;
			interrupt-map = <0 &gic 0 57 0>,
					<1 &gic 0 69 0>,
					<2 &combiner 12 6>,
					<3 &combiner 12 7>,
					<4 &gic 0 42 0>,
					<5 &gic 0 48 0>;
		};
	};

+1 −23
Original line number Diff line number Diff line
@@ -34,26 +34,4 @@
			     <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
			     <0 107 0>, <0 108 0>;
	};

	mct@10050000 {
		compatible = "samsung,exynos4412-mct";
		reg = <0x10050000 0x800>;
		interrupt-controller;
		#interrups-cells = <2>;
		interrupt-parent = <&mct_map>;
		interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
			     <4 0>, <5 0>;

		mct_map: mct-map {
			#interrupt-cells = <2>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0x0 0 &gic 0 57 0>,
					<0x1 0 &combiner 12 5>,
					<0x2 0 &combiner 12 6>,
					<0x3 0 &combiner 12 7>,
					<0x4 0 &gic 1 12 0>,
					<0x5 0 &gic 1 12 0>;
		};
	};
};
+1 −4
Original line number Diff line number Diff line
@@ -38,9 +38,7 @@
		};
	};

	mshc@12550000 {
		#address-cells = <1>;
		#size-cells = <0>;
	mmc@12550000 {
		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
		pinctrl-names = "default";
		vmmc-supply = <&ldo20_reg &buck8_reg>;
@@ -49,7 +47,6 @@
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3>;
Loading