1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Google Gru-Chromebook shared properties 3 * Google Gru-Chromebook shared properties 4 * 4 * 5 * Copyright 2018 Google, Inc 5 * Copyright 2018 Google, Inc 6 */ 6 */ 7 7 8 #include "rk3399-gru.dtsi" 8 #include "rk3399-gru.dtsi" 9 9 10 / { 10 / { 11 pp900_ap: pp900-ap { 11 pp900_ap: pp900-ap { 12 compatible = "regulator-fixed" 12 compatible = "regulator-fixed"; 13 regulator-name = "pp900_ap"; 13 regulator-name = "pp900_ap"; 14 14 15 /* EC turns on w/ pp900_ap_en; 15 /* EC turns on w/ pp900_ap_en; always on for AP */ 16 regulator-always-on; 16 regulator-always-on; 17 regulator-boot-on; 17 regulator-boot-on; 18 regulator-min-microvolt = <900 18 regulator-min-microvolt = <900000>; 19 regulator-max-microvolt = <900 19 regulator-max-microvolt = <900000>; 20 20 21 vin-supply = <&ppvar_sys>; 21 vin-supply = <&ppvar_sys>; 22 }; 22 }; 23 23 24 /* EC turns on w/ pp900_usb_en */ 24 /* EC turns on w/ pp900_usb_en */ 25 pp900_usb: pp900-ap { 25 pp900_usb: pp900-ap { 26 }; 26 }; 27 27 28 /* EC turns on w/ pp900_pcie_en */ 28 /* EC turns on w/ pp900_pcie_en */ 29 pp900_pcie: pp900-ap { 29 pp900_pcie: pp900-ap { 30 }; 30 }; 31 31 32 pp3000: pp3000 { 32 pp3000: pp3000 { 33 compatible = "regulator-fixed" 33 compatible = "regulator-fixed"; 34 regulator-name = "pp3000"; 34 regulator-name = "pp3000"; 35 pinctrl-names = "default"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&pp3000_en>; 36 pinctrl-0 = <&pp3000_en>; 37 37 38 enable-active-high; 38 enable-active-high; 39 gpio = <&gpio0 12 GPIO_ACTIVE_ 39 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; 40 40 41 regulator-always-on; 41 regulator-always-on; 42 regulator-boot-on; 42 regulator-boot-on; 43 regulator-min-microvolt = <300 43 regulator-min-microvolt = <3000000>; 44 regulator-max-microvolt = <300 44 regulator-max-microvolt = <3000000>; 45 45 46 vin-supply = <&ppvar_sys>; 46 vin-supply = <&ppvar_sys>; 47 }; 47 }; 48 48 49 ppvar_centerlogic_pwm: ppvar-centerlog 49 ppvar_centerlogic_pwm: ppvar-centerlogic-pwm { 50 compatible = "pwm-regulator"; 50 compatible = "pwm-regulator"; 51 regulator-name = "ppvar_center 51 regulator-name = "ppvar_centerlogic_pwm"; 52 52 53 pwms = <&pwm3 0 3337 0>; 53 pwms = <&pwm3 0 3337 0>; 54 pwm-supply = <&ppvar_sys>; 54 pwm-supply = <&ppvar_sys>; 55 pwm-dutycycle-range = <100 0>; 55 pwm-dutycycle-range = <100 0>; 56 pwm-dutycycle-unit = <100>; 56 pwm-dutycycle-unit = <100>; 57 57 58 /* EC turns on w/ ppvar_center 58 /* EC turns on w/ ppvar_centerlogic_en; always on for AP */ 59 regulator-always-on; 59 regulator-always-on; 60 regulator-boot-on; 60 regulator-boot-on; 61 regulator-min-microvolt = <799 61 regulator-min-microvolt = <799434>; 62 regulator-max-microvolt = <104 62 regulator-max-microvolt = <1049925>; 63 }; 63 }; 64 64 65 ppvar_centerlogic: ppvar-centerlogic { 65 ppvar_centerlogic: ppvar-centerlogic { 66 compatible = "vctrl-regulator" 66 compatible = "vctrl-regulator"; 67 regulator-name = "ppvar_center 67 regulator-name = "ppvar_centerlogic"; 68 68 69 regulator-min-microvolt = <799 69 regulator-min-microvolt = <799434>; 70 regulator-max-microvolt = <104 70 regulator-max-microvolt = <1049925>; 71 71 72 ctrl-supply = <&ppvar_centerlo 72 ctrl-supply = <&ppvar_centerlogic_pwm>; 73 ctrl-voltage-range = <799434 1 73 ctrl-voltage-range = <799434 1049925>; 74 74 75 regulator-settling-time-up-us 75 regulator-settling-time-up-us = <378>; 76 min-slew-down-rate = <225>; 76 min-slew-down-rate = <225>; 77 ovp-threshold-percent = <16>; 77 ovp-threshold-percent = <16>; 78 }; 78 }; 79 79 80 /* Schematics call this PPVAR even tho 80 /* Schematics call this PPVAR even though it's fixed */ 81 ppvar_logic: ppvar-logic { 81 ppvar_logic: ppvar-logic { 82 compatible = "regulator-fixed" 82 compatible = "regulator-fixed"; 83 regulator-name = "ppvar_logic" 83 regulator-name = "ppvar_logic"; 84 84 85 /* EC turns on w/ ppvar_logic_ 85 /* EC turns on w/ ppvar_logic_en; always on for AP */ 86 regulator-always-on; 86 regulator-always-on; 87 regulator-boot-on; 87 regulator-boot-on; 88 regulator-min-microvolt = <900 88 regulator-min-microvolt = <900000>; 89 regulator-max-microvolt = <900 89 regulator-max-microvolt = <900000>; 90 90 91 vin-supply = <&ppvar_sys>; 91 vin-supply = <&ppvar_sys>; 92 }; 92 }; 93 93 94 pp1800_audio: pp1800-audio { 94 pp1800_audio: pp1800-audio { 95 compatible = "regulator-fixed" 95 compatible = "regulator-fixed"; 96 regulator-name = "pp1800_audio 96 regulator-name = "pp1800_audio"; 97 pinctrl-names = "default"; 97 pinctrl-names = "default"; 98 pinctrl-0 = <&pp1800_audio_en> 98 pinctrl-0 = <&pp1800_audio_en>; 99 99 100 enable-active-high; 100 enable-active-high; 101 gpio = <&gpio0 2 GPIO_ACTIVE_H 101 gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>; 102 102 103 regulator-always-on; 103 regulator-always-on; 104 regulator-boot-on; 104 regulator-boot-on; 105 105 106 vin-supply = <&pp1800>; 106 vin-supply = <&pp1800>; 107 }; 107 }; 108 108 109 /* gpio is shared with pp3300_wifi_bt 109 /* gpio is shared with pp3300_wifi_bt */ 110 pp1800_pcie: pp1800-pcie { 110 pp1800_pcie: pp1800-pcie { 111 compatible = "regulator-fixed" 111 compatible = "regulator-fixed"; 112 regulator-name = "pp1800_pcie" 112 regulator-name = "pp1800_pcie"; 113 pinctrl-names = "default"; 113 pinctrl-names = "default"; 114 pinctrl-0 = <&wlan_module_pd_l 114 pinctrl-0 = <&wlan_module_pd_l>; 115 115 116 enable-active-high; 116 enable-active-high; 117 gpio = <&gpio0 4 GPIO_ACTIVE_H 117 gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 118 118 119 /* 119 /* 120 * Need to wait 1ms + ramp-up 120 * Need to wait 1ms + ramp-up time before we can power on WiFi. 121 * This has been approximated 121 * This has been approximated as 8ms total. 122 */ 122 */ 123 regulator-enable-ramp-delay = 123 regulator-enable-ramp-delay = <8000>; 124 124 125 vin-supply = <&pp1800>; 125 vin-supply = <&pp1800>; 126 }; 126 }; 127 127 128 /* Always on; plain and simple */ 128 /* Always on; plain and simple */ 129 pp3000_ap: pp3000_emmc: pp3000 { 129 pp3000_ap: pp3000_emmc: pp3000 { 130 }; 130 }; 131 131 132 pp1500_ap_io: pp1500-ap-io { 132 pp1500_ap_io: pp1500-ap-io { 133 compatible = "regulator-fixed" 133 compatible = "regulator-fixed"; 134 regulator-name = "pp1500_ap_io 134 regulator-name = "pp1500_ap_io"; 135 pinctrl-names = "default"; 135 pinctrl-names = "default"; 136 pinctrl-0 = <&pp1500_en>; 136 pinctrl-0 = <&pp1500_en>; 137 137 138 enable-active-high; 138 enable-active-high; 139 gpio = <&gpio0 10 GPIO_ACTIVE_ 139 gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>; 140 140 141 regulator-always-on; 141 regulator-always-on; 142 regulator-boot-on; 142 regulator-boot-on; 143 regulator-min-microvolt = <150 143 regulator-min-microvolt = <1500000>; 144 regulator-max-microvolt = <150 144 regulator-max-microvolt = <1500000>; 145 145 146 vin-supply = <&pp1800>; 146 vin-supply = <&pp1800>; 147 }; 147 }; 148 148 149 pp3300_disp: pp3300-disp { 149 pp3300_disp: pp3300-disp { 150 compatible = "regulator-fixed" 150 compatible = "regulator-fixed"; 151 regulator-name = "pp3300_disp" 151 regulator-name = "pp3300_disp"; 152 pinctrl-names = "default"; 152 pinctrl-names = "default"; 153 pinctrl-0 = <&pp3300_disp_en>; 153 pinctrl-0 = <&pp3300_disp_en>; 154 154 155 enable-active-high; 155 enable-active-high; 156 gpio = <&gpio4 27 GPIO_ACTIVE_ 156 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>; 157 157 158 startup-delay-us = <2000>; 158 startup-delay-us = <2000>; 159 vin-supply = <&pp3300>; 159 vin-supply = <&pp3300>; 160 }; 160 }; 161 161 162 /* EC turns on w/ pp3300_usb_en_l */ 162 /* EC turns on w/ pp3300_usb_en_l */ 163 pp3300_usb: pp3300 { 163 pp3300_usb: pp3300 { 164 }; 164 }; 165 165 166 /* gpio is shared with pp1800_pcie and 166 /* gpio is shared with pp1800_pcie and pinctrl is set there */ 167 pp3300_wifi_bt: pp3300-wifi-bt { 167 pp3300_wifi_bt: pp3300-wifi-bt { 168 compatible = "regulator-fixed" 168 compatible = "regulator-fixed"; 169 regulator-name = "pp3300_wifi_ 169 regulator-name = "pp3300_wifi_bt"; 170 170 171 enable-active-high; 171 enable-active-high; 172 gpio = <&gpio0 4 GPIO_ACTIVE_H 172 gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 173 173 174 vin-supply = <&pp3300>; 174 vin-supply = <&pp3300>; 175 }; 175 }; 176 176 177 /* 177 /* 178 * This is a bit of a hack. The WiFi m 178 * This is a bit of a hack. The WiFi module should be reset at least 179 * 1ms after its regulators have rampe 179 * 1ms after its regulators have ramped up (max rampup time is ~7ms). 180 * With some stretching of the imagina 180 * With some stretching of the imagination, we can call the 1.8V 181 * regulator a supply. 181 * regulator a supply. 182 */ 182 */ 183 wlan_pd_n: wlan-pd-n { 183 wlan_pd_n: wlan-pd-n { 184 compatible = "regulator-fixed" 184 compatible = "regulator-fixed"; 185 regulator-name = "wlan_pd_n"; 185 regulator-name = "wlan_pd_n"; 186 pinctrl-names = "default"; 186 pinctrl-names = "default"; 187 pinctrl-0 = <&wlan_module_rese 187 pinctrl-0 = <&wlan_module_reset_l>; 188 188 189 enable-active-high; 189 enable-active-high; 190 gpio = <&gpio1 11 GPIO_ACTIVE_ 190 gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>; 191 191 192 vin-supply = <&pp1800_pcie>; 192 vin-supply = <&pp1800_pcie>; 193 }; 193 }; 194 194 195 backlight: backlight { 195 backlight: backlight { 196 compatible = "pwm-backlight"; 196 compatible = "pwm-backlight"; 197 enable-gpios = <&gpio1 17 GPIO 197 enable-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; 198 power-supply = <&pp3300_disp>; 198 power-supply = <&pp3300_disp>; 199 pinctrl-names = "default"; 199 pinctrl-names = "default"; 200 pinctrl-0 = <&bl_en>; 200 pinctrl-0 = <&bl_en>; >> 201 pwm-delay-us = <10000>; 201 }; 202 }; 202 203 203 gpio_keys: gpio-keys { 204 gpio_keys: gpio-keys { 204 compatible = "gpio-keys"; 205 compatible = "gpio-keys"; 205 pinctrl-names = "default"; 206 pinctrl-names = "default"; 206 pinctrl-0 = <&bt_host_wake_l>; 207 pinctrl-0 = <&bt_host_wake_l>; 207 208 208 wake_on_bt: key-wake-on-bt { !! 209 wake_on_bt: wake-on-bt { 209 label = "Wake-on-Bluet 210 label = "Wake-on-Bluetooth"; 210 gpios = <&gpio0 3 GPIO 211 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; 211 linux,code = <KEY_WAKE 212 linux,code = <KEY_WAKEUP>; 212 wakeup-source; 213 wakeup-source; 213 }; 214 }; 214 }; 215 }; 215 }; 216 }; 216 217 217 &ppvar_bigcpu { 218 &ppvar_bigcpu { 218 min-slew-down-rate = <225>; 219 min-slew-down-rate = <225>; 219 ovp-threshold-percent = <16>; 220 ovp-threshold-percent = <16>; 220 }; 221 }; 221 222 222 &ppvar_litcpu { 223 &ppvar_litcpu { 223 min-slew-down-rate = <225>; 224 min-slew-down-rate = <225>; 224 ovp-threshold-percent = <16>; 225 ovp-threshold-percent = <16>; 225 }; 226 }; 226 227 227 &ppvar_gpu { 228 &ppvar_gpu { 228 min-slew-down-rate = <225>; 229 min-slew-down-rate = <225>; 229 ovp-threshold-percent = <16>; 230 ovp-threshold-percent = <16>; 230 }; 231 }; 231 232 232 &cdn_dp { 233 &cdn_dp { 233 extcon = <&usbc_extcon0>, <&usbc_extco 234 extcon = <&usbc_extcon0>, <&usbc_extcon1>; 234 }; 235 }; 235 236 236 &dmc { << 237 center-supply = <&ppvar_centerlogic>; << 238 rockchip,pd-idle-dis-freq-hz = <800000 << 239 rockchip,sr-idle-dis-freq-hz = <800000 << 240 rockchip,sr-mc-gate-idle-dis-freq-hz = << 241 }; << 242 << 243 &edp { 237 &edp { 244 status = "okay"; 238 status = "okay"; 245 239 246 /* << 247 * eDP PHY/clk don't sync reliably at << 248 * set this here, because rk3399-gru.d << 249 * off GPLL=600MHz, whereas some other << 250 */ << 251 assigned-clocks = <&cru PCLK_EDP>; << 252 assigned-clock-rates = <24000000>; << 253 << 254 ports { 240 ports { 255 edp_out: port@1 { 241 edp_out: port@1 { 256 reg = <1>; 242 reg = <1>; 257 #address-cells = <1>; 243 #address-cells = <1>; 258 #size-cells = <0>; 244 #size-cells = <0>; 259 245 260 edp_out_panel: endpoin 246 edp_out_panel: endpoint@0 { 261 reg = <0>; 247 reg = <0>; 262 remote-endpoin 248 remote-endpoint = <&panel_in_edp>; 263 }; 249 }; 264 }; 250 }; 265 }; 251 }; 266 }; 252 }; 267 253 268 &gpio0 { 254 &gpio0 { 269 gpio-line-names = /* GPIO0 A 0-7 */ 255 gpio-line-names = /* GPIO0 A 0-7 */ 270 "AP_RTC_CLK_IN", 256 "AP_RTC_CLK_IN", 271 "EC_AP_INT_L", 257 "EC_AP_INT_L", 272 "PP1800_AUDIO_EN", 258 "PP1800_AUDIO_EN", 273 "BT_HOST_WAKE_L", 259 "BT_HOST_WAKE_L", 274 "WLAN_MODULE_PD_L", 260 "WLAN_MODULE_PD_L", 275 "H1_INT_OD_L", 261 "H1_INT_OD_L", 276 "CENTERLOGIC_DVS_PWM 262 "CENTERLOGIC_DVS_PWM", 277 "", 263 "", 278 264 279 /* GPIO0 B 0-4 */ 265 /* GPIO0 B 0-4 */ 280 "WIFI_HOST_WAKE_L", 266 "WIFI_HOST_WAKE_L", 281 "PMUIO2_33_18_L", 267 "PMUIO2_33_18_L", 282 "PP1500_EN", 268 "PP1500_EN", 283 "AP_EC_WARM_RESET_RE 269 "AP_EC_WARM_RESET_REQ", 284 "PP3000_EN"; 270 "PP3000_EN"; 285 }; 271 }; 286 272 287 &gpio1 { 273 &gpio1 { 288 gpio-line-names = /* GPIO1 A 0-7 */ 274 gpio-line-names = /* GPIO1 A 0-7 */ 289 "", 275 "", 290 "", 276 "", 291 "SPK_PA_EN", 277 "SPK_PA_EN", 292 "", 278 "", 293 "TRACKPAD_INT_L", 279 "TRACKPAD_INT_L", 294 "AP_EC_S3_S0_L", 280 "AP_EC_S3_S0_L", 295 "AP_EC_OVERTEMP", 281 "AP_EC_OVERTEMP", 296 "AP_SPI_FLASH_MISO", 282 "AP_SPI_FLASH_MISO", 297 283 298 /* GPIO1 B 0-7 */ 284 /* GPIO1 B 0-7 */ 299 "AP_SPI_FLASH_MOSI_R 285 "AP_SPI_FLASH_MOSI_R", 300 "AP_SPI_FLASH_CLK_R" 286 "AP_SPI_FLASH_CLK_R", 301 "AP_SPI_FLASH_CS_L_R 287 "AP_SPI_FLASH_CS_L_R", 302 "WLAN_MODULE_RESET_L 288 "WLAN_MODULE_RESET_L", 303 "WIFI_DISABLE_L", 289 "WIFI_DISABLE_L", 304 "MIC_INT", 290 "MIC_INT", 305 "", 291 "", 306 "AP_I2C_DVS_SDA", 292 "AP_I2C_DVS_SDA", 307 293 308 /* GPIO1 C 0-7 */ 294 /* GPIO1 C 0-7 */ 309 "AP_I2C_DVS_SCL", 295 "AP_I2C_DVS_SCL", 310 "AP_BL_EN", 296 "AP_BL_EN", 311 /* 297 /* 312 * AP_FLASH_WP is cr 298 * AP_FLASH_WP is crossystem ABI. Schematics call it 313 * AP_FW_WP or CPU1_ 299 * AP_FW_WP or CPU1_FW_WP, depending on the variant. 314 */ 300 */ 315 "AP_FLASH_WP", 301 "AP_FLASH_WP", 316 "LITCPU_DVS_PWM", 302 "LITCPU_DVS_PWM", 317 "AP_I2C_AUDIO_SDA", 303 "AP_I2C_AUDIO_SDA", 318 "AP_I2C_AUDIO_SCL", 304 "AP_I2C_AUDIO_SCL", 319 "", 305 "", 320 "HEADSET_INT_L"; 306 "HEADSET_INT_L"; 321 }; 307 }; 322 308 323 &gpio2 { 309 &gpio2 { 324 gpio-line-names = /* GPIO2 A 0-7 */ 310 gpio-line-names = /* GPIO2 A 0-7 */ 325 "", 311 "", 326 "", 312 "", 327 "SD_IO_PWR_EN", 313 "SD_IO_PWR_EN", 328 "", 314 "", 329 "", 315 "", 330 "", 316 "", 331 "", 317 "", 332 "", 318 "", 333 319 334 /* GPIO2 B 0-7 */ 320 /* GPIO2 B 0-7 */ 335 "", 321 "", 336 "", 322 "", 337 "", 323 "", 338 "", 324 "", 339 "", 325 "", 340 "", 326 "", 341 "", 327 "", 342 "", 328 "", 343 329 344 /* GPIO2 C 0-7 */ 330 /* GPIO2 C 0-7 */ 345 "", 331 "", 346 "", 332 "", 347 "", 333 "", 348 "", 334 "", 349 "AP_SPI_EC_MISO", 335 "AP_SPI_EC_MISO", 350 "AP_SPI_EC_MOSI", 336 "AP_SPI_EC_MOSI", 351 "AP_SPI_EC_CLK", 337 "AP_SPI_EC_CLK", 352 "AP_SPI_EC_CS_L", 338 "AP_SPI_EC_CS_L", 353 339 354 /* GPIO2 D 0-4 */ 340 /* GPIO2 D 0-4 */ 355 "BT_DEV_WAKE_L", 341 "BT_DEV_WAKE_L", 356 "", 342 "", 357 "WIFI_PCIE_CLKREQ_L" 343 "WIFI_PCIE_CLKREQ_L", 358 "WIFI_PERST_L", 344 "WIFI_PERST_L", 359 "SD_PWR_3000_1800_L" 345 "SD_PWR_3000_1800_L"; 360 }; 346 }; 361 347 362 &gpio3 { 348 &gpio3 { 363 gpio-line-names = /* GPIO3 A 0-7 */ 349 gpio-line-names = /* GPIO3 A 0-7 */ 364 "", 350 "", 365 "", 351 "", 366 "", 352 "", 367 "", 353 "", 368 "AP_SPI_TPM_MISO", 354 "AP_SPI_TPM_MISO", 369 "AP_SPI_TPM_MOSI_R", 355 "AP_SPI_TPM_MOSI_R", 370 "AP_SPI_TPM_CLK_R", 356 "AP_SPI_TPM_CLK_R", 371 "AP_SPI_TPM_CS_L_R", 357 "AP_SPI_TPM_CS_L_R", 372 358 373 /* GPIO3 B 0-7 */ 359 /* GPIO3 B 0-7 */ 374 "EC_IN_RW", 360 "EC_IN_RW", 375 "", 361 "", 376 "AP_I2C_TP_SDA", 362 "AP_I2C_TP_SDA", 377 "AP_I2C_TP_SCL", 363 "AP_I2C_TP_SCL", 378 "AP_I2C_TP_PU_EN", 364 "AP_I2C_TP_PU_EN", 379 "TOUCH_INT_L", 365 "TOUCH_INT_L", 380 "", 366 "", 381 "", 367 "", 382 368 383 /* GPIO3 C 0-7 */ 369 /* GPIO3 C 0-7 */ 384 "", 370 "", 385 "", 371 "", 386 "", 372 "", 387 "", 373 "", 388 "", 374 "", 389 "", 375 "", 390 "", 376 "", 391 "", 377 "", 392 378 393 /* GPIO3 D 0-7 */ 379 /* GPIO3 D 0-7 */ 394 "I2S0_SCLK", 380 "I2S0_SCLK", 395 "I2S0_LRCK_RX", 381 "I2S0_LRCK_RX", 396 "I2S0_LRCK_TX", 382 "I2S0_LRCK_TX", 397 "I2S0_SDI_0", 383 "I2S0_SDI_0", 398 "I2S0_SDI_1", 384 "I2S0_SDI_1", 399 "", 385 "", 400 "I2S0_SDO_1", 386 "I2S0_SDO_1", 401 "I2S0_SDO_0"; 387 "I2S0_SDO_0"; 402 }; 388 }; 403 389 404 &gpio4 { 390 &gpio4 { 405 gpio-line-names = /* GPIO4 A 0-7 */ 391 gpio-line-names = /* GPIO4 A 0-7 */ 406 "I2S_MCLK", 392 "I2S_MCLK", 407 "AP_I2C_MIC_SDA", 393 "AP_I2C_MIC_SDA", 408 "AP_I2C_MIC_SCL", 394 "AP_I2C_MIC_SCL", 409 "", 395 "", 410 "", 396 "", 411 "", 397 "", 412 "", 398 "", 413 "", 399 "", 414 400 415 /* GPIO4 B 0-7 */ 401 /* GPIO4 B 0-7 */ 416 "", 402 "", 417 "", 403 "", 418 "", 404 "", 419 "", 405 "", 420 "", 406 "", 421 "", 407 "", 422 "", 408 "", 423 "", 409 "", 424 410 425 /* GPIO4 C 0-7 */ 411 /* GPIO4 C 0-7 */ 426 "AP_I2C_TS_SDA", 412 "AP_I2C_TS_SDA", 427 "AP_I2C_TS_SCL", 413 "AP_I2C_TS_SCL", 428 "GPU_DVS_PWM", 414 "GPU_DVS_PWM", 429 "UART_DBG_TX_AP_RX", 415 "UART_DBG_TX_AP_RX", 430 "UART_AP_TX_DBG_RX", 416 "UART_AP_TX_DBG_RX", 431 "", 417 "", 432 "BIGCPU_DVS_PWM", 418 "BIGCPU_DVS_PWM", 433 "EDP_HPD_3V0", 419 "EDP_HPD_3V0", 434 420 435 /* GPIO4 D 0-5 */ 421 /* GPIO4 D 0-5 */ 436 "SD_CARD_DET_L", 422 "SD_CARD_DET_L", 437 "USB_DP_HPD", 423 "USB_DP_HPD", 438 "TOUCH_RESET_L", 424 "TOUCH_RESET_L", 439 "PP3300_DISP_EN", 425 "PP3300_DISP_EN", 440 "", 426 "", 441 "SD_SLOT_PWR_EN"; 427 "SD_SLOT_PWR_EN"; 442 }; 428 }; 443 429 444 ap_i2c_mic: &i2c1 { 430 ap_i2c_mic: &i2c1 { 445 status = "okay"; 431 status = "okay"; 446 432 447 clock-frequency = <400000>; 433 clock-frequency = <400000>; 448 434 449 /* These are relatively safe rise/fall 435 /* These are relatively safe rise/fall times */ 450 i2c-scl-falling-time-ns = <50>; 436 i2c-scl-falling-time-ns = <50>; 451 i2c-scl-rising-time-ns = <300>; 437 i2c-scl-rising-time-ns = <300>; 452 438 453 headsetcodec: rt5514@57 { 439 headsetcodec: rt5514@57 { 454 compatible = "realtek,rt5514"; 440 compatible = "realtek,rt5514"; 455 reg = <0x57>; 441 reg = <0x57>; 456 realtek,dmic-init-delay-ms = < 442 realtek,dmic-init-delay-ms = <20>; 457 }; 443 }; 458 }; 444 }; 459 445 460 ap_i2c_tp: &i2c5 { 446 ap_i2c_tp: &i2c5 { 461 status = "okay"; 447 status = "okay"; 462 448 463 clock-frequency = <400000>; 449 clock-frequency = <400000>; 464 450 465 /* These are relatively safe rise/fall 451 /* These are relatively safe rise/fall times */ 466 i2c-scl-falling-time-ns = <50>; 452 i2c-scl-falling-time-ns = <50>; 467 i2c-scl-rising-time-ns = <300>; 453 i2c-scl-rising-time-ns = <300>; 468 454 469 /* 455 /* 470 * Note strange pullup enable. Appare 456 * Note strange pullup enable. Apparently this avoids leakage but 471 * still allows us to get nice 4.7K pu 457 * still allows us to get nice 4.7K pullups for high speed i2c 472 * transfers. Basically we want the p 458 * transfers. Basically we want the pullup on whenever the ap is 473 * alive, so the "en" pin just gets se 459 * alive, so the "en" pin just gets set to output high. 474 */ 460 */ 475 pinctrl-0 = <&i2c5_xfer &ap_i2c_tp_pu_ 461 pinctrl-0 = <&i2c5_xfer &ap_i2c_tp_pu_en>; 476 }; 462 }; 477 463 478 &cros_ec { 464 &cros_ec { 479 cros_ec_pwm: pwm { 465 cros_ec_pwm: pwm { 480 compatible = "google,cros-ec-p 466 compatible = "google,cros-ec-pwm"; 481 #pwm-cells = <1>; 467 #pwm-cells = <1>; 482 }; 468 }; 483 469 484 usbc_extcon1: extcon1 { 470 usbc_extcon1: extcon1 { 485 compatible = "google,extcon-us 471 compatible = "google,extcon-usbc-cros-ec"; 486 google,usb-port-id = <1>; 472 google,usb-port-id = <1>; 487 }; 473 }; 488 }; 474 }; 489 475 490 &sound { 476 &sound { 491 rockchip,codec = <&max98357a &headsetc 477 rockchip,codec = <&max98357a &headsetcodec 492 &codec &wacky_spi_au 478 &codec &wacky_spi_audio &cdn_dp>; 493 }; 479 }; 494 480 495 &spi2 { 481 &spi2 { 496 wacky_spi_audio: spi2@0 { 482 wacky_spi_audio: spi2@0 { 497 compatible = "realtek,rt5514"; 483 compatible = "realtek,rt5514"; 498 reg = <0>; 484 reg = <0>; 499 interrupt-parent = <&gpio1>; 485 interrupt-parent = <&gpio1>; 500 interrupts = <13 IRQ_TYPE_LEVE 486 interrupts = <13 IRQ_TYPE_LEVEL_HIGH>; 501 pinctrl-names = "default"; 487 pinctrl-names = "default"; 502 pinctrl-0 = <&mic_int>; 488 pinctrl-0 = <&mic_int>; 503 /* May run faster once verifie 489 /* May run faster once verified. */ 504 spi-max-frequency = <10000000> 490 spi-max-frequency = <10000000>; 505 wakeup-source; 491 wakeup-source; 506 }; 492 }; 507 }; 493 }; 508 494 509 &pci_rootport { 495 &pci_rootport { 510 mvl_wifi: wifi@0,0 { 496 mvl_wifi: wifi@0,0 { 511 compatible = "pci1b4b,2b42"; 497 compatible = "pci1b4b,2b42"; 512 reg = <0x0000 0x0 0x0 0x0 0x0> !! 498 reg = <0x83010000 0x0 0x00000000 0x0 0x00100000 >> 499 0x83010000 0x0 0x00100000 0x0 0x00100000>; 513 interrupt-parent = <&gpio0>; 500 interrupt-parent = <&gpio0>; 514 interrupts = <8 IRQ_TYPE_LEVEL 501 interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 515 pinctrl-names = "default"; 502 pinctrl-names = "default"; 516 pinctrl-0 = <&wlan_host_wake_l 503 pinctrl-0 = <&wlan_host_wake_l>; 517 wakeup-source; 504 wakeup-source; 518 }; 505 }; 519 }; 506 }; 520 507 521 &tcphy1 { 508 &tcphy1 { 522 status = "okay"; 509 status = "okay"; 523 extcon = <&usbc_extcon1>; 510 extcon = <&usbc_extcon1>; 524 }; 511 }; 525 512 526 &u2phy1 { 513 &u2phy1 { 527 status = "okay"; 514 status = "okay"; 528 }; 515 }; 529 516 530 &usb_host0_ehci { 517 &usb_host0_ehci { 531 status = "okay"; 518 status = "okay"; 532 }; 519 }; 533 520 534 &usb_host1_ehci { 521 &usb_host1_ehci { 535 status = "okay"; 522 status = "okay"; 536 }; 523 }; 537 524 538 &usb_host1_ohci { 525 &usb_host1_ohci { 539 status = "okay"; 526 status = "okay"; 540 }; 527 }; 541 528 542 &usbdrd3_1 { 529 &usbdrd3_1 { 543 status = "okay"; 530 status = "okay"; 544 extcon = <&usbc_extcon1>; 531 extcon = <&usbc_extcon1>; 545 }; 532 }; 546 533 547 &usbdrd_dwc3_1 { 534 &usbdrd_dwc3_1 { 548 status = "okay"; 535 status = "okay"; 549 dr_mode = "host"; 536 dr_mode = "host"; 550 }; 537 }; 551 538 552 &pinctrl { 539 &pinctrl { 553 discrete-regulators { 540 discrete-regulators { 554 pp1500_en: pp1500-en { 541 pp1500_en: pp1500-en { 555 rockchip,pins = <0 RK_ 542 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO 556 &pcfg 543 &pcfg_pull_none>; 557 }; 544 }; 558 545 559 pp1800_audio_en: pp1800-audio- 546 pp1800_audio_en: pp1800-audio-en { 560 rockchip,pins = <0 RK_ 547 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO 561 &pcfg 548 &pcfg_pull_down>; 562 }; 549 }; 563 550 564 pp3000_en: pp3000-en { 551 pp3000_en: pp3000-en { 565 rockchip,pins = <0 RK_ 552 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO 566 &pcfg 553 &pcfg_pull_none>; 567 }; 554 }; 568 555 569 pp3300_disp_en: pp3300-disp-en 556 pp3300_disp_en: pp3300-disp-en { 570 rockchip,pins = <4 RK_ 557 rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO 571 &pcfg 558 &pcfg_pull_none>; 572 }; 559 }; 573 560 574 wlan_module_pd_l: wlan-module- 561 wlan_module_pd_l: wlan-module-pd-l { 575 rockchip,pins = <0 RK_ 562 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO 576 &pcfg 563 &pcfg_pull_down>; 577 }; 564 }; 578 }; 565 }; 579 }; 566 }; 580 567 581 &wifi { 568 &wifi { 582 wifi_perst_l: wifi-perst-l { 569 wifi_perst_l: wifi-perst-l { 583 rockchip,pins = <2 RK_PD3 RK_F 570 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 584 }; 571 }; 585 572 586 wlan_host_wake_l: wlan-host-wake-l { 573 wlan_host_wake_l: wlan-host-wake-l { 587 /* Kevin has an external pull << 588 rockchip,pins = <0 RK_PB0 RK_F 574 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 589 }; 575 }; 590 }; 576 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.