diff -ur linux-orange-pi-4.14.orig/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts linux-orange-pi-4.14-rc8/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts --- linux-orange-pi-4.14.orig/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts 2017-11-11 22:41:46.000000000 +0100 +++ linux-orange-pi-4.14-rc8/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts 2017-11-18 14:21:22.237701570 +0100 @@ -48,6 +48,8 @@ #include #include +#include +#include / { model = "Xunlong Orange Pi Prime"; @@ -120,6 +122,88 @@ }; }; +&cpu0 { + operating-points = < + /* kHz uV */ + /*1608000 1500000 + 1584000 1500000 + 1560000 1500000 + 1536000 1500000 + 1512000 1490000 + 1488000 1480000 + 1464000 1460000 + 1440000 1440000 + 1416000 1420000 + 1392000 1400000 + 1368000 1360000 + 1344000 1340000 */ + 1320000 1320000 + 1296000 1300000 + 1248000 1280000 + 1200000 1260000 + 1152000 1240000 + 1104000 1220000 + 1056000 1200000 + 1008000 1180000 + 960000 1160000 + 912000 1140000 + 816000 1120000 + 720000 1100000 + 624000 1080000 + 480000 1060000 + 240000 1040000 + 120000 1020000 + >; + #cooling-cells = <2>; + cooling-min-level = <0>; + cooling-max-level = <15>; + cpu0-supply = <&vdd_cpu>; +}; + +&cpu_thermal { + trips { + cpu_warm: cpu_warm { + temperature = <75000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_hot: cpu_hot { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; +/* + cpu_very_hot: cpu_very_hot { + temperature = <90000>; + hysteresis = <2000>; + type = "passive"; + }; +*/ + cpu_crit: cpu_crit { + temperature = <105000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + cpu_warm_limit_cpu { + trip = <&cpu_warm>; + cooling-device = <&cpu0 THERMAL_NO_LIMIT 4>; // 0==MAX FREQUENCY + }; + cpu_hot_limit_cpu { + trip = <&cpu_hot>; + cooling-device = <&cpu0 5 THERMAL_NO_LIMIT>; + }; +/* + cpu_very_hot_limit_cpu { + trip = <&cpu_very_hot>; + cooling-device = <&cpu0 14 THERMAL_NO_LIMIT>; + }; +*/ + }; +}; + &codec { allwinner,audio-routing = "Line Out", "LINEOUT", @@ -201,6 +285,24 @@ status = "okay"; }; +&r_i2c { + status = "okay"; + + vdd_cpu: regulator@65 { + compatible = "silergy,sy8106a"; + reg = <0x65>; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1500000>; + regulator-ramp-delay = <200>; + regulator-boot-on; + regulator-always-on; + }; +}; + +&sound_hdmi { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>;