1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Google Herobrine baseboard device tree sour 3 * Google Herobrine baseboard device tree source 4 * 4 * 5 * The set of things in this file is a bit loo 5 * The set of things in this file is a bit loosely defined. It's roughly 6 * defined as the set of things that the child 6 * defined as the set of things that the child boards happen to have in 7 * common. Since all of the child boards start 7 * common. Since all of the child boards started from the same original 8 * design this is hopefully a large set of thi 8 * design this is hopefully a large set of things but as more derivatives 9 * appear things may "bubble down" out of this 9 * appear things may "bubble down" out of this file. For things that are 10 * part of the reference design but might not 10 * part of the reference design but might not exist on child nodes we will 11 * follow the lead of the SoC dtsi files and l 11 * follow the lead of the SoC dtsi files and leave their status as "disabled". 12 * 12 * 13 * Copyright 2022 Google LLC. 13 * Copyright 2022 Google LLC. 14 */ 14 */ 15 15 16 #include <dt-bindings/input/gpio-keys.h> 16 #include <dt-bindings/input/gpio-keys.h> 17 #include <dt-bindings/input/input.h> 17 #include <dt-bindings/input/input.h> 18 #include <dt-bindings/leds/common.h> << 19 18 20 #include "sc7280-qcard.dtsi" 19 #include "sc7280-qcard.dtsi" 21 #include "sc7280-chrome-common.dtsi" 20 #include "sc7280-chrome-common.dtsi" 22 21 23 / { 22 / { 24 chosen { 23 chosen { 25 stdout-path = "serial0:115200n 24 stdout-path = "serial0:115200n8"; 26 }; 25 }; 27 26 28 /* 27 /* 29 * FIXED REGULATORS 28 * FIXED REGULATORS 30 * 29 * 31 * Sort order: 30 * Sort order: 32 * 1. parents above children. 31 * 1. parents above children. 33 * 2. higher voltage above lower volta 32 * 2. higher voltage above lower voltage. 34 * 3. alphabetically by node name. 33 * 3. alphabetically by node name. 35 */ 34 */ 36 35 37 /* This is the top level supply and va 36 /* This is the top level supply and variable voltage */ 38 ppvar_sys: ppvar-sys-regulator { 37 ppvar_sys: ppvar-sys-regulator { 39 compatible = "regulator-fixed" 38 compatible = "regulator-fixed"; 40 regulator-name = "ppvar_sys"; 39 regulator-name = "ppvar_sys"; 41 regulator-always-on; 40 regulator-always-on; 42 regulator-boot-on; 41 regulator-boot-on; 43 }; 42 }; 44 43 45 /* This divides ppvar_sys by 2, so vol 44 /* This divides ppvar_sys by 2, so voltage is variable */ 46 src_vph_pwr: src-vph-pwr-regulator { 45 src_vph_pwr: src-vph-pwr-regulator { 47 compatible = "regulator-fixed" 46 compatible = "regulator-fixed"; 48 regulator-name = "src_vph_pwr" 47 regulator-name = "src_vph_pwr"; 49 48 50 /* EC turns on with switchcap_ 49 /* EC turns on with switchcap_on; always on for AP */ 51 regulator-always-on; 50 regulator-always-on; 52 regulator-boot-on; 51 regulator-boot-on; 53 52 54 vin-supply = <&ppvar_sys>; 53 vin-supply = <&ppvar_sys>; 55 }; 54 }; 56 55 57 pp5000_s5: pp5000-s5-regulator { 56 pp5000_s5: pp5000-s5-regulator { 58 compatible = "regulator-fixed" 57 compatible = "regulator-fixed"; 59 regulator-name = "pp5000_s5"; 58 regulator-name = "pp5000_s5"; 60 59 61 /* EC turns on with en_pp5000_ 60 /* EC turns on with en_pp5000_s5; always on for AP */ 62 regulator-always-on; 61 regulator-always-on; 63 regulator-boot-on; 62 regulator-boot-on; 64 regulator-min-microvolt = <500 63 regulator-min-microvolt = <5000000>; 65 regulator-max-microvolt = <500 64 regulator-max-microvolt = <5000000>; 66 65 67 vin-supply = <&ppvar_sys>; 66 vin-supply = <&ppvar_sys>; 68 }; 67 }; 69 68 70 pp3300_z1: pp3300-z1-regulator { 69 pp3300_z1: pp3300-z1-regulator { 71 compatible = "regulator-fixed" 70 compatible = "regulator-fixed"; 72 regulator-name = "pp3300_z1"; 71 regulator-name = "pp3300_z1"; 73 72 74 /* EC turns on with en_pp3300_ 73 /* EC turns on with en_pp3300_z1; always on for AP */ 75 regulator-always-on; 74 regulator-always-on; 76 regulator-boot-on; 75 regulator-boot-on; 77 regulator-min-microvolt = <330 76 regulator-min-microvolt = <3300000>; 78 regulator-max-microvolt = <330 77 regulator-max-microvolt = <3300000>; 79 78 80 vin-supply = <&ppvar_sys>; 79 vin-supply = <&ppvar_sys>; 81 }; 80 }; 82 81 83 pp3300_codec: pp3300-codec-regulator { 82 pp3300_codec: pp3300-codec-regulator { 84 compatible = "regulator-fixed" 83 compatible = "regulator-fixed"; 85 regulator-name = "pp3300_codec 84 regulator-name = "pp3300_codec"; 86 85 87 regulator-min-microvolt = <330 86 regulator-min-microvolt = <3300000>; 88 regulator-max-microvolt = <330 87 regulator-max-microvolt = <3300000>; 89 88 90 gpio = <&tlmm 105 GPIO_ACTIVE_ 89 gpio = <&tlmm 105 GPIO_ACTIVE_HIGH>; 91 enable-active-high; 90 enable-active-high; 92 pinctrl-names = "default"; 91 pinctrl-names = "default"; 93 pinctrl-0 = <&en_pp3300_codec> 92 pinctrl-0 = <&en_pp3300_codec>; 94 93 95 vin-supply = <&pp3300_z1>; 94 vin-supply = <&pp3300_z1>; 96 status = "disabled"; << 97 }; 95 }; 98 96 99 pp3300_left_in_mlb: pp3300-left-in-mlb 97 pp3300_left_in_mlb: pp3300-left-in-mlb-regulator { 100 compatible = "regulator-fixed" 98 compatible = "regulator-fixed"; 101 regulator-name = "pp3300_left_ 99 regulator-name = "pp3300_left_in_mlb"; 102 100 103 regulator-min-microvolt = <330 101 regulator-min-microvolt = <3300000>; 104 regulator-max-microvolt = <330 102 regulator-max-microvolt = <3300000>; 105 103 106 gpio = <&tlmm 80 GPIO_ACTIVE_H 104 gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>; 107 enable-active-high; 105 enable-active-high; 108 pinctrl-names = "default"; 106 pinctrl-names = "default"; 109 pinctrl-0 = <&en_pp3300_dx_edp 107 pinctrl-0 = <&en_pp3300_dx_edp>; 110 108 111 regulator-enable-ramp-delay = << 112 << 113 /* << 114 * eDP panel specs nearly alwa << 115 * shouldn't turn them off an << 116 * Add this as a board constra << 117 * between the panel and touch << 118 */ << 119 off-on-delay-us = <500000>; << 120 << 121 /* << 122 * Stat the regulator on. This << 123 * the slow process of powerin << 124 * probe the regulator. It als << 125 * off-on-delay immediately on << 126 */ << 127 regulator-boot-on; << 128 << 129 vin-supply = <&pp3300_z1>; 109 vin-supply = <&pp3300_z1>; 130 }; 110 }; 131 111 132 pp3300_mcu_fp: 112 pp3300_mcu_fp: 133 pp3300_fp_ls: 113 pp3300_fp_ls: 134 pp3300_fp_mcu: pp3300-fp-regulator { 114 pp3300_fp_mcu: pp3300-fp-regulator { 135 compatible = "regulator-fixed" 115 compatible = "regulator-fixed"; 136 regulator-name = "pp3300_fp"; 116 regulator-name = "pp3300_fp"; 137 117 138 regulator-min-microvolt = <330 118 regulator-min-microvolt = <3300000>; 139 regulator-max-microvolt = <330 119 regulator-max-microvolt = <3300000>; 140 120 141 regulator-boot-on; 121 regulator-boot-on; 142 regulator-always-on; 122 regulator-always-on; 143 123 144 /* 124 /* 145 * WARNING: it is intentional 125 * WARNING: it is intentional that GPIO 77 isn't listed here. 146 * The userspace script for up 126 * The userspace script for updating the fingerprint firmware 147 * needs to control the FP reg 127 * needs to control the FP regulators during a FW update, 148 * hence the signal can't be o 128 * hence the signal can't be owned by the kernel regulator. 149 */ 129 */ 150 130 151 pinctrl-names = "default"; 131 pinctrl-names = "default"; 152 pinctrl-0 = <&en_fp_rails>; 132 pinctrl-0 = <&en_fp_rails>; 153 133 154 vin-supply = <&pp3300_z1>; 134 vin-supply = <&pp3300_z1>; 155 status = "disabled"; << 156 }; 135 }; 157 136 158 pp3300_hub: pp3300-hub-regulator { 137 pp3300_hub: pp3300-hub-regulator { 159 compatible = "regulator-fixed" 138 compatible = "regulator-fixed"; 160 regulator-name = "pp3300_hub"; 139 regulator-name = "pp3300_hub"; 161 140 162 regulator-min-microvolt = <330 141 regulator-min-microvolt = <3300000>; 163 regulator-max-microvolt = <330 142 regulator-max-microvolt = <3300000>; 164 143 165 /* The BIOS leaves this regula << 166 regulator-boot-on; 144 regulator-boot-on; >> 145 regulator-always-on; 167 146 168 gpio = <&tlmm 157 GPIO_ACTIVE_ 147 gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>; 169 enable-active-high; 148 enable-active-high; 170 pinctrl-names = "default"; 149 pinctrl-names = "default"; 171 pinctrl-0 = <&hub_en>; 150 pinctrl-0 = <&hub_en>; 172 151 173 vin-supply = <&pp3300_z1>; 152 vin-supply = <&pp3300_z1>; 174 }; 153 }; 175 154 176 pp3300_tp: pp3300-tp-regulator { 155 pp3300_tp: pp3300-tp-regulator { 177 compatible = "regulator-fixed" 156 compatible = "regulator-fixed"; 178 regulator-name = "pp3300_tp"; 157 regulator-name = "pp3300_tp"; 179 158 180 regulator-min-microvolt = <330 159 regulator-min-microvolt = <3300000>; 181 regulator-max-microvolt = <330 160 regulator-max-microvolt = <3300000>; 182 161 183 /* AP turns on with PP1800_L18 162 /* AP turns on with PP1800_L18B_S0; always on for AP */ 184 regulator-always-on; 163 regulator-always-on; 185 regulator-boot-on; 164 regulator-boot-on; 186 165 187 vin-supply = <&pp3300_z1>; 166 vin-supply = <&pp3300_z1>; 188 }; 167 }; 189 168 190 pp3300_ssd: pp3300-ssd-regulator { 169 pp3300_ssd: pp3300-ssd-regulator { 191 compatible = "regulator-fixed" 170 compatible = "regulator-fixed"; 192 regulator-name = "pp3300_ssd"; 171 regulator-name = "pp3300_ssd"; 193 172 194 regulator-min-microvolt = <330 173 regulator-min-microvolt = <3300000>; 195 regulator-max-microvolt = <330 174 regulator-max-microvolt = <3300000>; 196 175 197 gpio = <&tlmm 51 GPIO_ACTIVE_H 176 gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; 198 enable-active-high; 177 enable-active-high; 199 pinctrl-names = "default"; 178 pinctrl-names = "default"; 200 pinctrl-0 = <&ssd_en>; 179 pinctrl-0 = <&ssd_en>; 201 180 202 /* << 203 * The bootloaer may have left << 204 * off while the PCIe clocks a << 205 * so it's better to default t << 206 */ << 207 regulator-boot-on; << 208 << 209 vin-supply = <&pp3300_z1>; 181 vin-supply = <&pp3300_z1>; 210 }; 182 }; 211 183 212 pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-r 184 pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator { 213 compatible = "regulator-fixed" 185 compatible = "regulator-fixed"; 214 regulator-name = "pp2850_vcm_w 186 regulator-name = "pp2850_vcm_wf_cam"; 215 187 216 regulator-min-microvolt = <285 188 regulator-min-microvolt = <2850000>; 217 regulator-max-microvolt = <285 189 regulator-max-microvolt = <2850000>; 218 190 219 gpio = <&tlmm 119 GPIO_ACTIVE_ 191 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 220 enable-active-high; 192 enable-active-high; 221 pinctrl-names = "default"; 193 pinctrl-names = "default"; 222 pinctrl-0 = <&wf_cam_en>; 194 pinctrl-0 = <&wf_cam_en>; 223 195 224 vin-supply = <&pp3300_z1>; 196 vin-supply = <&pp3300_z1>; 225 status = "disabled"; << 226 }; 197 }; 227 198 228 pp2850_wf_cam: pp2850-wf-cam-regulator 199 pp2850_wf_cam: pp2850-wf-cam-regulator { 229 compatible = "regulator-fixed" 200 compatible = "regulator-fixed"; 230 regulator-name = "pp2850_wf_ca 201 regulator-name = "pp2850_wf_cam"; 231 202 232 regulator-min-microvolt = <285 203 regulator-min-microvolt = <2850000>; 233 regulator-max-microvolt = <285 204 regulator-max-microvolt = <2850000>; 234 205 235 gpio = <&tlmm 119 GPIO_ACTIVE_ 206 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 236 enable-active-high; 207 enable-active-high; 237 /* 208 /* 238 * The pinconf can only be ref 209 * The pinconf can only be referenced once so we put it on the 239 * first regulator and comment 210 * first regulator and comment it out here. 240 * 211 * 241 * pinctrl-names = "default"; 212 * pinctrl-names = "default"; 242 * pinctrl-0 = <&wf_cam_en>; 213 * pinctrl-0 = <&wf_cam_en>; 243 */ 214 */ 244 215 245 vin-supply = <&pp3300_z1>; 216 vin-supply = <&pp3300_z1>; 246 status = "disabled"; << 247 }; 217 }; 248 218 249 pp1800_fp: pp1800-fp-regulator { 219 pp1800_fp: pp1800-fp-regulator { 250 compatible = "regulator-fixed" 220 compatible = "regulator-fixed"; 251 regulator-name = "pp1800_fp"; 221 regulator-name = "pp1800_fp"; 252 222 253 regulator-min-microvolt = <180 223 regulator-min-microvolt = <1800000>; 254 regulator-max-microvolt = <180 224 regulator-max-microvolt = <1800000>; 255 225 256 regulator-boot-on; 226 regulator-boot-on; 257 regulator-always-on; 227 regulator-always-on; 258 228 259 /* 229 /* 260 * WARNING: it is intentional 230 * WARNING: it is intentional that GPIO 77 isn't listed here. 261 * The userspace script for up 231 * The userspace script for updating the fingerprint firmware 262 * needs to control the FP reg 232 * needs to control the FP regulators during a FW update, 263 * hence the signal can't be o 233 * hence the signal can't be owned by the kernel regulator. 264 */ 234 */ 265 235 266 pinctrl-names = "default"; 236 pinctrl-names = "default"; 267 pinctrl-0 = <&en_fp_rails>; 237 pinctrl-0 = <&en_fp_rails>; 268 238 269 vin-supply = <&pp1800_l18b_s0> 239 vin-supply = <&pp1800_l18b_s0>; 270 status = "disabled"; 240 status = "disabled"; 271 }; 241 }; 272 242 273 pp1800_wf_cam: pp1800-wf-cam-regulator 243 pp1800_wf_cam: pp1800-wf-cam-regulator { 274 compatible = "regulator-fixed" 244 compatible = "regulator-fixed"; 275 regulator-name = "pp1800_wf_ca 245 regulator-name = "pp1800_wf_cam"; 276 246 277 regulator-min-microvolt = <180 247 regulator-min-microvolt = <1800000>; 278 regulator-max-microvolt = <180 248 regulator-max-microvolt = <1800000>; 279 249 280 gpio = <&tlmm 119 GPIO_ACTIVE_ 250 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 281 enable-active-high; 251 enable-active-high; 282 /* 252 /* 283 * The pinconf can only be ref 253 * The pinconf can only be referenced once so we put it on the 284 * first regulator and comment 254 * first regulator and comment it out here. 285 * 255 * 286 * pinctrl-names = "default"; 256 * pinctrl-names = "default"; 287 * pinctrl-0 = <&wf_cam_en>; 257 * pinctrl-0 = <&wf_cam_en>; 288 */ 258 */ 289 259 290 vin-supply = <&vreg_l19b_s0>; 260 vin-supply = <&vreg_l19b_s0>; 291 status = "disabled"; << 292 }; 261 }; 293 262 294 pp1200_wf_cam: pp1200-wf-cam-regulator 263 pp1200_wf_cam: pp1200-wf-cam-regulator { 295 compatible = "regulator-fixed" 264 compatible = "regulator-fixed"; 296 regulator-name = "pp1200_wf_ca 265 regulator-name = "pp1200_wf_cam"; 297 266 298 regulator-min-microvolt = <120 267 regulator-min-microvolt = <1200000>; 299 regulator-max-microvolt = <120 268 regulator-max-microvolt = <1200000>; 300 269 301 gpio = <&tlmm 119 GPIO_ACTIVE_ 270 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 302 enable-active-high; 271 enable-active-high; 303 /* 272 /* 304 * The pinconf can only be ref 273 * The pinconf can only be referenced once so we put it on the 305 * first regulator and comment 274 * first regulator and comment it out here. 306 * 275 * 307 * pinctrl-names = "default"; 276 * pinctrl-names = "default"; 308 * pinctrl-0 = <&wf_cam_en>; 277 * pinctrl-0 = <&wf_cam_en>; 309 */ 278 */ 310 279 311 vin-supply = <&pp3300_z1>; 280 vin-supply = <&pp3300_z1>; 312 status = "disabled"; << 313 }; 281 }; 314 282 315 /* BOARD-SPECIFIC TOP LEVEL NODES */ 283 /* BOARD-SPECIFIC TOP LEVEL NODES */ 316 284 317 max98360a: audio-codec-0 { !! 285 pwmleds { 318 compatible = "maxim,max98360a" << 319 pinctrl-names = "default"; << 320 pinctrl-0 = <&_en>; << 321 sdmode-gpios = <&tlmm 63 GPIO_ << 322 #sound-dai-cells = <0>; << 323 }; << 324 << 325 pwmleds: pwmleds { << 326 compatible = "pwm-leds"; 286 compatible = "pwm-leds"; 327 status = "disabled"; 287 status = "disabled"; 328 keyboard_backlight: led-0 { !! 288 keyboard_backlight: keyboard-backlight { >> 289 status = "disabled"; 329 label = "cros_ec::kbd_ 290 label = "cros_ec::kbd_backlight"; 330 function = LED_FUNCTIO << 331 pwms = <&cros_ec_pwm 0 291 pwms = <&cros_ec_pwm 0>; 332 max-brightness = <1023 292 max-brightness = <1023>; 333 }; 293 }; 334 }; 294 }; 335 }; 295 }; 336 296 337 /* 297 /* 338 * ADJUSTMENTS TO QCARD REGULATORS !! 298 * BOARD-LOCAL NAMES FOR REGULATORS THAT CONNECT TO QCARD 339 * << 340 * Mostly this is just board-local names for r << 341 * Qcard, but this also has some minor regulat << 342 * 299 * 343 * Names are only listed here if regulators go 300 * Names are only listed here if regulators go somewhere other than a 344 * testpoint. 301 * testpoint. 345 */ 302 */ 346 303 347 /* From Qcard to our board; ordered by PMIC-ID 304 /* From Qcard to our board; ordered by PMIC-ID / rail number */ 348 305 349 pp1256_s8b: &vreg_s8b_1p256 {}; 306 pp1256_s8b: &vreg_s8b_1p256 {}; 350 307 351 pp1800_l18b_s0: &vreg_l18b_1p8 {}; 308 pp1800_l18b_s0: &vreg_l18b_1p8 {}; 352 pp1800_l18b: &vreg_l18b_1p8 {}; 309 pp1800_l18b: &vreg_l18b_1p8 {}; 353 310 354 vreg_l19b_s0: &vreg_l19b_1p8 {}; 311 vreg_l19b_s0: &vreg_l19b_1p8 {}; 355 312 356 pp1800_alc5682: &vreg_l2c_1p8 {}; 313 pp1800_alc5682: &vreg_l2c_1p8 {}; 357 pp1800_l2c: &vreg_l2c_1p8 {}; 314 pp1800_l2c: &vreg_l2c_1p8 {}; 358 315 359 vreg_l4c: &vreg_l4c_1p8_3p0 {}; 316 vreg_l4c: &vreg_l4c_1p8_3p0 {}; 360 317 361 ppvar_l6c: &vreg_l6c_2p96 {}; 318 ppvar_l6c: &vreg_l6c_2p96 {}; 362 319 363 pp3000_l7c: &vreg_l7c_3p0 {}; 320 pp3000_l7c: &vreg_l7c_3p0 {}; 364 321 365 pp1800_prox: &vreg_l8c_1p8 {}; 322 pp1800_prox: &vreg_l8c_1p8 {}; 366 pp1800_l8c: &vreg_l8c_1p8 {}; 323 pp1800_l8c: &vreg_l8c_1p8 {}; 367 324 368 pp2950_l9c: &vreg_l9c_2p96 {}; 325 pp2950_l9c: &vreg_l9c_2p96 {}; 369 326 370 pp1800_lcm: &vreg_l12c_1p8 {}; 327 pp1800_lcm: &vreg_l12c_1p8 {}; 371 pp1800_mipi: &vreg_l12c_1p8 {}; 328 pp1800_mipi: &vreg_l12c_1p8 {}; 372 pp1800_l12c: &vreg_l12c_1p8 {}; 329 pp1800_l12c: &vreg_l12c_1p8 {}; 373 330 374 pp3300_lcm: &vreg_l13c_3p0 {}; 331 pp3300_lcm: &vreg_l13c_3p0 {}; 375 pp3300_mipi: &vreg_l13c_3p0 {}; 332 pp3300_mipi: &vreg_l13c_3p0 {}; 376 pp3300_l13c: &vreg_l13c_3p0 {}; 333 pp3300_l13c: &vreg_l13c_3p0 {}; 377 334 378 /* From our board to Qcard; ordered same as no 335 /* From our board to Qcard; ordered same as node definition above */ 379 336 380 vreg_edp_bl: &ppvar_sys {}; 337 vreg_edp_bl: &ppvar_sys {}; 381 338 382 ts_avdd: &pp3300_left_in_mlb {}; 339 ts_avdd: &pp3300_left_in_mlb {}; 383 vreg_edp_3p3: &pp3300_left_in_mlb {}; 340 vreg_edp_3p3: &pp3300_left_in_mlb {}; 384 341 385 /* Regulator overrides from Qcard */ << 386 << 387 /* << 388 * Herobrine boards only use l2c to power an e << 389 * alc5682) and we want that to be at 1.8V, no << 390 */ << 391 &vreg_l2c_1p8 { << 392 regulator-min-microvolt = <1800000>; << 393 }; << 394 << 395 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE 342 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 396 343 397 &edp_panel { << 398 /* Our board provides power to the qca << 399 power-supply = <&vreg_edp_3p3>; << 400 }; << 401 << 402 ap_sar_sensor_i2c: &i2c1 { << 403 clock-frequency = <400000>; << 404 status = "disabled"; << 405 << 406 ap_sar_sensor0: proximity@28 { << 407 compatible = "semtech,sx9324"; << 408 reg = <0x28>; << 409 #io-channel-cells = <1>; << 410 pinctrl-names = "default"; << 411 pinctrl-0 = <&sar0_irq_odl>; << 412 << 413 interrupt-parent = <&tlmm>; << 414 interrupts = <141 IRQ_TYPE_LEV << 415 << 416 vdd-supply = <&pp1800_prox>; << 417 << 418 label = "proximity-wifi_cellul << 419 status = "disabled"; << 420 }; << 421 << 422 ap_sar_sensor1: proximity@2c { << 423 compatible = "semtech,sx9324"; << 424 reg = <0x2c>; << 425 #io-channel-cells = <1>; << 426 pinctrl-names = "default"; << 427 pinctrl-0 = <&sar1_irq_odl>; << 428 << 429 interrupt-parent = <&tlmm>; << 430 interrupts = <140 IRQ_TYPE_LEV << 431 << 432 vdd-supply = <&pp1800_prox>; << 433 << 434 label = "proximity-wifi_cellul << 435 status = "disabled"; << 436 }; << 437 }; << 438 << 439 ap_i2c_tpm: &i2c14 { 344 ap_i2c_tpm: &i2c14 { 440 status = "okay"; 345 status = "okay"; 441 clock-frequency = <400000>; 346 clock-frequency = <400000>; 442 347 443 tpm@50 { 348 tpm@50 { 444 compatible = "google,cr50"; 349 compatible = "google,cr50"; 445 reg = <0x50>; 350 reg = <0x50>; 446 351 447 pinctrl-names = "default"; 352 pinctrl-names = "default"; 448 pinctrl-0 = <&gsc_ap_int_odl>; 353 pinctrl-0 = <&gsc_ap_int_odl>; 449 354 450 interrupt-parent = <&tlmm>; 355 interrupt-parent = <&tlmm>; 451 interrupts = <104 IRQ_TYPE_EDG 356 interrupts = <104 IRQ_TYPE_EDGE_RISING>; 452 }; 357 }; 453 }; 358 }; 454 359 455 &mdss { << 456 status = "okay"; << 457 }; << 458 << 459 &mdss_dp { << 460 status = "okay"; << 461 pinctrl-names = "default"; << 462 pinctrl-0 = <&dp_hot_plug_det>; << 463 }; << 464 << 465 &mdss_dp_out { << 466 data-lanes = <0 1>; << 467 link-frequencies = /bits/ 64 <16200000 << 468 }; << 469 << 470 /* NVMe drive, enabled on a per-board basis */ 360 /* NVMe drive, enabled on a per-board basis */ 471 &pcie1 { 361 &pcie1 { 472 pinctrl-names = "default"; 362 pinctrl-names = "default"; 473 pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_r 363 pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>; 474 364 475 perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW !! 365 perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>; 476 vddpe-3v3-supply = <&pp3300_ssd>; 366 vddpe-3v3-supply = <&pp3300_ssd>; 477 }; 367 }; 478 368 479 &pm8350c_pwm { << 480 status = "okay"; << 481 }; << 482 << 483 &pm8350c_pwm_backlight { << 484 status = "okay"; << 485 << 486 /* Our board provides power to the qca << 487 power-supply = <&vreg_edp_bl>; << 488 }; << 489 << 490 &pmk8350_rtc { 369 &pmk8350_rtc { 491 status = "disabled"; 370 status = "disabled"; 492 }; 371 }; 493 372 494 &qupv3_id_0 { 373 &qupv3_id_0 { 495 status = "okay"; 374 status = "okay"; 496 }; 375 }; 497 376 498 &qupv3_id_1 { 377 &qupv3_id_1 { 499 status = "okay"; 378 status = "okay"; 500 }; 379 }; 501 380 502 /* SD Card, enabled on a per-board basis */ 381 /* SD Card, enabled on a per-board basis */ 503 &sdhc_2 { 382 &sdhc_2 { 504 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, 383 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>; 505 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_ 384 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>; 506 385 507 vmmc-supply = <&pp2950_l9c>; 386 vmmc-supply = <&pp2950_l9c>; 508 vqmmc-supply = <&ppvar_l6c>; 387 vqmmc-supply = <&ppvar_l6c>; 509 388 510 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 389 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 511 }; 390 }; 512 391 513 &spi_flash { << 514 spi-max-frequency = <50000000>; << 515 }; << 516 << 517 /* Fingerprint, enabled on a per-board basis * 392 /* Fingerprint, enabled on a per-board basis */ 518 ap_spi_fp: &spi9 { 393 ap_spi_fp: &spi9 { 519 pinctrl-0 = <&qup_spi9_data_clk>, <&qu 394 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>; 520 395 521 cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; 396 cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; 522 397 523 cros_ec_fp: ec@0 { 398 cros_ec_fp: ec@0 { 524 compatible = "google,cros-ec-f !! 399 compatible = "google,cros-ec-spi"; 525 reg = <0>; 400 reg = <0>; 526 interrupt-parent = <&tlmm>; 401 interrupt-parent = <&tlmm>; 527 interrupts = <61 IRQ_TYPE_LEVE 402 interrupts = <61 IRQ_TYPE_LEVEL_LOW>; 528 pinctrl-names = "default"; 403 pinctrl-names = "default"; 529 pinctrl-0 = <&fp_to_ap_irq_l>, 404 pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>; 530 boot0-gpios = <&tlmm 68 GPIO_A << 531 reset-gpios = <&tlmm 78 GPIO_A << 532 spi-max-frequency = <3000000>; 405 spi-max-frequency = <3000000>; 533 vdd-supply = <&pp3300_fp_mcu>; << 534 }; 406 }; 535 }; 407 }; 536 408 537 ap_ec_spi: &spi10 { 409 ap_ec_spi: &spi10 { 538 status = "okay"; 410 status = "okay"; 539 pinctrl-0 = <&qup_spi10_data_clk>, <&q 411 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 540 412 541 cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 413 cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 542 414 543 cros_ec: ec@0 { 415 cros_ec: ec@0 { 544 compatible = "google,cros-ec-s 416 compatible = "google,cros-ec-spi"; 545 reg = <0>; 417 reg = <0>; 546 interrupt-parent = <&tlmm>; 418 interrupt-parent = <&tlmm>; 547 interrupts = <18 IRQ_TYPE_LEVE 419 interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 548 pinctrl-names = "default"; 420 pinctrl-names = "default"; 549 pinctrl-0 = <&ap_ec_int_l>; 421 pinctrl-0 = <&ap_ec_int_l>; 550 spi-max-frequency = <3000000>; 422 spi-max-frequency = <3000000>; 551 wakeup-source; << 552 423 553 cros_ec_pwm: pwm { 424 cros_ec_pwm: pwm { 554 compatible = "google,c 425 compatible = "google,cros-ec-pwm"; 555 #pwm-cells = <1>; 426 #pwm-cells = <1>; 556 }; 427 }; 557 428 558 i2c_tunnel: i2c-tunnel { 429 i2c_tunnel: i2c-tunnel { 559 compatible = "google,c 430 compatible = "google,cros-ec-i2c-tunnel"; 560 google,remote-bus = <0 431 google,remote-bus = <0>; 561 #address-cells = <1>; 432 #address-cells = <1>; 562 #size-cells = <0>; 433 #size-cells = <0>; 563 }; 434 }; 564 435 565 typec { 436 typec { 566 compatible = "google,c 437 compatible = "google,cros-ec-typec"; 567 #address-cells = <1>; 438 #address-cells = <1>; 568 #size-cells = <0>; 439 #size-cells = <0>; 569 440 570 usb_c0: connector@0 { 441 usb_c0: connector@0 { 571 compatible = " 442 compatible = "usb-c-connector"; 572 reg = <0>; 443 reg = <0>; 573 label = "left" 444 label = "left"; 574 power-role = " 445 power-role = "dual"; 575 data-role = "h 446 data-role = "host"; 576 try-power-role 447 try-power-role = "source"; 577 }; 448 }; 578 449 579 usb_c1: connector@1 { 450 usb_c1: connector@1 { 580 compatible = " 451 compatible = "usb-c-connector"; 581 reg = <1>; 452 reg = <1>; 582 label = "right 453 label = "right"; 583 power-role = " 454 power-role = "dual"; 584 data-role = "h 455 data-role = "host"; 585 try-power-role 456 try-power-role = "source"; 586 }; 457 }; 587 }; 458 }; 588 }; 459 }; 589 }; 460 }; 590 461 591 #include <arm/cros-ec-keyboard.dtsi> 462 #include <arm/cros-ec-keyboard.dtsi> 592 #include <arm/cros-ec-sbs.dtsi> 463 #include <arm/cros-ec-sbs.dtsi> 593 464 594 &keyboard_controller { 465 &keyboard_controller { 595 function-row-physmap = < 466 function-row-physmap = < 596 MATRIX_KEY(0x00, 0x02, 0) 467 MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 597 MATRIX_KEY(0x03, 0x02, 0) 468 MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 598 MATRIX_KEY(0x02, 0x02, 0) 469 MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 599 MATRIX_KEY(0x01, 0x02, 0) 470 MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 600 MATRIX_KEY(0x03, 0x04, 0) 471 MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 601 MATRIX_KEY(0x02, 0x04, 0) 472 MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 602 MATRIX_KEY(0x01, 0x04, 0) 473 MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 603 MATRIX_KEY(0x02, 0x09, 0) 474 MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 604 MATRIX_KEY(0x01, 0x09, 0) 475 MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 605 MATRIX_KEY(0x00, 0x04, 0) 476 MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 606 >; 477 >; 607 linux,keymap = < 478 linux,keymap = < 608 MATRIX_KEY(0x00, 0x02, KEY_BAC 479 MATRIX_KEY(0x00, 0x02, KEY_BACK) 609 MATRIX_KEY(0x03, 0x02, KEY_REF 480 MATRIX_KEY(0x03, 0x02, KEY_REFRESH) 610 MATRIX_KEY(0x02, 0x02, KEY_ZOO 481 MATRIX_KEY(0x02, 0x02, KEY_ZOOM) 611 MATRIX_KEY(0x01, 0x02, KEY_SCA 482 MATRIX_KEY(0x01, 0x02, KEY_SCALE) 612 MATRIX_KEY(0x03, 0x04, KEY_SYS 483 MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) 613 MATRIX_KEY(0x02, 0x04, KEY_BRI 484 MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) 614 MATRIX_KEY(0x01, 0x04, KEY_BRI 485 MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) 615 MATRIX_KEY(0x02, 0x09, KEY_MUT 486 MATRIX_KEY(0x02, 0x09, KEY_MUTE) 616 MATRIX_KEY(0x01, 0x09, KEY_VOL 487 MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) 617 MATRIX_KEY(0x00, 0x04, KEY_VOL 488 MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) 618 489 619 CROS_STD_MAIN_KEYMAP 490 CROS_STD_MAIN_KEYMAP 620 >; 491 >; 621 }; 492 }; 622 493 623 &usb_1 { 494 &usb_1 { 624 status = "okay"; 495 status = "okay"; 625 }; 496 }; 626 497 627 &usb_1_dwc3 { 498 &usb_1_dwc3 { 628 dr_mode = "host"; 499 dr_mode = "host"; 629 << 630 #address-cells = <1>; << 631 #size-cells = <0>; << 632 << 633 /* 2.x hub on port 1 */ << 634 usb_hub_2_x: hub@1 { << 635 compatible = "usbbda,5411"; << 636 reg = <1>; << 637 vdd-supply = <&pp3300_hub>; << 638 peer-hub = <&usb_hub_3_x>; << 639 }; << 640 << 641 /* 3.x hub on port 2 */ << 642 usb_hub_3_x: hub@2 { << 643 compatible = "usbbda,411"; << 644 reg = <2>; << 645 vdd-supply = <&pp3300_hub>; << 646 peer-hub = <&usb_hub_2_x>; << 647 }; << 648 }; 500 }; 649 501 650 &usb_1_hsphy { 502 &usb_1_hsphy { 651 status = "okay"; 503 status = "okay"; 652 << 653 qcom,hs-rise-fall-time-bp = <0>; << 654 qcom,squelch-detector-bp = <(-2090)>; << 655 qcom,hs-disconnect-bp = <1743>; << 656 qcom,hs-amplitude-bp = <1780>; << 657 qcom,hs-crossover-voltage-microvolt = << 658 qcom,hs-output-impedance-micro-ohms = << 659 }; 504 }; 660 505 661 &usb_1_qmpphy { 506 &usb_1_qmpphy { 662 status = "okay"; 507 status = "okay"; 663 }; 508 }; 664 509 665 /* PINCTRL - ADDITIONS TO NODES IN PARENT DEVI !! 510 &usb_2 { 666 !! 511 status = "okay"; 667 &dp_hot_plug_det { << 668 bias-disable; << 669 }; 512 }; 670 513 671 &mi2s1_data0 { !! 514 &usb_2_dwc3 { 672 drive-strength = <6>; !! 515 dr_mode = "host"; 673 bias-disable; << 674 }; 516 }; 675 517 676 &mi2s1_sclk { !! 518 &usb_2_hsphy { 677 drive-strength = <6>; !! 519 status = "okay"; 678 bias-disable; << 679 }; 520 }; 680 521 681 &mi2s1_ws { !! 522 /* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 682 drive-strength = <6>; !! 523 >> 524 &dp_hot_plug_det { 683 bias-disable; 525 bias-disable; 684 }; 526 }; 685 527 686 &pcie1_clkreq_n { 528 &pcie1_clkreq_n { 687 bias-pull-up; 529 bias-pull-up; 688 drive-strength = <2>; 530 drive-strength = <2>; 689 }; 531 }; 690 532 691 &qspi_cs0 { 533 &qspi_cs0 { 692 bias-disable; /* External pu !! 534 bias-disable; 693 drive-strength = <8>; 535 drive-strength = <8>; 694 }; 536 }; 695 537 696 &qspi_clk { 538 &qspi_clk { 697 bias-pull-down; /* No external !! 539 bias-disable; 698 drive-strength = <8>; << 699 }; << 700 << 701 &qspi_data0 { << 702 bias-pull-down; /* No external << 703 drive-strength = <8>; 540 drive-strength = <8>; 704 }; 541 }; 705 542 706 &qspi_data1 { !! 543 &qspi_data01 { 707 bias-disable; /* External pu !! 544 /* High-Z when no transfers; nice to park the lines */ >> 545 bias-pull-up; 708 drive-strength = <8>; 546 drive-strength = <8>; 709 }; 547 }; 710 548 711 /* For ap_tp_i2c */ 549 /* For ap_tp_i2c */ 712 &qup_i2c0_data_clk { 550 &qup_i2c0_data_clk { 713 /* Has external pull */ 551 /* Has external pull */ 714 bias-disable; 552 bias-disable; 715 drive-strength = <2>; 553 drive-strength = <2>; 716 }; 554 }; 717 555 718 /* For ap_i2c_tpm */ 556 /* For ap_i2c_tpm */ 719 &qup_i2c14_data_clk { 557 &qup_i2c14_data_clk { 720 /* Has external pull */ 558 /* Has external pull */ 721 bias-disable; 559 bias-disable; 722 drive-strength = <2>; 560 drive-strength = <2>; 723 }; 561 }; 724 562 725 /* For ap_spi_fp */ 563 /* For ap_spi_fp */ 726 &qup_spi9_data_clk { 564 &qup_spi9_data_clk { 727 bias-disable; 565 bias-disable; 728 drive-strength = <2>; 566 drive-strength = <2>; 729 }; 567 }; 730 568 731 /* For ap_spi_fp */ 569 /* For ap_spi_fp */ 732 &qup_spi9_cs_gpio { 570 &qup_spi9_cs_gpio { 733 bias-disable; 571 bias-disable; 734 drive-strength = <2>; 572 drive-strength = <2>; 735 }; 573 }; 736 574 737 /* For ap_ec_spi */ 575 /* For ap_ec_spi */ 738 &qup_spi10_data_clk { 576 &qup_spi10_data_clk { 739 bias-disable; 577 bias-disable; 740 drive-strength = <2>; 578 drive-strength = <2>; 741 }; 579 }; 742 580 743 /* For ap_ec_spi */ 581 /* For ap_ec_spi */ 744 &qup_spi10_cs_gpio { 582 &qup_spi10_cs_gpio { 745 bias-disable; 583 bias-disable; 746 drive-strength = <2>; 584 drive-strength = <2>; 747 }; 585 }; 748 586 749 /* For uart_dbg */ 587 /* For uart_dbg */ 750 &qup_uart5_rx { 588 &qup_uart5_rx { 751 bias-pull-up; 589 bias-pull-up; 752 }; 590 }; 753 591 754 /* For uart_dbg */ 592 /* For uart_dbg */ 755 &qup_uart5_tx { 593 &qup_uart5_tx { 756 bias-disable; 594 bias-disable; 757 drive-strength = <2>; 595 drive-strength = <2>; 758 }; 596 }; 759 597 760 &sdc2_clk { 598 &sdc2_clk { 761 bias-disable; 599 bias-disable; 762 drive-strength = <16>; 600 drive-strength = <16>; 763 }; 601 }; 764 602 765 &sdc2_cmd { 603 &sdc2_cmd { 766 bias-pull-up; 604 bias-pull-up; 767 drive-strength = <10>; 605 drive-strength = <10>; 768 }; 606 }; 769 607 770 &sdc2_data { 608 &sdc2_data { 771 bias-pull-up; 609 bias-pull-up; 772 drive-strength = <10>; 610 drive-strength = <10>; 773 }; 611 }; 774 612 775 /* PINCTRL - board-specific pinctrl */ 613 /* PINCTRL - board-specific pinctrl */ 776 614 777 &pm7325_gpios { 615 &pm7325_gpios { 778 /* 616 /* 779 * On a quick glance it might look lik 617 * On a quick glance it might look like KYPD_VOL_UP_N is used, but 780 * that only passes through to a debug 618 * that only passes through to a debug connector and not to the actual 781 * volume up key. 619 * volume up key. 782 */ 620 */ 783 status = "disabled"; /* No GPIOs are c 621 status = "disabled"; /* No GPIOs are connected */ 784 }; 622 }; 785 623 786 &pmk8350_gpios { 624 &pmk8350_gpios { 787 status = "disabled"; /* No GPIOs are c 625 status = "disabled"; /* No GPIOs are connected */ 788 }; 626 }; 789 627 790 &tlmm { 628 &tlmm { 791 /* pinctrl settings for pins that have 629 /* pinctrl settings for pins that have no real owners. */ 792 pinctrl-names = "default"; 630 pinctrl-names = "default"; 793 pinctrl-0 = <&bios_flash_wp_od>; 631 pinctrl-0 = <&bios_flash_wp_od>; 794 632 795 amp_en: amp-en-state { !! 633 amp_en: amp-en { 796 pins = "gpio63"; 634 pins = "gpio63"; 797 function = "gpio"; 635 function = "gpio"; 798 bias-disable; 636 bias-disable; 799 drive-strength = <2>; 637 drive-strength = <2>; 800 }; 638 }; 801 639 802 ap_ec_int_l: ap-ec-int-l-state { !! 640 ap_ec_int_l: ap-ec-int-l { 803 pins = "gpio18"; 641 pins = "gpio18"; 804 function = "gpio"; 642 function = "gpio"; 805 bias-pull-up; 643 bias-pull-up; 806 }; 644 }; 807 645 808 bios_flash_wp_od: bios-flash-wp-od-sta !! 646 bios_flash_wp_od: bios-flash-wp-od { 809 pins = "gpio16"; 647 pins = "gpio16"; 810 function = "gpio"; 648 function = "gpio"; 811 /* Has external pull */ 649 /* Has external pull */ 812 bias-disable; 650 bias-disable; 813 }; 651 }; 814 652 815 en_fp_rails: en-fp-rails-state { !! 653 en_fp_rails: en-fp-rails { 816 pins = "gpio77"; 654 pins = "gpio77"; 817 function = "gpio"; 655 function = "gpio"; 818 bias-disable; 656 bias-disable; 819 drive-strength = <2>; 657 drive-strength = <2>; 820 output-high; 658 output-high; 821 }; 659 }; 822 660 823 en_pp3300_codec: en-pp3300-codec-state !! 661 en_pp3300_codec: en-pp3300-codec { 824 pins = "gpio105"; 662 pins = "gpio105"; 825 function = "gpio"; 663 function = "gpio"; 826 bias-disable; 664 bias-disable; 827 drive-strength = <2>; 665 drive-strength = <2>; 828 }; 666 }; 829 667 830 en_pp3300_dx_edp: en-pp3300-dx-edp-sta !! 668 en_pp3300_dx_edp: en-pp3300-dx-edp { 831 pins = "gpio80"; 669 pins = "gpio80"; 832 function = "gpio"; 670 function = "gpio"; 833 bias-disable; 671 bias-disable; 834 drive-strength = <2>; 672 drive-strength = <2>; 835 }; 673 }; 836 674 837 fp_rst_l: fp-rst-l-state { !! 675 fp_rst_l: fp-rst-l { 838 pins = "gpio78"; 676 pins = "gpio78"; 839 function = "gpio"; 677 function = "gpio"; 840 bias-disable; 678 bias-disable; 841 drive-strength = <2>; 679 drive-strength = <2>; 842 }; 680 }; 843 681 844 fp_to_ap_irq_l: fp-to-ap-irq-l-state { !! 682 fp_to_ap_irq_l: fp-to-ap-irq-l { 845 pins = "gpio61"; 683 pins = "gpio61"; 846 function = "gpio"; 684 function = "gpio"; 847 /* Has external pullup */ 685 /* Has external pullup */ 848 bias-disable; 686 bias-disable; 849 }; 687 }; 850 688 851 fpmcu_boot0: fpmcu-boot0-state { !! 689 fpmcu_boot0: fpmcu-boot0 { 852 pins = "gpio68"; 690 pins = "gpio68"; 853 function = "gpio"; 691 function = "gpio"; 854 bias-disable; 692 bias-disable; 855 }; 693 }; 856 694 857 gsc_ap_int_odl: gsc-ap-int-odl-state { !! 695 gsc_ap_int_odl: gsc-ap-int-odl { 858 pins = "gpio104"; 696 pins = "gpio104"; 859 function = "gpio"; 697 function = "gpio"; 860 bias-pull-up; 698 bias-pull-up; 861 }; 699 }; 862 700 863 hp_irq: hp-irq-state { !! 701 hp_irq: hp-irq { 864 pins = "gpio101"; 702 pins = "gpio101"; 865 function = "gpio"; 703 function = "gpio"; 866 bias-pull-up; 704 bias-pull-up; 867 }; 705 }; 868 706 869 hub_en: hub-en-state { !! 707 hub_en: hub-en { 870 pins = "gpio157"; 708 pins = "gpio157"; 871 function = "gpio"; 709 function = "gpio"; 872 bias-disable; 710 bias-disable; 873 drive-strength = <2>; 711 drive-strength = <2>; 874 }; 712 }; 875 713 876 pe_wake_odl: pe-wake-odl-state { !! 714 pe_wake_odl: pe-wake-odl { 877 pins = "gpio3"; 715 pins = "gpio3"; 878 function = "gpio"; 716 function = "gpio"; 879 /* Has external pull */ 717 /* Has external pull */ 880 bias-disable; 718 bias-disable; 881 drive-strength = <2>; 719 drive-strength = <2>; 882 }; 720 }; 883 721 884 /* For ap_spi_fp */ 722 /* For ap_spi_fp */ 885 qup_spi9_cs_gpio_init_high: qup-spi9-c !! 723 qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high { 886 pins = "gpio39"; 724 pins = "gpio39"; 887 function = "gpio"; 725 function = "gpio"; 888 output-high; 726 output-high; 889 }; 727 }; 890 728 891 /* For ap_ec_spi */ 729 /* For ap_ec_spi */ 892 qup_spi10_cs_gpio_init_high: qup-spi10 !! 730 qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high { 893 pins = "gpio43"; 731 pins = "gpio43"; 894 function = "gpio"; 732 function = "gpio"; 895 output-high; 733 output-high; 896 }; 734 }; 897 735 898 sar0_irq_odl: sar0-irq-odl-state { !! 736 sar0_irq_odl: sar0-irq-odl { 899 pins = "gpio141"; 737 pins = "gpio141"; 900 function = "gpio"; 738 function = "gpio"; 901 bias-pull-up; 739 bias-pull-up; 902 }; 740 }; 903 741 904 sar1_irq_odl: sar1-irq-odl-state { !! 742 sar1_irq_odl: sar1-irq-odl { 905 pins = "gpio140"; 743 pins = "gpio140"; 906 function = "gpio"; 744 function = "gpio"; 907 bias-pull-up; 745 bias-pull-up; 908 }; 746 }; 909 747 910 sd_cd_odl: sd-cd-odl-state { !! 748 sd_cd_odl: sd-cd-odl { 911 pins = "gpio91"; 749 pins = "gpio91"; 912 function = "gpio"; 750 function = "gpio"; 913 bias-pull-up; 751 bias-pull-up; 914 }; 752 }; 915 753 916 ssd_en: ssd-en-state { !! 754 ssd_en: ssd-en { 917 pins = "gpio51"; 755 pins = "gpio51"; 918 function = "gpio"; 756 function = "gpio"; 919 bias-disable; 757 bias-disable; 920 drive-strength = <2>; 758 drive-strength = <2>; 921 }; 759 }; 922 760 923 ssd_rst_l: ssd-rst-l-state { !! 761 ssd_rst_l: ssd-rst-l { 924 pins = "gpio2"; 762 pins = "gpio2"; 925 function = "gpio"; 763 function = "gpio"; 926 bias-disable; 764 bias-disable; 927 drive-strength = <2>; 765 drive-strength = <2>; 928 output-low; 766 output-low; 929 }; 767 }; 930 768 931 tp_int_odl: tp-int-odl-state { !! 769 tp_int_odl: tp-int-odl { 932 pins = "gpio7"; 770 pins = "gpio7"; 933 function = "gpio"; 771 function = "gpio"; 934 /* Has external pullup */ 772 /* Has external pullup */ 935 bias-disable; 773 bias-disable; 936 }; 774 }; 937 775 938 wf_cam_en: wf-cam-en-state { !! 776 wf_cam_en: wf-cam-en { 939 pins = "gpio119"; 777 pins = "gpio119"; 940 function = "gpio"; 778 function = "gpio"; 941 /* Has external pulldown */ 779 /* Has external pulldown */ 942 bias-disable; 780 bias-disable; 943 drive-strength = <2>; 781 drive-strength = <2>; 944 }; 782 }; 945 }; 783 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.