18cc087a1SEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 28cc087a1SEmmanuel Vadot/* 38cc087a1SEmmanuel Vadot * Copyright (c) 2021, Luca Weiss <luca@z3ntu.xyz> 48cc087a1SEmmanuel Vadot */ 58cc087a1SEmmanuel Vadot 68cc087a1SEmmanuel Vadot/dts-v1/; 78cc087a1SEmmanuel Vadot 884943d6fSEmmanuel Vadot/* PM7250B is configured to use SID2/3 */ 984943d6fSEmmanuel Vadot#define PM7250B_SID 2 1084943d6fSEmmanuel Vadot#define PM7250B_SID1 3 1184943d6fSEmmanuel Vadot 12cb7aa33aSEmmanuel Vadot/* PMK8350 (in reality a PMK8003) is configured to use SID6 instead of 0 */ 13cb7aa33aSEmmanuel Vadot#define PMK8350_SID 6 14cb7aa33aSEmmanuel Vadot 1584943d6fSEmmanuel Vadot#include <dt-bindings/firmware/qcom,scm.h> 168cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 17cb7aa33aSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 188cc087a1SEmmanuel Vadot#include <dt-bindings/input/input.h> 19cb7aa33aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 208cc087a1SEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 218cc087a1SEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 22*0e8011faSEmmanuel Vadot#include <dt-bindings/usb/pd.h> 238cc087a1SEmmanuel Vadot#include "sm7225.dtsi" 24c9ccf3a3SEmmanuel Vadot#include "pm6150l.dtsi" 258cc087a1SEmmanuel Vadot#include "pm6350.dtsi" 267ef62cebSEmmanuel Vadot#include "pm7250b.dtsi" 27cb7aa33aSEmmanuel Vadot#include "pmk8350.dtsi" 288cc087a1SEmmanuel Vadot 298cc087a1SEmmanuel Vadot/ { 308cc087a1SEmmanuel Vadot model = "Fairphone 4"; 318cc087a1SEmmanuel Vadot compatible = "fairphone,fp4", "qcom,sm7225"; 32e67e8565SEmmanuel Vadot chassis-type = "handset"; 338cc087a1SEmmanuel Vadot 348cc087a1SEmmanuel Vadot /* required for bootloader to select correct board */ 358cc087a1SEmmanuel Vadot qcom,msm-id = <434 0x10000>, <459 0x10000>; 368cc087a1SEmmanuel Vadot qcom,board-id = <8 32>; 378cc087a1SEmmanuel Vadot 388cc087a1SEmmanuel Vadot aliases { 39d5b0e70fSEmmanuel Vadot serial0 = &uart9; 40f126890aSEmmanuel Vadot serial1 = &uart1; 418cc087a1SEmmanuel Vadot }; 428cc087a1SEmmanuel Vadot 438cc087a1SEmmanuel Vadot chosen { 448cc087a1SEmmanuel Vadot #address-cells = <2>; 458cc087a1SEmmanuel Vadot #size-cells = <2>; 468cc087a1SEmmanuel Vadot ranges; 478cc087a1SEmmanuel Vadot 488cc087a1SEmmanuel Vadot stdout-path = "serial0:115200n8"; 498cc087a1SEmmanuel Vadot 508cc087a1SEmmanuel Vadot framebuffer0: framebuffer@a000000 { 518cc087a1SEmmanuel Vadot compatible = "simple-framebuffer"; 528cc087a1SEmmanuel Vadot reg = <0 0xa0000000 0 (2340 * 1080 * 4)>; 538cc087a1SEmmanuel Vadot width = <1080>; 548cc087a1SEmmanuel Vadot height = <2340>; 558cc087a1SEmmanuel Vadot stride = <(1080 * 4)>; 568cc087a1SEmmanuel Vadot format = "a8r8g8b8"; 578cc087a1SEmmanuel Vadot }; 588cc087a1SEmmanuel Vadot }; 598cc087a1SEmmanuel Vadot 608cc087a1SEmmanuel Vadot gpio-keys { 618cc087a1SEmmanuel Vadot compatible = "gpio-keys"; 628cc087a1SEmmanuel Vadot pinctrl-names = "default"; 638cc087a1SEmmanuel Vadot pinctrl-0 = <&gpio_keys_pin>; 648cc087a1SEmmanuel Vadot 65b97ee269SEmmanuel Vadot key-volume-up { 668cc087a1SEmmanuel Vadot label = "volume_up"; 678cc087a1SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 688cc087a1SEmmanuel Vadot gpios = <&pm6350_gpios 2 GPIO_ACTIVE_LOW>; 698cc087a1SEmmanuel Vadot }; 708cc087a1SEmmanuel Vadot }; 71e67e8565SEmmanuel Vadot 7201950c46SEmmanuel Vadot /* Dummy regulator until PM6150L has LCDB VSP/VSN support */ 7301950c46SEmmanuel Vadot lcdb_dummy: regulator-lcdb-dummy { 7401950c46SEmmanuel Vadot compatible = "regulator-fixed"; 7501950c46SEmmanuel Vadot regulator-name = "lcdb_dummy"; 7601950c46SEmmanuel Vadot regulator-min-microvolt = <5500000>; 7701950c46SEmmanuel Vadot regulator-max-microvolt = <5500000>; 7801950c46SEmmanuel Vadot }; 7901950c46SEmmanuel Vadot 80e67e8565SEmmanuel Vadot reserved-memory { 81e67e8565SEmmanuel Vadot /* 82e67e8565SEmmanuel Vadot * The rmtfs memory region in downstream is 'dynamically allocated' 83e67e8565SEmmanuel Vadot * but given the same address every time. Hard code it as this address is 84e67e8565SEmmanuel Vadot * where the modem firmware expects it to be. 85e67e8565SEmmanuel Vadot */ 86e67e8565SEmmanuel Vadot memory@efe01000 { 87e67e8565SEmmanuel Vadot compatible = "qcom,rmtfs-mem"; 88e67e8565SEmmanuel Vadot reg = <0 0xefe01000 0 0x600000>; 89e67e8565SEmmanuel Vadot no-map; 90e67e8565SEmmanuel Vadot 91e67e8565SEmmanuel Vadot qcom,client-id = <1>; 9284943d6fSEmmanuel Vadot qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; 93e67e8565SEmmanuel Vadot }; 94e67e8565SEmmanuel Vadot }; 957ef62cebSEmmanuel Vadot 96*0e8011faSEmmanuel Vadot msm_therm_sensor: thermal-sensor-msm { 97*0e8011faSEmmanuel Vadot compatible = "generic-adc-thermal"; 98*0e8011faSEmmanuel Vadot #thermal-sensor-cells = <0>; 99*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_AMUX_THM2_100K_PU>; 100*0e8011faSEmmanuel Vadot io-channel-names = "sensor-channel"; 101*0e8011faSEmmanuel Vadot }; 102*0e8011faSEmmanuel Vadot 103*0e8011faSEmmanuel Vadot rear_cam_sensor: thermal-sensor-rear-cam { 104*0e8011faSEmmanuel Vadot compatible = "generic-adc-thermal"; 105*0e8011faSEmmanuel Vadot #thermal-sensor-cells = <0>; 106*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_GPIO2_100K_PU>; 107*0e8011faSEmmanuel Vadot io-channel-names = "sensor-channel"; 108*0e8011faSEmmanuel Vadot }; 109*0e8011faSEmmanuel Vadot 1107ef62cebSEmmanuel Vadot thermal-zones { 1117ef62cebSEmmanuel Vadot chg-skin-thermal { 1127ef62cebSEmmanuel Vadot thermal-sensors = <&pm7250b_adc_tm 0>; 1137ef62cebSEmmanuel Vadot 1147ef62cebSEmmanuel Vadot trips { 1157ef62cebSEmmanuel Vadot active-config0 { 1167ef62cebSEmmanuel Vadot temperature = <125000>; 1177ef62cebSEmmanuel Vadot hysteresis = <1000>; 1187ef62cebSEmmanuel Vadot type = "passive"; 1197ef62cebSEmmanuel Vadot }; 1207ef62cebSEmmanuel Vadot }; 1217ef62cebSEmmanuel Vadot }; 1227ef62cebSEmmanuel Vadot 1237ef62cebSEmmanuel Vadot conn-thermal { 1247ef62cebSEmmanuel Vadot thermal-sensors = <&pm7250b_adc_tm 1>; 1257ef62cebSEmmanuel Vadot 1267ef62cebSEmmanuel Vadot trips { 1277ef62cebSEmmanuel Vadot active-config0 { 1287ef62cebSEmmanuel Vadot temperature = <125000>; 1297ef62cebSEmmanuel Vadot hysteresis = <1000>; 1307ef62cebSEmmanuel Vadot type = "passive"; 1317ef62cebSEmmanuel Vadot }; 1327ef62cebSEmmanuel Vadot }; 1337ef62cebSEmmanuel Vadot }; 134*0e8011faSEmmanuel Vadot 135*0e8011faSEmmanuel Vadot pa0-thermal { 136*0e8011faSEmmanuel Vadot thermal-sensors = <&pm6150l_adc_tm 1>; 137*0e8011faSEmmanuel Vadot 138*0e8011faSEmmanuel Vadot trips { 139*0e8011faSEmmanuel Vadot active-config0 { 140*0e8011faSEmmanuel Vadot temperature = <125000>; 141*0e8011faSEmmanuel Vadot hysteresis = <1000>; 142*0e8011faSEmmanuel Vadot type = "passive"; 143*0e8011faSEmmanuel Vadot }; 144*0e8011faSEmmanuel Vadot }; 145*0e8011faSEmmanuel Vadot }; 146*0e8011faSEmmanuel Vadot 147*0e8011faSEmmanuel Vadot pa1-thermal { 148*0e8011faSEmmanuel Vadot thermal-sensors = <&pm6150l_adc_tm 0>; 149*0e8011faSEmmanuel Vadot 150*0e8011faSEmmanuel Vadot trips { 151*0e8011faSEmmanuel Vadot active-config0 { 152*0e8011faSEmmanuel Vadot temperature = <125000>; 153*0e8011faSEmmanuel Vadot hysteresis = <1000>; 154*0e8011faSEmmanuel Vadot type = "passive"; 155*0e8011faSEmmanuel Vadot }; 156*0e8011faSEmmanuel Vadot }; 157*0e8011faSEmmanuel Vadot }; 158*0e8011faSEmmanuel Vadot 159*0e8011faSEmmanuel Vadot pm8008-thermal { 160*0e8011faSEmmanuel Vadot polling-delay-passive = <100>; 161*0e8011faSEmmanuel Vadot thermal-sensors = <&pm8008>; 162*0e8011faSEmmanuel Vadot 163*0e8011faSEmmanuel Vadot trips { 164*0e8011faSEmmanuel Vadot trip0 { 165*0e8011faSEmmanuel Vadot temperature = <95000>; 166*0e8011faSEmmanuel Vadot hysteresis = <0>; 167*0e8011faSEmmanuel Vadot type = "passive"; 168*0e8011faSEmmanuel Vadot }; 169*0e8011faSEmmanuel Vadot 170*0e8011faSEmmanuel Vadot trip1 { 171*0e8011faSEmmanuel Vadot temperature = <115000>; 172*0e8011faSEmmanuel Vadot hysteresis = <0>; 173*0e8011faSEmmanuel Vadot type = "critical"; 174*0e8011faSEmmanuel Vadot }; 175*0e8011faSEmmanuel Vadot }; 176*0e8011faSEmmanuel Vadot }; 177*0e8011faSEmmanuel Vadot 178*0e8011faSEmmanuel Vadot quiet-thermal { 179*0e8011faSEmmanuel Vadot thermal-sensors = <&pm6150l_adc_tm 3>; 180*0e8011faSEmmanuel Vadot 181*0e8011faSEmmanuel Vadot trips { 182*0e8011faSEmmanuel Vadot active-config0 { 183*0e8011faSEmmanuel Vadot temperature = <125000>; 184*0e8011faSEmmanuel Vadot hysteresis = <1000>; 185*0e8011faSEmmanuel Vadot type = "passive"; 186*0e8011faSEmmanuel Vadot }; 187*0e8011faSEmmanuel Vadot }; 188*0e8011faSEmmanuel Vadot }; 189*0e8011faSEmmanuel Vadot 190*0e8011faSEmmanuel Vadot rear-cam-thermal { 191*0e8011faSEmmanuel Vadot polling-delay-passive = <1000>; 192*0e8011faSEmmanuel Vadot polling-delay = <5000>; 193*0e8011faSEmmanuel Vadot thermal-sensors = <&rear_cam_sensor>; 194*0e8011faSEmmanuel Vadot 195*0e8011faSEmmanuel Vadot trips { 196*0e8011faSEmmanuel Vadot active-config0 { 197*0e8011faSEmmanuel Vadot temperature = <125000>; 198*0e8011faSEmmanuel Vadot hysteresis = <1000>; 199*0e8011faSEmmanuel Vadot type = "passive"; 200*0e8011faSEmmanuel Vadot }; 201*0e8011faSEmmanuel Vadot }; 202*0e8011faSEmmanuel Vadot }; 203*0e8011faSEmmanuel Vadot 204*0e8011faSEmmanuel Vadot rfc-flash-thermal { 205*0e8011faSEmmanuel Vadot thermal-sensors = <&pm6150l_adc_tm 2>; 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 sdm-skin-thermal { 217*0e8011faSEmmanuel Vadot polling-delay-passive = <1000>; 218*0e8011faSEmmanuel Vadot polling-delay = <5000>; 219*0e8011faSEmmanuel Vadot thermal-sensors = <&msm_therm_sensor>; 220*0e8011faSEmmanuel Vadot 221*0e8011faSEmmanuel Vadot trips { 222*0e8011faSEmmanuel Vadot trip0 { 223*0e8011faSEmmanuel Vadot temperature = <45000>; 224*0e8011faSEmmanuel Vadot hysteresis = <0>; 225*0e8011faSEmmanuel Vadot type = "passive"; 226*0e8011faSEmmanuel Vadot }; 227*0e8011faSEmmanuel Vadot 228*0e8011faSEmmanuel Vadot trip1 { 229*0e8011faSEmmanuel Vadot temperature = <55000>; 230*0e8011faSEmmanuel Vadot hysteresis = <0>; 231*0e8011faSEmmanuel Vadot type = "critical"; 232*0e8011faSEmmanuel Vadot }; 233*0e8011faSEmmanuel Vadot }; 234*0e8011faSEmmanuel Vadot }; 235*0e8011faSEmmanuel Vadot 236*0e8011faSEmmanuel Vadot xo-thermal { 237*0e8011faSEmmanuel Vadot thermal-sensors = <&pmk8350_adc_tm 0>; 238*0e8011faSEmmanuel Vadot 239*0e8011faSEmmanuel Vadot trips { 240*0e8011faSEmmanuel Vadot active-config0 { 241*0e8011faSEmmanuel Vadot temperature = <125000>; 242*0e8011faSEmmanuel Vadot hysteresis = <1000>; 243*0e8011faSEmmanuel Vadot type = "passive"; 244*0e8011faSEmmanuel Vadot }; 245*0e8011faSEmmanuel Vadot }; 246*0e8011faSEmmanuel Vadot }; 2477ef62cebSEmmanuel Vadot }; 248e67e8565SEmmanuel Vadot}; 249e67e8565SEmmanuel Vadot 250e67e8565SEmmanuel Vadot&adsp { 25101950c46SEmmanuel Vadot firmware-name = "qcom/sm7225/fairphone4/adsp.mbn"; 252cb7aa33aSEmmanuel Vadot status = "okay"; 2538cc087a1SEmmanuel Vadot}; 2548cc087a1SEmmanuel Vadot 2558cc087a1SEmmanuel Vadot&apps_rsc { 256cb7aa33aSEmmanuel Vadot regulators-0 { 2578cc087a1SEmmanuel Vadot compatible = "qcom,pm6350-rpmh-regulators"; 2588cc087a1SEmmanuel Vadot qcom,pmic-id = "a"; 2598cc087a1SEmmanuel Vadot 2608cc087a1SEmmanuel Vadot vreg_s1a: smps1 { 261*0e8011faSEmmanuel Vadot regulator-name = "vreg_s1a"; 2628cc087a1SEmmanuel Vadot regulator-min-microvolt = <1000000>; 2638cc087a1SEmmanuel Vadot regulator-max-microvolt = <1200000>; 2648cc087a1SEmmanuel Vadot }; 2658cc087a1SEmmanuel Vadot 2668cc087a1SEmmanuel Vadot vreg_s2a: smps2 { 267*0e8011faSEmmanuel Vadot regulator-name = "vreg_s2a"; 2688cc087a1SEmmanuel Vadot regulator-min-microvolt = <1503000>; 2698cc087a1SEmmanuel Vadot regulator-max-microvolt = <2048000>; 2708cc087a1SEmmanuel Vadot }; 2718cc087a1SEmmanuel Vadot 2728cc087a1SEmmanuel Vadot vreg_l2a: ldo2 { 273*0e8011faSEmmanuel Vadot regulator-name = "vreg_l2a"; 2748cc087a1SEmmanuel Vadot regulator-min-microvolt = <1503000>; 2758cc087a1SEmmanuel Vadot regulator-max-microvolt = <1980000>; 2768cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 2778cc087a1SEmmanuel Vadot }; 2788cc087a1SEmmanuel Vadot 2798cc087a1SEmmanuel Vadot vreg_l3a: ldo3 { 280*0e8011faSEmmanuel Vadot regulator-name = "vreg_l3a"; 2818cc087a1SEmmanuel Vadot regulator-min-microvolt = <2700000>; 2828cc087a1SEmmanuel Vadot regulator-max-microvolt = <3300000>; 2838cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 2848cc087a1SEmmanuel Vadot }; 2858cc087a1SEmmanuel Vadot 2868cc087a1SEmmanuel Vadot vreg_l4a: ldo4 { 287*0e8011faSEmmanuel Vadot regulator-name = "vreg_l4a"; 2888cc087a1SEmmanuel Vadot regulator-min-microvolt = <352000>; 2898cc087a1SEmmanuel Vadot regulator-max-microvolt = <801000>; 2908cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 2918cc087a1SEmmanuel Vadot }; 2928cc087a1SEmmanuel Vadot 2938cc087a1SEmmanuel Vadot vreg_l5a: ldo5 { 294*0e8011faSEmmanuel Vadot regulator-name = "vreg_l5a"; 2958cc087a1SEmmanuel Vadot regulator-min-microvolt = <1503000>; 2968cc087a1SEmmanuel Vadot regulator-max-microvolt = <1980000>; 2978cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 2988cc087a1SEmmanuel Vadot }; 2998cc087a1SEmmanuel Vadot 3008cc087a1SEmmanuel Vadot vreg_l6a: ldo6 { 301*0e8011faSEmmanuel Vadot regulator-name = "vreg_l6a"; 3028cc087a1SEmmanuel Vadot regulator-min-microvolt = <1710000>; 3038cc087a1SEmmanuel Vadot regulator-max-microvolt = <3544000>; 3048cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3058cc087a1SEmmanuel Vadot }; 3068cc087a1SEmmanuel Vadot 3078cc087a1SEmmanuel Vadot vreg_l7a: ldo7 { 308*0e8011faSEmmanuel Vadot regulator-name = "vreg_l7a"; 3098cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 3108cc087a1SEmmanuel Vadot regulator-max-microvolt = <1980000>; 3118cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3128cc087a1SEmmanuel Vadot }; 3138cc087a1SEmmanuel Vadot 3148cc087a1SEmmanuel Vadot vreg_l8a: ldo8 { 315*0e8011faSEmmanuel Vadot regulator-name = "vreg_l8a"; 3168cc087a1SEmmanuel Vadot regulator-min-microvolt = <2800000>; 3178cc087a1SEmmanuel Vadot regulator-max-microvolt = <2800000>; 3188cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3198cc087a1SEmmanuel Vadot }; 3208cc087a1SEmmanuel Vadot 3218cc087a1SEmmanuel Vadot vreg_l9a: ldo9 { 322*0e8011faSEmmanuel Vadot regulator-name = "vreg_l9a"; 3238cc087a1SEmmanuel Vadot regulator-min-microvolt = <1650000>; 3248cc087a1SEmmanuel Vadot regulator-max-microvolt = <3401000>; 3258cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3268cc087a1SEmmanuel Vadot }; 3278cc087a1SEmmanuel Vadot 3288cc087a1SEmmanuel Vadot vreg_l11a: ldo11 { 329*0e8011faSEmmanuel Vadot regulator-name = "vreg_l11a"; 3308cc087a1SEmmanuel Vadot regulator-min-microvolt = <1800000>; 3318cc087a1SEmmanuel Vadot regulator-max-microvolt = <2000000>; 3328cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3338cc087a1SEmmanuel Vadot }; 3348cc087a1SEmmanuel Vadot 3358cc087a1SEmmanuel Vadot vreg_l12a: ldo12 { 336*0e8011faSEmmanuel Vadot regulator-name = "vreg_l12a"; 3378cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 3388cc087a1SEmmanuel Vadot regulator-max-microvolt = <1980000>; 3398cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3408cc087a1SEmmanuel Vadot }; 3418cc087a1SEmmanuel Vadot 3428cc087a1SEmmanuel Vadot vreg_l13a: ldo13 { 343*0e8011faSEmmanuel Vadot regulator-name = "vreg_l13a"; 3448cc087a1SEmmanuel Vadot regulator-min-microvolt = <570000>; 3458cc087a1SEmmanuel Vadot regulator-max-microvolt = <650000>; 3468cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3478cc087a1SEmmanuel Vadot }; 3488cc087a1SEmmanuel Vadot 3498cc087a1SEmmanuel Vadot vreg_l14a: ldo14 { 350*0e8011faSEmmanuel Vadot regulator-name = "vreg_l14a"; 3518cc087a1SEmmanuel Vadot regulator-min-microvolt = <1700000>; 3528cc087a1SEmmanuel Vadot regulator-max-microvolt = <1900000>; 3538cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3548cc087a1SEmmanuel Vadot }; 3558cc087a1SEmmanuel Vadot 3568cc087a1SEmmanuel Vadot vreg_l15a: ldo15 { 357*0e8011faSEmmanuel Vadot regulator-name = "vreg_l15a"; 3588cc087a1SEmmanuel Vadot regulator-min-microvolt = <1100000>; 3598cc087a1SEmmanuel Vadot regulator-max-microvolt = <1305000>; 3608cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3618cc087a1SEmmanuel Vadot }; 3628cc087a1SEmmanuel Vadot 3638cc087a1SEmmanuel Vadot vreg_l16a: ldo16 { 364*0e8011faSEmmanuel Vadot regulator-name = "vreg_l16a"; 3658cc087a1SEmmanuel Vadot regulator-min-microvolt = <830000>; 3668cc087a1SEmmanuel Vadot regulator-max-microvolt = <921000>; 3678cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3688cc087a1SEmmanuel Vadot }; 3698cc087a1SEmmanuel Vadot 3708cc087a1SEmmanuel Vadot vreg_l18a: ldo18 { 371*0e8011faSEmmanuel Vadot regulator-name = "vreg_l18a"; 3728cc087a1SEmmanuel Vadot regulator-min-microvolt = <788000>; 3738cc087a1SEmmanuel Vadot regulator-max-microvolt = <1049000>; 3748cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3758cc087a1SEmmanuel Vadot }; 3768cc087a1SEmmanuel Vadot 3778cc087a1SEmmanuel Vadot vreg_l19a: ldo19 { 378*0e8011faSEmmanuel Vadot regulator-name = "vreg_l19a"; 3798cc087a1SEmmanuel Vadot regulator-min-microvolt = <1080000>; 3808cc087a1SEmmanuel Vadot regulator-max-microvolt = <1305000>; 3818cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3828cc087a1SEmmanuel Vadot }; 3838cc087a1SEmmanuel Vadot 3848cc087a1SEmmanuel Vadot vreg_l20a: ldo20 { 385*0e8011faSEmmanuel Vadot regulator-name = "vreg_l20a"; 3868cc087a1SEmmanuel Vadot regulator-min-microvolt = <530000>; 3878cc087a1SEmmanuel Vadot regulator-max-microvolt = <801000>; 3888cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3898cc087a1SEmmanuel Vadot }; 3908cc087a1SEmmanuel Vadot 3918cc087a1SEmmanuel Vadot vreg_l21a: ldo21 { 392*0e8011faSEmmanuel Vadot regulator-name = "vreg_l21a"; 3938cc087a1SEmmanuel Vadot regulator-min-microvolt = <751000>; 3948cc087a1SEmmanuel Vadot regulator-max-microvolt = <825000>; 3958cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 3968cc087a1SEmmanuel Vadot }; 3978cc087a1SEmmanuel Vadot 3988cc087a1SEmmanuel Vadot vreg_l22a: ldo22 { 399*0e8011faSEmmanuel Vadot regulator-name = "vreg_l22a"; 4008cc087a1SEmmanuel Vadot regulator-min-microvolt = <1080000>; 4018cc087a1SEmmanuel Vadot regulator-max-microvolt = <1305000>; 4028cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4038cc087a1SEmmanuel Vadot }; 4048cc087a1SEmmanuel Vadot }; 4058cc087a1SEmmanuel Vadot 406cb7aa33aSEmmanuel Vadot regulators-1 { 4078cc087a1SEmmanuel Vadot compatible = "qcom,pm6150l-rpmh-regulators"; 4088cc087a1SEmmanuel Vadot qcom,pmic-id = "e"; 4098cc087a1SEmmanuel Vadot 4108cc087a1SEmmanuel Vadot vreg_s8e: smps8 { 411*0e8011faSEmmanuel Vadot regulator-name = "vreg_s8e"; 4128cc087a1SEmmanuel Vadot regulator-min-microvolt = <313000>; 4138cc087a1SEmmanuel Vadot regulator-max-microvolt = <1395000>; 4148cc087a1SEmmanuel Vadot }; 4158cc087a1SEmmanuel Vadot 4168cc087a1SEmmanuel Vadot vreg_l1e: ldo1 { 417*0e8011faSEmmanuel Vadot regulator-name = "vreg_l1e"; 4188cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 4198cc087a1SEmmanuel Vadot regulator-max-microvolt = <1980000>; 4208cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4218cc087a1SEmmanuel Vadot }; 4228cc087a1SEmmanuel Vadot 4238cc087a1SEmmanuel Vadot vreg_l2e: ldo2 { 424*0e8011faSEmmanuel Vadot regulator-name = "vreg_l2e"; 4258cc087a1SEmmanuel Vadot regulator-min-microvolt = <1170000>; 4268cc087a1SEmmanuel Vadot regulator-max-microvolt = <1305000>; 4278cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4288cc087a1SEmmanuel Vadot }; 4298cc087a1SEmmanuel Vadot 4308cc087a1SEmmanuel Vadot vreg_l3e: ldo3 { 431*0e8011faSEmmanuel Vadot regulator-name = "vreg_l3e"; 4328cc087a1SEmmanuel Vadot regulator-min-microvolt = <1100000>; 4338cc087a1SEmmanuel Vadot regulator-max-microvolt = <1299000>; 4348cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4358cc087a1SEmmanuel Vadot }; 4368cc087a1SEmmanuel Vadot 4378cc087a1SEmmanuel Vadot vreg_l4e: ldo4 { 438*0e8011faSEmmanuel Vadot regulator-name = "vreg_l4e"; 4398cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 4408cc087a1SEmmanuel Vadot regulator-max-microvolt = <3300000>; 4418cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4428cc087a1SEmmanuel Vadot }; 4438cc087a1SEmmanuel Vadot 4448cc087a1SEmmanuel Vadot vreg_l5e: ldo5 { 445*0e8011faSEmmanuel Vadot regulator-name = "vreg_l5e"; 4468cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 4478cc087a1SEmmanuel Vadot regulator-max-microvolt = <3300000>; 4488cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4498cc087a1SEmmanuel Vadot }; 4508cc087a1SEmmanuel Vadot 4518cc087a1SEmmanuel Vadot vreg_l6e: ldo6 { 452*0e8011faSEmmanuel Vadot regulator-name = "vreg_l6e"; 4538cc087a1SEmmanuel Vadot regulator-min-microvolt = <1700000>; 4548bab661aSEmmanuel Vadot regulator-max-microvolt = <2950000>; 4558cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4568bab661aSEmmanuel Vadot regulator-allow-set-load; 4578bab661aSEmmanuel Vadot regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 4588bab661aSEmmanuel Vadot RPMH_REGULATOR_MODE_HPM>; 4598cc087a1SEmmanuel Vadot }; 4608cc087a1SEmmanuel Vadot 4618cc087a1SEmmanuel Vadot vreg_l7e: ldo7 { 462*0e8011faSEmmanuel Vadot regulator-name = "vreg_l7e"; 4638cc087a1SEmmanuel Vadot regulator-min-microvolt = <2700000>; 4648cc087a1SEmmanuel Vadot regulator-max-microvolt = <3544000>; 4658cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4668cc087a1SEmmanuel Vadot }; 4678cc087a1SEmmanuel Vadot 4688cc087a1SEmmanuel Vadot vreg_l8e: ldo8 { 469*0e8011faSEmmanuel Vadot regulator-name = "vreg_l8e"; 4708cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 4718cc087a1SEmmanuel Vadot regulator-max-microvolt = <2000000>; 4728cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4738cc087a1SEmmanuel Vadot }; 4748cc087a1SEmmanuel Vadot 4758cc087a1SEmmanuel Vadot vreg_l9e: ldo9 { 476*0e8011faSEmmanuel Vadot regulator-name = "vreg_l9e"; 4778cc087a1SEmmanuel Vadot regulator-min-microvolt = <2700000>; 4788bab661aSEmmanuel Vadot regulator-max-microvolt = <2960000>; 4798cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4808bab661aSEmmanuel Vadot regulator-allow-set-load; 4818bab661aSEmmanuel Vadot regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 4828bab661aSEmmanuel Vadot RPMH_REGULATOR_MODE_HPM>; 4838cc087a1SEmmanuel Vadot }; 4848cc087a1SEmmanuel Vadot 4858cc087a1SEmmanuel Vadot vreg_l10e: ldo10 { 486*0e8011faSEmmanuel Vadot regulator-name = "vreg_l10e"; 4878cc087a1SEmmanuel Vadot regulator-min-microvolt = <3000000>; 4888cc087a1SEmmanuel Vadot regulator-max-microvolt = <3401000>; 4898cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4908cc087a1SEmmanuel Vadot }; 4918cc087a1SEmmanuel Vadot 4928cc087a1SEmmanuel Vadot vreg_l11e: ldo11 { 493*0e8011faSEmmanuel Vadot regulator-name = "vreg_l11e"; 4948cc087a1SEmmanuel Vadot regulator-min-microvolt = <3000000>; 4958cc087a1SEmmanuel Vadot regulator-max-microvolt = <3401000>; 4968cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4978cc087a1SEmmanuel Vadot }; 4988cc087a1SEmmanuel Vadot 4998cc087a1SEmmanuel Vadot vreg_bob: bob { 500*0e8011faSEmmanuel Vadot regulator-name = "vreg_bob"; 5018cc087a1SEmmanuel Vadot regulator-min-microvolt = <1620000>; 5028cc087a1SEmmanuel Vadot regulator-max-microvolt = <5492000>; 5038cc087a1SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 5048cc087a1SEmmanuel Vadot regulator-allow-bypass; 5058cc087a1SEmmanuel Vadot }; 5068cc087a1SEmmanuel Vadot }; 5078cc087a1SEmmanuel Vadot}; 5088cc087a1SEmmanuel Vadot 509cb7aa33aSEmmanuel Vadot&cci0 { 510e67e8565SEmmanuel Vadot status = "okay"; 511cb7aa33aSEmmanuel Vadot}; 512cb7aa33aSEmmanuel Vadot 513cb7aa33aSEmmanuel Vadot&cci0_i2c0 { 514cb7aa33aSEmmanuel Vadot /* IMX582 @ 0x1a */ 515cb7aa33aSEmmanuel Vadot}; 516cb7aa33aSEmmanuel Vadot 517cb7aa33aSEmmanuel Vadot&cci0_i2c1 { 518cb7aa33aSEmmanuel Vadot /* IMX582 @ 0x1a */ 519cb7aa33aSEmmanuel Vadot}; 520cb7aa33aSEmmanuel Vadot 521cb7aa33aSEmmanuel Vadot&cci1 { 522cb7aa33aSEmmanuel Vadot status = "okay"; 523cb7aa33aSEmmanuel Vadot}; 524cb7aa33aSEmmanuel Vadot 525cb7aa33aSEmmanuel Vadot&cci1_i2c0 { 526cb7aa33aSEmmanuel Vadot /* IMX576 @ 0x10 */ 527cb7aa33aSEmmanuel Vadot}; 528cb7aa33aSEmmanuel Vadot 529cb7aa33aSEmmanuel Vadot&cdsp { 53001950c46SEmmanuel Vadot firmware-name = "qcom/sm7225/fairphone4/cdsp.mbn"; 531cb7aa33aSEmmanuel Vadot status = "okay"; 532cb7aa33aSEmmanuel Vadot}; 533cb7aa33aSEmmanuel Vadot 534cb7aa33aSEmmanuel Vadot&gpi_dma0 { 535cb7aa33aSEmmanuel Vadot status = "okay"; 536cb7aa33aSEmmanuel Vadot}; 537cb7aa33aSEmmanuel Vadot 538cb7aa33aSEmmanuel Vadot&gpi_dma1 { 539cb7aa33aSEmmanuel Vadot status = "okay"; 540cb7aa33aSEmmanuel Vadot}; 541cb7aa33aSEmmanuel Vadot 54201950c46SEmmanuel Vadot&gpu { 54301950c46SEmmanuel Vadot status = "okay"; 54401950c46SEmmanuel Vadot}; 54501950c46SEmmanuel Vadot 54601950c46SEmmanuel Vadot&gpu_zap_shader { 54701950c46SEmmanuel Vadot firmware-name = "qcom/sm7225/fairphone4/a615_zap.mbn"; 54801950c46SEmmanuel Vadot}; 54901950c46SEmmanuel Vadot 550cb7aa33aSEmmanuel Vadot&i2c0 { 551cb7aa33aSEmmanuel Vadot clock-frequency = <400000>; 552cb7aa33aSEmmanuel Vadot status = "okay"; 553cb7aa33aSEmmanuel Vadot 554cb7aa33aSEmmanuel Vadot /* ST21NFCD NFC @ 8 */ 555cb7aa33aSEmmanuel Vadot /* VL53L3 ToF @ 29 */ 556cb7aa33aSEmmanuel Vadot /* AW88264A amplifier @ 34 */ 557cb7aa33aSEmmanuel Vadot /* AW88264A amplifier @ 35 */ 558cb7aa33aSEmmanuel Vadot}; 559cb7aa33aSEmmanuel Vadot 560cb7aa33aSEmmanuel Vadot&i2c8 { 561cb7aa33aSEmmanuel Vadot clock-frequency = <400000>; 562cb7aa33aSEmmanuel Vadot status = "okay"; 563cb7aa33aSEmmanuel Vadot 564cb7aa33aSEmmanuel Vadot /* HX83112A touchscreen @ 48 */ 565e67e8565SEmmanuel Vadot}; 566e67e8565SEmmanuel Vadot 567d5b0e70fSEmmanuel Vadot&i2c10 { 568*0e8011faSEmmanuel Vadot clock-frequency = <400000>; 569*0e8011faSEmmanuel Vadot status = "okay"; 570*0e8011faSEmmanuel Vadot 571*0e8011faSEmmanuel Vadot pm8008: pmic@8 { 572*0e8011faSEmmanuel Vadot compatible = "qcom,pm8008"; 573*0e8011faSEmmanuel Vadot reg = <0x8>; 574*0e8011faSEmmanuel Vadot 575*0e8011faSEmmanuel Vadot interrupts-extended = <&tlmm 59 IRQ_TYPE_EDGE_RISING>; 576*0e8011faSEmmanuel Vadot reset-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; 577*0e8011faSEmmanuel Vadot 578*0e8011faSEmmanuel Vadot vdd-l1-l2-supply = <&vreg_s8e>; 579*0e8011faSEmmanuel Vadot vdd-l3-l4-supply = <&vreg_bob>; 580*0e8011faSEmmanuel Vadot vdd-l5-supply = <&vreg_bob>; 581*0e8011faSEmmanuel Vadot vdd-l6-supply = <&vreg_s2a>; 582*0e8011faSEmmanuel Vadot vdd-l7-supply = <&vreg_bob>; 583*0e8011faSEmmanuel Vadot 584*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 585*0e8011faSEmmanuel Vadot pinctrl-0 = <&pm8008_default>; 586*0e8011faSEmmanuel Vadot 587*0e8011faSEmmanuel Vadot gpio-controller; 588*0e8011faSEmmanuel Vadot #gpio-cells = <2>; 589*0e8011faSEmmanuel Vadot gpio-ranges = <&pm8008 0 0 2>; 590*0e8011faSEmmanuel Vadot 591*0e8011faSEmmanuel Vadot interrupt-controller; 592*0e8011faSEmmanuel Vadot #interrupt-cells = <2>; 593*0e8011faSEmmanuel Vadot 594*0e8011faSEmmanuel Vadot #thermal-sensor-cells = <0>; 595*0e8011faSEmmanuel Vadot 596*0e8011faSEmmanuel Vadot regulators { 597*0e8011faSEmmanuel Vadot vreg_l1p: ldo1 { 598*0e8011faSEmmanuel Vadot regulator-name = "vreg_l1p"; 599*0e8011faSEmmanuel Vadot regulator-min-microvolt = <528000>; 600*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1200000>; 601*0e8011faSEmmanuel Vadot }; 602*0e8011faSEmmanuel Vadot 603*0e8011faSEmmanuel Vadot vreg_l2p: ldo2 { 604*0e8011faSEmmanuel Vadot regulator-name = "vreg_l2p"; 605*0e8011faSEmmanuel Vadot regulator-min-microvolt = <528000>; 606*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1200000>; 607*0e8011faSEmmanuel Vadot }; 608*0e8011faSEmmanuel Vadot 609*0e8011faSEmmanuel Vadot vreg_l3p: ldo3 { 610*0e8011faSEmmanuel Vadot regulator-name = "vreg_l3p"; 611*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1500000>; 612*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2800000>; 613*0e8011faSEmmanuel Vadot }; 614*0e8011faSEmmanuel Vadot 615*0e8011faSEmmanuel Vadot vreg_l4p: ldo4 { 616*0e8011faSEmmanuel Vadot regulator-name = "vreg_l4p"; 617*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1500000>; 618*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2904000>; 619*0e8011faSEmmanuel Vadot }; 620*0e8011faSEmmanuel Vadot 621*0e8011faSEmmanuel Vadot vreg_l5p: ldo5 { 622*0e8011faSEmmanuel Vadot regulator-name = "vreg_l5p"; 623*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1500000>; 624*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2900000>; 625*0e8011faSEmmanuel Vadot }; 626*0e8011faSEmmanuel Vadot 627*0e8011faSEmmanuel Vadot vreg_l6p: ldo6 { 628*0e8011faSEmmanuel Vadot regulator-name = "vreg_l6p"; 629*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1500000>; 630*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 631*0e8011faSEmmanuel Vadot }; 632*0e8011faSEmmanuel Vadot 633*0e8011faSEmmanuel Vadot vreg_l7p: ldo7 { 634*0e8011faSEmmanuel Vadot regulator-name = "vreg_l7p"; 635*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1500000>; 636*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3140000>; 637*0e8011faSEmmanuel Vadot }; 638*0e8011faSEmmanuel Vadot }; 639*0e8011faSEmmanuel Vadot }; 640*0e8011faSEmmanuel Vadot 641cb7aa33aSEmmanuel Vadot /* PX8618 @ 26 */ 642cb7aa33aSEmmanuel Vadot /* SMB1395 PMIC @ 34 */ 64384943d6fSEmmanuel Vadot /* awinic,aw8695 @ 5a */ 644d5b0e70fSEmmanuel Vadot}; 645d5b0e70fSEmmanuel Vadot 646cb7aa33aSEmmanuel Vadot&ipa { 647cb7aa33aSEmmanuel Vadot qcom,gsi-loader = "self"; 648cb7aa33aSEmmanuel Vadot memory-region = <&pil_ipa_fw_mem>; 64901950c46SEmmanuel Vadot firmware-name = "qcom/sm7225/fairphone4/ipa_fws.mbn"; 65001950c46SEmmanuel Vadot status = "okay"; 65101950c46SEmmanuel Vadot}; 65201950c46SEmmanuel Vadot 65301950c46SEmmanuel Vadot&mdss { 65401950c46SEmmanuel Vadot status = "okay"; 65501950c46SEmmanuel Vadot}; 65601950c46SEmmanuel Vadot 65701950c46SEmmanuel Vadot&mdss_dsi0 { 65801950c46SEmmanuel Vadot vdda-supply = <&vreg_l22a>; 65901950c46SEmmanuel Vadot status = "okay"; 66001950c46SEmmanuel Vadot 66101950c46SEmmanuel Vadot panel@0 { 66201950c46SEmmanuel Vadot compatible = "djn,9a-3r063-1102b"; 66301950c46SEmmanuel Vadot reg = <0>; 66401950c46SEmmanuel Vadot 66501950c46SEmmanuel Vadot backlight = <&pm6150l_wled>; 66601950c46SEmmanuel Vadot reset-gpios = <&pm6150l_gpios 9 GPIO_ACTIVE_LOW>; 66701950c46SEmmanuel Vadot 66801950c46SEmmanuel Vadot vdd1-supply = <&vreg_l1e>; 66901950c46SEmmanuel Vadot vsn-supply = <&lcdb_dummy>; 67001950c46SEmmanuel Vadot vsp-supply = <&lcdb_dummy>; 67101950c46SEmmanuel Vadot 67201950c46SEmmanuel Vadot port { 67301950c46SEmmanuel Vadot panel_in: endpoint { 67401950c46SEmmanuel Vadot remote-endpoint = <&mdss_dsi0_out>; 67501950c46SEmmanuel Vadot }; 67601950c46SEmmanuel Vadot }; 67701950c46SEmmanuel Vadot }; 67801950c46SEmmanuel Vadot}; 67901950c46SEmmanuel Vadot 68001950c46SEmmanuel Vadot&mdss_dsi0_out { 68101950c46SEmmanuel Vadot data-lanes = <0 1 2 3>; 68201950c46SEmmanuel Vadot remote-endpoint = <&panel_in>; 68301950c46SEmmanuel Vadot}; 68401950c46SEmmanuel Vadot 68501950c46SEmmanuel Vadot&mdss_dsi0_phy { 68601950c46SEmmanuel Vadot vdds-supply = <&vreg_l18a>; 687e67e8565SEmmanuel Vadot status = "okay"; 688cb7aa33aSEmmanuel Vadot}; 689cb7aa33aSEmmanuel Vadot 690cb7aa33aSEmmanuel Vadot&mpss { 69101950c46SEmmanuel Vadot firmware-name = "qcom/sm7225/fairphone4/modem.mbn"; 692cb7aa33aSEmmanuel Vadot status = "okay"; 693cb7aa33aSEmmanuel Vadot}; 694cb7aa33aSEmmanuel Vadot 695*0e8011faSEmmanuel Vadot&pm6150l_adc { 696*0e8011faSEmmanuel Vadot pinctrl-0 = <&pm6150l_adc_default>; 697*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 698*0e8011faSEmmanuel Vadot 699*0e8011faSEmmanuel Vadot channel@4d { 700*0e8011faSEmmanuel Vadot reg = <ADC5_AMUX_THM1_100K_PU>; 701*0e8011faSEmmanuel Vadot label = "pa_therm1"; 702*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 703*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 704*0e8011faSEmmanuel Vadot qcom,ratiometric; 705*0e8011faSEmmanuel Vadot }; 706*0e8011faSEmmanuel Vadot 707*0e8011faSEmmanuel Vadot channel@4e { 708*0e8011faSEmmanuel Vadot reg = <ADC5_AMUX_THM2_100K_PU>; 709*0e8011faSEmmanuel Vadot label = "msm_therm"; 710*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 711*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 712*0e8011faSEmmanuel Vadot qcom,ratiometric; 713*0e8011faSEmmanuel Vadot }; 714*0e8011faSEmmanuel Vadot 715*0e8011faSEmmanuel Vadot channel@4f { 716*0e8011faSEmmanuel Vadot reg = <ADC5_AMUX_THM3_100K_PU>; 717*0e8011faSEmmanuel Vadot label = "pa_therm0"; 718*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 719*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 720*0e8011faSEmmanuel Vadot qcom,ratiometric; 721*0e8011faSEmmanuel Vadot }; 722*0e8011faSEmmanuel Vadot 723*0e8011faSEmmanuel Vadot channel@53 { 724*0e8011faSEmmanuel Vadot reg = <ADC5_GPIO2_100K_PU>; 725*0e8011faSEmmanuel Vadot label = "rear_cam_therm"; 726*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 727*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 728*0e8011faSEmmanuel Vadot qcom,ratiometric; 729*0e8011faSEmmanuel Vadot }; 730*0e8011faSEmmanuel Vadot 731*0e8011faSEmmanuel Vadot channel@54 { 732*0e8011faSEmmanuel Vadot reg = <ADC5_GPIO3_100K_PU>; 733*0e8011faSEmmanuel Vadot label = "rear_cam_flash_therm"; 734*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 735*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 736*0e8011faSEmmanuel Vadot qcom,ratiometric; 737*0e8011faSEmmanuel Vadot }; 738*0e8011faSEmmanuel Vadot 739*0e8011faSEmmanuel Vadot channel@55 { 740*0e8011faSEmmanuel Vadot reg = <ADC5_GPIO4_100K_PU>; 741*0e8011faSEmmanuel Vadot label = "quiet_therm"; 742*0e8011faSEmmanuel Vadot qcom,hw-settle-time = <200>; 743*0e8011faSEmmanuel Vadot qcom,pre-scaling = <1 1>; 744*0e8011faSEmmanuel Vadot qcom,ratiometric; 745*0e8011faSEmmanuel Vadot }; 746*0e8011faSEmmanuel Vadot}; 747*0e8011faSEmmanuel Vadot 748*0e8011faSEmmanuel Vadot&pm6150l_adc_tm { 749*0e8011faSEmmanuel Vadot status = "okay"; 750*0e8011faSEmmanuel Vadot 751*0e8011faSEmmanuel Vadot pa-therm1@0 { 752*0e8011faSEmmanuel Vadot reg = <0>; 753*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_AMUX_THM1_100K_PU>; 754*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 755*0e8011faSEmmanuel Vadot qcom,ratiometric; 756*0e8011faSEmmanuel Vadot }; 757*0e8011faSEmmanuel Vadot 758*0e8011faSEmmanuel Vadot pa-therm0@1 { 759*0e8011faSEmmanuel Vadot reg = <1>; 760*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_AMUX_THM3_100K_PU>; 761*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 762*0e8011faSEmmanuel Vadot qcom,ratiometric; 763*0e8011faSEmmanuel Vadot }; 764*0e8011faSEmmanuel Vadot 765*0e8011faSEmmanuel Vadot rear-cam-flash-therm@2 { 766*0e8011faSEmmanuel Vadot reg = <2>; 767*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_GPIO3_100K_PU>; 768*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 769*0e8011faSEmmanuel Vadot qcom,ratiometric; 770*0e8011faSEmmanuel Vadot }; 771*0e8011faSEmmanuel Vadot 772*0e8011faSEmmanuel Vadot quiet-therm@3 { 773*0e8011faSEmmanuel Vadot reg = <3>; 774*0e8011faSEmmanuel Vadot io-channels = <&pm6150l_adc ADC5_GPIO4_100K_PU>; 775*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 776*0e8011faSEmmanuel Vadot qcom,ratiometric; 777*0e8011faSEmmanuel Vadot }; 778*0e8011faSEmmanuel Vadot}; 779*0e8011faSEmmanuel Vadot 780cb7aa33aSEmmanuel Vadot&pm6150l_flash { 781cb7aa33aSEmmanuel Vadot status = "okay"; 782cb7aa33aSEmmanuel Vadot 783cb7aa33aSEmmanuel Vadot led-0 { 784cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_FLASH; 785cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_YELLOW>; 786cb7aa33aSEmmanuel Vadot led-sources = <1>; 787cb7aa33aSEmmanuel Vadot led-max-microamp = <180000>; 788cb7aa33aSEmmanuel Vadot flash-max-microamp = <1000000>; 789cb7aa33aSEmmanuel Vadot flash-max-timeout-us = <1280000>; 790cb7aa33aSEmmanuel Vadot }; 791cb7aa33aSEmmanuel Vadot 792cb7aa33aSEmmanuel Vadot led-1 { 793cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_FLASH; 794cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_WHITE>; 795cb7aa33aSEmmanuel Vadot led-sources = <2>; 796cb7aa33aSEmmanuel Vadot led-max-microamp = <180000>; 797cb7aa33aSEmmanuel Vadot flash-max-microamp = <1000000>; 798cb7aa33aSEmmanuel Vadot flash-max-timeout-us = <1280000>; 799cb7aa33aSEmmanuel Vadot }; 800e67e8565SEmmanuel Vadot}; 801e67e8565SEmmanuel Vadot 802*0e8011faSEmmanuel Vadot&pm6150l_gpios { 803*0e8011faSEmmanuel Vadot pm6150l_adc_default: adc-default-state { 804*0e8011faSEmmanuel Vadot pins = "gpio6", "gpio7", "gpio10"; 805*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 806*0e8011faSEmmanuel Vadot bias-high-impedance; 807*0e8011faSEmmanuel Vadot }; 808*0e8011faSEmmanuel Vadot}; 809*0e8011faSEmmanuel Vadot 810c9ccf3a3SEmmanuel Vadot&pm6150l_wled { 811c9ccf3a3SEmmanuel Vadot qcom,switching-freq = <800>; 812c9ccf3a3SEmmanuel Vadot qcom,current-limit-microamp = <20000>; 813c9ccf3a3SEmmanuel Vadot qcom,num-strings = <2>; 814cb7aa33aSEmmanuel Vadot 815cb7aa33aSEmmanuel Vadot status = "okay"; 816c9ccf3a3SEmmanuel Vadot}; 817c9ccf3a3SEmmanuel Vadot 8188cc087a1SEmmanuel Vadot&pm6350_gpios { 819b97ee269SEmmanuel Vadot gpio_keys_pin: gpio-keys-state { 8208cc087a1SEmmanuel Vadot pins = "gpio2"; 8218cc087a1SEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 8228cc087a1SEmmanuel Vadot bias-pull-up; 8238cc087a1SEmmanuel Vadot input-enable; 8248cc087a1SEmmanuel Vadot power-source = <0>; 8258cc087a1SEmmanuel Vadot }; 8268cc087a1SEmmanuel Vadot}; 8278cc087a1SEmmanuel Vadot 8288cc087a1SEmmanuel Vadot&pm6350_resin { 8298cc087a1SEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 830cb7aa33aSEmmanuel Vadot status = "okay"; 8318cc087a1SEmmanuel Vadot}; 8328cc087a1SEmmanuel Vadot 8337ef62cebSEmmanuel Vadot&pm7250b_adc { 834aa1a8ff2SEmmanuel Vadot channel@4d { 8357ef62cebSEmmanuel Vadot reg = <ADC5_AMUX_THM1_100K_PU>; 8367ef62cebSEmmanuel Vadot qcom,ratiometric; 8377ef62cebSEmmanuel Vadot qcom,hw-settle-time = <200>; 8387ef62cebSEmmanuel Vadot qcom,pre-scaling = <1 1>; 8397ef62cebSEmmanuel Vadot label = "charger_skin_therm"; 8407ef62cebSEmmanuel Vadot }; 8417ef62cebSEmmanuel Vadot 842aa1a8ff2SEmmanuel Vadot channel@4f { 8437ef62cebSEmmanuel Vadot reg = <ADC5_AMUX_THM3_100K_PU>; 8447ef62cebSEmmanuel Vadot qcom,ratiometric; 8457ef62cebSEmmanuel Vadot qcom,hw-settle-time = <200>; 8467ef62cebSEmmanuel Vadot qcom,pre-scaling = <1 1>; 8477ef62cebSEmmanuel Vadot label = "conn_therm"; 8487ef62cebSEmmanuel Vadot }; 8497ef62cebSEmmanuel Vadot}; 8507ef62cebSEmmanuel Vadot 8517ef62cebSEmmanuel Vadot&pm7250b_adc_tm { 8527ef62cebSEmmanuel Vadot status = "okay"; 8537ef62cebSEmmanuel Vadot 8547ef62cebSEmmanuel Vadot charger-skin-therm@0 { 8557ef62cebSEmmanuel Vadot reg = <0>; 8567ef62cebSEmmanuel Vadot io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>; 8577ef62cebSEmmanuel Vadot qcom,ratiometric; 8587ef62cebSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 8597ef62cebSEmmanuel Vadot }; 8607ef62cebSEmmanuel Vadot 8617ef62cebSEmmanuel Vadot conn-therm@1 { 8627ef62cebSEmmanuel Vadot reg = <1>; 8637ef62cebSEmmanuel Vadot io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>; 8647ef62cebSEmmanuel Vadot qcom,ratiometric; 8657ef62cebSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 8667ef62cebSEmmanuel Vadot }; 8677ef62cebSEmmanuel Vadot}; 8687ef62cebSEmmanuel Vadot 869*0e8011faSEmmanuel Vadot&pm7250b_typec { 870*0e8011faSEmmanuel Vadot vdd-pdphy-supply = <&vreg_l3a>; 871*0e8011faSEmmanuel Vadot 872*0e8011faSEmmanuel Vadot status = "okay"; 873*0e8011faSEmmanuel Vadot 874*0e8011faSEmmanuel Vadot connector { 875*0e8011faSEmmanuel Vadot compatible = "usb-c-connector"; 876*0e8011faSEmmanuel Vadot 877*0e8011faSEmmanuel Vadot power-role = "dual"; 878*0e8011faSEmmanuel Vadot data-role = "dual"; 879*0e8011faSEmmanuel Vadot self-powered; 880*0e8011faSEmmanuel Vadot 881*0e8011faSEmmanuel Vadot /* 882*0e8011faSEmmanuel Vadot * Disable USB Power Delivery for now, seems to need extra work 883*0e8011faSEmmanuel Vadot * to support role switching while also letting the battery 884*0e8011faSEmmanuel Vadot * charge still - without charger driver 885*0e8011faSEmmanuel Vadot */ 886*0e8011faSEmmanuel Vadot typec-power-opmode = "default"; 887*0e8011faSEmmanuel Vadot pd-disable; 888*0e8011faSEmmanuel Vadot 889*0e8011faSEmmanuel Vadot ports { 890*0e8011faSEmmanuel Vadot #address-cells = <1>; 891*0e8011faSEmmanuel Vadot #size-cells = <0>; 892*0e8011faSEmmanuel Vadot 893*0e8011faSEmmanuel Vadot port@0 { 894*0e8011faSEmmanuel Vadot reg = <0>; 895*0e8011faSEmmanuel Vadot pm7250b_hs_in: endpoint { 896*0e8011faSEmmanuel Vadot remote-endpoint = <&usb_1_dwc3_hs_out>; 897*0e8011faSEmmanuel Vadot }; 898*0e8011faSEmmanuel Vadot }; 899*0e8011faSEmmanuel Vadot 900*0e8011faSEmmanuel Vadot port@1 { 901*0e8011faSEmmanuel Vadot reg = <1>; 902*0e8011faSEmmanuel Vadot pm7250b_ss_in: endpoint { 903*0e8011faSEmmanuel Vadot remote-endpoint = <&usb_1_qmpphy_out>; 904*0e8011faSEmmanuel Vadot }; 905*0e8011faSEmmanuel Vadot }; 906*0e8011faSEmmanuel Vadot }; 907*0e8011faSEmmanuel Vadot }; 908*0e8011faSEmmanuel Vadot}; 909*0e8011faSEmmanuel Vadot 910*0e8011faSEmmanuel Vadot&pm7250b_vbus { 911*0e8011faSEmmanuel Vadot regulator-min-microamp = <500000>; 912*0e8011faSEmmanuel Vadot regulator-max-microamp = <1500000>; 913*0e8011faSEmmanuel Vadot status = "okay"; 914*0e8011faSEmmanuel Vadot}; 915*0e8011faSEmmanuel Vadot 916*0e8011faSEmmanuel Vadot&pmk8350_adc_tm { 917*0e8011faSEmmanuel Vadot status = "okay"; 918*0e8011faSEmmanuel Vadot 919*0e8011faSEmmanuel Vadot xo-therm@0 { 920*0e8011faSEmmanuel Vadot reg = <0>; 921*0e8011faSEmmanuel Vadot io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; 922*0e8011faSEmmanuel Vadot qcom,hw-settle-time-us = <200>; 923*0e8011faSEmmanuel Vadot qcom,ratiometric; 924*0e8011faSEmmanuel Vadot }; 925*0e8011faSEmmanuel Vadot}; 926*0e8011faSEmmanuel Vadot 927cb7aa33aSEmmanuel Vadot&pmk8350_rtc { 928cb7aa33aSEmmanuel Vadot status = "okay"; 929cb7aa33aSEmmanuel Vadot}; 930cb7aa33aSEmmanuel Vadot 931cb7aa33aSEmmanuel Vadot&pmk8350_vadc { 932aa1a8ff2SEmmanuel Vadot channel@644 { 933cb7aa33aSEmmanuel Vadot reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; 934cb7aa33aSEmmanuel Vadot qcom,ratiometric; 935cb7aa33aSEmmanuel Vadot qcom,hw-settle-time = <200>; 936cb7aa33aSEmmanuel Vadot qcom,pre-scaling = <1 1>; 937cb7aa33aSEmmanuel Vadot label = "xo_therm"; 938cb7aa33aSEmmanuel Vadot }; 939cb7aa33aSEmmanuel Vadot}; 940cb7aa33aSEmmanuel Vadot 941f126890aSEmmanuel Vadot&qup_uart1_cts { 942f126890aSEmmanuel Vadot /* 943f126890aSEmmanuel Vadot * Configure a bias-bus-hold on CTS to lower power 944f126890aSEmmanuel Vadot * usage when Bluetooth is turned off. Bus hold will 945f126890aSEmmanuel Vadot * maintain a low power state regardless of whether 946f126890aSEmmanuel Vadot * the Bluetooth module drives the pin in either 947f126890aSEmmanuel Vadot * direction or leaves the pin fully unpowered. 948f126890aSEmmanuel Vadot */ 949f126890aSEmmanuel Vadot bias-bus-hold; 950f126890aSEmmanuel Vadot}; 951f126890aSEmmanuel Vadot 952f126890aSEmmanuel Vadot&qup_uart1_rts { 953f126890aSEmmanuel Vadot /* We'll drive RTS, so no pull */ 954f126890aSEmmanuel Vadot drive-strength = <2>; 955f126890aSEmmanuel Vadot bias-disable; 956f126890aSEmmanuel Vadot}; 957f126890aSEmmanuel Vadot 958f126890aSEmmanuel Vadot&qup_uart1_rx { 959f126890aSEmmanuel Vadot /* 960f126890aSEmmanuel Vadot * Configure a pull-up on RX. This is needed to avoid 961f126890aSEmmanuel Vadot * garbage data when the TX pin of the Bluetooth module is 962f126890aSEmmanuel Vadot * in tri-state (module powered off or not driving the 963f126890aSEmmanuel Vadot * signal yet). 964f126890aSEmmanuel Vadot */ 965f126890aSEmmanuel Vadot bias-pull-up; 966f126890aSEmmanuel Vadot}; 967f126890aSEmmanuel Vadot 968f126890aSEmmanuel Vadot&qup_uart1_tx { 969f126890aSEmmanuel Vadot /* We'll drive TX, so no pull */ 970f126890aSEmmanuel Vadot drive-strength = <2>; 971f126890aSEmmanuel Vadot bias-disable; 972f126890aSEmmanuel Vadot}; 973f126890aSEmmanuel Vadot 974cb7aa33aSEmmanuel Vadot&qupv3_id_0 { 975cb7aa33aSEmmanuel Vadot status = "okay"; 976cb7aa33aSEmmanuel Vadot}; 977cb7aa33aSEmmanuel Vadot 9788cc087a1SEmmanuel Vadot&qupv3_id_1 { 9798cc087a1SEmmanuel Vadot status = "okay"; 9808cc087a1SEmmanuel Vadot}; 9818cc087a1SEmmanuel Vadot 9828bab661aSEmmanuel Vadot&sdc2_off_state { 9838bab661aSEmmanuel Vadot sd-cd-pins { 9848bab661aSEmmanuel Vadot pins = "gpio94"; 9858bab661aSEmmanuel Vadot function = "gpio"; 9868bab661aSEmmanuel Vadot drive-strength = <2>; 9878bab661aSEmmanuel Vadot bias-disable; 9888bab661aSEmmanuel Vadot }; 9898bab661aSEmmanuel Vadot}; 9908bab661aSEmmanuel Vadot 9918bab661aSEmmanuel Vadot&sdc2_on_state { 9928bab661aSEmmanuel Vadot sd-cd-pins { 9938bab661aSEmmanuel Vadot pins = "gpio94"; 9948bab661aSEmmanuel Vadot function = "gpio"; 9958bab661aSEmmanuel Vadot drive-strength = <2>; 9968bab661aSEmmanuel Vadot bias-pull-up; 9978bab661aSEmmanuel Vadot }; 9988bab661aSEmmanuel Vadot}; 9998bab661aSEmmanuel Vadot 10008bab661aSEmmanuel Vadot&sdhc_2 { 10018bab661aSEmmanuel Vadot vmmc-supply = <&vreg_l9e>; 10028bab661aSEmmanuel Vadot vqmmc-supply = <&vreg_l6e>; 10038bab661aSEmmanuel Vadot 10048bab661aSEmmanuel Vadot cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; 10058bab661aSEmmanuel Vadot 10068bab661aSEmmanuel Vadot status = "okay"; 10078bab661aSEmmanuel Vadot}; 10088bab661aSEmmanuel Vadot 10098cc087a1SEmmanuel Vadot&tlmm { 10108cc087a1SEmmanuel Vadot gpio-reserved-ranges = <13 4>, <56 2>; 1011f126890aSEmmanuel Vadot 1012f126890aSEmmanuel Vadot qup_uart1_sleep_cts: qup-uart1-sleep-cts-state { 1013f126890aSEmmanuel Vadot pins = "gpio61"; 1014f126890aSEmmanuel Vadot function = "gpio"; 1015f126890aSEmmanuel Vadot /* 1016f126890aSEmmanuel Vadot * Configure a bias-bus-hold on CTS to lower power 1017f126890aSEmmanuel Vadot * usage when Bluetooth is turned off. Bus hold will 1018f126890aSEmmanuel Vadot * maintain a low power state regardless of whether 1019f126890aSEmmanuel Vadot * the Bluetooth module drives the pin in either 1020f126890aSEmmanuel Vadot * direction or leaves the pin fully unpowered. 1021f126890aSEmmanuel Vadot */ 1022f126890aSEmmanuel Vadot bias-bus-hold; 1023f126890aSEmmanuel Vadot }; 1024f126890aSEmmanuel Vadot 1025f126890aSEmmanuel Vadot qup_uart1_sleep_rts: qup-uart1-sleep-rts-state { 1026f126890aSEmmanuel Vadot pins = "gpio62"; 1027f126890aSEmmanuel Vadot function = "gpio"; 1028f126890aSEmmanuel Vadot /* 1029f126890aSEmmanuel Vadot * Configure pull-down on RTS. As RTS is active low 1030f126890aSEmmanuel Vadot * signal, pull it low to indicate the BT SoC that it 1031f126890aSEmmanuel Vadot * can wakeup the system anytime from suspend state by 1032f126890aSEmmanuel Vadot * pulling RX low (by sending wakeup bytes). 1033f126890aSEmmanuel Vadot */ 1034f126890aSEmmanuel Vadot bias-pull-down; 1035f126890aSEmmanuel Vadot }; 1036f126890aSEmmanuel Vadot 1037f126890aSEmmanuel Vadot qup_uart1_sleep_rx: qup-uart1-sleep-rx-state { 1038f126890aSEmmanuel Vadot pins = "gpio64"; 1039f126890aSEmmanuel Vadot function = "gpio"; 1040f126890aSEmmanuel Vadot /* 1041f126890aSEmmanuel Vadot * Configure a pull-up on RX. This is needed to avoid 1042f126890aSEmmanuel Vadot * garbage data when the TX pin of the Bluetooth module 1043f126890aSEmmanuel Vadot * is floating which may cause spurious wakeups. 1044f126890aSEmmanuel Vadot */ 1045f126890aSEmmanuel Vadot bias-pull-up; 1046f126890aSEmmanuel Vadot }; 1047f126890aSEmmanuel Vadot 1048f126890aSEmmanuel Vadot qup_uart1_sleep_tx: qup-uart1-sleep-tx-state { 1049f126890aSEmmanuel Vadot pins = "gpio63"; 1050f126890aSEmmanuel Vadot function = "gpio"; 1051f126890aSEmmanuel Vadot /* 1052f126890aSEmmanuel Vadot * Configure pull-up on TX when it isn't actively driven 1053f126890aSEmmanuel Vadot * to prevent BT SoC from receiving garbage during sleep. 1054f126890aSEmmanuel Vadot */ 1055f126890aSEmmanuel Vadot bias-pull-up; 1056f126890aSEmmanuel Vadot }; 1057*0e8011faSEmmanuel Vadot 1058*0e8011faSEmmanuel Vadot pm8008_default: pm8008-default-state { 1059*0e8011faSEmmanuel Vadot int-pins { 1060*0e8011faSEmmanuel Vadot pins = "gpio59"; 1061*0e8011faSEmmanuel Vadot function = "gpio"; 1062*0e8011faSEmmanuel Vadot drive-strength = <2>; 1063*0e8011faSEmmanuel Vadot bias-pull-down; 1064*0e8011faSEmmanuel Vadot }; 1065*0e8011faSEmmanuel Vadot 1066*0e8011faSEmmanuel Vadot reset-n-pins { 1067*0e8011faSEmmanuel Vadot pins = "gpio58"; 1068*0e8011faSEmmanuel Vadot function = "gpio"; 1069*0e8011faSEmmanuel Vadot drive-strength = <2>; 1070*0e8011faSEmmanuel Vadot bias-disable; 1071*0e8011faSEmmanuel Vadot }; 1072*0e8011faSEmmanuel Vadot }; 1073f126890aSEmmanuel Vadot}; 1074f126890aSEmmanuel Vadot 1075f126890aSEmmanuel Vadot&uart1 { 1076f126890aSEmmanuel Vadot /delete-property/ interrupts; 1077f126890aSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>, 1078f126890aSEmmanuel Vadot <&tlmm 64 IRQ_TYPE_EDGE_FALLING>; 1079f126890aSEmmanuel Vadot 1080f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 1081f126890aSEmmanuel Vadot pinctrl-1 = <&qup_uart1_sleep_cts>, <&qup_uart1_sleep_rts>, <&qup_uart1_sleep_tx>, <&qup_uart1_sleep_rx>; 1082f126890aSEmmanuel Vadot 1083f126890aSEmmanuel Vadot status = "okay"; 1084f126890aSEmmanuel Vadot 1085f126890aSEmmanuel Vadot bluetooth { 1086f126890aSEmmanuel Vadot compatible = "qcom,wcn3988-bt"; 1087f126890aSEmmanuel Vadot 1088f126890aSEmmanuel Vadot vddio-supply = <&vreg_l11a>; 1089f126890aSEmmanuel Vadot vddxo-supply = <&vreg_l7a>; 1090f126890aSEmmanuel Vadot vddrf-supply = <&vreg_l2e>; 1091f126890aSEmmanuel Vadot vddch0-supply = <&vreg_l10e>; 1092f126890aSEmmanuel Vadot swctrl-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>; 1093f126890aSEmmanuel Vadot 1094f126890aSEmmanuel Vadot max-speed = <3200000>; 1095f126890aSEmmanuel Vadot }; 10968cc087a1SEmmanuel Vadot}; 10978cc087a1SEmmanuel Vadot 1098d5b0e70fSEmmanuel Vadot&uart9 { 10998cc087a1SEmmanuel Vadot status = "okay"; 11008cc087a1SEmmanuel Vadot}; 11018cc087a1SEmmanuel Vadot 1102d5b0e70fSEmmanuel Vadot&ufs_mem_hc { 1103d5b0e70fSEmmanuel Vadot reset-gpios = <&tlmm 156 GPIO_ACTIVE_LOW>; 1104d5b0e70fSEmmanuel Vadot 1105d5b0e70fSEmmanuel Vadot vcc-supply = <&vreg_l7e>; 1106d5b0e70fSEmmanuel Vadot vcc-max-microamp = <800000>; 1107d5b0e70fSEmmanuel Vadot vccq2-supply = <&vreg_l12a>; 1108d5b0e70fSEmmanuel Vadot vccq2-max-microamp = <800000>; 1109cb7aa33aSEmmanuel Vadot 1110cb7aa33aSEmmanuel Vadot status = "okay"; 1111d5b0e70fSEmmanuel Vadot}; 1112d5b0e70fSEmmanuel Vadot 1113d5b0e70fSEmmanuel Vadot&ufs_mem_phy { 1114d5b0e70fSEmmanuel Vadot vdda-phy-supply = <&vreg_l18a>; 1115d5b0e70fSEmmanuel Vadot vdda-pll-supply = <&vreg_l22a>; 1116cb7aa33aSEmmanuel Vadot 1117cb7aa33aSEmmanuel Vadot status = "okay"; 1118d5b0e70fSEmmanuel Vadot}; 1119d5b0e70fSEmmanuel Vadot 11208cc087a1SEmmanuel Vadot&usb_1 { 11218cc087a1SEmmanuel Vadot status = "okay"; 11228cc087a1SEmmanuel Vadot}; 11238cc087a1SEmmanuel Vadot 11248cc087a1SEmmanuel Vadot&usb_1_dwc3 { 11258cc087a1SEmmanuel Vadot maximum-speed = "super-speed"; 1126*0e8011faSEmmanuel Vadot dr_mode = "otg"; 1127*0e8011faSEmmanuel Vadot}; 1128*0e8011faSEmmanuel Vadot 1129*0e8011faSEmmanuel Vadot&usb_1_dwc3_hs_out { 1130*0e8011faSEmmanuel Vadot remote-endpoint = <&pm7250b_hs_in>; 11318cc087a1SEmmanuel Vadot}; 11328cc087a1SEmmanuel Vadot 11338cc087a1SEmmanuel Vadot&usb_1_hsphy { 11348cc087a1SEmmanuel Vadot vdd-supply = <&vreg_l18a>; 11358cc087a1SEmmanuel Vadot vdda-pll-supply = <&vreg_l2a>; 11368cc087a1SEmmanuel Vadot vdda-phy-dpdm-supply = <&vreg_l3a>; 1137cb7aa33aSEmmanuel Vadot 1138cb7aa33aSEmmanuel Vadot status = "okay"; 11398cc087a1SEmmanuel Vadot}; 11408cc087a1SEmmanuel Vadot 11418cc087a1SEmmanuel Vadot&usb_1_qmpphy { 11428cc087a1SEmmanuel Vadot vdda-phy-supply = <&vreg_l22a>; 11438cc087a1SEmmanuel Vadot vdda-pll-supply = <&vreg_l16a>; 1144cb7aa33aSEmmanuel Vadot 1145cb7aa33aSEmmanuel Vadot status = "okay"; 11468cc087a1SEmmanuel Vadot}; 1147d5b0e70fSEmmanuel Vadot 1148*0e8011faSEmmanuel Vadot&usb_1_qmpphy_out { 1149*0e8011faSEmmanuel Vadot remote-endpoint = <&pm7250b_ss_in>; 1150*0e8011faSEmmanuel Vadot}; 1151*0e8011faSEmmanuel Vadot 1152d5b0e70fSEmmanuel Vadot&wifi { 1153d5b0e70fSEmmanuel Vadot vdd-0.8-cx-mx-supply = <&vreg_l4a>; 1154d5b0e70fSEmmanuel Vadot vdd-1.8-xo-supply = <&vreg_l7a>; 1155d5b0e70fSEmmanuel Vadot vdd-1.3-rfa-supply = <&vreg_l2e>; 1156d5b0e70fSEmmanuel Vadot vdd-3.3-ch0-supply = <&vreg_l10e>; 1157d5b0e70fSEmmanuel Vadot vdd-3.3-ch1-supply = <&vreg_l11e>; 1158cb7aa33aSEmmanuel Vadot 1159cb7aa33aSEmmanuel Vadot status = "okay"; 1160d5b0e70fSEmmanuel Vadot}; 1161