1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2c66ec88fSEmmanuel Vadot/* 3*354d7675SEmmanuel Vadot * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org> 4*354d7675SEmmanuel Vadot * Copyright (c) 2020, AngeloGioacchino Del Regno 5*354d7675SEmmanuel Vadot * <angelogioacchino.delregno@somainline.org> 6c66ec88fSEmmanuel Vadot */ 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include "pm660.dtsi" 9c66ec88fSEmmanuel Vadot#include "pm660l.dtsi" 10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 11c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 12c66ec88fSEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot /* required for bootloader to select correct board */ 16c66ec88fSEmmanuel Vadot qcom,msm-id = <318 0>; 17c66ec88fSEmmanuel Vadot qcom,board-id = <8 1>; 18c66ec88fSEmmanuel Vadot qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00>; 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot /* This part enables graphical output via bootloader-enabled display */ 21c66ec88fSEmmanuel Vadot chosen { 22c66ec88fSEmmanuel Vadot bootargs = "earlycon=tty0 console=tty0"; 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot #address-cells = <2>; 25c66ec88fSEmmanuel Vadot #size-cells = <2>; 26c66ec88fSEmmanuel Vadot ranges; 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot stdout-path = "framebuffer0"; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot framebuffer0: framebuffer@9d400000 { 31c66ec88fSEmmanuel Vadot compatible = "simple-framebuffer"; 32c66ec88fSEmmanuel Vadot reg = <0 0x9d400000 0 (1920 * 1080 * 4)>; 33c66ec88fSEmmanuel Vadot width = <1080>; 34c66ec88fSEmmanuel Vadot height = <1920>; 35c66ec88fSEmmanuel Vadot stride = <(1080 * 4)>; 36c66ec88fSEmmanuel Vadot format = "a8r8g8b8"; 37c66ec88fSEmmanuel Vadot status= "okay"; 38c66ec88fSEmmanuel Vadot }; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41*354d7675SEmmanuel Vadot board_vbat: vbat-regulator { 42*354d7675SEmmanuel Vadot compatible = "regulator-fixed"; 43*354d7675SEmmanuel Vadot regulator-name = "VBAT"; 44*354d7675SEmmanuel Vadot 45*354d7675SEmmanuel Vadot regulator-min-microvolt = <4000000>; 46*354d7675SEmmanuel Vadot regulator-max-microvolt = <4000000>; 47*354d7675SEmmanuel Vadot regulator-always-on; 48*354d7675SEmmanuel Vadot regulator-boot-on; 49*354d7675SEmmanuel Vadot }; 50*354d7675SEmmanuel Vadot 51*354d7675SEmmanuel Vadot vph_pwr: vph-pwr-regulator { 52*354d7675SEmmanuel Vadot compatible = "regulator-fixed"; 53*354d7675SEmmanuel Vadot regulator-name = "vph_pwr"; 54*354d7675SEmmanuel Vadot 55*354d7675SEmmanuel Vadot regulator-always-on; 56*354d7675SEmmanuel Vadot regulator-boot-on; 57*354d7675SEmmanuel Vadot }; 58*354d7675SEmmanuel Vadot 59*354d7675SEmmanuel Vadot cam_vdig_imx300_219_vreg: cam_vdig_imx300_219_vreg { 60*354d7675SEmmanuel Vadot compatible = "regulator-fixed"; 61*354d7675SEmmanuel Vadot regulator-name = "cam_vdig_imx300_219_vreg"; 62*354d7675SEmmanuel Vadot startup-delay-us = <0>; 63*354d7675SEmmanuel Vadot enable-active-high; 64*354d7675SEmmanuel Vadot gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; 65*354d7675SEmmanuel Vadot pinctrl-names = "default"; 66*354d7675SEmmanuel Vadot pinctrl-0 = <&cam_vdig_default>; 67*354d7675SEmmanuel Vadot }; 68*354d7675SEmmanuel Vadot 69*354d7675SEmmanuel Vadot cam_vana_front_vreg: cam_vana_front_vreg { 70*354d7675SEmmanuel Vadot compatible = "regulator-fixed"; 71*354d7675SEmmanuel Vadot regulator-name = "cam_vana_front_vreg"; 72*354d7675SEmmanuel Vadot startup-delay-us = <0>; 73*354d7675SEmmanuel Vadot enable-active-high; 74*354d7675SEmmanuel Vadot gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; 75*354d7675SEmmanuel Vadot pinctrl-names = "default"; 76*354d7675SEmmanuel Vadot pinctrl-0 = <&imx219_vana_default>; 77*354d7675SEmmanuel Vadot }; 78*354d7675SEmmanuel Vadot 79*354d7675SEmmanuel Vadot cam_vana_rear_vreg: cam_vana_rear_vreg { 80*354d7675SEmmanuel Vadot compatible = "regulator-fixed"; 81*354d7675SEmmanuel Vadot regulator-name = "cam_vana_rear_vreg"; 82*354d7675SEmmanuel Vadot startup-delay-us = <0>; 83*354d7675SEmmanuel Vadot enable-active-high; 84*354d7675SEmmanuel Vadot gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>; 85*354d7675SEmmanuel Vadot regulator-always-on; 86*354d7675SEmmanuel Vadot pinctrl-names = "default"; 87*354d7675SEmmanuel Vadot pinctrl-0 = <&imx300_vana_default>; 88*354d7675SEmmanuel Vadot }; 89*354d7675SEmmanuel Vadot 90c66ec88fSEmmanuel Vadot gpio_keys { 91c66ec88fSEmmanuel Vadot status = "okay"; 92c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 93c66ec88fSEmmanuel Vadot input-name = "gpio-keys"; 94c66ec88fSEmmanuel Vadot #address-cells = <1>; 95c66ec88fSEmmanuel Vadot #size-cells = <0>; 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot camera_focus { 98c66ec88fSEmmanuel Vadot label = "Camera Focus"; 99c66ec88fSEmmanuel Vadot gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 100c66ec88fSEmmanuel Vadot linux,input-type = <1>; 101c66ec88fSEmmanuel Vadot linux,code = <KEY_CAMERA_FOCUS>; 102c66ec88fSEmmanuel Vadot debounce-interval = <15>; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot camera_snapshot { 106c66ec88fSEmmanuel Vadot label = "Camera Snapshot"; 107c66ec88fSEmmanuel Vadot gpios = <&tlmm 113 GPIO_ACTIVE_LOW>; 108c66ec88fSEmmanuel Vadot linux,input-type = <1>; 109c66ec88fSEmmanuel Vadot linux,code = <KEY_CAMERA>; 110c66ec88fSEmmanuel Vadot debounce-interval = <15>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot vol_down { 114c66ec88fSEmmanuel Vadot label = "Volume Down"; 115c66ec88fSEmmanuel Vadot gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>; 116c66ec88fSEmmanuel Vadot linux,input-type = <1>; 117c66ec88fSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 118c66ec88fSEmmanuel Vadot gpio-key,wakeup; 119c66ec88fSEmmanuel Vadot debounce-interval = <15>; 120c66ec88fSEmmanuel Vadot }; 121c66ec88fSEmmanuel Vadot }; 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot reserved-memory { 124c66ec88fSEmmanuel Vadot #address-cells = <2>; 125c66ec88fSEmmanuel Vadot #size-cells = <2>; 126c66ec88fSEmmanuel Vadot ranges; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot ramoops@ffc00000 { 129c66ec88fSEmmanuel Vadot compatible = "ramoops"; 130c66ec88fSEmmanuel Vadot reg = <0x0 0xffc00000 0x0 0x100000>; 131c66ec88fSEmmanuel Vadot record-size = <0x10000>; 132c66ec88fSEmmanuel Vadot console-size = <0x60000>; 133c66ec88fSEmmanuel Vadot ftrace-size = <0x10000>; 134c66ec88fSEmmanuel Vadot pmsg-size = <0x20000>; 135c66ec88fSEmmanuel Vadot ecc-size = <16>; 136c66ec88fSEmmanuel Vadot status = "okay"; 137c66ec88fSEmmanuel Vadot }; 138c66ec88fSEmmanuel Vadot 139c66ec88fSEmmanuel Vadot debug_region@ffb00000 { 140c66ec88fSEmmanuel Vadot reg = <0x00 0xffb00000 0x00 0x100000>; 141c66ec88fSEmmanuel Vadot no-map; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot 144c66ec88fSEmmanuel Vadot removed_region@85800000 { 145c66ec88fSEmmanuel Vadot reg = <0x00 0x85800000 0x00 0x3700000>; 146c66ec88fSEmmanuel Vadot no-map; 147c66ec88fSEmmanuel Vadot }; 148c66ec88fSEmmanuel Vadot }; 149c66ec88fSEmmanuel Vadot 150*354d7675SEmmanuel Vadot /* 151*354d7675SEmmanuel Vadot * Until we hook up type-c detection, we 152*354d7675SEmmanuel Vadot * have to stick with this. But it works. 153*354d7675SEmmanuel Vadot */ 154*354d7675SEmmanuel Vadot extcon_usb: extcon-usb { 155*354d7675SEmmanuel Vadot compatible = "linux,extcon-usb-gpio"; 156*354d7675SEmmanuel Vadot id-gpio = <&tlmm 58 GPIO_ACTIVE_HIGH>; 157*354d7675SEmmanuel Vadot }; 158c66ec88fSEmmanuel Vadot}; 159c66ec88fSEmmanuel Vadot 160*354d7675SEmmanuel Vadot&adsp_pil { 161*354d7675SEmmanuel Vadot firmware-name = "adsp.mdt"; 162c66ec88fSEmmanuel Vadot}; 163c66ec88fSEmmanuel Vadot 164*354d7675SEmmanuel Vadot&blsp_i2c1 { 165*354d7675SEmmanuel Vadot status = "okay"; 166*354d7675SEmmanuel Vadot 167*354d7675SEmmanuel Vadot touchscreen: synaptics-rmi4-i2c@70 { 168*354d7675SEmmanuel Vadot compatible = "syna,rmi4-i2c"; 169*354d7675SEmmanuel Vadot reg = <0x70>; 170*354d7675SEmmanuel Vadot #address-cells = <1>; 171*354d7675SEmmanuel Vadot #size-cells = <0>; 172*354d7675SEmmanuel Vadot interrupts-extended = <&tlmm 45 0x2008>; 173*354d7675SEmmanuel Vadot 174*354d7675SEmmanuel Vadot pinctrl-names = "default"; 175*354d7675SEmmanuel Vadot pinctrl-0 = <&ts_int_active &ts_lcd_id_active>; 176*354d7675SEmmanuel Vadot 177*354d7675SEmmanuel Vadot syna,reset-delay-ms = <200>; 178*354d7675SEmmanuel Vadot syna,startup-delay-ms = <220>; 179*354d7675SEmmanuel Vadot 180*354d7675SEmmanuel Vadot rmi4-f01@1 { 181*354d7675SEmmanuel Vadot reg = <0x01>; 182*354d7675SEmmanuel Vadot syna,nosleep-mode = <1>; 183*354d7675SEmmanuel Vadot }; 184*354d7675SEmmanuel Vadot 185*354d7675SEmmanuel Vadot rmi4-f11@11 { 186*354d7675SEmmanuel Vadot reg = <0x11>; 187*354d7675SEmmanuel Vadot syna,sensor-type = <1>; 188*354d7675SEmmanuel Vadot }; 189*354d7675SEmmanuel Vadot }; 190*354d7675SEmmanuel Vadot}; 191*354d7675SEmmanuel Vadot 192*354d7675SEmmanuel Vadot&blsp_i2c2 { 193c66ec88fSEmmanuel Vadot status = "okay"; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot /* SMB1351 charger */ 196c66ec88fSEmmanuel Vadot}; 197c66ec88fSEmmanuel Vadot 198c66ec88fSEmmanuel Vadot/* I2C3, 4, 5, 7 and 8 are disabled on this board. */ 199c66ec88fSEmmanuel Vadot 200*354d7675SEmmanuel Vadot&blsp_i2c6 { 201c66ec88fSEmmanuel Vadot status = "okay"; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot /* NXP NFC */ 204c66ec88fSEmmanuel Vadot}; 205*354d7675SEmmanuel Vadot 206*354d7675SEmmanuel Vadot&blsp1_uart2 { 207*354d7675SEmmanuel Vadot status = "okay"; 208*354d7675SEmmanuel Vadot 209*354d7675SEmmanuel Vadot /* MSM serial console */ 210c66ec88fSEmmanuel Vadot}; 211*354d7675SEmmanuel Vadot 212*354d7675SEmmanuel Vadot&blsp2_uart1 { 213*354d7675SEmmanuel Vadot status = "okay"; 214*354d7675SEmmanuel Vadot 215*354d7675SEmmanuel Vadot /* HCI Bluetooth */ 216*354d7675SEmmanuel Vadot}; 217*354d7675SEmmanuel Vadot 218*354d7675SEmmanuel Vadot&pon { 219*354d7675SEmmanuel Vadot volup { 220*354d7675SEmmanuel Vadot compatible = "qcom,pm8941-resin"; 221*354d7675SEmmanuel Vadot interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 222*354d7675SEmmanuel Vadot debounce = <15625>; 223*354d7675SEmmanuel Vadot bias-pull-up; 224*354d7675SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 225*354d7675SEmmanuel Vadot }; 226*354d7675SEmmanuel Vadot}; 227*354d7675SEmmanuel Vadot 228*354d7675SEmmanuel Vadot&qusb2phy { 229*354d7675SEmmanuel Vadot status = "okay"; 230*354d7675SEmmanuel Vadot 231*354d7675SEmmanuel Vadot vdd-supply = <&vreg_l1b_0p925>; 232*354d7675SEmmanuel Vadot vdda-pll-supply = <&vreg_l10a_1p8>; 233*354d7675SEmmanuel Vadot vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; 234*354d7675SEmmanuel Vadot}; 235*354d7675SEmmanuel Vadot 236*354d7675SEmmanuel Vadot&rpm_requests { 237*354d7675SEmmanuel Vadot pm660l-regulators { 238*354d7675SEmmanuel Vadot compatible = "qcom,rpm-pm660l-regulators"; 239*354d7675SEmmanuel Vadot 240*354d7675SEmmanuel Vadot vdd_s1-supply = <&vph_pwr>; 241*354d7675SEmmanuel Vadot vdd_s2-supply = <&vph_pwr>; 242*354d7675SEmmanuel Vadot vdd_s3_s4-supply = <&vph_pwr>; 243*354d7675SEmmanuel Vadot vdd_s5-supply = <&vph_pwr>; 244*354d7675SEmmanuel Vadot vdd_s6-supply = <&vph_pwr>; 245*354d7675SEmmanuel Vadot 246*354d7675SEmmanuel Vadot vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>; 247*354d7675SEmmanuel Vadot vdd_l2-supply = <&vreg_bob>; 248*354d7675SEmmanuel Vadot vdd_l3_l5_l7_l8-supply = <&vreg_bob>; 249*354d7675SEmmanuel Vadot vdd_l4_l6-supply = <&vreg_bob>; 250*354d7675SEmmanuel Vadot vdd_bob-supply = <&vph_pwr>; 251*354d7675SEmmanuel Vadot 252*354d7675SEmmanuel Vadot vreg_s1b_1p125: s1 { 253*354d7675SEmmanuel Vadot regulator-min-microvolt = <1125000>; 254*354d7675SEmmanuel Vadot regulator-max-microvolt = <1125000>; 255*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <200>; 256*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 257*354d7675SEmmanuel Vadot }; 258*354d7675SEmmanuel Vadot 259*354d7675SEmmanuel Vadot vreg_s2b_1p05: s2 { 260*354d7675SEmmanuel Vadot regulator-min-microvolt = <1050000>; 261*354d7675SEmmanuel Vadot regulator-max-microvolt = <1050000>; 262*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <200>; 263*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 264*354d7675SEmmanuel Vadot }; 265*354d7675SEmmanuel Vadot 266*354d7675SEmmanuel Vadot /* 267*354d7675SEmmanuel Vadot * At least on Nile's configuration, S3B/S4B (VDD_CX) and 268*354d7675SEmmanuel Vadot * S5B (VDD_MX) are managed only through RPM Power Domains. 269*354d7675SEmmanuel Vadot * Trying to set a voltage on the main supply will create 270*354d7675SEmmanuel Vadot * havoc and freeze the SoC. 271*354d7675SEmmanuel Vadot * In any case, reference voltages for these regulators are: 272*354d7675SEmmanuel Vadot * S3B/S4B: 0.870V 273*354d7675SEmmanuel Vadot * S5B: 0.915V 274*354d7675SEmmanuel Vadot */ 275*354d7675SEmmanuel Vadot 276*354d7675SEmmanuel Vadot /* LDOs */ 277*354d7675SEmmanuel Vadot vreg_l1b_0p925: l1 { 278*354d7675SEmmanuel Vadot regulator-min-microvolt = <920000>; 279*354d7675SEmmanuel Vadot regulator-max-microvolt = <928000>; 280*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 281*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 282*354d7675SEmmanuel Vadot regulator-allow-set-load; 283*354d7675SEmmanuel Vadot }; 284*354d7675SEmmanuel Vadot 285*354d7675SEmmanuel Vadot vreg_l2b_2p95: l2 { 286*354d7675SEmmanuel Vadot /* 287*354d7675SEmmanuel Vadot * This regulator supports 1.648 - 3.104V on this board 288*354d7675SEmmanuel Vadot * but we set a max voltage of anything less than 2.7V 289*354d7675SEmmanuel Vadot * to satisfy a condition in sdhci.c that will disable 290*354d7675SEmmanuel Vadot * 3.3V SDHCI signaling, which happens to be not really 291*354d7675SEmmanuel Vadot * supported on the Xperia Nile/Ganges platform. 292*354d7675SEmmanuel Vadot */ 293*354d7675SEmmanuel Vadot regulator-min-microvolt = <1648000>; 294*354d7675SEmmanuel Vadot regulator-max-microvolt = <2696000>; 295*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 296*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 297*354d7675SEmmanuel Vadot regulator-allow-set-load; 298*354d7675SEmmanuel Vadot }; 299*354d7675SEmmanuel Vadot 300*354d7675SEmmanuel Vadot vreg_l3b_3p0: l3 { 301*354d7675SEmmanuel Vadot regulator-min-microvolt = <2800000>; 302*354d7675SEmmanuel Vadot regulator-max-microvolt = <2800000>; 303*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 304*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 305*354d7675SEmmanuel Vadot regulator-min-microamp = <200>; 306*354d7675SEmmanuel Vadot regulator-max-microamp = <600000>; 307*354d7675SEmmanuel Vadot regulator-system-load = <100000>; 308*354d7675SEmmanuel Vadot regulator-allow-set-load; 309*354d7675SEmmanuel Vadot }; 310*354d7675SEmmanuel Vadot 311*354d7675SEmmanuel Vadot vreg_l4b_29p5: l4 { 312*354d7675SEmmanuel Vadot regulator-min-microvolt = <2944000>; 313*354d7675SEmmanuel Vadot regulator-max-microvolt = <2952000>; 314*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 315*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 316*354d7675SEmmanuel Vadot 317*354d7675SEmmanuel Vadot regulator-min-microamp = <200>; 318*354d7675SEmmanuel Vadot regulator-max-microamp = <600000>; 319*354d7675SEmmanuel Vadot regulator-system-load = <570000>; 320*354d7675SEmmanuel Vadot regulator-allow-set-load; 321*354d7675SEmmanuel Vadot }; 322*354d7675SEmmanuel Vadot 323*354d7675SEmmanuel Vadot /* 324*354d7675SEmmanuel Vadot * Downstream specifies a range of 1721-3600mV, 325*354d7675SEmmanuel Vadot * but the only assigned consumers are SDHCI2 VMMC 326*354d7675SEmmanuel Vadot * and Coresight QPDI that both request pinned 2.95V. 327*354d7675SEmmanuel Vadot * Tighten the range to 1.8-3.328 (closest to 3.3) to 328*354d7675SEmmanuel Vadot * make the mmc driver happy. 329*354d7675SEmmanuel Vadot */ 330*354d7675SEmmanuel Vadot vreg_l5b_29p5: l5 { 331*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 332*354d7675SEmmanuel Vadot regulator-max-microvolt = <3328000>; 333*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 334*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 335*354d7675SEmmanuel Vadot regulator-allow-set-load; 336*354d7675SEmmanuel Vadot regulator-system-load = <800000>; 337*354d7675SEmmanuel Vadot }; 338*354d7675SEmmanuel Vadot 339*354d7675SEmmanuel Vadot vreg_l6b_3p3: l6 { 340*354d7675SEmmanuel Vadot regulator-min-microvolt = <1704000>; 341*354d7675SEmmanuel Vadot regulator-max-microvolt = <3312000>; 342*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 343*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 344*354d7675SEmmanuel Vadot }; 345*354d7675SEmmanuel Vadot 346*354d7675SEmmanuel Vadot vreg_l7b_3p125: l7 { 347*354d7675SEmmanuel Vadot regulator-min-microvolt = <2704000>; 348*354d7675SEmmanuel Vadot regulator-max-microvolt = <3128000>; 349*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 350*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 351*354d7675SEmmanuel Vadot }; 352*354d7675SEmmanuel Vadot 353*354d7675SEmmanuel Vadot vreg_l8b_3p3: l8 { 354*354d7675SEmmanuel Vadot regulator-min-microvolt = <2800000>; 355*354d7675SEmmanuel Vadot regulator-max-microvolt = <3400000>; 356*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 357*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 358*354d7675SEmmanuel Vadot }; 359*354d7675SEmmanuel Vadot 360*354d7675SEmmanuel Vadot /* L9B (870mV) is currently unused */ 361*354d7675SEmmanuel Vadot /* L10B (915mV) is currently unused */ 362*354d7675SEmmanuel Vadot 363*354d7675SEmmanuel Vadot vreg_bob: bob { 364*354d7675SEmmanuel Vadot regulator-min-microvolt = <3304000>; 365*354d7675SEmmanuel Vadot regulator-max-microvolt = <3624000>; 366*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <500>; 367*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 368*354d7675SEmmanuel Vadot }; 369*354d7675SEmmanuel Vadot }; 370*354d7675SEmmanuel Vadot 371*354d7675SEmmanuel Vadot pm660-regulators { 372*354d7675SEmmanuel Vadot compatible = "qcom,rpm-pm660-regulators"; 373*354d7675SEmmanuel Vadot 374*354d7675SEmmanuel Vadot vdd_s1-supply = <&vph_pwr>; 375*354d7675SEmmanuel Vadot vdd_s2-supply = <&vph_pwr>; 376*354d7675SEmmanuel Vadot vdd_s3-supply = <&vph_pwr>; 377*354d7675SEmmanuel Vadot vdd_s4-supply = <&vph_pwr>; 378*354d7675SEmmanuel Vadot vdd_s5-supply = <&vph_pwr>; 379*354d7675SEmmanuel Vadot vdd_s6-supply = <&vph_pwr>; 380*354d7675SEmmanuel Vadot 381*354d7675SEmmanuel Vadot vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>; 382*354d7675SEmmanuel Vadot vdd_l2_l3-supply = <&vreg_s2b_1p05>; 383*354d7675SEmmanuel Vadot vdd_l5-supply = <&vreg_s2b_1p05>; 384*354d7675SEmmanuel Vadot vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>; 385*354d7675SEmmanuel Vadot vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>; 386*354d7675SEmmanuel Vadot 387*354d7675SEmmanuel Vadot /* 388*354d7675SEmmanuel Vadot * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed 389*354d7675SEmmanuel Vadot * by the Core Power Reduction hardened (CPRh) and the 390*354d7675SEmmanuel Vadot * Operating State Manager (OSM) HW automatically. 391*354d7675SEmmanuel Vadot */ 392*354d7675SEmmanuel Vadot 393*354d7675SEmmanuel Vadot vreg_s4a_2p04: s4 { 394*354d7675SEmmanuel Vadot regulator-min-microvolt = <2040000>; 395*354d7675SEmmanuel Vadot regulator-max-microvolt = <2040000>; 396*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <200>; 397*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 398*354d7675SEmmanuel Vadot regulator-always-on; 399*354d7675SEmmanuel Vadot }; 400*354d7675SEmmanuel Vadot 401*354d7675SEmmanuel Vadot vreg_s5a_1p35: s5 { 402*354d7675SEmmanuel Vadot regulator-min-microvolt = <1224000>; 403*354d7675SEmmanuel Vadot regulator-max-microvolt = <1350000>; 404*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <200>; 405*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 406*354d7675SEmmanuel Vadot }; 407*354d7675SEmmanuel Vadot 408*354d7675SEmmanuel Vadot vreg_s6a_0p87: s6 { 409*354d7675SEmmanuel Vadot regulator-min-microvolt = <504000>; 410*354d7675SEmmanuel Vadot regulator-max-microvolt = <992000>; 411*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <150>; 412*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 413*354d7675SEmmanuel Vadot }; 414*354d7675SEmmanuel Vadot 415*354d7675SEmmanuel Vadot /* LDOs */ 416*354d7675SEmmanuel Vadot vreg_l1a_1p225: l1 { 417*354d7675SEmmanuel Vadot regulator-min-microvolt = <1226000>; 418*354d7675SEmmanuel Vadot regulator-max-microvolt = <1250000>; 419*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 420*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 421*354d7675SEmmanuel Vadot regulator-allow-set-load; 422*354d7675SEmmanuel Vadot }; 423*354d7675SEmmanuel Vadot 424*354d7675SEmmanuel Vadot vreg_l2a_1p0: l2 { 425*354d7675SEmmanuel Vadot regulator-min-microvolt = <944000>; 426*354d7675SEmmanuel Vadot regulator-max-microvolt = <1008000>; 427*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 428*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 429*354d7675SEmmanuel Vadot }; 430*354d7675SEmmanuel Vadot 431*354d7675SEmmanuel Vadot vreg_l3a_1p0: l3 { 432*354d7675SEmmanuel Vadot regulator-min-microvolt = <944000>; 433*354d7675SEmmanuel Vadot regulator-max-microvolt = <1008000>; 434*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 435*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 436*354d7675SEmmanuel Vadot }; 437*354d7675SEmmanuel Vadot 438*354d7675SEmmanuel Vadot vreg_l5a_0p848: l5 { 439*354d7675SEmmanuel Vadot regulator-min-microvolt = <800000>; 440*354d7675SEmmanuel Vadot regulator-max-microvolt = <952000>; 441*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 442*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 443*354d7675SEmmanuel Vadot }; 444*354d7675SEmmanuel Vadot 445*354d7675SEmmanuel Vadot vreg_l6a_1p3: l6 { 446*354d7675SEmmanuel Vadot regulator-min-microvolt = <1304000>; 447*354d7675SEmmanuel Vadot regulator-max-microvolt = <1368000>; 448*354d7675SEmmanuel Vadot regulator-allow-set-load; 449*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 450*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 451*354d7675SEmmanuel Vadot }; 452*354d7675SEmmanuel Vadot 453*354d7675SEmmanuel Vadot vreg_l7a_1p2: l7 { 454*354d7675SEmmanuel Vadot regulator-min-microvolt = <1200000>; 455*354d7675SEmmanuel Vadot regulator-max-microvolt = <1200000>; 456*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 457*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 458*354d7675SEmmanuel Vadot }; 459*354d7675SEmmanuel Vadot 460*354d7675SEmmanuel Vadot vreg_l8a_1p8: l8 { 461*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 462*354d7675SEmmanuel Vadot regulator-max-microvolt = <1800000>; 463*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 464*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 465*354d7675SEmmanuel Vadot regulator-system-load = <325000>; 466*354d7675SEmmanuel Vadot regulator-allow-set-load; 467*354d7675SEmmanuel Vadot }; 468*354d7675SEmmanuel Vadot 469*354d7675SEmmanuel Vadot vreg_l9a_1p8: l9 { 470*354d7675SEmmanuel Vadot regulator-min-microvolt = <1804000>; 471*354d7675SEmmanuel Vadot regulator-max-microvolt = <1896000>; 472*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 473*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 474*354d7675SEmmanuel Vadot regulator-allow-set-load; 475*354d7675SEmmanuel Vadot }; 476*354d7675SEmmanuel Vadot 477*354d7675SEmmanuel Vadot vreg_l10a_1p8: l10 { 478*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 479*354d7675SEmmanuel Vadot regulator-max-microvolt = <1944000>; 480*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 481*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 482*354d7675SEmmanuel Vadot regulator-allow-set-load; 483*354d7675SEmmanuel Vadot }; 484*354d7675SEmmanuel Vadot 485*354d7675SEmmanuel Vadot vreg_l11a_1p8: l11 { 486*354d7675SEmmanuel Vadot regulator-min-microvolt = <1784000>; 487*354d7675SEmmanuel Vadot regulator-max-microvolt = <1944000>; 488*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 489*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 490*354d7675SEmmanuel Vadot }; 491*354d7675SEmmanuel Vadot 492*354d7675SEmmanuel Vadot vreg_l12a_1p8: l12 { 493*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 494*354d7675SEmmanuel Vadot regulator-max-microvolt = <1944000>; 495*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 496*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 497*354d7675SEmmanuel Vadot }; 498*354d7675SEmmanuel Vadot 499*354d7675SEmmanuel Vadot /* This gives power to the LPDDR4: never turn it off! */ 500*354d7675SEmmanuel Vadot vreg_l13a_1p8: l13 { 501*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 502*354d7675SEmmanuel Vadot regulator-max-microvolt = <1944000>; 503*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 504*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 505*354d7675SEmmanuel Vadot regulator-boot-on; 506*354d7675SEmmanuel Vadot regulator-always-on; 507*354d7675SEmmanuel Vadot }; 508*354d7675SEmmanuel Vadot 509*354d7675SEmmanuel Vadot vreg_l14a_1p8: l14 { 510*354d7675SEmmanuel Vadot regulator-min-microvolt = <1710000>; 511*354d7675SEmmanuel Vadot regulator-max-microvolt = <1904000>; 512*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 513*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 514*354d7675SEmmanuel Vadot }; 515*354d7675SEmmanuel Vadot 516*354d7675SEmmanuel Vadot vreg_l15a_1p8: l15 { 517*354d7675SEmmanuel Vadot regulator-min-microvolt = <1648000>; 518*354d7675SEmmanuel Vadot regulator-max-microvolt = <2952000>; 519*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 520*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 521*354d7675SEmmanuel Vadot }; 522*354d7675SEmmanuel Vadot 523*354d7675SEmmanuel Vadot /* L16A (2.70V) is unused */ 524*354d7675SEmmanuel Vadot 525*354d7675SEmmanuel Vadot vreg_l17a_1p8: l17 { 526*354d7675SEmmanuel Vadot regulator-min-microvolt = <1648000>; 527*354d7675SEmmanuel Vadot regulator-max-microvolt = <2952000>; 528*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 529*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 530*354d7675SEmmanuel Vadot }; 531*354d7675SEmmanuel Vadot 532*354d7675SEmmanuel Vadot vreg_l18a_1v8: l18 { 533*354d7675SEmmanuel Vadot regulator-min-microvolt = <1800000>; 534*354d7675SEmmanuel Vadot regulator-max-microvolt = <1800000>; 535*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 536*354d7675SEmmanuel Vadot regulator-ramp-delay = <10>; 537*354d7675SEmmanuel Vadot regulator-min-microamp = <200>; 538*354d7675SEmmanuel Vadot regulator-max-microamp = <50000>; 539*354d7675SEmmanuel Vadot regulator-system-load = <10000>; 540*354d7675SEmmanuel Vadot regulator-allow-set-load; 541*354d7675SEmmanuel Vadot }; 542*354d7675SEmmanuel Vadot 543*354d7675SEmmanuel Vadot vreg_l19a_3p3: l19 { 544*354d7675SEmmanuel Vadot regulator-min-microvolt = <3312000>; 545*354d7675SEmmanuel Vadot regulator-max-microvolt = <3400000>; 546*354d7675SEmmanuel Vadot regulator-enable-ramp-delay = <250>; 547*354d7675SEmmanuel Vadot regulator-ramp-delay = <0>; 548*354d7675SEmmanuel Vadot regulator-allow-set-load; 549*354d7675SEmmanuel Vadot }; 550*354d7675SEmmanuel Vadot }; 551*354d7675SEmmanuel Vadot}; 552*354d7675SEmmanuel Vadot 553*354d7675SEmmanuel Vadot&sdhc_1 { 554*354d7675SEmmanuel Vadot status = "okay"; 555*354d7675SEmmanuel Vadot supports-cqe; 556*354d7675SEmmanuel Vadot 557*354d7675SEmmanuel Vadot /* SoMC Nile platform's eMMC doesn't support HS200 mode */ 558*354d7675SEmmanuel Vadot mmc-ddr-1_8v; 559*354d7675SEmmanuel Vadot mmc-hs400-1_8v; 560*354d7675SEmmanuel Vadot mmc-hs400-enhanced-strobe; 561*354d7675SEmmanuel Vadot 562*354d7675SEmmanuel Vadot vmmc-supply = <&vreg_l4b_29p5>; 563*354d7675SEmmanuel Vadot vqmmc-supply = <&vreg_l8a_1p8>; 564*354d7675SEmmanuel Vadot}; 565*354d7675SEmmanuel Vadot 566*354d7675SEmmanuel Vadot&sdhc_2 { 567*354d7675SEmmanuel Vadot status = "okay"; 568*354d7675SEmmanuel Vadot 569*354d7675SEmmanuel Vadot vmmc-supply = <&vreg_l5b_29p5>; 570*354d7675SEmmanuel Vadot vqmmc-supply = <&vreg_l2b_2p95>; 571*354d7675SEmmanuel Vadot}; 572*354d7675SEmmanuel Vadot 573*354d7675SEmmanuel Vadot&tlmm { 574*354d7675SEmmanuel Vadot gpio-reserved-ranges = <8 4>; 575*354d7675SEmmanuel Vadot 576*354d7675SEmmanuel Vadot ts_int_active: ts-int-active { 577*354d7675SEmmanuel Vadot pins = "gpio45"; 578*354d7675SEmmanuel Vadot drive-strength = <8>; 579*354d7675SEmmanuel Vadot bias-pull-up; 580*354d7675SEmmanuel Vadot }; 581*354d7675SEmmanuel Vadot 582*354d7675SEmmanuel Vadot ts_lcd_id_active: ts-lcd-id-active { 583*354d7675SEmmanuel Vadot pins = "gpio56"; 584*354d7675SEmmanuel Vadot drive-strength = <8>; 585*354d7675SEmmanuel Vadot bias-disable; 586*354d7675SEmmanuel Vadot }; 587*354d7675SEmmanuel Vadot 588*354d7675SEmmanuel Vadot imx300_vana_default: imx300-vana-default { 589*354d7675SEmmanuel Vadot pins = "gpio50"; 590*354d7675SEmmanuel Vadot function = "gpio"; 591*354d7675SEmmanuel Vadot bias-disable; 592*354d7675SEmmanuel Vadot drive-strength = <2>; 593*354d7675SEmmanuel Vadot }; 594*354d7675SEmmanuel Vadot 595*354d7675SEmmanuel Vadot imx219_vana_default: imx219-vana-default { 596*354d7675SEmmanuel Vadot pins = "gpio51"; 597*354d7675SEmmanuel Vadot function = "gpio"; 598*354d7675SEmmanuel Vadot bias-disable; 599*354d7675SEmmanuel Vadot drive-strength = <2>; 600*354d7675SEmmanuel Vadot }; 601*354d7675SEmmanuel Vadot 602*354d7675SEmmanuel Vadot cam_vdig_default: cam-vdig-default { 603*354d7675SEmmanuel Vadot pins = "gpio52"; 604*354d7675SEmmanuel Vadot function = "gpio"; 605*354d7675SEmmanuel Vadot bias-disable; 606*354d7675SEmmanuel Vadot drive-strength = <2>; 607*354d7675SEmmanuel Vadot }; 608*354d7675SEmmanuel Vadot}; 609*354d7675SEmmanuel Vadot 610*354d7675SEmmanuel Vadot&usb3 { 611*354d7675SEmmanuel Vadot status = "okay"; 612*354d7675SEmmanuel Vadot}; 613*354d7675SEmmanuel Vadot 614*354d7675SEmmanuel Vadot&usb3_dwc3 { 615*354d7675SEmmanuel Vadot dr_mode = "peripheral"; 616*354d7675SEmmanuel Vadot extcon = <&extcon_usb>; 617c66ec88fSEmmanuel Vadot}; 618