1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2026 Erikas Bitovtas <xerikasxx@gmail.com> 4 */ 5 6/dts-v1/; 7 8#include "msm8926.dtsi" 9#include "pm8226.dtsi" 10 11/delete-node/ &adsp_region; 12/delete-node/ &mba_region; 13/delete-node/ &mpss_region; 14/delete-node/ &smem_region; 15 16/ { 17 model = "Sony Xperia M2"; 18 compatible = "sony,eagle", "qcom,msm8926", "qcom,msm8226"; 19 chassis-type = "handset"; 20 21 aliases { 22 mmc0 = &sdhc_1; 23 mmc1 = &sdhc_2; 24 display0 = &framebuffer0; 25 }; 26 27 chosen { 28 #address-cells = <1>; 29 #size-cells = <1>; 30 ranges; 31 32 stdout-path = "display0"; 33 34 framebuffer0: framebuffer@3201000 { 35 compatible = "simple-framebuffer"; 36 reg = <0x03201000 0x800000>; 37 width = <540>; 38 height = <960>; 39 stride = <(540 * 3)>; 40 format = "r8g8b8"; 41 42 clocks = <&mmcc MDSS_AHB_CLK>, 43 <&mmcc MDSS_AXI_CLK>, 44 <&mmcc MDSS_BYTE0_CLK>, 45 <&mmcc MDSS_MDP_CLK>, 46 <&mmcc MDSS_PCLK0_CLK>, 47 <&mmcc MDSS_VSYNC_CLK>; 48 power-domains = <&mmcc MDSS_GDSC>; 49 }; 50 }; 51 52 gpio-keys { 53 compatible = "gpio-keys"; 54 55 pinctrl-0 = <&gpio_keys_default>; 56 pinctrl-names = "default"; 57 58 button-camera-focus { 59 label = "Camera Focus"; 60 gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 61 linux,code = <KEY_CAMERA_FOCUS>; 62 debounce-interval = <15>; 63 }; 64 65 button-camera-snapshot { 66 label = "Camera Snapshot"; 67 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 68 linux,code = <KEY_CAMERA>; 69 debounce-interval = <15>; 70 }; 71 72 button-volume-down { 73 label = "Volume Down"; 74 gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 75 linux,code = <KEY_VOLUMEDOWN>; 76 debounce-interval = <15>; 77 }; 78 }; 79 80 reserved-memory { 81 framebuffer@3201000 { 82 reg = <0x03201000 0x800000>; 83 no-map; 84 }; 85 86 mpss_region: mpss@8000000 { 87 reg = <0x08000000 0x4d00000>; 88 no-map; 89 }; 90 91 reserved@cd00000 { 92 reg = <0x0cd00000 0x200000>; 93 no-map; 94 }; 95 96 mba_region: mba@d100000 { 97 reg = <0x0d100000 0x3a000>; 98 no-map; 99 }; 100 101 reserved@d13a000 { 102 reg = <0x0d13a000 0xc6000>; 103 no-map; 104 }; 105 106 wcnss_region: wcnss@d200000 { 107 reg = <0x0d200000 0x5ae000>; 108 no-map; 109 }; 110 111 reserved@d850000 { 112 reg = <0x0d850000 0x3b0000>; 113 no-map; 114 }; 115 116 adsp_region: adsp@dc00000 { 117 reg = <0x0dc00000 0x1400000>; 118 no-map; 119 }; 120 121 reserved@f000000 { 122 reg = <0x0f000000 0x500000>; 123 no-map; 124 }; 125 126 venus_region: venus@f500000 { 127 reg = <0x0f500000 0x500000>; 128 no-map; 129 }; 130 131 smem_region: smem@fa00000 { 132 reg = <0x0fa00000 0x100000>; 133 no-map; 134 }; 135 136 reserved@fb00000 { 137 reg = <0x0fb00000 0x280000>; 138 no-map; 139 }; 140 141 rmtfs@fd80000 { 142 compatible = "qcom,rmtfs-mem"; 143 reg = <0x0fd80000 0x180000>; 144 no-map; 145 146 qcom,client-id = <1>; 147 }; 148 }; 149}; 150 151&blsp1_i2c2 { 152 status = "okay"; 153 154 accelerometer@f { 155 compatible = "kionix,kxtj21009"; 156 reg = <0x0f>; 157 158 interrupts-extended = <&tlmm 49 IRQ_TYPE_EDGE_RISING>; 159 160 vdd-supply = <&pm8226_l19>; 161 vddio-supply = <&pm8226_lvs1>; 162 163 mount-matrix = "0", "1", "0", 164 "-1", "0", "0", 165 "0", "0", "1"; 166 }; 167 168 light-sensor@48 { 169 compatible = "sensortek,stk3310"; 170 reg = <0x48>; 171 172 interrupts-extended = <&tlmm 65 IRQ_TYPE_EDGE_FALLING>; 173 174 proximity-near-level = <1700>; 175 }; 176}; 177 178&blsp1_i2c3 { 179 status = "okay"; 180 181 nfc@28 { 182 compatible = "nxp,pn547", "nxp,nxp-nci-i2c"; 183 reg = <0x28>; 184 185 interrupts-extended = <&tlmm 21 IRQ_TYPE_EDGE_RISING>; 186 187 enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>; 188 firmware-gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; 189 }; 190}; 191 192&pm8226_resin { 193 linux,code = <KEY_VOLUMEUP>; 194 195 status = "okay"; 196}; 197 198&pm8226_vib { 199 status = "okay"; 200}; 201 202&rpm_requests { 203 regulators { 204 compatible = "qcom,rpm-pm8226-regulators"; 205 206 pm8226_s3: s3 { 207 regulator-min-microvolt = <1200000>; 208 regulator-max-microvolt = <1300000>; 209 }; 210 211 pm8226_s4: s4 { 212 regulator-min-microvolt = <1800000>; 213 regulator-max-microvolt = <2200000>; 214 }; 215 216 pm8226_s5: s5 { 217 regulator-min-microvolt = <1150000>; 218 regulator-max-microvolt = <1150000>; 219 }; 220 221 pm8226_l1: l1 { 222 regulator-min-microvolt = <1225000>; 223 regulator-max-microvolt = <1225000>; 224 }; 225 226 pm8226_l2: l2 { 227 regulator-min-microvolt = <1200000>; 228 regulator-max-microvolt = <1200000>; 229 }; 230 231 pm8226_l3: l3 { 232 regulator-min-microvolt = <750000>; 233 regulator-max-microvolt = <1287500>; 234 }; 235 236 pm8226_l4: l4 { 237 regulator-min-microvolt = <1200000>; 238 regulator-max-microvolt = <1200000>; 239 }; 240 241 pm8226_l5: l5 { 242 regulator-min-microvolt = <1050000>; 243 regulator-max-microvolt = <1200000>; 244 }; 245 246 pm8226_l6: l6 { 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 }; 250 251 pm8226_l7: l7 { 252 regulator-min-microvolt = <1850000>; 253 regulator-max-microvolt = <1850000>; 254 }; 255 256 pm8226_l8: l8 { 257 regulator-min-microvolt = <1800000>; 258 regulator-max-microvolt = <1800000>; 259 }; 260 261 pm8226_l9: l9 { 262 regulator-min-microvolt = <2050000>; 263 regulator-max-microvolt = <2050000>; 264 }; 265 266 pm8226_l10: l10 { 267 regulator-min-microvolt = <1800000>; 268 regulator-max-microvolt = <1800000>; 269 }; 270 271 pm8226_l12: l12 { 272 regulator-min-microvolt = <1800000>; 273 regulator-max-microvolt = <1800000>; 274 }; 275 276 pm8226_l14: l14 { 277 regulator-min-microvolt = <2750000>; 278 regulator-max-microvolt = <2750000>; 279 }; 280 281 pm8226_l15: l15 { 282 regulator-min-microvolt = <2800000>; 283 regulator-max-microvolt = <2800000>; 284 }; 285 286 pm8226_l16: l16 { 287 regulator-min-microvolt = <3000000>; 288 regulator-max-microvolt = <3350000>; 289 }; 290 291 pm8226_l17: l17 { 292 regulator-min-microvolt = <2950000>; 293 regulator-max-microvolt = <2950000>; 294 }; 295 296 pm8226_l18: l18 { 297 regulator-min-microvolt = <2950000>; 298 regulator-max-microvolt = <2950000>; 299 300 regulator-system-load = <200000>; 301 regulator-allow-set-load; 302 }; 303 304 pm8226_l19: l19 { 305 regulator-min-microvolt = <2850000>; 306 regulator-max-microvolt = <2850000>; 307 }; 308 309 pm8226_l20: l20 { 310 regulator-min-microvolt = <3075000>; 311 regulator-max-microvolt = <3075000>; 312 }; 313 314 pm8226_l21: l21 { 315 regulator-min-microvolt = <1800000>; 316 regulator-max-microvolt = <2950000>; 317 regulator-allow-set-load; 318 }; 319 320 pm8226_l22: l22 { 321 regulator-min-microvolt = <1800000>; 322 regulator-max-microvolt = <2950000>; 323 }; 324 325 pm8226_l23: l23 { 326 regulator-min-microvolt = <1800000>; 327 regulator-max-microvolt = <2950000>; 328 }; 329 330 pm8226_l24: l24 { 331 regulator-min-microvolt = <1300000>; 332 regulator-max-microvolt = <1350000>; 333 }; 334 335 pm8226_l25: l25 { 336 regulator-min-microvolt = <1775000>; 337 regulator-max-microvolt = <2125000>; 338 }; 339 340 pm8226_l26: l26 { 341 regulator-min-microvolt = <1225000>; 342 regulator-max-microvolt = <1225000>; 343 }; 344 345 pm8226_l27: l27 { 346 regulator-min-microvolt = <2100000>; 347 regulator-max-microvolt = <2100000>; 348 }; 349 350 pm8226_l28: l28 { 351 regulator-min-microvolt = <1800000>; 352 regulator-max-microvolt = <2950000>; 353 }; 354 355 pm8226_lvs1: lvs1 {}; 356 }; 357}; 358 359&smbb { 360 qcom,fast-charge-current-limit = <1500000>; 361 qcom,fast-charge-safe-voltage = <4250000>; 362 qcom,minimum-input-voltage = <4200000>; 363 364 status = "okay"; 365}; 366 367&sdhc_1 { 368 vmmc-supply = <&pm8226_l17>; 369 vqmmc-supply = <&pm8226_l6>; 370 371 bus-width = <8>; 372 non-removable; 373 374 status = "okay"; 375}; 376 377&sdhc_2 { 378 vmmc-supply = <&pm8226_l18>; 379 vqmmc-supply = <&pm8226_l21>; 380 381 bus-width = <4>; 382 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 383 384 status = "okay"; 385}; 386 387&tlmm { 388 gpio_keys_default: gpio-keys-default-state { 389 pins = "gpio106", "gpio107", "gpio108"; 390 function = "gpio"; 391 drive-strength = <2>; 392 bias-pull-up; 393 }; 394}; 395 396&usb { 397 extcon = <&smbb>; 398 dr_mode = "peripheral"; 399 400 status = "okay"; 401}; 402 403&usb_hs_phy { 404 extcon = <&smbb>; 405 v1p8-supply = <&pm8226_l10>; 406 v3p3-supply = <&pm8226_l20>; 407}; 408