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