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

Commit 3c02bfc4 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

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

Merge "Samsung tmu and hdmi regression fixes for v4.0" from Kukjin Kim:

- The thermal management unit and HDMI (drm mixer driver) related
reworks have been merged in v4.0 merge window. So if this DT changes
are missed for v4.0, we regressions in v4.0 release for exynos
platforms such as exynos5250, exynos5420, exynos4 SoCs.

- Note since there was a dependency with driver side, this cannot
be sent to upstream during preivous merge window and now it has been
resolved.

* tag 'samsung-fixes-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: add display power domain for exynos5250
  ARM: dts: add 'hdmi' clock to mixer nodes for exynos5250 and exynos5420
  ARM: dts: enable hdmi support for exynos4210-universal_c210
  ARM: dts: enable hdmi support for exynos4412-odroid-common
  ARM: dts: add dependency between TV and LCD0 power domains for exynos4
  ARM: dts: add hdmi related nodes for exynos4 SoCs
  ARM: EXYNOS: add support for sub-power domains
  dt-bindings: document a note about power domain subdomains
  ARM: dts: Provide dt bindings identical for Exynos TMU
  ARM: dts: Trip points and sensor configuration data for exynos5440
  ARM: dts: define default thermal-zones for exynos4
  ARM: dts: default trip points definition for exynos5420
  ARM: dts: add TMU default definitions for exynos4412
  ARM: dts: Adding CPU cooling binding for Exynos SoCs
  ARM: dts: Enable TMU for exynos4412-odriod-common
  ARM: dts: Add LDO10 for TMU for exynos4412-odroid-common
  ARM: dts: Enable TMU for exynos4210-trats
parents 13a7a6ac 2d2c9a8d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ Optional Properties:
	- pclkN, clkN: Pairs of parent of input clock and input clock to the
		devices in this power domain. Maximum of 4 pairs (N = 0 to 3)
		are supported currently.
- power-domains: phandle pointing to the parent power domain, for more details
		 see Documentation/devicetree/bindings/power/power_domain.txt

Node of a device using power domains must have a power-domains property
defined with a phandle to respective power domain.
+29 −0
Original line number Diff line number Diff line
@@ -19,6 +19,16 @@ Required properties:
   providing multiple PM domains (e.g. power controllers), but can be any value
   as specified by device tree binding documentation of particular provider.

Optional properties:
 - power-domains : A phandle and PM domain specifier as defined by bindings of
                   the power controller specified by phandle.
   Some power domains might be powered from another power domain (or have
   other hardware specific dependencies). For representing such dependency
   a standard PM domain consumer binding is used. When provided, all domains
   created by the given provider should be subdomains of the domain
   specified by this binding. More details about power domain specifier are
   available in the next section.

Example:

	power: power-controller@12340000 {
@@ -30,6 +40,25 @@ Example:
The node above defines a power controller that is a PM domain provider and
expects one cell as its phandle argument.

Example 2:

	parent: power-controller@12340000 {
		compatible = "foo,power-controller";
		reg = <0x12340000 0x1000>;
		#power-domain-cells = <1>;
	};

	child: power-controller@12340000 {
		compatible = "foo,power-controller";
		reg = <0x12341000 0x1000>;
		power-domains = <&parent 0>;
		#power-domain-cells = <1>;
	};

The nodes above define two power controllers: 'parent' and 'child'.
Domains created by the 'child' power controller are subdomains of '0' power
domain provided by the 'parent' power controller.

==PM domain consumers==

Required properties:
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
 */

#include "skeleton.dtsi"
#include "exynos4-cpu-thermal.dtsi"
#include <dt-bindings/clock/exynos3250.h>

/ {
@@ -193,6 +194,7 @@
			interrupts = <0 216 0>;
			clocks = <&cmu CLK_TMU_APBIF>;
			clock-names = "tmu_apbif";
			#include "exynos4412-tmu-sensor-conf.dtsi"
			status = "disabled";
		};

+52 −0
Original line number Diff line number Diff line
/*
 * Device tree sources for Exynos4 thermal zone
 *
 * Copyright (c) 2014 Lukasz Majewski <l.majewski@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.
 *
 */

#include <dt-bindings/thermal/thermal.h>

/ {
thermal-zones {
	cpu_thermal: cpu-thermal {
		thermal-sensors = <&tmu 0>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			cpu_alert0: cpu-alert-0 {
				temperature = <70000>; /* millicelsius */
				hysteresis = <10000>; /* millicelsius */
				type = "active";
			};
			cpu_alert1: cpu-alert-1 {
				temperature = <95000>; /* millicelsius */
				hysteresis = <10000>; /* millicelsius */
				type = "active";
			};
			cpu_alert2: cpu-alert-2 {
				temperature = <110000>; /* millicelsius */
				hysteresis = <10000>; /* millicelsius */
				type = "active";
			};
			cpu_crit0: cpu-crit-0 {
				temperature = <120000>; /* millicelsius */
				hysteresis = <0>; /* millicelsius */
				type = "critical";
			};
		};
		cooling-maps {
			map0 {
				trip = <&cpu_alert0>;
			};
			map1 {
				trip = <&cpu_alert1>;
			};
		};
	};
};
};
+45 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@
		i2c5 = &i2c_5;
		i2c6 = &i2c_6;
		i2c7 = &i2c_7;
		i2c8 = &i2c_8;
		csis0 = &csis_0;
		csis1 = &csis_1;
		fimc0 = &fimc_0;
@@ -104,6 +105,7 @@
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C20 0x20>;
		#power-domain-cells = <0>;
		power-domains = <&pd_lcd0>;
	};

	pd_cam: cam-power-domain@10023C00 {
@@ -554,6 +556,22 @@
		status = "disabled";
	};

	i2c_8: i2c@138E0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-hdmiphy-i2c";
		reg = <0x138E0000 0x100>;
		interrupts = <0 93 0>;
		clocks = <&clock CLK_I2C_HDMI>;
		clock-names = "i2c";
		status = "disabled";

		hdmi_i2c_phy: hdmiphy@38 {
			compatible = "exynos4210-hdmiphy";
			reg = <0x38>;
		};
	};

	spi_0: spi@13920000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13920000 0x100>;
@@ -663,6 +681,33 @@
		status = "disabled";
	};

	tmu: tmu@100C0000 {
		#include "exynos4412-tmu-sensor-conf.dtsi"
	};

	hdmi: hdmi@12D00000 {
		compatible = "samsung,exynos4210-hdmi";
		reg = <0x12D00000 0x70000>;
		interrupts = <0 92 0>;
		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy",
			"mout_hdmi";
		clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
			<&clock CLK_SCLK_PIXEL>, <&clock CLK_SCLK_HDMIPHY>,
			<&clock CLK_MOUT_HDMI>;
		phy = <&hdmi_i2c_phy>;
		power-domains = <&pd_tv>;
		samsung,syscon-phandle = <&pmu_system_controller>;
		status = "disabled";
	};

	mixer: mixer@12C10000 {
		compatible = "samsung,exynos4210-mixer";
		interrupts = <0 91 0>;
		reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
		power-domains = <&pd_tv>;
		status = "disabled";
	};

	ppmu_dmc0: ppmu_dmc0@106a0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x106a0000 0x2000>;
Loading