1*69ed3df4SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*69ed3df4SEmmanuel Vadot/* 3*69ed3df4SEmmanuel Vadot * Copyright (c) 2023, Barnabas Czeman 4*69ed3df4SEmmanuel Vadot */ 5*69ed3df4SEmmanuel Vadot 6*69ed3df4SEmmanuel Vadot/dts-v1/; 7*69ed3df4SEmmanuel Vadot 8*69ed3df4SEmmanuel Vadot#include <dt-bindings/arm/qcom,ids.h> 9*69ed3df4SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 10*69ed3df4SEmmanuel Vadot#include "msm8917.dtsi" 11*69ed3df4SEmmanuel Vadot#include "pm8937.dtsi" 12*69ed3df4SEmmanuel Vadot 13*69ed3df4SEmmanuel Vadot/delete-node/ &qseecom_mem; 14*69ed3df4SEmmanuel Vadot 15*69ed3df4SEmmanuel Vadot/ { 16*69ed3df4SEmmanuel Vadot chassis-type = "handset"; 17*69ed3df4SEmmanuel Vadot 18*69ed3df4SEmmanuel Vadot qcom,msm-id = <QCOM_ID_MSM8917 0>; 19*69ed3df4SEmmanuel Vadot 20*69ed3df4SEmmanuel Vadot pwm_backlight: backlight { 21*69ed3df4SEmmanuel Vadot compatible = "pwm-backlight"; 22*69ed3df4SEmmanuel Vadot pwms = <&pm8937_pwm 0 100000>; 23*69ed3df4SEmmanuel Vadot brightness-levels = <0 255>; 24*69ed3df4SEmmanuel Vadot num-interpolated-steps = <255>; 25*69ed3df4SEmmanuel Vadot default-brightness-level = <128>; 26*69ed3df4SEmmanuel Vadot }; 27*69ed3df4SEmmanuel Vadot 28*69ed3df4SEmmanuel Vadot chosen { 29*69ed3df4SEmmanuel Vadot #address-cells = <2>; 30*69ed3df4SEmmanuel Vadot #size-cells = <2>; 31*69ed3df4SEmmanuel Vadot ranges; 32*69ed3df4SEmmanuel Vadot 33*69ed3df4SEmmanuel Vadot framebuffer { 34*69ed3df4SEmmanuel Vadot compatible = "simple-framebuffer"; 35*69ed3df4SEmmanuel Vadot memory-region = <&framebuffer_mem>; 36*69ed3df4SEmmanuel Vadot width = <720>; 37*69ed3df4SEmmanuel Vadot height = <1280>; 38*69ed3df4SEmmanuel Vadot stride = <(720 * 3)>; 39*69ed3df4SEmmanuel Vadot format = "r8g8b8"; 40*69ed3df4SEmmanuel Vadot 41*69ed3df4SEmmanuel Vadot clocks = <&gcc GCC_MDSS_AHB_CLK>, 42*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_AXI_CLK>, 43*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_VSYNC_CLK>, 44*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_MDP_CLK>, 45*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_BYTE0_CLK>, 46*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_PCLK0_CLK>, 47*69ed3df4SEmmanuel Vadot <&gcc GCC_MDSS_ESC0_CLK>; 48*69ed3df4SEmmanuel Vadot power-domains = <&gcc MDSS_GDSC>; 49*69ed3df4SEmmanuel Vadot }; 50*69ed3df4SEmmanuel Vadot }; 51*69ed3df4SEmmanuel Vadot 52*69ed3df4SEmmanuel Vadot gpio-keys { 53*69ed3df4SEmmanuel Vadot compatible = "gpio-keys"; 54*69ed3df4SEmmanuel Vadot 55*69ed3df4SEmmanuel Vadot pinctrl-0 = <&gpio_keys_default>; 56*69ed3df4SEmmanuel Vadot pinctrl-names = "default"; 57*69ed3df4SEmmanuel Vadot 58*69ed3df4SEmmanuel Vadot key-volup { 59*69ed3df4SEmmanuel Vadot label = "Volume Up"; 60*69ed3df4SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 61*69ed3df4SEmmanuel Vadot gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 62*69ed3df4SEmmanuel Vadot debounce-interval = <15>; 63*69ed3df4SEmmanuel Vadot }; 64*69ed3df4SEmmanuel Vadot }; 65*69ed3df4SEmmanuel Vadot 66*69ed3df4SEmmanuel Vadot vph_pwr: regulator-vph-pwr { 67*69ed3df4SEmmanuel Vadot compatible = "regulator-fixed"; 68*69ed3df4SEmmanuel Vadot regulator-name = "vph_pwr"; 69*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <3700000>; 70*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3700000>; 71*69ed3df4SEmmanuel Vadot regulator-always-on; 72*69ed3df4SEmmanuel Vadot regulator-boot-on; 73*69ed3df4SEmmanuel Vadot }; 74*69ed3df4SEmmanuel Vadot 75*69ed3df4SEmmanuel Vadot reserved-memory { 76*69ed3df4SEmmanuel Vadot qseecom_mem: qseecom@84a00000 { 77*69ed3df4SEmmanuel Vadot reg = <0x0 0x84a00000 0x0 0x1900000>; 78*69ed3df4SEmmanuel Vadot no-map; 79*69ed3df4SEmmanuel Vadot }; 80*69ed3df4SEmmanuel Vadot 81*69ed3df4SEmmanuel Vadot framebuffer_mem: memory@90001000 { 82*69ed3df4SEmmanuel Vadot reg = <0x0 0x90001000 0x0 (720 * 1280 * 3)>; 83*69ed3df4SEmmanuel Vadot no-map; 84*69ed3df4SEmmanuel Vadot }; 85*69ed3df4SEmmanuel Vadot }; 86*69ed3df4SEmmanuel Vadot}; 87*69ed3df4SEmmanuel Vadot 88*69ed3df4SEmmanuel Vadot&blsp1_i2c3 { 89*69ed3df4SEmmanuel Vadot status = "okay"; 90*69ed3df4SEmmanuel Vadot 91*69ed3df4SEmmanuel Vadot edt_ft5306: touchscreen@38 { 92*69ed3df4SEmmanuel Vadot compatible = "edt,edt-ft5306"; 93*69ed3df4SEmmanuel Vadot reg = <0x38>; 94*69ed3df4SEmmanuel Vadot interrupts-extended = <&tlmm 65 IRQ_TYPE_LEVEL_LOW>; 95*69ed3df4SEmmanuel Vadot reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 96*69ed3df4SEmmanuel Vadot pinctrl-0 = <&tsp_int_rst_default>; 97*69ed3df4SEmmanuel Vadot pinctrl-names = "default"; 98*69ed3df4SEmmanuel Vadot vcc-supply = <&pm8937_l10>; 99*69ed3df4SEmmanuel Vadot iovcc-supply = <&pm8937_l5>; 100*69ed3df4SEmmanuel Vadot touchscreen-size-x = <720>; 101*69ed3df4SEmmanuel Vadot touchscreen-size-y = <1280>; 102*69ed3df4SEmmanuel Vadot 103*69ed3df4SEmmanuel Vadot status = "disabled"; 104*69ed3df4SEmmanuel Vadot }; 105*69ed3df4SEmmanuel Vadot 106*69ed3df4SEmmanuel Vadot goodix_gt911: touchscreen@5d { 107*69ed3df4SEmmanuel Vadot compatible = "goodix,gt911"; 108*69ed3df4SEmmanuel Vadot reg = <0x5d>; 109*69ed3df4SEmmanuel Vadot interrupts-extended = <&tlmm 65 IRQ_TYPE_LEVEL_LOW>; 110*69ed3df4SEmmanuel Vadot irq-gpios = <&tlmm 65 GPIO_ACTIVE_HIGH>; 111*69ed3df4SEmmanuel Vadot reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 112*69ed3df4SEmmanuel Vadot pinctrl-0 = <&tsp_int_rst_default>; 113*69ed3df4SEmmanuel Vadot pinctrl-names = "default"; 114*69ed3df4SEmmanuel Vadot AVDD28-supply = <&pm8937_l10>; 115*69ed3df4SEmmanuel Vadot VDDIO-supply = <&pm8937_l5>; 116*69ed3df4SEmmanuel Vadot touchscreen-size-x = <720>; 117*69ed3df4SEmmanuel Vadot touchscreen-size-y = <1280>; 118*69ed3df4SEmmanuel Vadot 119*69ed3df4SEmmanuel Vadot status = "disabled"; 120*69ed3df4SEmmanuel Vadot }; 121*69ed3df4SEmmanuel Vadot}; 122*69ed3df4SEmmanuel Vadot 123*69ed3df4SEmmanuel Vadot&pm8937_gpios { 124*69ed3df4SEmmanuel Vadot pwm_enable_default: pwm-enable-default-state { 125*69ed3df4SEmmanuel Vadot pins = "gpio8"; 126*69ed3df4SEmmanuel Vadot function = "dtest2"; 127*69ed3df4SEmmanuel Vadot output-low; 128*69ed3df4SEmmanuel Vadot bias-disable; 129*69ed3df4SEmmanuel Vadot qcom,drive-strength = <2>; 130*69ed3df4SEmmanuel Vadot }; 131*69ed3df4SEmmanuel Vadot}; 132*69ed3df4SEmmanuel Vadot 133*69ed3df4SEmmanuel Vadot&pm8937_pwm { 134*69ed3df4SEmmanuel Vadot pinctrl-0 = <&pwm_enable_default>; 135*69ed3df4SEmmanuel Vadot pinctrl-names = "default"; 136*69ed3df4SEmmanuel Vadot 137*69ed3df4SEmmanuel Vadot status = "okay"; 138*69ed3df4SEmmanuel Vadot}; 139*69ed3df4SEmmanuel Vadot 140*69ed3df4SEmmanuel Vadot&pm8937_resin { 141*69ed3df4SEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 142*69ed3df4SEmmanuel Vadot 143*69ed3df4SEmmanuel Vadot status = "okay"; 144*69ed3df4SEmmanuel Vadot}; 145*69ed3df4SEmmanuel Vadot 146*69ed3df4SEmmanuel Vadot&rpm_requests { 147*69ed3df4SEmmanuel Vadot regulators-0 { 148*69ed3df4SEmmanuel Vadot compatible = "qcom,rpm-pm8937-regulators"; 149*69ed3df4SEmmanuel Vadot 150*69ed3df4SEmmanuel Vadot vdd_s1-supply = <&vph_pwr>; 151*69ed3df4SEmmanuel Vadot vdd_s2-supply = <&vph_pwr>; 152*69ed3df4SEmmanuel Vadot vdd_s3-supply = <&vph_pwr>; 153*69ed3df4SEmmanuel Vadot vdd_s4-supply = <&vph_pwr>; 154*69ed3df4SEmmanuel Vadot 155*69ed3df4SEmmanuel Vadot vdd_l1_l19-supply = <&pm8937_s3>; 156*69ed3df4SEmmanuel Vadot vdd_l2_l23-supply = <&pm8937_s3>; 157*69ed3df4SEmmanuel Vadot vdd_l3-supply = <&pm8937_s3>; 158*69ed3df4SEmmanuel Vadot vdd_l4_l5_l6_l7_l16-supply = <&pm8937_s4>; 159*69ed3df4SEmmanuel Vadot vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>; 160*69ed3df4SEmmanuel Vadot vdd_l9_l10_l13_l14_l15_l18-supply = <&vph_pwr>; 161*69ed3df4SEmmanuel Vadot 162*69ed3df4SEmmanuel Vadot pm8937_s1: s1 { 163*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1000000>; 164*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1225000>; 165*69ed3df4SEmmanuel Vadot }; 166*69ed3df4SEmmanuel Vadot 167*69ed3df4SEmmanuel Vadot pm8937_s3: s3 { 168*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1300000>; 169*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1300000>; 170*69ed3df4SEmmanuel Vadot }; 171*69ed3df4SEmmanuel Vadot 172*69ed3df4SEmmanuel Vadot pm8937_s4: s4 { 173*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2050000>; 174*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2050000>; 175*69ed3df4SEmmanuel Vadot }; 176*69ed3df4SEmmanuel Vadot 177*69ed3df4SEmmanuel Vadot pm8937_l2: l2 { 178*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1200000>; 179*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1200000>; 180*69ed3df4SEmmanuel Vadot }; 181*69ed3df4SEmmanuel Vadot 182*69ed3df4SEmmanuel Vadot pm8937_l5: l5 { 183*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 184*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1800000>; 185*69ed3df4SEmmanuel Vadot }; 186*69ed3df4SEmmanuel Vadot 187*69ed3df4SEmmanuel Vadot pm8937_l6: l6 { 188*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 189*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1800000>; 190*69ed3df4SEmmanuel Vadot }; 191*69ed3df4SEmmanuel Vadot 192*69ed3df4SEmmanuel Vadot pm8937_l7: l7 { 193*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 194*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1800000>; 195*69ed3df4SEmmanuel Vadot }; 196*69ed3df4SEmmanuel Vadot 197*69ed3df4SEmmanuel Vadot pm8937_l8: l8 { 198*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2850000>; 199*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2900000>; 200*69ed3df4SEmmanuel Vadot }; 201*69ed3df4SEmmanuel Vadot 202*69ed3df4SEmmanuel Vadot pm8937_l9: l9 { 203*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <3000000>; 204*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3300000>; 205*69ed3df4SEmmanuel Vadot }; 206*69ed3df4SEmmanuel Vadot 207*69ed3df4SEmmanuel Vadot pm8937_l10: l10 { 208*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2800000>; 209*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3000000>; 210*69ed3df4SEmmanuel Vadot }; 211*69ed3df4SEmmanuel Vadot 212*69ed3df4SEmmanuel Vadot pm8937_l11: l11 { 213*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2950000>; 214*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2950000>; 215*69ed3df4SEmmanuel Vadot regulator-allow-set-load; 216*69ed3df4SEmmanuel Vadot regulator-system-load = <200000>; 217*69ed3df4SEmmanuel Vadot }; 218*69ed3df4SEmmanuel Vadot 219*69ed3df4SEmmanuel Vadot pm8937_l12: l12 { 220*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 221*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2950000>; 222*69ed3df4SEmmanuel Vadot }; 223*69ed3df4SEmmanuel Vadot 224*69ed3df4SEmmanuel Vadot pm8937_l13: l13 { 225*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <3075000>; 226*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3075000>; 227*69ed3df4SEmmanuel Vadot }; 228*69ed3df4SEmmanuel Vadot 229*69ed3df4SEmmanuel Vadot pm8937_l14: l14 { 230*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 231*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3300000>; 232*69ed3df4SEmmanuel Vadot }; 233*69ed3df4SEmmanuel Vadot 234*69ed3df4SEmmanuel Vadot pm8937_l15: l15 { 235*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 236*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <3300000>; 237*69ed3df4SEmmanuel Vadot }; 238*69ed3df4SEmmanuel Vadot 239*69ed3df4SEmmanuel Vadot pm8937_l16: l16 { 240*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1800000>; 241*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1800000>; 242*69ed3df4SEmmanuel Vadot }; 243*69ed3df4SEmmanuel Vadot 244*69ed3df4SEmmanuel Vadot pm8937_l17: l17 { 245*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2800000>; 246*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2900000>; 247*69ed3df4SEmmanuel Vadot }; 248*69ed3df4SEmmanuel Vadot 249*69ed3df4SEmmanuel Vadot pm8937_l19: l19 { 250*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1225000>; 251*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1350000>; 252*69ed3df4SEmmanuel Vadot }; 253*69ed3df4SEmmanuel Vadot 254*69ed3df4SEmmanuel Vadot pm8937_l22: l22 { 255*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <2800000>; 256*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <2800000>; 257*69ed3df4SEmmanuel Vadot }; 258*69ed3df4SEmmanuel Vadot 259*69ed3df4SEmmanuel Vadot pm8937_l23: l23 { 260*69ed3df4SEmmanuel Vadot regulator-min-microvolt = <1200000>; 261*69ed3df4SEmmanuel Vadot regulator-max-microvolt = <1200000>; 262*69ed3df4SEmmanuel Vadot }; 263*69ed3df4SEmmanuel Vadot }; 264*69ed3df4SEmmanuel Vadot}; 265*69ed3df4SEmmanuel Vadot 266*69ed3df4SEmmanuel Vadot&sdhc_1 { 267*69ed3df4SEmmanuel Vadot vmmc-supply = <&pm8937_l8>; 268*69ed3df4SEmmanuel Vadot vqmmc-supply = <&pm8937_l5>; 269*69ed3df4SEmmanuel Vadot 270*69ed3df4SEmmanuel Vadot status = "okay"; 271*69ed3df4SEmmanuel Vadot}; 272*69ed3df4SEmmanuel Vadot 273*69ed3df4SEmmanuel Vadot&sdhc_2 { 274*69ed3df4SEmmanuel Vadot cd-gpios = <&tlmm 67 GPIO_ACTIVE_LOW>; 275*69ed3df4SEmmanuel Vadot vmmc-supply = <&pm8937_l11>; 276*69ed3df4SEmmanuel Vadot vqmmc-supply = <&pm8937_l12>; 277*69ed3df4SEmmanuel Vadot pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 278*69ed3df4SEmmanuel Vadot pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 279*69ed3df4SEmmanuel Vadot pinctrl-names = "default", "sleep"; 280*69ed3df4SEmmanuel Vadot 281*69ed3df4SEmmanuel Vadot status = "okay"; 282*69ed3df4SEmmanuel Vadot}; 283*69ed3df4SEmmanuel Vadot 284*69ed3df4SEmmanuel Vadot&sleep_clk { 285*69ed3df4SEmmanuel Vadot clock-frequency = <32768>; 286*69ed3df4SEmmanuel Vadot}; 287*69ed3df4SEmmanuel Vadot 288*69ed3df4SEmmanuel Vadot&tlmm { 289*69ed3df4SEmmanuel Vadot gpio_keys_default: gpio-keys-default-state { 290*69ed3df4SEmmanuel Vadot pins = "gpio91"; 291*69ed3df4SEmmanuel Vadot function = "gpio"; 292*69ed3df4SEmmanuel Vadot drive-strength = <2>; 293*69ed3df4SEmmanuel Vadot bias-pull-up; 294*69ed3df4SEmmanuel Vadot }; 295*69ed3df4SEmmanuel Vadot 296*69ed3df4SEmmanuel Vadot sdc2_cd_default: sdc2-cd-default-state { 297*69ed3df4SEmmanuel Vadot pins = "gpio67"; 298*69ed3df4SEmmanuel Vadot function = "gpio"; 299*69ed3df4SEmmanuel Vadot drive-strength = <2>; 300*69ed3df4SEmmanuel Vadot bias-disable; 301*69ed3df4SEmmanuel Vadot }; 302*69ed3df4SEmmanuel Vadot 303*69ed3df4SEmmanuel Vadot tsp_int_rst_default: tsp-int-rst-default-state { 304*69ed3df4SEmmanuel Vadot pins = "gpio64", "gpio65"; 305*69ed3df4SEmmanuel Vadot function = "gpio"; 306*69ed3df4SEmmanuel Vadot drive-strength = <8>; 307*69ed3df4SEmmanuel Vadot bias-pull-up; 308*69ed3df4SEmmanuel Vadot }; 309*69ed3df4SEmmanuel Vadot}; 310*69ed3df4SEmmanuel Vadot 311*69ed3df4SEmmanuel Vadot&wcnss { 312*69ed3df4SEmmanuel Vadot vddpx-supply = <&pm8937_l5>; 313*69ed3df4SEmmanuel Vadot 314*69ed3df4SEmmanuel Vadot status = "okay"; 315*69ed3df4SEmmanuel Vadot}; 316*69ed3df4SEmmanuel Vadot 317*69ed3df4SEmmanuel Vadot&wcnss_iris { 318*69ed3df4SEmmanuel Vadot compatible = "qcom,wcn3620"; 319*69ed3df4SEmmanuel Vadot vddxo-supply = <&pm8937_l7>; 320*69ed3df4SEmmanuel Vadot vddrfa-supply = <&pm8937_l19>; 321*69ed3df4SEmmanuel Vadot vddpa-supply = <&pm8937_l9>; 322*69ed3df4SEmmanuel Vadot vdddig-supply = <&pm8937_l5>; 323*69ed3df4SEmmanuel Vadot}; 324*69ed3df4SEmmanuel Vadot 325*69ed3df4SEmmanuel Vadot&wcnss_mem { 326*69ed3df4SEmmanuel Vadot status = "okay"; 327*69ed3df4SEmmanuel Vadot}; 328*69ed3df4SEmmanuel Vadot 329*69ed3df4SEmmanuel Vadot&xo_board { 330*69ed3df4SEmmanuel Vadot clock-frequency = <19200000>; 331*69ed3df4SEmmanuel Vadot}; 332