1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2*0e8011faSEmmanuel Vadot/* 3*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Neil Armstrong <neil.armstrong@linaro.org> 4*0e8011faSEmmanuel Vadot */ 5*0e8011faSEmmanuel Vadot/dts-v1/; 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadot#include "sdm450.dtsi" 8*0e8011faSEmmanuel Vadot#include "pm8953.dtsi" 9*0e8011faSEmmanuel Vadot#include "pmi8950.dtsi" 10*0e8011faSEmmanuel Vadot 11*0e8011faSEmmanuel Vadot/ { 12*0e8011faSEmmanuel Vadot model = "Lenovo Smart Tab M10"; 13*0e8011faSEmmanuel Vadot compatible = "lenovo,tbx605f", "qcom,sdm450"; 14*0e8011faSEmmanuel Vadot chassis-type = "tablet"; 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadot chosen { 17*0e8011faSEmmanuel Vadot #address-cells = <2>; 18*0e8011faSEmmanuel Vadot #size-cells = <2>; 19*0e8011faSEmmanuel Vadot ranges; 20*0e8011faSEmmanuel Vadot 21*0e8011faSEmmanuel Vadot framebuffer@90001000 { 22*0e8011faSEmmanuel Vadot compatible = "simple-framebuffer"; 23*0e8011faSEmmanuel Vadot reg = <0 0x90001000 0 (1200 * 1920 * 3)>; 24*0e8011faSEmmanuel Vadot 25*0e8011faSEmmanuel Vadot width = <1200>; 26*0e8011faSEmmanuel Vadot height = <1920>; 27*0e8011faSEmmanuel Vadot stride = <(1200 * 3)>; 28*0e8011faSEmmanuel Vadot format = "r8g8b8"; 29*0e8011faSEmmanuel Vadot 30*0e8011faSEmmanuel Vadot power-domains = <&gcc MDSS_GDSC>; 31*0e8011faSEmmanuel Vadot 32*0e8011faSEmmanuel Vadot clocks = <&gcc GCC_MDSS_AHB_CLK>, 33*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_AXI_CLK>, 34*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_VSYNC_CLK>, 35*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_MDP_CLK>, 36*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_BYTE0_CLK>, 37*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_PCLK0_CLK>, 38*0e8011faSEmmanuel Vadot <&gcc GCC_MDSS_ESC0_CLK>; 39*0e8011faSEmmanuel Vadot }; 40*0e8011faSEmmanuel Vadot }; 41*0e8011faSEmmanuel Vadot 42*0e8011faSEmmanuel Vadot reserved-memory { 43*0e8011faSEmmanuel Vadot other_ext_region@0 { 44*0e8011faSEmmanuel Vadot no-map; 45*0e8011faSEmmanuel Vadot reg = <0x00 0x84500000 0x00 0x2300000>; 46*0e8011faSEmmanuel Vadot }; 47*0e8011faSEmmanuel Vadot }; 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot gpio-keys { 50*0e8011faSEmmanuel Vadot compatible = "gpio-keys"; 51*0e8011faSEmmanuel Vadot key-volume-up { 52*0e8011faSEmmanuel Vadot label = "volume_up"; 53*0e8011faSEmmanuel Vadot gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 54*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 55*0e8011faSEmmanuel Vadot }; 56*0e8011faSEmmanuel Vadot }; 57*0e8011faSEmmanuel Vadot 58*0e8011faSEmmanuel Vadot vph_pwr: vph-pwr-regulator { 59*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 60*0e8011faSEmmanuel Vadot regulator-name = "vph_pwr"; 61*0e8011faSEmmanuel Vadot regulator-always-on; 62*0e8011faSEmmanuel Vadot regulator-boot-on; 63*0e8011faSEmmanuel Vadot }; 64*0e8011faSEmmanuel Vadot}; 65*0e8011faSEmmanuel Vadot 66*0e8011faSEmmanuel Vadot&hsusb_phy { 67*0e8011faSEmmanuel Vadot vdd-supply = <&pm8953_l3>; 68*0e8011faSEmmanuel Vadot vdda-pll-supply = <&pm8953_l7>; 69*0e8011faSEmmanuel Vadot vdda-phy-dpdm-supply = <&pm8953_l13>; 70*0e8011faSEmmanuel Vadot 71*0e8011faSEmmanuel Vadot status = "okay"; 72*0e8011faSEmmanuel Vadot}; 73*0e8011faSEmmanuel Vadot 74*0e8011faSEmmanuel Vadot&i2c_3 { 75*0e8011faSEmmanuel Vadot status = "okay"; 76*0e8011faSEmmanuel Vadot 77*0e8011faSEmmanuel Vadot touchscreen@38 { 78*0e8011faSEmmanuel Vadot compatible = "edt,edt-ft5506"; 79*0e8011faSEmmanuel Vadot reg = <0x38>; 80*0e8011faSEmmanuel Vadot interrupt-parent = <&tlmm>; 81*0e8011faSEmmanuel Vadot interrupts = <65 IRQ_TYPE_EDGE_FALLING>; 82*0e8011faSEmmanuel Vadot vcc-supply = <&pm8953_l10>; 83*0e8011faSEmmanuel Vadot 84*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 85*0e8011faSEmmanuel Vadot pinctrl-0 = <&ts_int_active &ts_reset_active>; 86*0e8011faSEmmanuel Vadot 87*0e8011faSEmmanuel Vadot reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 88*0e8011faSEmmanuel Vadot touchscreen-size-x = <1200>; 89*0e8011faSEmmanuel Vadot touchscreen-size-y = <1920>; 90*0e8011faSEmmanuel Vadot }; 91*0e8011faSEmmanuel Vadot}; 92*0e8011faSEmmanuel Vadot 93*0e8011faSEmmanuel Vadot&pm8953_resin { 94*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 95*0e8011faSEmmanuel Vadot status = "okay"; 96*0e8011faSEmmanuel Vadot}; 97*0e8011faSEmmanuel Vadot 98*0e8011faSEmmanuel Vadot&rpm_requests { 99*0e8011faSEmmanuel Vadot regulators { 100*0e8011faSEmmanuel Vadot compatible = "qcom,rpm-pm8953-regulators"; 101*0e8011faSEmmanuel Vadot 102*0e8011faSEmmanuel Vadot vdd_s1-supply = <&vph_pwr>; 103*0e8011faSEmmanuel Vadot vdd_s2-supply = <&vph_pwr>; 104*0e8011faSEmmanuel Vadot vdd_s3-supply = <&vph_pwr>; 105*0e8011faSEmmanuel Vadot vdd_s4-supply = <&vph_pwr>; 106*0e8011faSEmmanuel Vadot vdd_s5-supply = <&vph_pwr>; 107*0e8011faSEmmanuel Vadot vdd_s6-supply = <&vph_pwr>; 108*0e8011faSEmmanuel Vadot vdd_s7-supply = <&vph_pwr>; 109*0e8011faSEmmanuel Vadot vdd_l1-supply = <&pm8953_s3>; 110*0e8011faSEmmanuel Vadot vdd_l2_l3-supply = <&pm8953_s3>; 111*0e8011faSEmmanuel Vadot vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 112*0e8011faSEmmanuel Vadot vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 113*0e8011faSEmmanuel Vadot vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 114*0e8011faSEmmanuel Vadot 115*0e8011faSEmmanuel Vadot pm8953_s1: s1 { 116*0e8011faSEmmanuel Vadot regulator-min-microvolt = <870000>; 117*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1156000>; 118*0e8011faSEmmanuel Vadot }; 119*0e8011faSEmmanuel Vadot 120*0e8011faSEmmanuel Vadot pm8953_s3: s3 { 121*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1224000>; 122*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1224000>; 123*0e8011faSEmmanuel Vadot }; 124*0e8011faSEmmanuel Vadot 125*0e8011faSEmmanuel Vadot pm8953_s4: s4 { 126*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1900000>; 127*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2050000>; 128*0e8011faSEmmanuel Vadot }; 129*0e8011faSEmmanuel Vadot 130*0e8011faSEmmanuel Vadot pm8953_l1: l1 { 131*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1000000>; 132*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1100000>; 133*0e8011faSEmmanuel Vadot }; 134*0e8011faSEmmanuel Vadot 135*0e8011faSEmmanuel Vadot pm8953_l2: l2 { 136*0e8011faSEmmanuel Vadot regulator-min-microvolt = <975000>; 137*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1225000>; 138*0e8011faSEmmanuel Vadot }; 139*0e8011faSEmmanuel Vadot 140*0e8011faSEmmanuel Vadot pm8953_l3: l3 { 141*0e8011faSEmmanuel Vadot regulator-min-microvolt = <925000>; 142*0e8011faSEmmanuel Vadot regulator-max-microvolt = <925000>; 143*0e8011faSEmmanuel Vadot }; 144*0e8011faSEmmanuel Vadot 145*0e8011faSEmmanuel Vadot pm8953_l5: l5 { 146*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 147*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 148*0e8011faSEmmanuel Vadot }; 149*0e8011faSEmmanuel Vadot 150*0e8011faSEmmanuel Vadot pm8953_l6: l6 { 151*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 152*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 153*0e8011faSEmmanuel Vadot }; 154*0e8011faSEmmanuel Vadot 155*0e8011faSEmmanuel Vadot pm8953_l7: l7 { 156*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 157*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1900000>; 158*0e8011faSEmmanuel Vadot }; 159*0e8011faSEmmanuel Vadot 160*0e8011faSEmmanuel Vadot pm8953_l8: l8 { 161*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2900000>; 162*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2900000>; 163*0e8011faSEmmanuel Vadot }; 164*0e8011faSEmmanuel Vadot 165*0e8011faSEmmanuel Vadot pm8953_l9: l9 { 166*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3000000>; 167*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 168*0e8011faSEmmanuel Vadot }; 169*0e8011faSEmmanuel Vadot 170*0e8011faSEmmanuel Vadot pm8953_l10: l10 { 171*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2850000>; 172*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2850000>; 173*0e8011faSEmmanuel Vadot }; 174*0e8011faSEmmanuel Vadot 175*0e8011faSEmmanuel Vadot pm8953_l11: l11 { 176*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 177*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 178*0e8011faSEmmanuel Vadot }; 179*0e8011faSEmmanuel Vadot 180*0e8011faSEmmanuel Vadot pm8953_l12: l12 { 181*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2950000>; 182*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 183*0e8011faSEmmanuel Vadot }; 184*0e8011faSEmmanuel Vadot 185*0e8011faSEmmanuel Vadot pm8953_l13: l13 { 186*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3125000>; 187*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3125000>; 188*0e8011faSEmmanuel Vadot }; 189*0e8011faSEmmanuel Vadot 190*0e8011faSEmmanuel Vadot pm8953_l16: l16 { 191*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 192*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 193*0e8011faSEmmanuel Vadot }; 194*0e8011faSEmmanuel Vadot 195*0e8011faSEmmanuel Vadot pm8953_l17: l17 { 196*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2850000>; 197*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2850000>; 198*0e8011faSEmmanuel Vadot }; 199*0e8011faSEmmanuel Vadot 200*0e8011faSEmmanuel Vadot pm8953_l19: l19 { 201*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1200000>; 202*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 203*0e8011faSEmmanuel Vadot }; 204*0e8011faSEmmanuel Vadot 205*0e8011faSEmmanuel Vadot pm8953_l22: l22 { 206*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2800000>; 207*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2850000>; 208*0e8011faSEmmanuel Vadot }; 209*0e8011faSEmmanuel Vadot 210*0e8011faSEmmanuel Vadot pm8953_l23: l23 { 211*0e8011faSEmmanuel Vadot regulator-min-microvolt = <975000>; 212*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1225000>; 213*0e8011faSEmmanuel Vadot }; 214*0e8011faSEmmanuel Vadot }; 215*0e8011faSEmmanuel Vadot}; 216*0e8011faSEmmanuel Vadot 217*0e8011faSEmmanuel Vadot&sdhc_1 { 218*0e8011faSEmmanuel Vadot vmmc-supply = <&pm8953_l8>; 219*0e8011faSEmmanuel Vadot vqmmc-supply = <&pm8953_l5>; 220*0e8011faSEmmanuel Vadot 221*0e8011faSEmmanuel Vadot status = "okay"; 222*0e8011faSEmmanuel Vadot}; 223*0e8011faSEmmanuel Vadot 224*0e8011faSEmmanuel Vadot&sdhc_2 { 225*0e8011faSEmmanuel Vadot vmmc-supply = <&pm8953_l11>; 226*0e8011faSEmmanuel Vadot vqmmc-supply = <&pm8953_l12>; 227*0e8011faSEmmanuel Vadot 228*0e8011faSEmmanuel Vadot cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 229*0e8011faSEmmanuel Vadot 230*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 231*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_off>; 232*0e8011faSEmmanuel Vadot pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 233*0e8011faSEmmanuel Vadot 234*0e8011faSEmmanuel Vadot status = "okay"; 235*0e8011faSEmmanuel Vadot}; 236*0e8011faSEmmanuel Vadot 237*0e8011faSEmmanuel Vadot&tlmm { 238*0e8011faSEmmanuel Vadot gpio-reserved-ranges = <0 4>, <135 4>; 239*0e8011faSEmmanuel Vadot 240*0e8011faSEmmanuel Vadot ts_int_active: ts-int-active-state { 241*0e8011faSEmmanuel Vadot pins = "gpio65"; 242*0e8011faSEmmanuel Vadot function = "gpio"; 243*0e8011faSEmmanuel Vadot drive-strength = <8>; 244*0e8011faSEmmanuel Vadot bias-pull-up; 245*0e8011faSEmmanuel Vadot }; 246*0e8011faSEmmanuel Vadot 247*0e8011faSEmmanuel Vadot ts_reset_active: ts-reset-active-state { 248*0e8011faSEmmanuel Vadot pins = "gpio64"; 249*0e8011faSEmmanuel Vadot function = "gpio"; 250*0e8011faSEmmanuel Vadot drive-strength = <0x08>; 251*0e8011faSEmmanuel Vadot bias-pull-up; 252*0e8011faSEmmanuel Vadot }; 253*0e8011faSEmmanuel Vadot}; 254*0e8011faSEmmanuel Vadot 255*0e8011faSEmmanuel Vadot&usb3 { 256*0e8011faSEmmanuel Vadot status = "okay"; 257*0e8011faSEmmanuel Vadot}; 258*0e8011faSEmmanuel Vadot 259*0e8011faSEmmanuel Vadot&usb3_dwc3 { 260*0e8011faSEmmanuel Vadot dr_mode = "peripheral"; 261*0e8011faSEmmanuel Vadot}; 262*0e8011faSEmmanuel Vadot 263*0e8011faSEmmanuel Vadot&wcnss { 264*0e8011faSEmmanuel Vadot vddpx-supply = <&pm8953_l5>; 265*0e8011faSEmmanuel Vadot 266*0e8011faSEmmanuel Vadot status = "okay"; 267*0e8011faSEmmanuel Vadot}; 268*0e8011faSEmmanuel Vadot 269*0e8011faSEmmanuel Vadot&wcnss_iris { 270*0e8011faSEmmanuel Vadot compatible = "qcom,wcn3660b"; 271*0e8011faSEmmanuel Vadot 272*0e8011faSEmmanuel Vadot vddxo-supply = <&pm8953_l7>; 273*0e8011faSEmmanuel Vadot vddrfa-supply = <&pm8953_l19>; 274*0e8011faSEmmanuel Vadot vddpa-supply = <&pm8953_l9>; 275*0e8011faSEmmanuel Vadot vdddig-supply = <&pm8953_l5>; 276*0e8011faSEmmanuel Vadot}; 277