Patchwork [U-Boot,1/8] EXYNOS5: FDT: Add TMU device node values

login
register
mail settings
Submitter Hatim RV
Date Dec. 11, 2012, 10:54 a.m.
Message ID <1355223289-15685-2-git-send-email-hatim.rv@samsung.com>
Download mbox | patch
Permalink /patch/205164/
State Changes Requested
Delegated to: Minkyu Kang
Headers show

Comments

Hatim RV - Dec. 11, 2012, 10:54 a.m.
From: Akshay Saraswat <akshay.s@samsung.com>

Fdt entry for Exynos TMU driver specific pre-defined values used for
calibration of current temperature and defining threshold values.

Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Simon Glass - Dec. 12, 2012, 2:51 p.m.
Hi Hatim,

On Tue, Dec 11, 2012 at 2:54 AM, Hatim Ali <hatim.rv@samsung.com> wrote:
> From: Akshay Saraswat <akshay.s@samsung.com>
>
> Fdt entry for Exynos TMU driver specific pre-defined values used for
> calibration of current temperature and defining threshold values.
>
> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
> Acked-by: Simon Glass <sjg@chromium.org>
>
> diff --git a/arch/arm/dts/exynos5250.dtsi b/arch/arm/dts/exynos5250.dtsi
> index fa4d498..db22db6 100644
> --- a/arch/arm/dts/exynos5250.dtsi
> +++ b/arch/arm/dts/exynos5250.dtsi
> @@ -28,4 +28,9 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>         };
> +
> +       tmu@10060000 {
> +               compatible = "samsung,exynos-tmu";
> +               reg = <0x10060000 0xffff>;

I think the ffff should be 0x10000.

> +       };
>  };
> diff --git a/board/samsung/dts/exynos5250-smdk5250.dts b/board/samsung/dts/exynos5250-smdk5250.dts
> index b6fbb67..2d3ecca 100644
> --- a/board/samsung/dts/exynos5250-smdk5250.dts
> +++ b/board/samsung/dts/exynos5250-smdk5250.dts
> @@ -26,4 +26,17 @@
>                         phy-mode = "mii";
>                 };
>         };
> +
> +       tmu@10060000 {
> +               samsung,mux             = <6>;
> +               samsung,min-temp        = <25>;
> +               samsung,max-temp        = <125>;
> +               samsung,start-warning   = <95>;
> +               samsung,start-tripping  = <105>;
> +               samsung,efuse-min-value = <40>;
> +               samsung,efuse-value     = <55>;
> +               samsung,efuse-max-value = <100>;
> +               samsung,slope           = <268470274>;
> +               samsung,dc-value        = <25>;
> +       };
>  };
> diff --git a/doc/device-tree-bindings/exynos/tmu.txt b/doc/device-tree-bindings/exynos/tmu.txt
> new file mode 100644
> index 0000000..99e7164
> --- /dev/null
> +++ b/doc/device-tree-bindings/exynos/tmu.txt
> @@ -0,0 +1,35 @@
> +Exynos Thermal management Unit
> +
> +The device node for TMU that is a part of Exynos5250
> +SOC is as described in the document "Open Firmware Recommended
> +Practic : Universal Serial Bus" with the following modifications
> +and additions:
> +
> +Required properties :
> + - compatible : Should be "samsung,exynos-tmu" for TMU
> + - samsung,mux : mux Address for the TMU to enable TMU core:
> + - samsung,min-temp : Minimum temperature, default is 25:
> + - samsung,max-temp : Maximum temperature, defalut set to 125:
> + - samsung,start-warning : temp at which TMU start giving warning:
> + - samsung,start-tripping : temp at which system will trip and shutdown:
> + - samsung,efuse-min-value : SOC efuse min value:
> + - samsung,efuse-value : SOC actual efuse value:
> + - samsung,efuse-max-value : SoC max efuse value:
> + - samsung,slope : Gain of amplifier, default is 268470274:
> + - samsung,dc-value : DC value of TMU, default is 25:

Can you add a few more details here on these last 5? The units of each
should be listed (and for temperature above which I think is degrees
C). The 'slope' in particular is a very large random number which
could do with some docs. Also re samsung.mux, what are the available
options?

Also remove : at the end of lines.


> +
> +Example:
> +
> +tmu@10060000 {
> +       compatible = "samsung,exynos-tmu"
> +       samsung,mux = <6>;
> +       samsung,min-temp = <25>;
> +       samsung,max-temp = <125>;
> +       samsung,start-warning = <95>;
> +       samsung,start-tripping = <105>;
> +       samsung,efuse-min-value = <40>;
> +       samsung,efuse-value = <55>;
> +       samsung,efuse-max-value = <100>;
> +       samsung,slope = <268470274>;
> +       samsung,dc-value = <25>;
> +};
> diff --git a/include/fdtdec.h b/include/fdtdec.h
> index da3c85f..2d74cec 100644
> --- a/include/fdtdec.h
> +++ b/include/fdtdec.h
> @@ -70,6 +70,7 @@ enum fdt_compat_id {
>         COMPAT_NVIDIA_TEGRA20_DC,       /* Tegra 2 Display controller */
>         COMPAT_SMSC_LAN9215,            /* SMSC 10/100 Ethernet LAN9215 */
>         COMPAT_SAMSUNG_EXYNOS5_SROMC,   /* Exynos5 SROMC */
> +       COMPAT_SAMSUNG_EXYNOS_TMU,      /* Exynos TMU */
>
>         COMPAT_COUNT,
>  };
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 85e733c..2b9df7f 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -47,6 +47,7 @@ static const char * const compat_names[COMPAT_COUNT] = {
>         COMPAT(NVIDIA_TEGRA20_DC, "nvidia,tegra20-dc"),
>         COMPAT(SMSC_LAN9215, "smsc,lan9215"),
>         COMPAT(SAMSUNG_EXYNOS5_SROMC, "samsung,exynos-sromc"),
> +       COMPAT(SAMSUNG_EXYNOS_TMU, "samsung,exynos-tmu"),
>  };
>
>  const char *fdtdec_get_compatible(enum fdt_compat_id id)
> --
> 1.7.2.3
>

