Commit e4a78fd2 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'samsung-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.7

1. Various fixes:
 - Reboot of some Odroid Exynos4412-based boards,
 - MMC regulators on Arndale5250,
 - Memory mapping on Artik5,
 - GPU power domain on Exynos542x boards,
 - LCD SPI polarity on UniversalC210,
2. Add thermal cooling of GPU on Odroid XU3/XU4 family,
3. Add dynamic-power-coefficient to Exynos5422 for energy model.

* tag 'samsung-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board
  ARM: dts: exynos: Fix G3D power domain supply on Arndale Octa boards
  ARM: dts: exynos: Fix G3D power domain supply on Odroid XU3/XU4/HC1 boards
  ARM: dts: exynos: Fix memory on Artik5 evaluation boards
  ARM: dts: exynos: Make fixed regulators always-on on Arndale5250
  ARM: dts: exynos: Fix MMC regulator on Arndale5250 board
  ARM: dts: exynos: Add dynamic-power-coefficient to Exynos5422 CPUs
  ARM: dts: exynos: Add GPU thermal zone cooling maps for Odroid XU3/XU4/HC1
  ARM: dts: exynos: Fix broken reboot on some Odroid U2/X2/U3 boards

Link: https://lore.kernel.org/r/20200316175652.5604-3-krzk@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 6eda1390 32a1671f
...@@ -23,7 +23,7 @@ chosen { ...@@ -23,7 +23,7 @@ chosen {
memory@40000000 { memory@40000000 {
device_type = "memory"; device_type = "memory";
reg = <0x40000000 0x1ff00000>; reg = <0x40000000 0x1f800000>;
}; };
firmware@205f000 { firmware@205f000 {
......
...@@ -115,7 +115,7 @@ spi-lcd { ...@@ -115,7 +115,7 @@ spi-lcd {
gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>; gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>; gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>; num-chipselects = <1>;
cs-gpios = <&gpy4 3 GPIO_ACTIVE_HIGH>; cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
lcd@0 { lcd@0 {
compatible = "samsung,ld9040"; compatible = "samsung,ld9040";
...@@ -124,8 +124,6 @@ lcd@0 { ...@@ -124,8 +124,6 @@ lcd@0 {
vci-supply = <&ldo17_reg>; vci-supply = <&ldo17_reg>;
reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
spi-max-frequency = <1200000>; spi-max-frequency = <1200000>;
spi-cpol;
spi-cpha;
power-on-delay = <10>; power-on-delay = <10>;
reset-delay = <10>; reset-delay = <10>;
panel-width-mm = <90>; panel-width-mm = <90>;
......
...@@ -165,6 +165,15 @@ &cpu0 { ...@@ -165,6 +165,15 @@ &cpu0 {
cpu0-supply = <&buck2_reg>; cpu0-supply = <&buck2_reg>;
}; };
&cpu0_opp_table {
opp-1000000000 {
opp-suspend;
};
opp-800000000 {
/delete-property/opp-suspend;
};
};
&pinctrl_1 { &pinctrl_1 {
gpio_power_key: power_key { gpio_power_key: power_key {
samsung,pins = "gpx1-3"; samsung,pins = "gpx1-3";
......
...@@ -93,22 +93,23 @@ main_dc_reg: regulator@0 { ...@@ -93,22 +93,23 @@ main_dc_reg: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>; reg = <0>;
regulator-name = "MAIN_DC"; regulator-name = "MAIN_DC";
regulator-always-on;
}; };
mmc_reg: regulator@1 { mmc_reg: regulator@1 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <1>; reg = <1>;
regulator-name = "VDD_33ON_2.8V"; regulator-name = "VDD_MMC";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; regulator-always-on;
enable-active-high;
}; };
reg_hdmi_en: regulator@2 { reg_hdmi_en: regulator@2 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <2>; reg = <2>;
regulator-name = "hdmi-en"; regulator-name = "hdmi-en";
regulator-always-on;
}; };
vcc_1v2_reg: regulator@3 { vcc_1v2_reg: regulator@3 {
...@@ -117,6 +118,7 @@ vcc_1v2_reg: regulator@3 { ...@@ -117,6 +118,7 @@ vcc_1v2_reg: regulator@3 {
regulator-name = "VCC_1V2"; regulator-name = "VCC_1V2";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-always-on;
}; };
vcc_1v8_reg: regulator@4 { vcc_1v8_reg: regulator@4 {
...@@ -125,6 +127,7 @@ vcc_1v8_reg: regulator@4 { ...@@ -125,6 +127,7 @@ vcc_1v8_reg: regulator@4 {
regulator-name = "VCC_1V8"; regulator-name = "VCC_1V8";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on;
}; };
vcc_3v3_reg: regulator@5 { vcc_3v3_reg: regulator@5 {
...@@ -133,6 +136,7 @@ vcc_3v3_reg: regulator@5 { ...@@ -133,6 +136,7 @@ vcc_3v3_reg: regulator@5 {
regulator-name = "VCC_3V3"; regulator-name = "VCC_3V3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-always-on;
}; };
}; };
......
...@@ -584,6 +584,7 @@ ldo27_reg: LDO27 { ...@@ -584,6 +584,7 @@ ldo27_reg: LDO27 {
regulator-name = "PVDD_G3DS_1V0"; regulator-name = "PVDD_G3DS_1V0";
regulator-min-microvolt = <800000>; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1100000>; regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-state-mem { regulator-state-mem {
regulator-on-in-suspend; regulator-on-in-suspend;
...@@ -697,6 +698,7 @@ buck4_reg: BUCK4 { ...@@ -697,6 +698,7 @@ buck4_reg: BUCK4 {
regulator-name = "PVDD_G3D_1V0"; regulator-name = "PVDD_G3D_1V0";
regulator-min-microvolt = <800000>; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>; regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-state-mem { regulator-state-mem {
regulator-off-in-suspend; regulator-off-in-suspend;
......
...@@ -31,6 +31,7 @@ cpu0: cpu@100 { ...@@ -31,6 +31,7 @@ cpu0: cpu@100 {
operating-points-v2 = <&cluster_a7_opp_table>; operating-points-v2 = <&cluster_a7_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <539>; capacity-dmips-mhz = <539>;
dynamic-power-coefficient = <90>;
}; };
cpu1: cpu@101 { cpu1: cpu@101 {
...@@ -43,6 +44,7 @@ cpu1: cpu@101 { ...@@ -43,6 +44,7 @@ cpu1: cpu@101 {
operating-points-v2 = <&cluster_a7_opp_table>; operating-points-v2 = <&cluster_a7_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <539>; capacity-dmips-mhz = <539>;
dynamic-power-coefficient = <90>;
}; };
cpu2: cpu@102 { cpu2: cpu@102 {
...@@ -55,6 +57,7 @@ cpu2: cpu@102 { ...@@ -55,6 +57,7 @@ cpu2: cpu@102 {
operating-points-v2 = <&cluster_a7_opp_table>; operating-points-v2 = <&cluster_a7_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <539>; capacity-dmips-mhz = <539>;
dynamic-power-coefficient = <90>;
}; };
cpu3: cpu@103 { cpu3: cpu@103 {
...@@ -67,6 +70,7 @@ cpu3: cpu@103 { ...@@ -67,6 +70,7 @@ cpu3: cpu@103 {
operating-points-v2 = <&cluster_a7_opp_table>; operating-points-v2 = <&cluster_a7_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <539>; capacity-dmips-mhz = <539>;
dynamic-power-coefficient = <90>;
}; };
cpu4: cpu@0 { cpu4: cpu@0 {
...@@ -79,6 +83,7 @@ cpu4: cpu@0 { ...@@ -79,6 +83,7 @@ cpu4: cpu@0 {
operating-points-v2 = <&cluster_a15_opp_table>; operating-points-v2 = <&cluster_a15_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <310>;
}; };
cpu5: cpu@1 { cpu5: cpu@1 {
...@@ -91,6 +96,7 @@ cpu5: cpu@1 { ...@@ -91,6 +96,7 @@ cpu5: cpu@1 {
operating-points-v2 = <&cluster_a15_opp_table>; operating-points-v2 = <&cluster_a15_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <310>;
}; };
cpu6: cpu@2 { cpu6: cpu@2 {
...@@ -103,6 +109,7 @@ cpu6: cpu@2 { ...@@ -103,6 +109,7 @@ cpu6: cpu@2 {
operating-points-v2 = <&cluster_a15_opp_table>; operating-points-v2 = <&cluster_a15_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <310>;
}; };
cpu7: cpu@3 { cpu7: cpu@3 {
...@@ -115,6 +122,7 @@ cpu7: cpu@3 { ...@@ -115,6 +122,7 @@ cpu7: cpu@3 {
operating-points-v2 = <&cluster_a15_opp_table>; operating-points-v2 = <&cluster_a15_opp_table>;
#cooling-cells = <2>; /* min followed by max */ #cooling-cells = <2>; /* min followed by max */
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <310>;
}; };
}; };
}; };
......
...@@ -901,6 +901,7 @@ buck4_reg: BUCK4 { ...@@ -901,6 +901,7 @@ buck4_reg: BUCK4 {
regulator-min-microvolt = <800000>; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>; regulator-max-microvolt = <1400000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on;
regulator-state-mem { regulator-state-mem {
regulator-off-in-suspend; regulator-off-in-suspend;
......
...@@ -215,6 +215,36 @@ map1 { ...@@ -215,6 +215,36 @@ map1 {
}; };
}; };
}; };
gpu_thermal: gpu-thermal {
thermal-sensors = <&tmu_gpu 0>;
trips {
gpu_alert0: gpu-alert-0 {
temperature = <70000>;
hysteresis = <10000>;
type = "active";
};
gpu_alert1: gpu-alert-1 {
temperature = <85000>;
hysteresis = <10000>;
type = "active";
};
gpu_crit0: gpu-crit-0 {
temperature = <120000>;
hysteresis = <0>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&gpu_alert0>;
cooling-device = <&gpu 0 2>;
};
map1 {
trip = <&gpu_alert1>;
cooling-device = <&gpu 3 6>;
};
};
};
}; };
}; };
......
...@@ -357,6 +357,65 @@ cpu3_cooling_map4: map4 { ...@@ -357,6 +357,65 @@ cpu3_cooling_map4: map4 {
}; };
}; };
}; };
gpu_thermal: gpu-thermal {
thermal-sensors = <&tmu_gpu 0>;
polling-delay-passive = <250>;
polling-delay = <0>;
trips {
gpu_alert0: gpu-alert-0 {
temperature = <50000>;
hysteresis = <5000>;
type = "active";
};
gpu_alert1: gpu-alert-1 {
temperature = <60000>;
hysteresis = <5000>;
type = "active";
};
gpu_alert2: gpu-alert-2 {
temperature = <70000>;
hysteresis = <5000>;
type = "active";
};
gpu_crit0: gpu-crit-0 {
temperature = <120000>;
hysteresis = <0>;
type = "critical";
};
gpu_alert3: gpu-alert-3 {
temperature = <70000>;
hysteresis = <10000>;
type = "passive";
};
gpu_alert4: gpu-alert-4 {
temperature = <85000>;
hysteresis = <10000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&gpu_alert0>;
cooling-device = <&fan0 0 1>;
};
map1 {
trip = <&gpu_alert1>;
cooling-device = <&fan0 1 2>;
};
map2 {
trip = <&gpu_alert2>;
cooling-device = <&fan0 2 3>;
};
map3 {
trip = <&gpu_alert3>;
cooling-device = <&gpu 0 2>;
};
map4 {
trip = <&gpu_alert4>;
cooling-device = <&gpu 3 6>;
};
};
};
}; };
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment