1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org> 4 */ 5 6/dts-v1/; 7 8/* PMK8350 is configured to use SID6 instead of 0 */ 9#define PMK8350_SID 6 10 11#include <dt-bindings/gpio/gpio.h> 12#include "sm6375.dtsi" 13#include "pm6125.dtsi" 14#include "pmk8350.dtsi" 15#include "pmr735a.dtsi" 16 17/* PM6125 PON is used and we can't have duplicate labels */ 18/delete-node/ &pmk8350_pon; 19 20/ { 21 model = "Sony Xperia 10 IV"; 22 compatible = "sony,pdx225", "qcom,sm6375"; 23 chassis-type = "handset"; 24 25 chosen { 26 #address-cells = <2>; 27 #size-cells = <2>; 28 ranges; 29 30 framebuffer: framebuffer@85200000 { 31 compatible = "simple-framebuffer"; 32 reg = <0 0x85200000 0 0xc00000>; 33 34 width = <1080>; 35 height = <2520>; 36 stride = <(1080 * 4)>; 37 format = "a8r8g8b8"; 38 /* 39 * That's (going to be) a lot of clocks, but it's necessary due 40 * to unused clk cleanup & no panel driver yet 41 */ 42 clocks = <&gcc GCC_DISP_AHB_CLK>, 43 <&gcc GCC_DISP_HF_AXI_CLK>, 44 <&gcc GCC_DISP_THROTTLE_CORE_CLK>, 45 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>; 46 }; 47 }; 48 49 reserved-memory { 50 cont_splash_mem: memory@85200000 { 51 reg = <0 0x85200000 0 0xc00000>; 52 no-map; 53 }; 54 55 ramoops@ffc40000 { 56 compatible = "ramoops"; 57 reg = <0 0xffc40000 0 0xb0000>; 58 record-size = <0x10000>; 59 console-size = <0x60000>; 60 ftrace-size = <0x10000>; 61 pmsg-size = <0x20000>; 62 ecc-size = <16>; 63 }; 64 }; 65 66 vph_pwr: vph-pwr-regulator { 67 compatible = "regulator-fixed"; 68 regulator-name = "vph_pwr"; 69 regulator-min-microvolt = <3700000>; 70 regulator-max-microvolt = <3700000>; 71 regulator-always-on; 72 regulator-boot-on; 73 }; 74}; 75 76&sdc2_off_state { 77 sd-cd-pins { 78 pins = "gpio94"; 79 function = "gpio"; 80 drive-strength = <2>; 81 bias-disable; 82 }; 83}; 84 85&sdc2_on_state { 86 sd-cd-pins { 87 pins = "gpio94"; 88 function = "gpio"; 89 drive-strength = <2>; 90 bias-pull-up; 91 }; 92}; 93 94&sdhc_2 { 95 status = "okay"; 96 97 vmmc-supply = <&pm6125_l22>; 98 vqmmc-supply = <&pm6125_l5>; 99 100 cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>; 101}; 102 103&gpi_dma0 { 104 status = "okay"; 105}; 106 107&gpi_dma1 { 108 status = "okay"; 109}; 110 111&i2c8 { 112 clock-frequency = <400000>; 113 status = "okay"; 114 115 touchscreen@48 { 116 compatible = "samsung,s6sy761"; 117 reg = <0x48>; 118 interrupt-parent = <&tlmm>; 119 interrupts = <22 0x2008>; 120 121 vdd-supply = <&pm6125_l13>; 122 123 pinctrl-names = "default"; 124 pinctrl-0 = <&ts_int_default &ts_avdd_default>; 125 }; 126}; 127 128&pmk8350_adc_tm { 129 status = "okay"; 130}; 131 132&pmk8350_rtc { 133 status = "okay"; 134}; 135 136&pon_pwrkey { 137 status = "okay"; 138}; 139 140&pon_resin { 141 linux,code = <KEY_VOLUMEUP>; 142 status = "okay"; 143}; 144 145&qupv3_id_0 { 146 status = "okay"; 147}; 148 149&qupv3_id_1 { 150 status = "okay"; 151}; 152 153&rpm_requests { 154 regulators-0 { 155 compatible = "qcom,rpm-pm6125-regulators"; 156 157 pm6125_s5: s5 { 158 regulator-min-microvolt = <382000>; 159 regulator-max-microvolt = <1120000>; 160 }; 161 162 pm6125_s6: s6 { 163 regulator-min-microvolt = <320000>; 164 regulator-max-microvolt = <1374000>; 165 }; 166 167 pm6125_s7: s7 { 168 regulator-min-microvolt = <1574000>; 169 regulator-max-microvolt = <2040000>; 170 }; 171 172 /* 173 * S8 is VDD_GFX 174 * L1 is VDD_LPI_CX 175 */ 176 177 pm6125_l2: l2 { 178 regulator-min-microvolt = <1170000>; 179 regulator-max-microvolt = <1304000>; 180 }; 181 182 pm6125_l3: l3 { 183 regulator-min-microvolt = <1100000>; 184 regulator-max-microvolt = <1300000>; 185 }; 186 187 pm6125_l4: l4 { 188 regulator-min-microvolt = <1100000>; 189 regulator-max-microvolt = <1300000>; 190 }; 191 192 pm6125_l5: l5 { 193 regulator-min-microvolt = <1650000>; 194 regulator-max-microvolt = <2960000>; 195 regulator-allow-set-load; 196 }; 197 198 pm6125_l6: l6 { 199 regulator-min-microvolt = <1080000>; 200 regulator-max-microvolt = <1304000>; 201 }; 202 203 pm6125_l7: l7 { 204 regulator-min-microvolt = <720000>; 205 regulator-max-microvolt = <1050000>; 206 }; 207 208 pm6125_l8: l8 { 209 regulator-min-microvolt = <1100000>; 210 regulator-max-microvolt = <1304000>; 211 }; 212 213 pm6125_l9: l9 { 214 regulator-min-microvolt = <1504000>; 215 regulator-max-microvolt = <2000000>; 216 }; 217 218 pm6125_l10: l10 { 219 regulator-min-microvolt = <1620000>; 220 regulator-max-microvolt = <1980000>; 221 }; 222 223 pm6125_l11: l11 { 224 regulator-min-microvolt = <1620000>; 225 regulator-max-microvolt = <1980000>; 226 }; 227 228 pm6125_l12: l12 { 229 regulator-min-microvolt = <1620000>; 230 regulator-max-microvolt = <2000000>; 231 }; 232 233 pm6125_l13: l13 { 234 regulator-min-microvolt = <1650000>; 235 regulator-max-microvolt = <1980000>; 236 }; 237 238 pm6125_l14: l14 { 239 regulator-min-microvolt = <1700000>; 240 regulator-max-microvolt = <1900000>; 241 }; 242 243 pm6125_l15: l15 { 244 regulator-min-microvolt = <1650000>; 245 regulator-max-microvolt = <3544000>; 246 }; 247 248 pm6125_l16: l16 { 249 regulator-min-microvolt = <1620000>; 250 regulator-max-microvolt = <1980000>; 251 }; 252 253 /* L17 is VDD_LPI_MX */ 254 255 pm6125_l18: l18 { 256 regulator-min-microvolt = <830000>; 257 regulator-max-microvolt = <920000>; 258 }; 259 260 pm6125_l19: l19 { 261 regulator-min-microvolt = <1624000>; 262 regulator-max-microvolt = <3304000>; 263 }; 264 265 pm6125_l20: l20 { 266 regulator-min-microvolt = <1624000>; 267 regulator-max-microvolt = <3304000>; 268 }; 269 270 pm6125_l21: l21 { 271 regulator-min-microvolt = <3000000>; 272 regulator-max-microvolt = <3400000>; 273 }; 274 275 pm6125_l22: l22 { 276 regulator-min-microvolt = <2704000>; 277 regulator-max-microvolt = <2960000>; 278 regulator-allow-set-load; 279 }; 280 281 pm6125_l23: l23 { 282 regulator-min-microvolt = <3000000>; 283 regulator-max-microvolt = <3400000>; 284 }; 285 286 pm6125_l24: l24 { 287 regulator-min-microvolt = <2704000>; 288 regulator-max-microvolt = <3544000>; 289 }; 290 }; 291 292 regulators-1 { 293 compatible = "qcom,rpm-pmr735a-regulators"; 294 295 /* 296 * S1 is VDD_MX 297 * S2 is VDD_CX 298 */ 299 300 pmr735a_l1: l1 { 301 regulator-min-microvolt = <570000>; 302 regulator-max-microvolt = <650000>; 303 }; 304 305 pmr735a_l2: l2 { 306 regulator-min-microvolt = <352000>; 307 regulator-max-microvolt = <796000>; 308 }; 309 310 pmr735a_l3: l3 { 311 regulator-min-microvolt = <1000000>; 312 regulator-max-microvolt = <1200000>; 313 }; 314 315 pmr735a_l4: l4 { 316 regulator-min-microvolt = <1504000>; 317 regulator-max-microvolt = <2000000>; 318 }; 319 320 pmr735a_l5: l5 { 321 regulator-min-microvolt = <751000>; 322 regulator-max-microvolt = <824000>; 323 }; 324 325 pmr735a_l6: l6 { 326 regulator-min-microvolt = <504000>; 327 regulator-max-microvolt = <868000>; 328 }; 329 330 pmr735a_l7: l7 { 331 regulator-min-microvolt = <2700000>; 332 regulator-max-microvolt = <3544000>; 333 }; 334 }; 335}; 336 337&sdc2_off_state { 338 sd-cd-pins { 339 pins = "gpio94"; 340 function = "gpio"; 341 drive-strength = <2>; 342 bias-disable; 343 }; 344}; 345 346&sdc2_on_state { 347 sd-cd-pins { 348 pins = "gpio94"; 349 function = "gpio"; 350 drive-strength = <2>; 351 bias-pull-up; 352 }; 353}; 354 355&sdhc_2 { 356 status = "okay"; 357 358 vmmc-supply = <&pm6125_l22>; 359 vqmmc-supply = <&pm6125_l5>; 360 361 cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>; 362}; 363 364&tlmm { 365 gpio-reserved-ranges = <13 4>; 366 367 ts_int_default: ts-int-default-state { 368 pins = "gpio22"; 369 function = "gpio"; 370 drive-strength = <8>; 371 bias-pull-up; 372 }; 373 374 ts_avdd_default: ts-avdd-default-state { 375 pins = "gpio59"; 376 function = "gpio"; 377 drive-strength = <8>; 378 output-high; 379 }; 380}; 381 382&usb_1 { 383 status = "okay"; 384}; 385 386&usb_1_dwc3 { 387 dr_mode = "peripheral"; 388}; 389 390&usb_1_hsphy { 391 status = "okay"; 392}; 393 394&xo_board_clk { 395 clock-frequency = <19200000>; 396}; 397