Regards,
Simon

Patch

diff --git a/arch/arm/dts/exynos5250.dtsi b/arch/arm/dts/exynos5250.dtsi
index fa4d498..db22db6 100644
--- a/arch/arm/dts/exynos5250.dtsi
+++ b/arch/arm/dts/exynos5250.dtsi
@@ -28,4 +28,9 @@ 
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
+
+	tmu@10060000 {
+		compatible = "samsung,exynos-tmu";
+		reg = <0x10060000 0xffff>;
+	};
 };
diff --git a/board/samsung/dts/exynos5250-smdk5250.dts b/board/samsung/dts/exynos5250-smdk5250.dts
index b6fbb67..2d3ecca 100644
--- a/board/samsung/dts/exynos5250-smdk5250.dts
+++ b/board/samsung/dts/exynos5250-smdk5250.dts
@@ -26,4 +26,17 @@ 
 			phy-mode = "mii";
 		};
 	};
+
+	tmu@10060000 {
+		samsung,mux		= <6>;
+		samsung,min-temp	= <25>;
+		samsung,max-temp	= <125>;
+		samsung,start-warning	= <95>;
+		samsung,start-tripping	= <105>;
+		samsung,efuse-min-value	= <40>;
+		samsung,efuse-value	= <55>;
+		samsung,efuse-max-value	= <100>;
+		samsung,slope		= <268470274>;
+		samsung,dc-value	= <25>;
+	};
 };
diff --git a/doc/device-tree-bindings/exynos/tmu.txt b/doc/device-tree-bindings/exynos/tmu.txt
new file mode 100644
index 0000000..99e7164
--- /dev/null
+++ b/doc/device-tree-bindings/exynos/tmu.txt
@@ -0,0 +1,35 @@ 
+Exynos Thermal management Unit
+
+The device node for TMU that is a part of Exynos5250
+SOC is as described in the document "Open Firmware Recommended
+Practic : Universal Serial Bus" with the following modifications
+and additions:
+
+Required properties :
+ - compatible : Should be "samsung,exynos-tmu" for TMU
+ - samsung,mux : mux Address for the TMU to enable TMU core:
+ - samsung,min-temp : Minimum temperature, default is 25:
+ - samsung,max-temp : Maximum temperature, defalut set to 125:
+ - samsung,start-warning : temp at which TMU start giving warning:
+ - samsung,start-tripping : temp at which system will trip and shutdown:
+ - samsung,efuse-min-value : SOC efuse min value:
+ - samsung,efuse-value : SOC actual efuse value:
+ - samsung,efuse-max-value : SoC max efuse value:
+ - samsung,slope : Gain of amplifier, default is 268470274:
+ - samsung,dc-value : DC value of TMU, default is 25:
+
+Example:
+
+tmu@10060000 {
+	compatible = "samsung,exynos-tmu"
+	samsung,mux = <6>;
+	samsung,min-temp = <25>;
+	samsung,max-temp = <125>;
+	samsung,start-warning = <95>;
+	samsung,start-tripping = <105>;
+	samsung,efuse-min-value	= <40>;
+	samsung,efuse-value = <55>;
+	samsung,efuse-max-value	= <100>;
+	samsung,slope = <268470274>;
+	samsung,dc-value = <25>;
+};
diff --git a/include/fdtdec.h b/include/fdtdec.h
index da3c85f..2d74cec 100644
--- a/include/fdtdec.h
+++ b/include/fdtdec.h
@@ -70,6 +70,7 @@  enum fdt_compat_id {
 	COMPAT_NVIDIA_TEGRA20_DC,	/* Tegra 2 Display controller */
 	COMPAT_SMSC_LAN9215,		/* SMSC 10/100 Ethernet LAN9215 */
 	COMPAT_SAMSUNG_EXYNOS5_SROMC,	/* Exynos5 SROMC */
+	COMPAT_SAMSUNG_EXYNOS_TMU,	/* Exynos TMU */
 
 	COMPAT_COUNT,
 };
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 85e733c..2b9df7f 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -47,6 +47,7 @@  static const char * const compat_names[COMPAT_COUNT] = {
 	COMPAT(NVIDIA_TEGRA20_DC, "nvidia,tegra20-dc"),
 	COMPAT(SMSC_LAN9215, "smsc,lan9215"),
 	COMPAT(SAMSUNG_EXYNOS5_SROMC, "samsung,exynos-sromc"),
+	COMPAT(SAMSUNG_EXYNOS_TMU, "samsung,exynos-tmu"),
 };
 
 const char *fdtdec_get_compatible(enum fdt_compat_id id)