1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Google Gru-Kevin Rev 6+ board device tree s 3 * Google Gru-Kevin Rev 6+ board device tree source 4 * 4 * 5 * Copyright 2016-2017 Google, Inc 5 * Copyright 2016-2017 Google, Inc 6 */ 6 */ 7 7 8 /dts-v1/; 8 /dts-v1/; 9 #include "rk3399-gru-chromebook.dtsi" 9 #include "rk3399-gru-chromebook.dtsi" 10 #include <dt-bindings/input/linux-event-codes. 10 #include <dt-bindings/input/linux-event-codes.h> 11 11 12 /* 12 /* 13 * Kevin-specific things 13 * Kevin-specific things 14 * 14 * 15 * Things in this section should use names fro 15 * Things in this section should use names from Kevin schematic since no 16 * equivalent exists in Gru schematic. If ref 16 * equivalent exists in Gru schematic. If referring to signals that exist 17 * in Gru we use the Gru names, though. Confu 17 * in Gru we use the Gru names, though. Confusing enough for you? 18 */ 18 */ 19 / { 19 / { 20 model = "Google Kevin"; 20 model = "Google Kevin"; 21 compatible = "google,kevin-rev15", "go 21 compatible = "google,kevin-rev15", "google,kevin-rev14", 22 "google,kevin-rev13", "go 22 "google,kevin-rev13", "google,kevin-rev12", 23 "google,kevin-rev11", "go 23 "google,kevin-rev11", "google,kevin-rev10", 24 "google,kevin-rev9", "goo 24 "google,kevin-rev9", "google,kevin-rev8", 25 "google,kevin-rev7", "goo 25 "google,kevin-rev7", "google,kevin-rev6", 26 "google,kevin", "google,g 26 "google,kevin", "google,gru", "rockchip,rk3399"; 27 chassis-type = "convertible"; << 28 27 29 /* Power tree */ 28 /* Power tree */ 30 29 31 p3_3v_dig: p3-3v-dig { 30 p3_3v_dig: p3-3v-dig { 32 compatible = "regulator-fixed" 31 compatible = "regulator-fixed"; 33 regulator-name = "p3.3v_dig"; 32 regulator-name = "p3.3v_dig"; 34 pinctrl-names = "default"; 33 pinctrl-names = "default"; 35 pinctrl-0 = <&cpu3_pen_pwr_en> 34 pinctrl-0 = <&cpu3_pen_pwr_en>; 36 35 37 enable-active-high; 36 enable-active-high; 38 gpio = <&gpio4 30 GPIO_ACTIVE_ 37 gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; 39 vin-supply = <&pp3300>; 38 vin-supply = <&pp3300>; 40 }; 39 }; 41 40 42 edp_panel: edp-panel { 41 edp_panel: edp-panel { 43 compatible = "sharp,lq123p1jx3 !! 42 compatible = "sharp,lq123p1jx31", "simple-panel"; 44 backlight = <&backlight>; 43 backlight = <&backlight>; 45 power-supply = <&pp3300_disp>; 44 power-supply = <&pp3300_disp>; 46 45 47 panel-timing { 46 panel-timing { 48 clock-frequency = <266 47 clock-frequency = <266666667>; 49 hactive = <2400>; 48 hactive = <2400>; 50 hfront-porch = <48>; 49 hfront-porch = <48>; 51 hback-porch = <84>; 50 hback-porch = <84>; 52 hsync-len = <32>; 51 hsync-len = <32>; 53 hsync-active = <0>; 52 hsync-active = <0>; 54 vactive = <1600>; 53 vactive = <1600>; 55 vfront-porch = <3>; 54 vfront-porch = <3>; 56 vback-porch = <120>; 55 vback-porch = <120>; 57 vsync-len = <10>; 56 vsync-len = <10>; 58 vsync-active = <0>; 57 vsync-active = <0>; 59 }; 58 }; 60 59 61 port { 60 port { 62 panel_in_edp: endpoint 61 panel_in_edp: endpoint { 63 remote-endpoin 62 remote-endpoint = <&edp_out_panel>; 64 }; 63 }; 65 }; 64 }; 66 }; 65 }; 67 66 68 thermistor_ppvar_bigcpu: thermistor-pp 67 thermistor_ppvar_bigcpu: thermistor-ppvar-bigcpu { 69 compatible = "murata,ncp15wb47 68 compatible = "murata,ncp15wb473"; 70 pullup-uv = <1800000>; 69 pullup-uv = <1800000>; 71 pullup-ohm = <25500>; 70 pullup-ohm = <25500>; 72 pulldown-ohm = <0>; 71 pulldown-ohm = <0>; 73 io-channels = <&saradc 2>; 72 io-channels = <&saradc 2>; 74 #thermal-sensor-cells = <0>; 73 #thermal-sensor-cells = <0>; 75 }; 74 }; 76 75 77 thermistor_ppvar_litcpu: thermistor-pp 76 thermistor_ppvar_litcpu: thermistor-ppvar-litcpu { 78 compatible = "murata,ncp15wb47 77 compatible = "murata,ncp15wb473"; 79 pullup-uv = <1800000>; 78 pullup-uv = <1800000>; 80 pullup-ohm = <25500>; 79 pullup-ohm = <25500>; 81 pulldown-ohm = <0>; 80 pulldown-ohm = <0>; 82 io-channels = <&saradc 3>; 81 io-channels = <&saradc 3>; 83 #thermal-sensor-cells = <0>; 82 #thermal-sensor-cells = <0>; 84 }; 83 }; 85 }; 84 }; 86 85 87 &backlight { 86 &backlight { 88 pwms = <&cros_ec_pwm 1>; 87 pwms = <&cros_ec_pwm 1>; 89 }; 88 }; 90 89 91 &gpio_keys { 90 &gpio_keys { 92 pinctrl-names = "default"; 91 pinctrl-names = "default"; 93 pinctrl-0 = <&bt_host_wake_l>, <&cpu1_ 92 pinctrl-0 = <&bt_host_wake_l>, <&cpu1_pen_eject>; 94 93 95 switch-pen-insert { !! 94 pen-insert { 96 label = "Pen Insert"; 95 label = "Pen Insert"; 97 /* Insert = low, eject = high 96 /* Insert = low, eject = high */ 98 gpios = <&gpio0 13 GPIO_ACTIVE 97 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 99 linux,code = <SW_PEN_INSERTED> 98 linux,code = <SW_PEN_INSERTED>; 100 linux,input-type = <EV_SW>; 99 linux,input-type = <EV_SW>; 101 wakeup-source; 100 wakeup-source; 102 }; 101 }; 103 }; 102 }; 104 103 105 &thermal_zones { 104 &thermal_zones { 106 bigcpu_reg_thermal: bigcpu-reg-thermal 105 bigcpu_reg_thermal: bigcpu-reg-thermal { 107 polling-delay-passive = <100>; 106 polling-delay-passive = <100>; /* milliseconds */ 108 polling-delay = <1000>; /* mil 107 polling-delay = <1000>; /* milliseconds */ 109 thermal-sensors = <&thermistor 108 thermal-sensors = <&thermistor_ppvar_bigcpu 0>; 110 sustainable-power = <4000>; 109 sustainable-power = <4000>; 111 110 112 ppvar_bigcpu_trips: trips { 111 ppvar_bigcpu_trips: trips { 113 ppvar_bigcpu_on: ppvar 112 ppvar_bigcpu_on: ppvar-bigcpu-on { 114 temperature = 113 temperature = <40000>; /* millicelsius */ 115 hysteresis = < 114 hysteresis = <2000>; /* millicelsius */ 116 type = "passiv 115 type = "passive"; 117 }; 116 }; 118 117 119 ppvar_bigcpu_alert: pp 118 ppvar_bigcpu_alert: ppvar-bigcpu-alert { 120 temperature = 119 temperature = <50000>; /* millicelsius */ 121 hysteresis = < 120 hysteresis = <2000>; /* millicelsius */ 122 type = "passiv 121 type = "passive"; 123 }; 122 }; 124 123 125 ppvar_bigcpu_crit: ppv 124 ppvar_bigcpu_crit: ppvar-bigcpu-crit { 126 temperature = 125 temperature = <90000>; /* millicelsius */ 127 hysteresis = < 126 hysteresis = <0>; /* millicelsius */ 128 type = "critic 127 type = "critical"; 129 }; 128 }; 130 }; 129 }; 131 130 132 cooling-maps { 131 cooling-maps { 133 map0 { 132 map0 { 134 trip = <&ppvar 133 trip = <&ppvar_bigcpu_alert>; 135 cooling-device 134 cooling-device = 136 <&cpu_ 135 <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 137 <&cpu_ 136 <&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 138 <&cpu_ 137 <&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 139 <&cpu_ 138 <&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 140 contribution = 139 contribution = <4096>; 141 }; 140 }; 142 map1 { 141 map1 { 143 trip = <&ppvar 142 trip = <&ppvar_bigcpu_alert>; 144 cooling-device 143 cooling-device = 145 <&cpu_ 144 <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 146 <&cpu_ 145 <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 147 contribution = 146 contribution = <1024>; 148 }; 147 }; 149 }; 148 }; 150 }; 149 }; 151 150 152 litcpu_reg_thermal: litcpu-reg-thermal 151 litcpu_reg_thermal: litcpu-reg-thermal { 153 polling-delay-passive = <100>; 152 polling-delay-passive = <100>; /* milliseconds */ 154 polling-delay = <1000>; /* mil 153 polling-delay = <1000>; /* milliseconds */ 155 thermal-sensors = <&thermistor 154 thermal-sensors = <&thermistor_ppvar_litcpu 0>; 156 sustainable-power = <4000>; 155 sustainable-power = <4000>; 157 156 158 ppvar_litcpu_trips: trips { 157 ppvar_litcpu_trips: trips { 159 ppvar_litcpu_on: ppvar 158 ppvar_litcpu_on: ppvar-litcpu-on { 160 temperature = 159 temperature = <40000>; /* millicelsius */ 161 hysteresis = < 160 hysteresis = <2000>; /* millicelsius */ 162 type = "passiv 161 type = "passive"; 163 }; 162 }; 164 163 165 ppvar_litcpu_alert: pp 164 ppvar_litcpu_alert: ppvar-litcpu-alert { 166 temperature = 165 temperature = <50000>; /* millicelsius */ 167 hysteresis = < 166 hysteresis = <2000>; /* millicelsius */ 168 type = "passiv 167 type = "passive"; 169 }; 168 }; 170 169 171 ppvar_litcpu_crit: ppv 170 ppvar_litcpu_crit: ppvar-litcpu-crit { 172 temperature = 171 temperature = <90000>; /* millicelsius */ 173 hysteresis = < 172 hysteresis = <0>; /* millicelsius */ 174 type = "critic 173 type = "critical"; 175 }; 174 }; 176 }; 175 }; 177 }; 176 }; 178 }; 177 }; 179 178 180 ap_i2c_tpm: &i2c0 { 179 ap_i2c_tpm: &i2c0 { 181 status = "okay"; 180 status = "okay"; 182 181 183 clock-frequency = <400000>; 182 clock-frequency = <400000>; 184 183 185 /* These are relatively safe rise/fall 184 /* These are relatively safe rise/fall times. */ 186 i2c-scl-falling-time-ns = <50>; 185 i2c-scl-falling-time-ns = <50>; 187 i2c-scl-rising-time-ns = <300>; 186 i2c-scl-rising-time-ns = <300>; 188 187 189 tpm: tpm@20 { 188 tpm: tpm@20 { 190 compatible = "infineon,slb9645 189 compatible = "infineon,slb9645tt"; 191 reg = <0x20>; 190 reg = <0x20>; 192 powered-while-suspended; 191 powered-while-suspended; 193 }; 192 }; 194 }; 193 }; 195 194 196 ap_i2c_dig: &i2c2 { 195 ap_i2c_dig: &i2c2 { 197 status = "okay"; 196 status = "okay"; 198 197 199 clock-frequency = <400000>; 198 clock-frequency = <400000>; 200 199 201 /* These are relatively safe rise/fall 200 /* These are relatively safe rise/fall times. */ 202 i2c-scl-falling-time-ns = <50>; 201 i2c-scl-falling-time-ns = <50>; 203 i2c-scl-rising-time-ns = <300>; 202 i2c-scl-rising-time-ns = <300>; 204 203 205 digitizer: digitizer@9 { 204 digitizer: digitizer@9 { 206 /* wacom,w9013 */ 205 /* wacom,w9013 */ 207 compatible = "hid-over-i2c"; 206 compatible = "hid-over-i2c"; 208 reg = <0x9>; 207 reg = <0x9>; 209 pinctrl-names = "default"; 208 pinctrl-names = "default"; 210 pinctrl-0 = <&cpu1_dig_irq_l & 209 pinctrl-0 = <&cpu1_dig_irq_l &cpu1_dig_pdct_l>; 211 210 212 vdd-supply = <&p3_3v_dig>; 211 vdd-supply = <&p3_3v_dig>; 213 post-power-on-delay-ms = <100> 212 post-power-on-delay-ms = <100>; 214 213 215 interrupt-parent = <&gpio2>; 214 interrupt-parent = <&gpio2>; 216 interrupts = <4 IRQ_TYPE_LEVEL 215 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 217 216 218 hid-descr-addr = <0x1>; 217 hid-descr-addr = <0x1>; 219 }; 218 }; 220 }; 219 }; 221 220 222 /* Adjustments to things in the gru baseboard 221 /* Adjustments to things in the gru baseboard */ 223 222 224 &ap_i2c_tp { 223 &ap_i2c_tp { 225 trackpad@4a { 224 trackpad@4a { 226 compatible = "atmel,maxtouch"; 225 compatible = "atmel,maxtouch"; 227 reg = <0x4a>; 226 reg = <0x4a>; 228 pinctrl-names = "default"; 227 pinctrl-names = "default"; 229 pinctrl-0 = <&trackpad_int_l>; 228 pinctrl-0 = <&trackpad_int_l>; 230 interrupt-parent = <&gpio1>; 229 interrupt-parent = <&gpio1>; 231 interrupts = <4 IRQ_TYPE_LEVEL 230 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 232 linux,gpio-keymap = <KEY_RESER 231 linux,gpio-keymap = <KEY_RESERVED 233 KEY_RESER 232 KEY_RESERVED 234 KEY_RESER 233 KEY_RESERVED 235 BTN_LEFT> 234 BTN_LEFT>; 236 wakeup-source; 235 wakeup-source; 237 }; 236 }; 238 }; 237 }; 239 238 240 &ap_i2c_ts { 239 &ap_i2c_ts { 241 touchscreen@4b { 240 touchscreen@4b { 242 compatible = "atmel,maxtouch"; 241 compatible = "atmel,maxtouch"; 243 reg = <0x4b>; 242 reg = <0x4b>; 244 pinctrl-names = "default"; 243 pinctrl-names = "default"; 245 pinctrl-0 = <&touch_int_l>; 244 pinctrl-0 = <&touch_int_l>; 246 interrupt-parent = <&gpio3>; 245 interrupt-parent = <&gpio3>; 247 interrupts = <13 IRQ_TYPE_LEVE 246 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 248 }; 247 }; 249 }; 248 }; 250 249 251 &ppvar_bigcpu_pwm { 250 &ppvar_bigcpu_pwm { 252 regulator-min-microvolt = <798674>; 251 regulator-min-microvolt = <798674>; 253 regulator-max-microvolt = <1302172>; 252 regulator-max-microvolt = <1302172>; 254 }; 253 }; 255 254 256 &ppvar_bigcpu { 255 &ppvar_bigcpu { 257 regulator-min-microvolt = <798674>; 256 regulator-min-microvolt = <798674>; 258 regulator-max-microvolt = <1302172>; 257 regulator-max-microvolt = <1302172>; 259 ctrl-voltage-range = <798674 1302172>; 258 ctrl-voltage-range = <798674 1302172>; 260 }; 259 }; 261 260 262 &ppvar_litcpu_pwm { 261 &ppvar_litcpu_pwm { 263 regulator-min-microvolt = <799065>; 262 regulator-min-microvolt = <799065>; 264 regulator-max-microvolt = <1303738>; 263 regulator-max-microvolt = <1303738>; 265 }; 264 }; 266 265 267 &ppvar_litcpu { 266 &ppvar_litcpu { 268 regulator-min-microvolt = <799065>; 267 regulator-min-microvolt = <799065>; 269 regulator-max-microvolt = <1303738>; 268 regulator-max-microvolt = <1303738>; 270 ctrl-voltage-range = <799065 1303738>; 269 ctrl-voltage-range = <799065 1303738>; 271 }; 270 }; 272 271 273 &ppvar_gpu_pwm { 272 &ppvar_gpu_pwm { 274 regulator-min-microvolt = <785782>; 273 regulator-min-microvolt = <785782>; 275 regulator-max-microvolt = <1217729>; 274 regulator-max-microvolt = <1217729>; 276 }; 275 }; 277 276 278 &ppvar_gpu { 277 &ppvar_gpu { 279 regulator-min-microvolt = <785782>; 278 regulator-min-microvolt = <785782>; 280 regulator-max-microvolt = <1217729>; 279 regulator-max-microvolt = <1217729>; 281 ctrl-voltage-range = <785782 1217729>; 280 ctrl-voltage-range = <785782 1217729>; 282 }; 281 }; 283 282 284 &ppvar_centerlogic_pwm { 283 &ppvar_centerlogic_pwm { 285 regulator-min-microvolt = <800069>; 284 regulator-min-microvolt = <800069>; 286 regulator-max-microvolt = <1049692>; 285 regulator-max-microvolt = <1049692>; 287 }; 286 }; 288 287 289 &ppvar_centerlogic { 288 &ppvar_centerlogic { 290 regulator-min-microvolt = <800069>; 289 regulator-min-microvolt = <800069>; 291 regulator-max-microvolt = <1049692>; 290 regulator-max-microvolt = <1049692>; 292 ctrl-voltage-range = <800069 1049692>; 291 ctrl-voltage-range = <800069 1049692>; 293 }; 292 }; 294 293 295 &saradc { 294 &saradc { 296 status = "okay"; 295 status = "okay"; 297 vref-supply = <&pp1800_ap_io>; 296 vref-supply = <&pp1800_ap_io>; 298 }; 297 }; 299 298 300 &mvl_wifi { 299 &mvl_wifi { 301 marvell,wakeup-pin = <14>; /* GPIO_14 300 marvell,wakeup-pin = <14>; /* GPIO_14 on Marvell */ 302 }; 301 }; 303 302 304 &pinctrl { 303 &pinctrl { 305 digitizer { 304 digitizer { 306 /* Has external pullup */ 305 /* Has external pullup */ 307 cpu1_dig_irq_l: cpu1-dig-irq-l 306 cpu1_dig_irq_l: cpu1-dig-irq-l { 308 rockchip,pins = <2 RK_ 307 rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 309 }; 308 }; 310 309 311 /* Has external pullup */ 310 /* Has external pullup */ 312 cpu1_dig_pdct_l: cpu1-dig-pdct 311 cpu1_dig_pdct_l: cpu1-dig-pdct-l { 313 rockchip,pins = <2 RK_ 312 rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 314 }; 313 }; 315 }; 314 }; 316 315 317 discrete-regulators { 316 discrete-regulators { 318 cpu3_pen_pwr_en: cpu3-pen-pwr- 317 cpu3_pen_pwr_en: cpu3-pen-pwr-en { 319 rockchip,pins = <4 RK_ 318 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 320 }; 319 }; 321 }; 320 }; 322 321 323 pen { 322 pen { 324 cpu1_pen_eject: cpu1-pen-eject 323 cpu1_pen_eject: cpu1-pen-eject { 325 rockchip,pins = <0 RK_ 324 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 326 }; 325 }; 327 }; 326 }; 328 }; 327 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.