Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v4.5-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64

Merge "rockchip dts64 changes for 4.5" from Heiko Stuebner:

First round of 64bit devicetree changes for Rockchip socs.
This includes support for the evaluation board of the rk3368
as well as the dts-part for the newly added thermal management
support, rk3368 pwm nodes and an alias.

* tag 'v4.5-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
arm64: dts: rockchip: add rk3368 evaluation board
arm64: dts: rockchip: add the pwm node info for RK3368 SoCs
arm64: dts: rockchip: Enable the Thermal on R88 board
arm64: dts: rockchip: Add main thermal info to rk3368.dtsi
arm64: dts: rockchip: Add the thermal data found on RK3368
arm64: dts: rockchip: Setup rk3368 ethernet0 alias for u-boot

+677
+4
Documentation/devicetree/bindings/arm/rockchip.txt
··· 69 69 "google,veyron-speedy-rev3", "google,veyron-speedy-rev2", 70 70 "google,veyron-speedy", "google,veyron", "rockchip,rk3288"; 71 71 72 + - Rockchip RK3368 evb: 73 + Required root node properties: 74 + - compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368"; 75 + 72 76 - Rockchip R88 board: 73 77 Required root node properties: 74 78 - compatible = "rockchip,r88", "rockchip,rk3368";
+1
arch/arm64/boot/dts/rockchip/Makefile
··· 1 + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb 1 2 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb 2 3 3 4 always := $(dtb-y)
+176
arch/arm64/boot/dts/rockchip/rk3368-evb-act8846.dts
··· 1 + /* 2 + * Copyright (c) 2015 Caesar Wang <wxt@rock-chips.com> 3 + * 4 + * This file is dual-licensed: you can use it either under the terms 5 + * of the GPL or the X11 license, at your option. Note that this dual 6 + * licensing only applies to this file, and not this project as a 7 + * whole. 8 + * 9 + * a) This file is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public License as 11 + * published by the Free Software Foundation; either version 2 of the 12 + * License, or (at your option) any later version. 13 + * 14 + * This file is distributed in the hope that it will be useful, 15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 + * GNU General Public License for more details. 18 + * 19 + * Or, alternatively, 20 + * 21 + * b) Permission is hereby granted, free of charge, to any person 22 + * obtaining a copy of this software and associated documentation 23 + * files (the "Software"), to deal in the Software without 24 + * restriction, including without limitation the rights to use, 25 + * copy, modify, merge, publish, distribute, sublicense, and/or 26 + * sell copies of the Software, and to permit persons to whom the 27 + * Software is furnished to do so, subject to the following 28 + * conditions: 29 + * 30 + * The above copyright notice and this permission notice shall be 31 + * included in all copies or substantial portions of the Software. 32 + * 33 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 + * OTHER DEALINGS IN THE SOFTWARE. 41 + */ 42 + 43 + /dts-v1/; 44 + #include "rk3368-evb.dtsi" 45 + 46 + / { 47 + model = "Rockchip RK3368 EVB with ACT8846 pmic"; 48 + compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368"; 49 + }; 50 + 51 + &i2c0 { 52 + clock-frequency = <400000>; 53 + 54 + vdd_cpu: syr827@40 { 55 + compatible = "silergy,syr827"; 56 + reg = <0x40>; 57 + fcs,suspend-voltage-selector = <1>; 58 + regulator-name = "vdd_cpu"; 59 + regulator-min-microvolt = <850000>; 60 + regulator-max-microvolt = <1350000>; 61 + regulator-always-on; 62 + regulator-boot-on; 63 + vin-supply = <&vcc_sys>; 64 + }; 65 + 66 + vdd_gpu: syr828@41 { 67 + compatible = "silergy,syr828"; 68 + reg = <0x41>; 69 + fcs,suspend-voltage-selector = <1>; 70 + regulator-name = "vdd_gpu"; 71 + regulator-min-microvolt = <850000>; 72 + regulator-max-microvolt = <1350000>; 73 + regulator-always-on; 74 + vin-supply = <&vcc_sys>; 75 + }; 76 + 77 + act8846: act8846@5a { 78 + compatible = "active-semi,act8846"; 79 + reg = <0x5a>; 80 + status = "okay"; 81 + 82 + vp1-supply = <&vcc_sys>; 83 + vp2-supply = <&vcc_sys>; 84 + vp3-supply = <&vcc_sys>; 85 + vp4-supply = <&vcc_sys>; 86 + inl1-supply = <&vcc_io>; 87 + inl2-supply = <&vcc_sys>; 88 + inl3-supply = <&vcc_20>; 89 + 90 + regulators { 91 + vcc_ddr: REG1 { 92 + regulator-name = "VCC_DDR"; 93 + regulator-min-microvolt = <1200000>; 94 + regulator-max-microvolt = <1200000>; 95 + regulator-always-on; 96 + }; 97 + 98 + vcc_io: REG2 { 99 + regulator-name = "VCC_IO"; 100 + regulator-min-microvolt = <3300000>; 101 + regulator-max-microvolt = <3300000>; 102 + regulator-always-on; 103 + }; 104 + 105 + vdd_log: REG3 { 106 + regulator-name = "VDD_LOG"; 107 + regulator-min-microvolt = <1000000>; 108 + regulator-max-microvolt = <1000000>; 109 + regulator-always-on; 110 + }; 111 + 112 + vcc_20: REG4 { 113 + regulator-name = "VCC_20"; 114 + regulator-min-microvolt = <2000000>; 115 + regulator-max-microvolt = <2000000>; 116 + regulator-always-on; 117 + }; 118 + 119 + vccio_sd: REG5 { 120 + regulator-name = "VCCIO_SD"; 121 + regulator-min-microvolt = <3300000>; 122 + regulator-max-microvolt = <3300000>; 123 + regulator-always-on; 124 + }; 125 + 126 + vdd10_lcd: REG6 { 127 + regulator-name = "VDD10_LCD"; 128 + regulator-min-microvolt = <1000000>; 129 + regulator-max-microvolt = <1000000>; 130 + regulator-always-on; 131 + }; 132 + 133 + vcca_codec: REG7 { 134 + regulator-name = "VCCA_CODEC"; 135 + regulator-min-microvolt = <3300000>; 136 + regulator-max-microvolt = <3300000>; 137 + regulator-always-on; 138 + }; 139 + 140 + vcca_tp: REG8 { 141 + regulator-name = "VCCA_TP"; 142 + regulator-min-microvolt = <3300000>; 143 + regulator-max-microvolt = <3300000>; 144 + regulator-always-on; 145 + }; 146 + 147 + vccio_pmu: REG9 { 148 + regulator-name = "VCCIO_PMU"; 149 + regulator-min-microvolt = <3300000>; 150 + regulator-max-microvolt = <3300000>; 151 + regulator-always-on; 152 + }; 153 + 154 + vdd_10: REG10 { 155 + regulator-name = "VDD_10"; 156 + regulator-min-microvolt = <1000000>; 157 + regulator-max-microvolt = <1000000>; 158 + regulator-always-on; 159 + }; 160 + 161 + vcc_18: REG11 { 162 + regulator-name = "VCC_18"; 163 + regulator-min-microvolt = <1800000>; 164 + regulator-max-microvolt = <1800000>; 165 + regulator-always-on; 166 + }; 167 + 168 + vcc18_lcd: REG12 { 169 + regulator-name = "VCC18_LCD"; 170 + regulator-min-microvolt = <1800000>; 171 + regulator-max-microvolt = <1800000>; 172 + regulator-always-on; 173 + }; 174 + }; 175 + }; 176 + };
+281
arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
··· 1 + /* 2 + * Copyright (c) 2015 Caesar Wang <wxt@rock-chips.com> 3 + * 4 + * This file is dual-licensed: you can use it either under the terms 5 + * of the GPL or the X11 license, at your option. Note that this dual 6 + * licensing only applies to this file, and not this project as a 7 + * whole. 8 + * 9 + * a) This file is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public License as 11 + * published by the Free Software Foundation; either version 2 of the 12 + * License, or (at your option) any later version. 13 + * 14 + * This file is distributed in the hope that it will be useful, 15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 + * GNU General Public License for more details. 18 + * 19 + * Or, alternatively, 20 + * 21 + * b) Permission is hereby granted, free of charge, to any person 22 + * obtaining a copy of this software and associated documentation 23 + * files (the "Software"), to deal in the Software without 24 + * restriction, including without limitation the rights to use, 25 + * copy, modify, merge, publish, distribute, sublicense, and/or 26 + * sell copies of the Software, and to permit persons to whom the 27 + * Software is furnished to do so, subject to the following 28 + * conditions: 29 + * 30 + * The above copyright notice and this permission notice shall be 31 + * included in all copies or substantial portions of the Software. 32 + * 33 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 + * OTHER DEALINGS IN THE SOFTWARE. 41 + */ 42 + 43 + #include <dt-bindings/pwm/pwm.h> 44 + #include "rk3368.dtsi" 45 + 46 + / { 47 + chosen { 48 + stdout-path = "serial2:115200n8"; 49 + }; 50 + 51 + memory { 52 + device_type = "memory"; 53 + reg = <0x0 0x0 0x0 0x40000000>; 54 + }; 55 + 56 + backlight: backlight { 57 + compatible = "pwm-backlight"; 58 + brightness-levels = < 59 + 0 1 2 3 4 5 6 7 60 + 8 9 10 11 12 13 14 15 61 + 16 17 18 19 20 21 22 23 62 + 24 25 26 27 28 29 30 31 63 + 32 33 34 35 36 37 38 39 64 + 40 41 42 43 44 45 46 47 65 + 48 49 50 51 52 53 54 55 66 + 56 57 58 59 60 61 62 63 67 + 64 65 66 67 68 69 70 71 68 + 72 73 74 75 76 77 78 79 69 + 80 81 82 83 84 85 86 87 70 + 88 89 90 91 92 93 94 95 71 + 96 97 98 99 100 101 102 103 72 + 104 105 106 107 108 109 110 111 73 + 112 113 114 115 116 117 118 119 74 + 120 121 122 123 124 125 126 127 75 + 128 129 130 131 132 133 134 135 76 + 136 137 138 139 140 141 142 143 77 + 144 145 146 147 148 149 150 151 78 + 152 153 154 155 156 157 158 159 79 + 160 161 162 163 164 165 166 167 80 + 168 169 170 171 172 173 174 175 81 + 176 177 178 179 180 181 182 183 82 + 184 185 186 187 188 189 190 191 83 + 192 193 194 195 196 197 198 199 84 + 200 201 202 203 204 205 206 207 85 + 208 209 210 211 212 213 214 215 86 + 216 217 218 219 220 221 222 223 87 + 224 225 226 227 228 229 230 231 88 + 232 233 234 235 236 237 238 239 89 + 240 241 242 243 244 245 246 247 90 + 248 249 250 251 252 253 254 255>; 91 + default-brightness-level = <128>; 92 + enable-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>; 93 + pinctrl-names = "default"; 94 + pinctrl-0 = <&bl_en>; 95 + pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>; 96 + pwm-delay-us = <10000>; 97 + }; 98 + 99 + emmc_pwrseq: emmc-pwrseq { 100 + compatible = "mmc-pwrseq-emmc"; 101 + pinctrl-0 = <&emmc_reset>; 102 + pinctrl-names = "default"; 103 + reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; 104 + }; 105 + 106 + keys: gpio-keys { 107 + compatible = "gpio-keys"; 108 + #address-cells = <1>; 109 + #size-cells = <0>; 110 + pinctrl-names = "default"; 111 + pinctrl-0 = <&pwr_key>; 112 + 113 + button@0 { 114 + gpio-key,wakeup = <1>; 115 + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; 116 + label = "GPIO Power"; 117 + linux,code = <116>; 118 + }; 119 + }; 120 + 121 + /* supplies both host and otg */ 122 + vcc_host: vcc-host-regulator { 123 + compatible = "regulator-fixed"; 124 + enable-active-high; 125 + gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 126 + pinctrl-names = "default"; 127 + pinctrl-0 = <&host_vbus_drv>; 128 + regulator-name = "vcc_host"; 129 + regulator-always-on; 130 + regulator-boot-on; 131 + vin-supply = <&vcc_sys>; 132 + }; 133 + 134 + vcc_lan: vcc-lan-regulator { 135 + compatible = "regulator-fixed"; 136 + regulator-name = "vcc_lan"; 137 + regulator-min-microvolt = <3300000>; 138 + regulator-max-microvolt = <3300000>; 139 + regulator-always-on; 140 + regulator-boot-on; 141 + vin-supply = <&vcc_io>; 142 + }; 143 + 144 + vcc_sys: vcc-sys-regulator { 145 + compatible = "regulator-fixed"; 146 + regulator-name = "vcc_sys"; 147 + regulator-min-microvolt = <5000000>; 148 + regulator-max-microvolt = <5000000>; 149 + regulator-always-on; 150 + regulator-boot-on; 151 + }; 152 + }; 153 + 154 + &emmc { 155 + broken-cd; 156 + bus-width = <8>; 157 + cap-mmc-highspeed; 158 + disable-wp; 159 + mmc-pwrseq = <&emmc_pwrseq>; 160 + non-removable; 161 + num-slots = <1>; 162 + pinctrl-names = "default"; 163 + pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 164 + status = "okay"; 165 + }; 166 + 167 + &gmac { 168 + phy-supply = <&vcc_lan>; 169 + phy-mode = "rmii"; 170 + clock_in_out = "output"; 171 + snps,reset-gpio = <&gpio3 12 0>; 172 + snps,reset-active-low; 173 + snps,reset-delays-us = <0 10000 1000000>; 174 + pinctrl-names = "default"; 175 + pinctrl-0 = <&rmii_pins>; 176 + tx_delay = <0x30>; 177 + rx_delay = <0x10>; 178 + status = "ok"; 179 + }; 180 + 181 + &i2c0 { 182 + status = "okay"; 183 + }; 184 + 185 + &pinctrl { 186 + pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 187 + bias-disable; 188 + drive-strength = <8>; 189 + }; 190 + 191 + pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 192 + bias-pull-up; 193 + drive-strength = <8>; 194 + }; 195 + 196 + backlight { 197 + bl_en: bl-en { 198 + rockchip,pins = <0 20 RK_FUNC_GPIO &pcfg_pull_none>; 199 + }; 200 + }; 201 + 202 + emmc { 203 + emmc_bus8: emmc-bus8 { 204 + rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 205 + <1 19 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 206 + <1 20 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 207 + <1 21 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 208 + <1 22 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 209 + <1 23 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 210 + <1 24 RK_FUNC_2 &pcfg_pull_up_drv_8ma>, 211 + <1 25 RK_FUNC_2 &pcfg_pull_up_drv_8ma>; 212 + }; 213 + 214 + emmc-clk { 215 + rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none_drv_8ma>; 216 + }; 217 + 218 + emmc-cmd { 219 + rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up_drv_8ma>; 220 + }; 221 + 222 + emmc_reset: emmc-reset { 223 + rockchip,pins = <2 3 RK_FUNC_GPIO &pcfg_pull_none>; 224 + }; 225 + }; 226 + 227 + keys { 228 + pwr_key: pwr-key { 229 + rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>; 230 + }; 231 + }; 232 + 233 + pmic { 234 + pmic_int: pmic-int { 235 + rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_pull_up>; 236 + }; 237 + }; 238 + 239 + sdio { 240 + wifi_reg_on: wifi-reg-on { 241 + rockchip,pins = <3 4 RK_FUNC_GPIO &pcfg_pull_none>; 242 + }; 243 + 244 + bt_rst: bt-rst { 245 + rockchip,pins = <3 5 RK_FUNC_GPIO &pcfg_pull_none>; 246 + }; 247 + }; 248 + 249 + usb { 250 + host_vbus_drv: host-vbus-drv { 251 + rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_none>; 252 + }; 253 + }; 254 + }; 255 + 256 + &pwm0 { 257 + status = "okay"; 258 + }; 259 + 260 + &tsadc { 261 + rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 262 + rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 263 + status = "okay"; 264 + }; 265 + 266 + &uart2 { 267 + status = "okay"; 268 + }; 269 + 270 + &usb_host0_ehci { 271 + status = "okay"; 272 + }; 273 + 274 + &usb_otg { 275 + dr_mode = "host"; 276 + status = "okay"; 277 + }; 278 + 279 + &wdt { 280 + status = "okay"; 281 + };
+6
arch/arm64/boot/dts/rockchip/rk3368-r88.dts
··· 336 336 status = "okay"; 337 337 }; 338 338 339 + &tsadc { 340 + rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 341 + rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 342 + status = "okay"; 343 + }; 344 + 339 345 &uart2 { 340 346 status = "okay"; 341 347 };
+112
arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi
··· 1 + /* 2 + * Device Tree Source for RK3368 SoC thermal 3 + * 4 + * Copyright (c) 2015, Fuzhou Rockchip Electronics Co., Ltd 5 + * Caesar Wang <wxt@rock-chips.com> 6 + * 7 + * This file is dual-licensed: you can use it either under the terms 8 + * of the GPL or the X11 license, at your option. Note that this dual 9 + * licensing only applies to this file, and not this project as a 10 + * whole. 11 + * 12 + * a) This file is free software; you can redistribute it and/or 13 + * modify it under the terms of the GNU General Public License as 14 + * published by the Free Software Foundation; either version 2 of the 15 + * License, or (at your option) any later version. 16 + * 17 + * This file is distributed in the hope that it will be useful, 18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 + * GNU General Public License for more details. 21 + * 22 + * Or, alternatively, 23 + * 24 + * b) Permission is hereby granted, free of charge, to any person 25 + * obtaining a copy of this software and associated documentation 26 + * files (the "Software"), to deal in the Software without 27 + * restriction, including without limitation the rights to use, 28 + * copy, modify, merge, publish, distribute, sublicense, and/or 29 + * sell copies of the Software, and to permit persons to whom the 30 + * Software is furnished to do so, subject to the following 31 + * conditions: 32 + * 33 + * The above copyright notice and this permission notice shall be 34 + * included in all copies or substantial portions of the Software. 35 + * 36 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 + * OTHER DEALINGS IN THE SOFTWARE. 44 + */ 45 + 46 + #include <dt-bindings/thermal/thermal.h> 47 + 48 + cpu_thermal: cpu_thermal { 49 + polling-delay-passive = <100>; /* milliseconds */ 50 + polling-delay = <5000>; /* milliseconds */ 51 + 52 + thermal-sensors = <&tsadc 0>; 53 + 54 + trips { 55 + cpu_alert0: cpu_alert0 { 56 + temperature = <75000>; /* millicelsius */ 57 + hysteresis = <2000>; /* millicelsius */ 58 + type = "passive"; 59 + }; 60 + cpu_alert1: cpu_alert1 { 61 + temperature = <80000>; /* millicelsius */ 62 + hysteresis = <2000>; /* millicelsius */ 63 + type = "passive"; 64 + }; 65 + cpu_crit: cpu_crit { 66 + temperature = <95000>; /* millicelsius */ 67 + hysteresis = <2000>; /* millicelsius */ 68 + type = "critical"; 69 + }; 70 + }; 71 + 72 + cooling-maps { 73 + map0 { 74 + trip = <&cpu_alert0>; 75 + cooling-device = 76 + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 77 + }; 78 + map1 { 79 + trip = <&cpu_alert1>; 80 + cooling-device = 81 + <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 82 + }; 83 + }; 84 + }; 85 + 86 + gpu_thermal: gpu_thermal { 87 + polling-delay-passive = <100>; /* milliseconds */ 88 + polling-delay = <5000>; /* milliseconds */ 89 + 90 + thermal-sensors = <&tsadc 1>; 91 + 92 + trips { 93 + gpu_alert0: gpu_alert0 { 94 + temperature = <80000>; /* millicelsius */ 95 + hysteresis = <2000>; /* millicelsius */ 96 + type = "passive"; 97 + }; 98 + gpu_crit: gpu_crit { 99 + temperature = <1150000>; /* millicelsius */ 100 + hysteresis = <2000>; /* millicelsius */ 101 + type = "critical"; 102 + }; 103 + }; 104 + 105 + cooling-maps { 106 + map0 { 107 + trip = <&gpu_alert0>; 108 + cooling-device = 109 + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 110 + }; 111 + }; 112 + };
+97
arch/arm64/boot/dts/rockchip/rk3368.dtsi
··· 45 45 #include <dt-bindings/interrupt-controller/irq.h> 46 46 #include <dt-bindings/interrupt-controller/arm-gic.h> 47 47 #include <dt-bindings/pinctrl/rockchip.h> 48 + #include <dt-bindings/thermal/thermal.h> 48 49 49 50 / { 50 51 compatible = "rockchip,rk3368"; ··· 54 53 #size-cells = <2>; 55 54 56 55 aliases { 56 + ethernet0 = &gmac; 57 57 i2c0 = &i2c0; 58 58 i2c1 = &i2c1; 59 59 i2c2 = &i2c2; ··· 125 123 reg = <0x0 0x0>; 126 124 cpu-idle-states = <&cpu_sleep>; 127 125 enable-method = "psci"; 126 + 127 + #cooling-cells = <2>; /* min followed by max */ 128 128 }; 129 129 130 130 cpu_l1: cpu@1 { ··· 159 155 reg = <0x0 0x100>; 160 156 cpu-idle-states = <&cpu_sleep>; 161 157 enable-method = "psci"; 158 + 159 + #cooling-cells = <2>; /* min followed by max */ 162 160 }; 163 161 164 162 cpu_b1: cpu@101 { ··· 410 404 status = "disabled"; 411 405 }; 412 406 407 + thermal-zones { 408 + #include "rk3368-thermal.dtsi" 409 + }; 410 + 411 + tsadc: tsadc@ff280000 { 412 + compatible = "rockchip,rk3368-tsadc"; 413 + reg = <0x0 0xff280000 0x0 0x100>; 414 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 415 + clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 416 + clock-names = "tsadc", "apb_pclk"; 417 + resets = <&cru SRST_TSADC>; 418 + reset-names = "tsadc-apb"; 419 + pinctrl-names = "init", "default", "sleep"; 420 + pinctrl-0 = <&otp_gpio>; 421 + pinctrl-1 = <&otp_out>; 422 + pinctrl-2 = <&otp_gpio>; 423 + #thermal-sensor-cells = <1>; 424 + rockchip,hw-tshut-temp = <95000>; 425 + status = "disabled"; 426 + }; 427 + 413 428 gmac: ethernet@ff290000 { 414 429 compatible = "rockchip,rk3368-gmac"; 415 430 reg = <0x0 0xff290000 0x0 0x10000>; ··· 495 468 clocks = <&cru PCLK_I2C2>; 496 469 pinctrl-names = "default"; 497 470 pinctrl-0 = <&i2c2_xfer>; 471 + status = "disabled"; 472 + }; 473 + 474 + pwm0: pwm@ff680000 { 475 + compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm"; 476 + reg = <0x0 0xff680000 0x0 0x10>; 477 + #pwm-cells = <3>; 478 + pinctrl-names = "default"; 479 + pinctrl-0 = <&pwm0_pin>; 480 + clocks = <&cru PCLK_PWM1>; 481 + clock-names = "pwm"; 482 + status = "disabled"; 483 + }; 484 + 485 + pwm1: pwm@ff680010 { 486 + compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm"; 487 + reg = <0x0 0xff680010 0x0 0x10>; 488 + #pwm-cells = <3>; 489 + pinctrl-names = "default"; 490 + pinctrl-0 = <&pwm1_pin>; 491 + clocks = <&cru PCLK_PWM1>; 492 + clock-names = "pwm"; 493 + status = "disabled"; 494 + }; 495 + 496 + pwm2: pwm@ff680020 { 497 + compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm"; 498 + reg = <0x0 0xff680020 0x0 0x10>; 499 + #pwm-cells = <3>; 500 + clocks = <&cru PCLK_PWM1>; 501 + clock-names = "pwm"; 502 + status = "disabled"; 503 + }; 504 + 505 + pwm3: pwm@ff680030 { 506 + compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm"; 507 + reg = <0x0 0xff680030 0x0 0x10>; 508 + #pwm-cells = <3>; 509 + pinctrl-names = "default"; 510 + pinctrl-0 = <&pwm3_pin>; 511 + clocks = <&cru PCLK_PWM1>; 512 + clock-names = "pwm"; 498 513 status = "disabled"; 499 514 }; 500 515 ··· 781 712 }; 782 713 }; 783 714 715 + pwm0 { 716 + pwm0_pin: pwm0-pin { 717 + rockchip,pins = <3 8 RK_FUNC_2 &pcfg_pull_none>; 718 + }; 719 + }; 720 + 721 + pwm1 { 722 + pwm1_pin: pwm1-pin { 723 + rockchip,pins = <0 8 RK_FUNC_2 &pcfg_pull_none>; 724 + }; 725 + }; 726 + 727 + pwm3 { 728 + pwm3_pin: pwm3-pin { 729 + rockchip,pins = <3 29 RK_FUNC_3 &pcfg_pull_none>; 730 + }; 731 + }; 732 + 784 733 sdio0 { 785 734 sdio0_bus1: sdio0-bus1 { 786 735 rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>; ··· 913 826 }; 914 827 spi2_tx: spi2-tx { 915 828 rockchip,pins = <0 11 RK_FUNC_2 &pcfg_pull_up>; 829 + }; 830 + }; 831 + 832 + tsadc { 833 + otp_gpio: otp-gpio { 834 + rockchip,pins = <0 10 RK_FUNC_GPIO &pcfg_pull_none>; 835 + }; 836 + 837 + otp_out: otp-out { 838 + rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>; 916 839 }; 917 840 }; 918 841