arm64: tegra: Hook up EMC cooling device

The external memory controller can be used as a cooling device for the
LPDDR chips. Hook it up to the "mem" thermal zone of the SOCTHERM block
so that temperature polling can be enabled on the EMC when a given
temperature is exceeded.

Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
Thierry Reding 2020-04-09 19:34:29 +02:00
parent cd9350c55b
commit e12325f699
1 changed files with 23 additions and 5 deletions

View File

@ -895,7 +895,7 @@
#iommu-cells = <1>;
};
external-memory-controller@7001b000 {
emc: external-memory-controller@7001b000 {
compatible = "nvidia,tegra210-emc";
reg = <0x0 0x7001b000 0x0 0x1000>,
<0x0 0x7001e000 0x0 0x1000>,
@ -904,6 +904,7 @@
clock-names = "emc";
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
nvidia,memory-controller = <&mc>;
#cooling-cells = <2>;
};
sata@70020000 {
@ -1561,6 +1562,18 @@
<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
trips {
dram_nominal: mem-nominal-trip {
temperature = <50000>;
hysteresis = <1000>;
type = "passive";
};
dram_throttle: mem-throttle-trip {
temperature = <70000>;
hysteresis = <1000>;
type = "active";
};
mem-shutdown-trip {
temperature = <103000>;
hysteresis = <0>;
@ -1569,10 +1582,15 @@
};
cooling-maps {
/*
* There are currently no cooling maps,
* because there are no cooling devices.
*/
dram-passive {
cooling-device = <&emc 0 0>;
trip = <&dram_nominal>;
};
dram-active {
cooling-device = <&emc 1 1>;
trip = <&dram_throttle>;
};
};
};