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