1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2*0e8011faSEmmanuel Vadot/* 3*0e8011faSEmmanuel Vadot * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com> 4*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Caleb Connolly <caleb@postmarketos.org> 5*0e8011faSEmmanuel Vadot */ 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadot/dts-v1/; 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadot#define PM7250B_SID 8 10*0e8011faSEmmanuel Vadot#define PM7250B_SID1 9 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h> 13*0e8011faSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 14*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h> 15*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 16*0e8011faSEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 17*0e8011faSEmmanuel Vadot#include "sc7280.dtsi" 18*0e8011faSEmmanuel Vadot#include "pm7250b.dtsi" 19*0e8011faSEmmanuel Vadot#include "pm7325.dtsi" 20*0e8011faSEmmanuel Vadot#include "pm8350c.dtsi" /* PM7350C */ 21*0e8011faSEmmanuel Vadot#include "pmk8350.dtsi" /* PMK7325 */ 22*0e8011faSEmmanuel Vadot 23*0e8011faSEmmanuel Vadot/delete-node/ &rmtfs_mem; 24*0e8011faSEmmanuel Vadot 25*0e8011faSEmmanuel Vadot/ { 26*0e8011faSEmmanuel Vadot model = "SHIFT SHIFTphone 8"; 27*0e8011faSEmmanuel Vadot compatible = "shift,otter", "qcom,qcm6490"; 28*0e8011faSEmmanuel Vadot chassis-type = "handset"; 29*0e8011faSEmmanuel Vadot 30*0e8011faSEmmanuel Vadot aliases { 31*0e8011faSEmmanuel Vadot serial0 = &uart5; 32*0e8011faSEmmanuel Vadot serial1 = &uart7; 33*0e8011faSEmmanuel Vadot }; 34*0e8011faSEmmanuel Vadot 35*0e8011faSEmmanuel Vadot chosen { 36*0e8011faSEmmanuel Vadot #address-cells = <2>; 37*0e8011faSEmmanuel Vadot #size-cells = <2>; 38*0e8011faSEmmanuel Vadot ranges; 39*0e8011faSEmmanuel Vadot 40*0e8011faSEmmanuel Vadot stdout-path = "serial0:115200n8"; 41*0e8011faSEmmanuel Vadot 42*0e8011faSEmmanuel Vadot framebuffer0: framebuffer@a000000 { 43*0e8011faSEmmanuel Vadot compatible = "simple-framebuffer"; 44*0e8011faSEmmanuel Vadot reg = <0x0 0xe1000000 0x0 (2400 * 1080 * 4)>; 45*0e8011faSEmmanuel Vadot width = <1080>; 46*0e8011faSEmmanuel Vadot height = <2400>; 47*0e8011faSEmmanuel Vadot stride = <(1080 * 4)>; 48*0e8011faSEmmanuel Vadot format = "a8r8g8b8"; 49*0e8011faSEmmanuel Vadot clocks = <&gcc GCC_DISP_HF_AXI_CLK>; 50*0e8011faSEmmanuel Vadot }; 51*0e8011faSEmmanuel Vadot }; 52*0e8011faSEmmanuel Vadot 53*0e8011faSEmmanuel Vadot gpio-keys { 54*0e8011faSEmmanuel Vadot compatible = "gpio-keys"; 55*0e8011faSEmmanuel Vadot 56*0e8011faSEmmanuel Vadot pinctrl-0 = <&volume_down_default>; 57*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 58*0e8011faSEmmanuel Vadot 59*0e8011faSEmmanuel Vadot key-volume-up { 60*0e8011faSEmmanuel Vadot label = "Volume up"; 61*0e8011faSEmmanuel Vadot gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>; 62*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 63*0e8011faSEmmanuel Vadot debounce-interval = <15>; 64*0e8011faSEmmanuel Vadot }; 65*0e8011faSEmmanuel Vadot }; 66*0e8011faSEmmanuel Vadot 67*0e8011faSEmmanuel Vadot pmic-glink { 68*0e8011faSEmmanuel Vadot compatible = "qcom,qcm6490-pmic-glink", "qcom,pmic-glink"; 69*0e8011faSEmmanuel Vadot 70*0e8011faSEmmanuel Vadot #address-cells = <1>; 71*0e8011faSEmmanuel Vadot #size-cells = <0>; 72*0e8011faSEmmanuel Vadot 73*0e8011faSEmmanuel Vadot connector@0 { 74*0e8011faSEmmanuel Vadot compatible = "usb-c-connector"; 75*0e8011faSEmmanuel Vadot reg = <0>; 76*0e8011faSEmmanuel Vadot power-role = "dual"; 77*0e8011faSEmmanuel Vadot data-role = "dual"; 78*0e8011faSEmmanuel Vadot 79*0e8011faSEmmanuel Vadot ports { 80*0e8011faSEmmanuel Vadot #address-cells = <1>; 81*0e8011faSEmmanuel Vadot #size-cells = <0>; 82*0e8011faSEmmanuel Vadot 83*0e8011faSEmmanuel Vadot port@0 { 84*0e8011faSEmmanuel Vadot reg = <0>; 85*0e8011faSEmmanuel Vadot 86*0e8011faSEmmanuel Vadot pmic_glink_hs_in: endpoint { 87*0e8011faSEmmanuel Vadot remote-endpoint = <&usb_1_dwc3_hs>; 88*0e8011faSEmmanuel Vadot }; 89*0e8011faSEmmanuel Vadot }; 90*0e8011faSEmmanuel Vadot 91*0e8011faSEmmanuel Vadot port@1 { 92*0e8011faSEmmanuel Vadot reg = <1>; 93*0e8011faSEmmanuel Vadot 94*0e8011faSEmmanuel Vadot pmic_glink_ss_in: endpoint { 95*0e8011faSEmmanuel Vadot remote-endpoint = <&usb_dp_qmpphy_out>; 96*0e8011faSEmmanuel Vadot }; 97*0e8011faSEmmanuel Vadot }; 98*0e8011faSEmmanuel Vadot 99*0e8011faSEmmanuel Vadot port@2 { 100*0e8011faSEmmanuel Vadot reg = <2>; 101*0e8011faSEmmanuel Vadot 102*0e8011faSEmmanuel Vadot pmic_glink_sbu: endpoint { 103*0e8011faSEmmanuel Vadot remote-endpoint = <&fsa4480_sbu_mux>; 104*0e8011faSEmmanuel Vadot }; 105*0e8011faSEmmanuel Vadot }; 106*0e8011faSEmmanuel Vadot }; 107*0e8011faSEmmanuel Vadot }; 108*0e8011faSEmmanuel Vadot }; 109*0e8011faSEmmanuel Vadot 110*0e8011faSEmmanuel Vadot reserved-memory { 111*0e8011faSEmmanuel Vadot cont_splash_mem: cont-splash@e1000000 { 112*0e8011faSEmmanuel Vadot reg = <0x0 0xe1000000 0x0 0x2300000>; 113*0e8011faSEmmanuel Vadot no-map; 114*0e8011faSEmmanuel Vadot }; 115*0e8011faSEmmanuel Vadot 116*0e8011faSEmmanuel Vadot cdsp_mem: cdsp@88f00000 { 117*0e8011faSEmmanuel Vadot reg = <0x0 0x88f00000 0x0 0x1e00000>; 118*0e8011faSEmmanuel Vadot no-map; 119*0e8011faSEmmanuel Vadot }; 120*0e8011faSEmmanuel Vadot 121*0e8011faSEmmanuel Vadot rmtfs_mem: rmtfs@f8500000 { 122*0e8011faSEmmanuel Vadot compatible = "qcom,rmtfs-mem"; 123*0e8011faSEmmanuel Vadot reg = <0x0 0xf8500000 0x0 0x600000>; 124*0e8011faSEmmanuel Vadot no-map; 125*0e8011faSEmmanuel Vadot 126*0e8011faSEmmanuel Vadot qcom,client-id = <1>; 127*0e8011faSEmmanuel Vadot qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>; 128*0e8011faSEmmanuel Vadot }; 129*0e8011faSEmmanuel Vadot }; 130*0e8011faSEmmanuel Vadot 131*0e8011faSEmmanuel Vadot thermal-zones { 132*0e8011faSEmmanuel Vadot camera-thermal { 133*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 134*0e8011faSEmmanuel Vadot polling-delay = <0>; 135*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 2>; 136*0e8011faSEmmanuel Vadot 137*0e8011faSEmmanuel Vadot trips { 138*0e8011faSEmmanuel Vadot active-config0 { 139*0e8011faSEmmanuel Vadot temperature = <125000>; 140*0e8011faSEmmanuel Vadot hysteresis = <1000>; 141*0e8011faSEmmanuel Vadot type = "passive"; 142*0e8011faSEmmanuel Vadot }; 143*0e8011faSEmmanuel Vadot }; 144*0e8011faSEmmanuel Vadot }; 145*0e8011faSEmmanuel Vadot 146*0e8011faSEmmanuel Vadot chg-skin-thermal { 147*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 148*0e8011faSEmmanuel Vadot polling-delay = <0>; 149*0e8011faSEmmanuel Vadot thermal-sensors = <&pm7250b_adc_tm 0>; 150*0e8011faSEmmanuel Vadot 151*0e8011faSEmmanuel Vadot trips { 152*0e8011faSEmmanuel Vadot active-config0 { 153*0e8011faSEmmanuel Vadot temperature = <125000>; 154*0e8011faSEmmanuel Vadot hysteresis = <1000>; 155*0e8011faSEmmanuel Vadot type = "passive"; 156*0e8011faSEmmanuel Vadot }; 157*0e8011faSEmmanuel Vadot }; 158*0e8011faSEmmanuel Vadot }; 159*0e8011faSEmmanuel Vadot 160*0e8011faSEmmanuel Vadot conn-thermal { 161*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 162*0e8011faSEmmanuel Vadot polling-delay = <0>; 163*0e8011faSEmmanuel Vadot thermal-sensors = <&pm7250b_adc_tm 1>; 164*0e8011faSEmmanuel Vadot 165*0e8011faSEmmanuel Vadot trips { 166*0e8011faSEmmanuel Vadot active-config0 { 167*0e8011faSEmmanuel Vadot temperature = <125000>; 168*0e8011faSEmmanuel Vadot hysteresis = <1000>; 169*0e8011faSEmmanuel Vadot type = "passive"; 170*0e8011faSEmmanuel Vadot }; 171*0e8011faSEmmanuel Vadot }; 172*0e8011faSEmmanuel Vadot }; 173*0e8011faSEmmanuel Vadot 174*0e8011faSEmmanuel Vadot quiet-thermal { 175*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 176*0e8011faSEmmanuel Vadot polling-delay = <0>; 177*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 1>; 178*0e8011faSEmmanuel Vadot 179*0e8011faSEmmanuel Vadot trips { 180*0e8011faSEmmanuel Vadot active-config0 { 181*0e8011faSEmmanuel Vadot temperature = <125000>; 182*0e8011faSEmmanuel Vadot hysteresis = <1000>; 183*0e8011faSEmmanuel Vadot type = "passive"; 184*0e8011faSEmmanuel Vadot }; 185*0e8011faSEmmanuel Vadot }; 186*0e8011faSEmmanuel Vadot }; 187*0e8011faSEmmanuel Vadot 188*0e8011faSEmmanuel Vadot rear-cam-thermal { 189*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 190*0e8011faSEmmanuel Vadot polling-delay = <0>; 191*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 4>; 192*0e8011faSEmmanuel Vadot 193*0e8011faSEmmanuel Vadot trips { 194*0e8011faSEmmanuel Vadot active-config0 { 195*0e8011faSEmmanuel Vadot temperature = <125000>; 196*0e8011faSEmmanuel Vadot hysteresis = <1000>; 197*0e8011faSEmmanuel Vadot type = "passive"; 198*0e8011faSEmmanuel Vadot }; 199*0e8011faSEmmanuel Vadot }; 200*0e8011faSEmmanuel Vadot }; 201*0e8011faSEmmanuel Vadot 202*0e8011faSEmmanuel Vadot sdm-skin-thermal { 203*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 204*0e8011faSEmmanuel Vadot polling-delay = <0>; 205*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 3>; 206*0e8011faSEmmanuel Vadot 207*0e8011faSEmmanuel Vadot trips { 208*0e8011faSEmmanuel Vadot active-config0 { 209*0e8011faSEmmanuel Vadot temperature = <125000>; 210*0e8011faSEmmanuel Vadot hysteresis = <1000>; 211*0e8011faSEmmanuel Vadot type = "passive"; 212*0e8011faSEmmanuel Vadot }; 213*0e8011faSEmmanuel Vadot }; 214*0e8011faSEmmanuel Vadot }; 215*0e8011faSEmmanuel Vadot 216*0e8011faSEmmanuel Vadot xo-thermal { 217*0e8011faSEmmanuel Vadot polling-delay-passive = <0>; 218*0e8011faSEmmanuel Vadot polling-delay = <0>; 219*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 0>; 220*0e8011faSEmmanuel Vadot 221*0e8011faSEmmanuel Vadot trips { 222*0e8011faSEmmanuel Vadot active-config0 { 223*0e8011faSEmmanuel Vadot temperature = <125000>; 224*0e8011faSEmmanuel Vadot hysteresis = <1000>; 225*0e8011faSEmmanuel Vadot type = "passive"; 226*0e8011faSEmmanuel Vadot }; 227*0e8011faSEmmanuel Vadot }; 228*0e8011faSEmmanuel Vadot }; 229*0e8011faSEmmanuel Vadot }; 230*0e8011faSEmmanuel Vadot}; 231*0e8011faSEmmanuel Vadot 232*0e8011faSEmmanuel Vadot&apps_rsc { 233*0e8011faSEmmanuel Vadot regulators-0 { 234*0e8011faSEmmanuel Vadot compatible = "qcom,pm7325-rpmh-regulators"; 235*0e8011faSEmmanuel Vadot qcom,pmic-id = "b"; 236*0e8011faSEmmanuel Vadot 237*0e8011faSEmmanuel Vadot vreg_s1b: smps1 { 238*0e8011faSEmmanuel Vadot regulator-name = "vreg_s1b"; 239*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1840000>; 240*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2040000>; 241*0e8011faSEmmanuel Vadot }; 242*0e8011faSEmmanuel Vadot 243*0e8011faSEmmanuel Vadot vreg_s7b: smps7 { 244*0e8011faSEmmanuel Vadot regulator-name = "vreg_s7b"; 245*0e8011faSEmmanuel Vadot regulator-min-microvolt = <535000>; 246*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1120000>; 247*0e8011faSEmmanuel Vadot }; 248*0e8011faSEmmanuel Vadot 249*0e8011faSEmmanuel Vadot vreg_s8b: smps8 { 250*0e8011faSEmmanuel Vadot regulator-name = "vreg_s8b"; 251*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1200000>; 252*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1500000>; 253*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>; 254*0e8011faSEmmanuel Vadot }; 255*0e8011faSEmmanuel Vadot 256*0e8011faSEmmanuel Vadot vreg_l1b: ldo1 { 257*0e8011faSEmmanuel Vadot regulator-name = "vreg_l1b"; 258*0e8011faSEmmanuel Vadot regulator-min-microvolt = <825000>; 259*0e8011faSEmmanuel Vadot regulator-max-microvolt = <925000>; 260*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 261*0e8011faSEmmanuel Vadot }; 262*0e8011faSEmmanuel Vadot 263*0e8011faSEmmanuel Vadot vreg_l2b: ldo2 { 264*0e8011faSEmmanuel Vadot regulator-name = "vreg_l2b"; 265*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2700000>; 266*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 267*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 268*0e8011faSEmmanuel Vadot }; 269*0e8011faSEmmanuel Vadot 270*0e8011faSEmmanuel Vadot vreg_l3b: ldo3 { 271*0e8011faSEmmanuel Vadot regulator-name = "vreg_l3b"; 272*0e8011faSEmmanuel Vadot regulator-min-microvolt = <312000>; 273*0e8011faSEmmanuel Vadot regulator-max-microvolt = <910000>; 274*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 275*0e8011faSEmmanuel Vadot }; 276*0e8011faSEmmanuel Vadot 277*0e8011faSEmmanuel Vadot vreg_l6b: ldo6 { 278*0e8011faSEmmanuel Vadot regulator-name = "vreg_l6b"; 279*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1140000>; 280*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1260000>; 281*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 282*0e8011faSEmmanuel Vadot }; 283*0e8011faSEmmanuel Vadot 284*0e8011faSEmmanuel Vadot vreg_l7b: ldo7 { 285*0e8011faSEmmanuel Vadot regulator-name = "vreg_l7b"; 286*0e8011faSEmmanuel Vadot /* Constrained for UFS VCC, at least until UFS driver scales voltage */ 287*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2952000>; 288*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2952000>; 289*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 290*0e8011faSEmmanuel Vadot }; 291*0e8011faSEmmanuel Vadot 292*0e8011faSEmmanuel Vadot vreg_l8b: ldo8 { 293*0e8011faSEmmanuel Vadot regulator-name = "vreg_l8b"; 294*0e8011faSEmmanuel Vadot regulator-min-microvolt = <870000>; 295*0e8011faSEmmanuel Vadot regulator-max-microvolt = <970000>; 296*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 297*0e8011faSEmmanuel Vadot }; 298*0e8011faSEmmanuel Vadot 299*0e8011faSEmmanuel Vadot vreg_l9b: ldo9 { 300*0e8011faSEmmanuel Vadot regulator-name = "vreg_l9b"; 301*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1200000>; 302*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1304000>; 303*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 304*0e8011faSEmmanuel Vadot }; 305*0e8011faSEmmanuel Vadot 306*0e8011faSEmmanuel Vadot vreg_l11b: ldo11 { 307*0e8011faSEmmanuel Vadot regulator-name = "vreg_l11b"; 308*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1504000>; 309*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2000000>; 310*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 311*0e8011faSEmmanuel Vadot }; 312*0e8011faSEmmanuel Vadot 313*0e8011faSEmmanuel Vadot vreg_l12b: ldo12 { 314*0e8011faSEmmanuel Vadot regulator-name = "vreg_l12b"; 315*0e8011faSEmmanuel Vadot regulator-min-microvolt = <751000>; 316*0e8011faSEmmanuel Vadot regulator-max-microvolt = <824000>; 317*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 318*0e8011faSEmmanuel Vadot }; 319*0e8011faSEmmanuel Vadot 320*0e8011faSEmmanuel Vadot vreg_l13b: ldo13 { 321*0e8011faSEmmanuel Vadot regulator-name = "vreg_l13b"; 322*0e8011faSEmmanuel Vadot regulator-min-microvolt = <530000>; 323*0e8011faSEmmanuel Vadot regulator-max-microvolt = <824000>; 324*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 325*0e8011faSEmmanuel Vadot }; 326*0e8011faSEmmanuel Vadot 327*0e8011faSEmmanuel Vadot vreg_l14b: ldo14 { 328*0e8011faSEmmanuel Vadot regulator-name = "vreg_l14b"; 329*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1080000>; 330*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1304000>; 331*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 332*0e8011faSEmmanuel Vadot }; 333*0e8011faSEmmanuel Vadot 334*0e8011faSEmmanuel Vadot vreg_l15b: ldo15 { 335*0e8011faSEmmanuel Vadot regulator-name = "vreg_l15b"; 336*0e8011faSEmmanuel Vadot regulator-min-microvolt = <765000>; 337*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1020000>; 338*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 339*0e8011faSEmmanuel Vadot }; 340*0e8011faSEmmanuel Vadot 341*0e8011faSEmmanuel Vadot vreg_l16b: ldo16 { 342*0e8011faSEmmanuel Vadot regulator-name = "vreg_l16b"; 343*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1100000>; 344*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1300000>; 345*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 346*0e8011faSEmmanuel Vadot }; 347*0e8011faSEmmanuel Vadot 348*0e8011faSEmmanuel Vadot vreg_l17b: ldo17 { 349*0e8011faSEmmanuel Vadot regulator-name = "vreg_l17b"; 350*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1700000>; 351*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1900000>; 352*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 353*0e8011faSEmmanuel Vadot }; 354*0e8011faSEmmanuel Vadot 355*0e8011faSEmmanuel Vadot vreg_l18b: ldo18 { 356*0e8011faSEmmanuel Vadot regulator-name = "vreg_l18b"; 357*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 358*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2000000>; 359*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 360*0e8011faSEmmanuel Vadot }; 361*0e8011faSEmmanuel Vadot 362*0e8011faSEmmanuel Vadot vreg_l19b: ldo19 { 363*0e8011faSEmmanuel Vadot regulator-name = "vreg_l19b"; 364*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 365*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2000000>; 366*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 367*0e8011faSEmmanuel Vadot }; 368*0e8011faSEmmanuel Vadot }; 369*0e8011faSEmmanuel Vadot 370*0e8011faSEmmanuel Vadot regulators-1 { 371*0e8011faSEmmanuel Vadot compatible = "qcom,pm8350c-rpmh-regulators"; 372*0e8011faSEmmanuel Vadot qcom,pmic-id = "c"; 373*0e8011faSEmmanuel Vadot 374*0e8011faSEmmanuel Vadot vreg_s1c: smps1 { 375*0e8011faSEmmanuel Vadot regulator-name = "vreg_s1c"; 376*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2190000>; 377*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2210000>; 378*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 379*0e8011faSEmmanuel Vadot }; 380*0e8011faSEmmanuel Vadot 381*0e8011faSEmmanuel Vadot vreg_s9c: smps9 { 382*0e8011faSEmmanuel Vadot regulator-name = "vreg_s9c"; 383*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1010000>; 384*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1170000>; 385*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 386*0e8011faSEmmanuel Vadot }; 387*0e8011faSEmmanuel Vadot 388*0e8011faSEmmanuel Vadot vreg_l1c: ldo1 { 389*0e8011faSEmmanuel Vadot regulator-name = "vreg_l1c"; 390*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 391*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1980000>; 392*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 393*0e8011faSEmmanuel Vadot }; 394*0e8011faSEmmanuel Vadot 395*0e8011faSEmmanuel Vadot vreg_l2c: ldo2 { 396*0e8011faSEmmanuel Vadot regulator-name = "vreg_l2c"; 397*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 398*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1950000>; 399*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 400*0e8011faSEmmanuel Vadot }; 401*0e8011faSEmmanuel Vadot 402*0e8011faSEmmanuel Vadot vreg_l3c: ldo3 { 403*0e8011faSEmmanuel Vadot regulator-name = "vreg_l3c"; 404*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3000000>; 405*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3400000>; 406*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 407*0e8011faSEmmanuel Vadot }; 408*0e8011faSEmmanuel Vadot 409*0e8011faSEmmanuel Vadot vreg_l4c: ldo4 { 410*0e8011faSEmmanuel Vadot regulator-name = "vreg_l4c"; 411*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1620000>; 412*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 413*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 414*0e8011faSEmmanuel Vadot }; 415*0e8011faSEmmanuel Vadot 416*0e8011faSEmmanuel Vadot vreg_l5c: ldo5 { 417*0e8011faSEmmanuel Vadot regulator-name = "vreg_l5c"; 418*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1620000>; 419*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 420*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 421*0e8011faSEmmanuel Vadot }; 422*0e8011faSEmmanuel Vadot 423*0e8011faSEmmanuel Vadot vreg_l6c: ldo6 { 424*0e8011faSEmmanuel Vadot regulator-name = "vreg_l6c"; 425*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1650000>; 426*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 427*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 428*0e8011faSEmmanuel Vadot }; 429*0e8011faSEmmanuel Vadot 430*0e8011faSEmmanuel Vadot vreg_l7c: ldo7 { 431*0e8011faSEmmanuel Vadot regulator-name = "vreg_l7c"; 432*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3000000>; 433*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 434*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 435*0e8011faSEmmanuel Vadot }; 436*0e8011faSEmmanuel Vadot 437*0e8011faSEmmanuel Vadot vreg_l8c: ldo8 { 438*0e8011faSEmmanuel Vadot regulator-name = "vreg_l8c"; 439*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1620000>; 440*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2000000>; 441*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 442*0e8011faSEmmanuel Vadot }; 443*0e8011faSEmmanuel Vadot 444*0e8011faSEmmanuel Vadot vreg_l9c: ldo9 { 445*0e8011faSEmmanuel Vadot regulator-name = "vreg_l9c"; 446*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2700000>; 447*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 448*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 449*0e8011faSEmmanuel Vadot }; 450*0e8011faSEmmanuel Vadot 451*0e8011faSEmmanuel Vadot vreg_l10c: ldo10 { 452*0e8011faSEmmanuel Vadot regulator-name = "vreg_l10c"; 453*0e8011faSEmmanuel Vadot regulator-min-microvolt = <720000>; 454*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1050000>; 455*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 456*0e8011faSEmmanuel Vadot }; 457*0e8011faSEmmanuel Vadot 458*0e8011faSEmmanuel Vadot vreg_l11c: ldo11 { 459*0e8011faSEmmanuel Vadot regulator-name = "vreg_l11c"; 460*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2800000>; 461*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 462*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 463*0e8011faSEmmanuel Vadot }; 464*0e8011faSEmmanuel Vadot 465*0e8011faSEmmanuel Vadot vreg_l12c: ldo12 { 466*0e8011faSEmmanuel Vadot regulator-name = "vreg_l12c"; 467*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1650000>; 468*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2000000>; 469*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 470*0e8011faSEmmanuel Vadot }; 471*0e8011faSEmmanuel Vadot 472*0e8011faSEmmanuel Vadot vreg_l13c: ldo13 { 473*0e8011faSEmmanuel Vadot regulator-name = "vreg_l13c"; 474*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2700000>; 475*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3544000>; 476*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 477*0e8011faSEmmanuel Vadot }; 478*0e8011faSEmmanuel Vadot 479*0e8011faSEmmanuel Vadot vreg_bob: bob { 480*0e8011faSEmmanuel Vadot regulator-name = "vreg_bob"; 481*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3008000>; 482*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3960000>; 483*0e8011faSEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 484*0e8011faSEmmanuel Vadot }; 485*0e8011faSEmmanuel Vadot }; 486*0e8011faSEmmanuel Vadot}; 487*0e8011faSEmmanuel Vadot 488*0e8011faSEmmanuel Vadot&gcc { 489*0e8011faSEmmanuel Vadot protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, 490*0e8011faSEmmanuel Vadot <GCC_EDP_CLKREF_EN>, 491*0e8011faSEmmanuel Vadot <GCC_MSS_CFG_AHB_CLK>, 492*0e8011faSEmmanuel Vadot <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>, 493*0e8011faSEmmanuel Vadot <GCC_MSS_OFFLINE_AXI_CLK>, 494*0e8011faSEmmanuel Vadot <GCC_MSS_Q6SS_BOOT_CLK_SRC>, 495*0e8011faSEmmanuel Vadot <GCC_MSS_Q6_MEMNOC_AXI_CLK>, 496*0e8011faSEmmanuel Vadot <GCC_MSS_SNOC_AXI_CLK>, 497*0e8011faSEmmanuel Vadot <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 498*0e8011faSEmmanuel Vadot <GCC_QSPI_CORE_CLK>, 499*0e8011faSEmmanuel Vadot <GCC_QSPI_CORE_CLK_SRC>, 500*0e8011faSEmmanuel Vadot <GCC_SEC_CTRL_CLK_SRC>, 501*0e8011faSEmmanuel Vadot <GCC_WPSS_AHB_BDG_MST_CLK>, 502*0e8011faSEmmanuel Vadot <GCC_WPSS_AHB_CLK>, 503*0e8011faSEmmanuel Vadot <GCC_WPSS_RSCP_CLK>; 504*0e8011faSEmmanuel Vadot}; 505*0e8011faSEmmanuel Vadot 506*0e8011faSEmmanuel Vadot&gpi_dma0 { 507*0e8011faSEmmanuel Vadot status = "okay"; 508*0e8011faSEmmanuel Vadot}; 509*0e8011faSEmmanuel Vadot 510*0e8011faSEmmanuel Vadot&gpi_dma1 { 511*0e8011faSEmmanuel Vadot status = "okay"; 512*0e8011faSEmmanuel Vadot}; 513*0e8011faSEmmanuel Vadot 514*0e8011faSEmmanuel Vadot&gpu { 515*0e8011faSEmmanuel Vadot status = "okay"; 516*0e8011faSEmmanuel Vadot}; 517*0e8011faSEmmanuel Vadot 518*0e8011faSEmmanuel Vadot&gpu_zap_shader { 519*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/a660_zap.mbn"; 520*0e8011faSEmmanuel Vadot}; 521*0e8011faSEmmanuel Vadot 522*0e8011faSEmmanuel Vadot&i2c1 { 523*0e8011faSEmmanuel Vadot status = "okay"; 524*0e8011faSEmmanuel Vadot 525*0e8011faSEmmanuel Vadot /* PM8008 PMIC @ 8 and 9 */ 526*0e8011faSEmmanuel Vadot /* rtc6226 FM receiver @ 64 */ 527*0e8011faSEmmanuel Vadot 528*0e8011faSEmmanuel Vadot typec-mux@42 { 529*0e8011faSEmmanuel Vadot compatible = "fcs,fsa4480"; 530*0e8011faSEmmanuel Vadot reg = <0x42>; 531*0e8011faSEmmanuel Vadot 532*0e8011faSEmmanuel Vadot vcc-supply = <&vreg_bob>; 533*0e8011faSEmmanuel Vadot 534*0e8011faSEmmanuel Vadot mode-switch; 535*0e8011faSEmmanuel Vadot orientation-switch; 536*0e8011faSEmmanuel Vadot 537*0e8011faSEmmanuel Vadot port { 538*0e8011faSEmmanuel Vadot fsa4480_sbu_mux: endpoint { 539*0e8011faSEmmanuel Vadot remote-endpoint = <&pmic_glink_sbu>; 540*0e8011faSEmmanuel Vadot }; 541*0e8011faSEmmanuel Vadot }; 542*0e8011faSEmmanuel Vadot }; 543*0e8011faSEmmanuel Vadot}; 544*0e8011faSEmmanuel Vadot 545*0e8011faSEmmanuel Vadot&i2c4 { 546*0e8011faSEmmanuel Vadot status = "okay"; 547*0e8011faSEmmanuel Vadot 548*0e8011faSEmmanuel Vadot /* tas2563 audio codec @ 4d */ 549*0e8011faSEmmanuel Vadot}; 550*0e8011faSEmmanuel Vadot 551*0e8011faSEmmanuel Vadot&i2c9 { 552*0e8011faSEmmanuel Vadot status = "okay"; 553*0e8011faSEmmanuel Vadot 554*0e8011faSEmmanuel Vadot /* TMS(?) NFC @ 28 */ 555*0e8011faSEmmanuel Vadot /* Ti drv2624 haptics @ 5a */ 556*0e8011faSEmmanuel Vadot}; 557*0e8011faSEmmanuel Vadot 558*0e8011faSEmmanuel Vadot&i2c13 { 559*0e8011faSEmmanuel Vadot status = "okay"; 560*0e8011faSEmmanuel Vadot 561*0e8011faSEmmanuel Vadot /* focaltech FT3658U @ 38 */ 562*0e8011faSEmmanuel Vadot}; 563*0e8011faSEmmanuel Vadot 564*0e8011faSEmmanuel Vadot&ipa { 565*0e8011faSEmmanuel Vadot qcom,gsi-loader = "self"; 566*0e8011faSEmmanuel Vadot memory-region = <&ipa_fw_mem>; 567*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/ipa_fws.mbn"; 568*0e8011faSEmmanuel Vadot status = "okay"; 569*0e8011faSEmmanuel Vadot}; 570*0e8011faSEmmanuel Vadot 571*0e8011faSEmmanuel Vadot&pm7250b_adc { 572*0e8011faSEmmanuel Vadot channel@4d { 573*0e8011faSEmmanuel Vadot reg = <ADC5_AMUX_THM1_100K_PU>; 574*0e8011faSEmmanuel Vadot qcom,ratiometric; 575*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 576*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 577*0e8011faSEmmanuel Vadot label = "charger_skin_therm"; 578*0e8011faSEmmanuel Vadot }; 579*0e8011faSEmmanuel Vadot 580*0e8011faSEmmanuel Vadot channel@4f { 581*0e8011faSEmmanuel Vadot reg = <ADC5_AMUX_THM3_100K_PU>; 582*0e8011faSEmmanuel Vadot qcom,ratiometric; 583*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 584*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 585*0e8011faSEmmanuel Vadot label = "conn_therm"; 586*0e8011faSEmmanuel Vadot }; 587*0e8011faSEmmanuel Vadot}; 588*0e8011faSEmmanuel Vadot 589*0e8011faSEmmanuel Vadot&pm7250b_adc_tm { 590*0e8011faSEmmanuel Vadot status = "okay"; 591*0e8011faSEmmanuel Vadot 592*0e8011faSEmmanuel Vadot charger-skin-therm@0 { 593*0e8011faSEmmanuel Vadot reg = <0>; 594*0e8011faSEmmanuel Vadot io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>; 595*0e8011faSEmmanuel Vadot qcom,ratiometric; 596*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 597*0e8011faSEmmanuel Vadot }; 598*0e8011faSEmmanuel Vadot 599*0e8011faSEmmanuel Vadot conn-therm@1 { 600*0e8011faSEmmanuel Vadot reg = <1>; 601*0e8011faSEmmanuel Vadot io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>; 602*0e8011faSEmmanuel Vadot qcom,ratiometric; 603*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 604*0e8011faSEmmanuel Vadot }; 605*0e8011faSEmmanuel Vadot}; 606*0e8011faSEmmanuel Vadot 607*0e8011faSEmmanuel Vadot&pm7325_gpios { 608*0e8011faSEmmanuel Vadot volume_down_default: volume-down-default-state { 609*0e8011faSEmmanuel Vadot pins = "gpio6"; 610*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 611*0e8011faSEmmanuel Vadot power-source = <1>; 612*0e8011faSEmmanuel Vadot bias-pull-up; 613*0e8011faSEmmanuel Vadot input-enable; 614*0e8011faSEmmanuel Vadot }; 615*0e8011faSEmmanuel Vadot}; 616*0e8011faSEmmanuel Vadot 617*0e8011faSEmmanuel Vadot&pmk8350_adc_tm { 618*0e8011faSEmmanuel Vadot status = "okay"; 619*0e8011faSEmmanuel Vadot 620*0e8011faSEmmanuel Vadot xo-therm@0 { 621*0e8011faSEmmanuel Vadot reg = <0>; 622*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; 623*0e8011faSEmmanuel Vadot qcom,ratiometric; 624*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 625*0e8011faSEmmanuel Vadot }; 626*0e8011faSEmmanuel Vadot 627*0e8011faSEmmanuel Vadot quiet-therm@1 { 628*0e8011faSEmmanuel Vadot reg = <1>; 629*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; 630*0e8011faSEmmanuel Vadot qcom,ratiometric; 631*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 632*0e8011faSEmmanuel Vadot }; 633*0e8011faSEmmanuel Vadot 634*0e8011faSEmmanuel Vadot cam-flash-therm@2 { 635*0e8011faSEmmanuel Vadot reg = <2>; 636*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>; 637*0e8011faSEmmanuel Vadot qcom,ratiometric; 638*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 639*0e8011faSEmmanuel Vadot }; 640*0e8011faSEmmanuel Vadot 641*0e8011faSEmmanuel Vadot sdm-skin-therm@3 { 642*0e8011faSEmmanuel Vadot reg = <3>; 643*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; 644*0e8011faSEmmanuel Vadot qcom,ratiometric; 645*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 646*0e8011faSEmmanuel Vadot }; 647*0e8011faSEmmanuel Vadot 648*0e8011faSEmmanuel Vadot wide-rfc-therm@4 { 649*0e8011faSEmmanuel Vadot reg = <4>; 650*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>; 651*0e8011faSEmmanuel Vadot qcom,ratiometric; 652*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 653*0e8011faSEmmanuel Vadot }; 654*0e8011faSEmmanuel Vadot}; 655*0e8011faSEmmanuel Vadot 656*0e8011faSEmmanuel Vadot&pmk8350_rtc { 657*0e8011faSEmmanuel Vadot status = "okay"; 658*0e8011faSEmmanuel Vadot}; 659*0e8011faSEmmanuel Vadot 660*0e8011faSEmmanuel Vadot&pmk8350_vadc { 661*0e8011faSEmmanuel Vadot status = "okay"; 662*0e8011faSEmmanuel Vadot 663*0e8011faSEmmanuel Vadot channel@44 { 664*0e8011faSEmmanuel Vadot reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; 665*0e8011faSEmmanuel Vadot qcom,ratiometric; 666*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 667*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 668*0e8011faSEmmanuel Vadot label = "pmk8350_xo_therm"; 669*0e8011faSEmmanuel Vadot }; 670*0e8011faSEmmanuel Vadot 671*0e8011faSEmmanuel Vadot channel@144 { 672*0e8011faSEmmanuel Vadot reg = <PM7325_ADC7_AMUX_THM1_100K_PU>; 673*0e8011faSEmmanuel Vadot qcom,ratiometric; 674*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 675*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 676*0e8011faSEmmanuel Vadot label = "pm7325_quiet_therm"; 677*0e8011faSEmmanuel Vadot }; 678*0e8011faSEmmanuel Vadot 679*0e8011faSEmmanuel Vadot channel@145 { 680*0e8011faSEmmanuel Vadot reg = <PM7325_ADC7_AMUX_THM2_100K_PU>; 681*0e8011faSEmmanuel Vadot qcom,ratiometric; 682*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 683*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 684*0e8011faSEmmanuel Vadot label = "pm7325_cam_flash_therm"; 685*0e8011faSEmmanuel Vadot }; 686*0e8011faSEmmanuel Vadot 687*0e8011faSEmmanuel Vadot channel@146 { 688*0e8011faSEmmanuel Vadot reg = <PM7325_ADC7_AMUX_THM3_100K_PU>; 689*0e8011faSEmmanuel Vadot qcom,ratiometric; 690*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 691*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 692*0e8011faSEmmanuel Vadot label = "pm7325_sdm_skin_therm"; 693*0e8011faSEmmanuel Vadot }; 694*0e8011faSEmmanuel Vadot 695*0e8011faSEmmanuel Vadot channel@147 { 696*0e8011faSEmmanuel Vadot reg = <PM7325_ADC7_AMUX_THM4_100K_PU>; 697*0e8011faSEmmanuel Vadot qcom,ratiometric; 698*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 699*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 700*0e8011faSEmmanuel Vadot label = "pm7325_wide_rfc_therm"; 701*0e8011faSEmmanuel Vadot }; 702*0e8011faSEmmanuel Vadot}; 703*0e8011faSEmmanuel Vadot 704*0e8011faSEmmanuel Vadot&pon_pwrkey { 705*0e8011faSEmmanuel Vadot status = "okay"; 706*0e8011faSEmmanuel Vadot}; 707*0e8011faSEmmanuel Vadot 708*0e8011faSEmmanuel Vadot&pon_resin { 709*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 710*0e8011faSEmmanuel Vadot status = "okay"; 711*0e8011faSEmmanuel Vadot}; 712*0e8011faSEmmanuel Vadot 713*0e8011faSEmmanuel Vadot&qup_spi13_cs { 714*0e8011faSEmmanuel Vadot drive-strength = <6>; 715*0e8011faSEmmanuel Vadot bias-disable; 716*0e8011faSEmmanuel Vadot}; 717*0e8011faSEmmanuel Vadot 718*0e8011faSEmmanuel Vadot&qup_spi13_data_clk { 719*0e8011faSEmmanuel Vadot drive-strength = <6>; 720*0e8011faSEmmanuel Vadot bias-disable; 721*0e8011faSEmmanuel Vadot}; 722*0e8011faSEmmanuel Vadot 723*0e8011faSEmmanuel Vadot&qup_uart5_rx { 724*0e8011faSEmmanuel Vadot drive-strength = <2>; 725*0e8011faSEmmanuel Vadot bias-disable; 726*0e8011faSEmmanuel Vadot}; 727*0e8011faSEmmanuel Vadot 728*0e8011faSEmmanuel Vadot&qup_uart5_tx { 729*0e8011faSEmmanuel Vadot drive-strength = <2>; 730*0e8011faSEmmanuel Vadot bias-disable; 731*0e8011faSEmmanuel Vadot}; 732*0e8011faSEmmanuel Vadot 733*0e8011faSEmmanuel Vadot&qupv3_id_0 { 734*0e8011faSEmmanuel Vadot status = "okay"; 735*0e8011faSEmmanuel Vadot}; 736*0e8011faSEmmanuel Vadot 737*0e8011faSEmmanuel Vadot&qupv3_id_1 { 738*0e8011faSEmmanuel Vadot status = "okay"; 739*0e8011faSEmmanuel Vadot}; 740*0e8011faSEmmanuel Vadot 741*0e8011faSEmmanuel Vadot&remoteproc_adsp { 742*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/adsp.mbn"; 743*0e8011faSEmmanuel Vadot status = "okay"; 744*0e8011faSEmmanuel Vadot}; 745*0e8011faSEmmanuel Vadot 746*0e8011faSEmmanuel Vadot&remoteproc_cdsp { 747*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/cdsp.mbn"; 748*0e8011faSEmmanuel Vadot status = "okay"; 749*0e8011faSEmmanuel Vadot}; 750*0e8011faSEmmanuel Vadot 751*0e8011faSEmmanuel Vadot&remoteproc_mpss { 752*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/modem.mbn"; 753*0e8011faSEmmanuel Vadot status = "okay"; 754*0e8011faSEmmanuel Vadot}; 755*0e8011faSEmmanuel Vadot 756*0e8011faSEmmanuel Vadot&remoteproc_wpss { 757*0e8011faSEmmanuel Vadot firmware-name = "qcom/qcm6490/SHIFT/otter/wpss.mbn"; 758*0e8011faSEmmanuel Vadot status = "okay"; 759*0e8011faSEmmanuel Vadot}; 760*0e8011faSEmmanuel Vadot 761*0e8011faSEmmanuel Vadot&sdc2_clk { 762*0e8011faSEmmanuel Vadot drive-strength = <16>; 763*0e8011faSEmmanuel Vadot bias-disable; 764*0e8011faSEmmanuel Vadot}; 765*0e8011faSEmmanuel Vadot 766*0e8011faSEmmanuel Vadot&sdc2_cmd { 767*0e8011faSEmmanuel Vadot drive-strength = <10>; 768*0e8011faSEmmanuel Vadot bias-pull-up; 769*0e8011faSEmmanuel Vadot}; 770*0e8011faSEmmanuel Vadot 771*0e8011faSEmmanuel Vadot&sdc2_data { 772*0e8011faSEmmanuel Vadot drive-strength = <10>; 773*0e8011faSEmmanuel Vadot bias-pull-up; 774*0e8011faSEmmanuel Vadot}; 775*0e8011faSEmmanuel Vadot 776*0e8011faSEmmanuel Vadot&sdhc_2 { 777*0e8011faSEmmanuel Vadot vmmc-supply = <&vreg_l9c>; 778*0e8011faSEmmanuel Vadot vqmmc-supply = <&vreg_l6c>; 779*0e8011faSEmmanuel Vadot 780*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>; 781*0e8011faSEmmanuel Vadot pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>; 782*0e8011faSEmmanuel Vadot 783*0e8011faSEmmanuel Vadot status = "okay"; 784*0e8011faSEmmanuel Vadot}; 785*0e8011faSEmmanuel Vadot 786*0e8011faSEmmanuel Vadot&tlmm { 787*0e8011faSEmmanuel Vadot /* 788*0e8011faSEmmanuel Vadot * 48-52: protected by XPU, not sure why. 789*0e8011faSEmmanuel Vadot */ 790*0e8011faSEmmanuel Vadot gpio-reserved-ranges = <48 4>; 791*0e8011faSEmmanuel Vadot 792*0e8011faSEmmanuel Vadot bluetooth_enable_default: bluetooth-enable-default-state { 793*0e8011faSEmmanuel Vadot pins = "gpio85"; 794*0e8011faSEmmanuel Vadot function = "gpio"; 795*0e8011faSEmmanuel Vadot output-low; 796*0e8011faSEmmanuel Vadot bias-disable; 797*0e8011faSEmmanuel Vadot }; 798*0e8011faSEmmanuel Vadot 799*0e8011faSEmmanuel Vadot qup_uart7_sleep_cts: qup-uart7-sleep-cts-state { 800*0e8011faSEmmanuel Vadot pins = "gpio28"; 801*0e8011faSEmmanuel Vadot function = "gpio"; 802*0e8011faSEmmanuel Vadot /* 803*0e8011faSEmmanuel Vadot * Configure a bias-bus-hold on CTS to lower power 804*0e8011faSEmmanuel Vadot * usage when Bluetooth is turned off. Bus hold will 805*0e8011faSEmmanuel Vadot * maintain a low power state regardless of whether 806*0e8011faSEmmanuel Vadot * the Bluetooth module drives the pin in either 807*0e8011faSEmmanuel Vadot * direction or leaves the pin fully unpowered. 808*0e8011faSEmmanuel Vadot */ 809*0e8011faSEmmanuel Vadot bias-bus-hold; 810*0e8011faSEmmanuel Vadot }; 811*0e8011faSEmmanuel Vadot 812*0e8011faSEmmanuel Vadot qup_uart7_sleep_rts: qup-uart7-sleep-rts-state { 813*0e8011faSEmmanuel Vadot pins = "gpio29"; 814*0e8011faSEmmanuel Vadot function = "gpio"; 815*0e8011faSEmmanuel Vadot /* 816*0e8011faSEmmanuel Vadot * Configure pull-down on RTS. As RTS is active low 817*0e8011faSEmmanuel Vadot * signal, pull it low to indicate the BT SoC that it 818*0e8011faSEmmanuel Vadot * can wakeup the system anytime from suspend state by 819*0e8011faSEmmanuel Vadot * pulling RX low (by sending wakeup bytes). 820*0e8011faSEmmanuel Vadot */ 821*0e8011faSEmmanuel Vadot bias-pull-down; 822*0e8011faSEmmanuel Vadot }; 823*0e8011faSEmmanuel Vadot 824*0e8011faSEmmanuel Vadot qup_uart7_sleep_tx: qup-uart7-sleep-tx-state { 825*0e8011faSEmmanuel Vadot pins = "gpio30"; 826*0e8011faSEmmanuel Vadot function = "gpio"; 827*0e8011faSEmmanuel Vadot /* 828*0e8011faSEmmanuel Vadot * Configure pull-up on TX when it isn't actively driven 829*0e8011faSEmmanuel Vadot * to prevent BT SoC from receiving garbage during sleep. 830*0e8011faSEmmanuel Vadot */ 831*0e8011faSEmmanuel Vadot bias-pull-up; 832*0e8011faSEmmanuel Vadot }; 833*0e8011faSEmmanuel Vadot 834*0e8011faSEmmanuel Vadot qup_uart7_sleep_rx: qup-uart7-sleep-rx-state { 835*0e8011faSEmmanuel Vadot pins = "gpio31"; 836*0e8011faSEmmanuel Vadot function = "gpio"; 837*0e8011faSEmmanuel Vadot /* 838*0e8011faSEmmanuel Vadot * Configure a pull-up on RX. This is needed to avoid 839*0e8011faSEmmanuel Vadot * garbage data when the TX pin of the Bluetooth module 840*0e8011faSEmmanuel Vadot * is floating which may cause spurious wakeups. 841*0e8011faSEmmanuel Vadot */ 842*0e8011faSEmmanuel Vadot bias-pull-up; 843*0e8011faSEmmanuel Vadot }; 844*0e8011faSEmmanuel Vadot 845*0e8011faSEmmanuel Vadot sw_ctrl_default: sw-ctrl-default-state { 846*0e8011faSEmmanuel Vadot pins = "gpio86"; 847*0e8011faSEmmanuel Vadot function = "gpio"; 848*0e8011faSEmmanuel Vadot bias-pull-down; 849*0e8011faSEmmanuel Vadot }; 850*0e8011faSEmmanuel Vadot}; 851*0e8011faSEmmanuel Vadot 852*0e8011faSEmmanuel Vadot&uart5 { 853*0e8011faSEmmanuel Vadot compatible = "qcom,geni-debug-uart"; 854*0e8011faSEmmanuel Vadot status = "okay"; 855*0e8011faSEmmanuel Vadot}; 856*0e8011faSEmmanuel Vadot 857*0e8011faSEmmanuel Vadot&uart7 { 858*0e8011faSEmmanuel Vadot /delete-property/interrupts; 859*0e8011faSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, 860*0e8011faSEmmanuel Vadot <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 861*0e8011faSEmmanuel Vadot 862*0e8011faSEmmanuel Vadot pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>; 863*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 864*0e8011faSEmmanuel Vadot 865*0e8011faSEmmanuel Vadot status = "okay"; 866*0e8011faSEmmanuel Vadot 867*0e8011faSEmmanuel Vadot bluetooth: bluetooth { 868*0e8011faSEmmanuel Vadot compatible = "qcom,wcn6750-bt"; 869*0e8011faSEmmanuel Vadot 870*0e8011faSEmmanuel Vadot pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>; 871*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 872*0e8011faSEmmanuel Vadot 873*0e8011faSEmmanuel Vadot enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 874*0e8011faSEmmanuel Vadot swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 875*0e8011faSEmmanuel Vadot 876*0e8011faSEmmanuel Vadot vddio-supply = <&vreg_l19b>; 877*0e8011faSEmmanuel Vadot vddaon-supply = <&vreg_s7b>; 878*0e8011faSEmmanuel Vadot vddbtcxmx-supply = <&vreg_s7b>; 879*0e8011faSEmmanuel Vadot vddrfacmn-supply = <&vreg_s7b>; 880*0e8011faSEmmanuel Vadot vddrfa0p8-supply = <&vreg_s7b>; 881*0e8011faSEmmanuel Vadot vddrfa1p7-supply = <&vreg_s1b>; 882*0e8011faSEmmanuel Vadot vddrfa1p2-supply = <&vreg_s8b>; 883*0e8011faSEmmanuel Vadot vddrfa2p2-supply = <&vreg_s1c>; 884*0e8011faSEmmanuel Vadot vddasd-supply = <&vreg_l11c>; 885*0e8011faSEmmanuel Vadot 886*0e8011faSEmmanuel Vadot max-speed = <3200000>; 887*0e8011faSEmmanuel Vadot }; 888*0e8011faSEmmanuel Vadot}; 889*0e8011faSEmmanuel Vadot 890*0e8011faSEmmanuel Vadot&ufs_mem_hc { 891*0e8011faSEmmanuel Vadot reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 892*0e8011faSEmmanuel Vadot 893*0e8011faSEmmanuel Vadot vcc-supply = <&vreg_l7b>; 894*0e8011faSEmmanuel Vadot vcc-max-microamp = <800000>; 895*0e8011faSEmmanuel Vadot /* 896*0e8011faSEmmanuel Vadot * Technically l9b enables an eLDO (supplied by s1b) which then powers 897*0e8011faSEmmanuel Vadot * VCCQ2 of the UFS. 898*0e8011faSEmmanuel Vadot */ 899*0e8011faSEmmanuel Vadot vccq-supply = <&vreg_l9b>; 900*0e8011faSEmmanuel Vadot vccq-max-microamp = <900000>; 901*0e8011faSEmmanuel Vadot 902*0e8011faSEmmanuel Vadot status = "okay"; 903*0e8011faSEmmanuel Vadot}; 904*0e8011faSEmmanuel Vadot 905*0e8011faSEmmanuel Vadot&ufs_mem_phy { 906*0e8011faSEmmanuel Vadot vdda-phy-supply = <&vreg_l10c>; 907*0e8011faSEmmanuel Vadot vdda-pll-supply = <&vreg_l6b>; 908*0e8011faSEmmanuel Vadot 909*0e8011faSEmmanuel Vadot status = "okay"; 910*0e8011faSEmmanuel Vadot}; 911*0e8011faSEmmanuel Vadot 912*0e8011faSEmmanuel Vadot&usb_1 { 913*0e8011faSEmmanuel Vadot status = "okay"; 914*0e8011faSEmmanuel Vadot}; 915*0e8011faSEmmanuel Vadot 916*0e8011faSEmmanuel Vadot&usb_1_dwc3 { 917*0e8011faSEmmanuel Vadot dr_mode = "otg"; 918*0e8011faSEmmanuel Vadot usb-role-switch; 919*0e8011faSEmmanuel Vadot}; 920*0e8011faSEmmanuel Vadot 921*0e8011faSEmmanuel Vadot&usb_1_dwc3_hs { 922*0e8011faSEmmanuel Vadot remote-endpoint = <&pmic_glink_hs_in>; 923*0e8011faSEmmanuel Vadot}; 924*0e8011faSEmmanuel Vadot 925*0e8011faSEmmanuel Vadot&usb_dp_qmpphy_out { 926*0e8011faSEmmanuel Vadot remote-endpoint = <&pmic_glink_ss_in>; 927*0e8011faSEmmanuel Vadot}; 928*0e8011faSEmmanuel Vadot 929*0e8011faSEmmanuel Vadot&usb_1_hsphy { 930*0e8011faSEmmanuel Vadot vdda-pll-supply = <&vreg_l10c>; 931*0e8011faSEmmanuel Vadot vdda18-supply = <&vreg_l1c>; 932*0e8011faSEmmanuel Vadot vdda33-supply = <&vreg_l2b>; 933*0e8011faSEmmanuel Vadot 934*0e8011faSEmmanuel Vadot qcom,hs-crossover-voltage-microvolt = <28000>; 935*0e8011faSEmmanuel Vadot qcom,hs-output-impedance-micro-ohms = <2600000>; 936*0e8011faSEmmanuel Vadot qcom,hs-rise-fall-time-bp = <5430>; 937*0e8011faSEmmanuel Vadot qcom,hs-disconnect-bp = <1743>; 938*0e8011faSEmmanuel Vadot qcom,hs-amplitude-bp = <2430>; 939*0e8011faSEmmanuel Vadot 940*0e8011faSEmmanuel Vadot qcom,pre-emphasis-amplitude-bp = <20000>; 941*0e8011faSEmmanuel Vadot qcom,pre-emphasis-duration-bp = <20000>; 942*0e8011faSEmmanuel Vadot 943*0e8011faSEmmanuel Vadot qcom,squelch-detector-bp = <(-2090)>; 944*0e8011faSEmmanuel Vadot 945*0e8011faSEmmanuel Vadot orientation-switch; 946*0e8011faSEmmanuel Vadot 947*0e8011faSEmmanuel Vadot status = "okay"; 948*0e8011faSEmmanuel Vadot}; 949*0e8011faSEmmanuel Vadot 950*0e8011faSEmmanuel Vadot&usb_1_qmpphy { 951*0e8011faSEmmanuel Vadot vdda-phy-supply = <&vreg_l6b>; 952*0e8011faSEmmanuel Vadot vdda-pll-supply = <&vreg_l1b>; 953*0e8011faSEmmanuel Vadot 954*0e8011faSEmmanuel Vadot status = "okay"; 955*0e8011faSEmmanuel Vadot}; 956*0e8011faSEmmanuel Vadot 957*0e8011faSEmmanuel Vadot&wifi { 958*0e8011faSEmmanuel Vadot qcom,ath11k-calibration-variant = "SHIFTphone_8"; 959*0e8011faSEmmanuel Vadot 960*0e8011faSEmmanuel Vadot status = "okay"; 961*0e8011faSEmmanuel Vadot}; 962