1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Copyright (c) 2022, Collabora Ltd 4 * Author: AngeloGioacchino Del Regno <angelogi 5 */ 6 7 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 9 #include "mt6795.dtsi" 10 #include "mt6331.dtsi" 11 12 / { 13 model = "Sony Xperia M5"; 14 compatible = "sony,xperia-m5", "mediat 15 chassis-type = "handset"; 16 17 aliases { 18 mmc0 = &mmc0; 19 mmc1 = &mmc1; 20 mmc2 = &mmc2; 21 serial0 = &uart0; 22 serial1 = &uart1; 23 }; 24 25 backlight_lcd0: backlight { 26 compatible = "led-backlight"; 27 leds = <&disp_led_pwm>, <&pmic 28 29 default-brightness-level = <30 30 }; 31 32 led-controller-display { 33 compatible = "pwm-leds"; 34 35 disp_led_pwm: led-0 { 36 label = "backlight-pwm 37 pwms = <&pwm0 0 500000 38 max-brightness = <1024 39 }; 40 }; 41 42 memory@40000000 { 43 device_type = "memory"; 44 reg = <0 0x40000000 0 0x1e8000 45 }; 46 47 reserved_memory: reserved-memory { 48 #address-cells = <2>; 49 #size-cells = <2>; 50 ranges; 51 52 /* 128 KiB reserved for ARM Tr 53 bl31_secmon_reserved: secmon@4 54 reg = <0 0x43000000 0 55 no-map; 56 }; 57 58 /* preloader and bootloader re 59 preloader-region@44800000 { 60 reg = <0 0x44800000 0 61 no-map; 62 }; 63 64 bootloader-region@46000000 { 65 reg = <0 0x46000000 0 66 no-map; 67 }; 68 }; 69 70 vreg_disp_avdd: regulator-disp-avdd { 71 compatible = "regulator-fixed" 72 regulator-name = "disp_avdd"; 73 regulator-min-microvolt = <500 74 regulator-max-microvolt = <500 75 gpio = <&pio 138 GPIO_ACTIVE_H 76 enable-active-high; 77 }; 78 79 vreg_disp_avee: regulator-disp-avee { 80 compatible = "regulator-fixed" 81 regulator-name = "disp_avee"; 82 regulator-min-microvolt = <500 83 regulator-max-microvolt = <500 84 gpio = <&pio 139 GPIO_ACTIVE_H 85 enable-active-high; 86 }; 87 88 vreg_disp_vddh: regulator-disp-vddh { 89 compatible = "regulator-fixed" 90 regulator-name = "disp_vddh"; 91 regulator-min-microvolt = <180 92 regulator-max-microvolt = <180 93 regulator-always-on; 94 regulator-boot-on; 95 }; 96 }; 97 98 &dsi0 { 99 status = "okay"; 100 #address-cells = <1>; 101 #size-cells = <0>; 102 103 panel: panel@0 { 104 compatible = "sharp,ls060t1sx0 105 reg = <0>; 106 avdd-supply = <&vreg_disp_avdd 107 avee-supply = <&vreg_disp_avee 108 vddi-supply = <&mt6331_vgp3_re 109 vddh-supply = <&vreg_disp_vddh 110 reset-gpios = <&pio 106 GPIO_A 111 backlight = <&backlight_lcd0>; 112 113 pinctrl-0 = <&disp_rst_pins>; 114 pinctrl-names = "default"; 115 116 port { 117 panel_in: endpoint { 118 remote-endpoin 119 }; 120 }; 121 }; 122 123 port { 124 dsi0_out: endpoint { 125 remote-endpoint = <&pa 126 }; 127 }; 128 }; 129 130 &fhctl { 131 clocks = <&apmixedsys CLK_APMIXED_MAIN 132 <&apmixedsys CLK_APMIXED_MSDC 133 mediatek,hopping-ssc-percent = <8>, <5 134 status = "okay"; 135 }; 136 137 &i2c0 { 138 pinctrl-names = "default"; 139 pinctrl-0 = <&i2c0_pins>; 140 status = "okay"; 141 }; 142 143 &i2c1 { 144 pinctrl-names = "default"; 145 pinctrl-0 = <&i2c1_pins>; 146 status = "okay"; 147 148 accelerometer@10 { 149 compatible = "bosch,bma255"; 150 reg = <0x10>; 151 pinctrl-names = "default"; 152 pinctrl-0 = <&accel_pins>; 153 }; 154 155 magnetometer@12 { 156 compatible = "bosch,bmm150"; 157 reg = <0x12>; 158 }; 159 }; 160 161 &i2c2 { 162 pinctrl-names = "default"; 163 pinctrl-0 = <&i2c2_pins>; 164 status = "okay"; 165 166 touchscreen@20 { 167 compatible = "syna,rmi4-i2c"; 168 reg = <0x20>; 169 #address-cells = <1>; 170 #size-cells = <0>; 171 interrupts-extended = <&pio 6 172 pinctrl-names = "default"; 173 pinctrl-0 = <&ts_pins>; 174 syna,startup-delay-ms = <160>; 175 syna,reset-delay-ms = <90>; 176 177 rmi4-f01@1 { 178 reg = <0x1>; 179 syna,nosleep-mode = <1 180 }; 181 182 rmi4-f12@12 { 183 reg = <0x12>; 184 syna,sensor-type = <1> 185 }; 186 }; 187 }; 188 189 &i2c3 { 190 pinctrl-names = "default"; 191 pinctrl-0 = <&i2c3_pins>; 192 status = "okay"; 193 194 pn547: nfc@28 { 195 compatible = "nxp,pn544-i2c"; 196 reg = <0x28>; 197 interrupts-extended = <&pio 3 198 pinctrl-names = "default"; 199 pinctrl-0 = <&nfc_pins>; 200 enable-gpios = <&pio 149 GPIO_ 201 firmware-gpios = <&pio 94 GPIO 202 }; 203 204 proximity@48 { 205 compatible = "sensortek,stk331 206 reg = <0x48>; 207 interrupts-extended = <&pio 8 208 pinctrl-names = "default"; 209 pinctrl-0 = <&proximity_pins>; 210 }; 211 }; 212 213 &mmc0 { 214 /* eMMC controller */ 215 mediatek,latch-ck = <0x14>; /* hs400 * 216 mediatek,hs200-cmd-int-delay = <1>; 217 mediatek,hs400-cmd-int-delay = <1>; 218 mediatek,hs400-ds-dly3 = <0x1a>; 219 non-removable; 220 pinctrl-names = "default", "state_uhs" 221 pinctrl-0 = <&mmc0_pins_default>; 222 pinctrl-1 = <&mmc0_pins_uhs>; 223 vmmc-supply = <&mt6331_vemc33_reg>; 224 vqmmc-supply = <&mt6331_vio18_reg>; 225 status = "okay"; 226 }; 227 228 &mmc1 { 229 /* MicroSD card slot */ 230 vmmc-supply = <&mt6331_vmc_reg>; 231 vqmmc-supply = <&mt6331_vmch_reg>; 232 status = "okay"; 233 }; 234 235 &mmc2 { 236 /* SDIO WiFi on MMC2 */ 237 vmmc-supply = <&mt6331_vmc_reg>; 238 vqmmc-supply = <&mt6331_vmch_reg>; 239 status = "okay"; 240 }; 241 242 &mt6331_vgp3_reg { 243 regulator-min-microvolt = <1800000>; 244 }; 245 246 &pio { 247 disp_rst_pins: lcm-pins { 248 pins-rst { 249 pinmux = <PINMUX_GPIO1 250 }; 251 }; 252 253 mmc0_pins_default: emmc-sdr-pins { 254 pins-cmd-dat { 255 pinmux = <PINMUX_GPIO1 256 <PINMUX_GPIO1 257 <PINMUX_GPIO1 258 <PINMUX_GPIO1 259 <PINMUX_GPIO1 260 <PINMUX_GPIO1 261 <PINMUX_GPIO1 262 <PINMUX_GPIO1 263 <PINMUX_GPIO1 264 input-enable; 265 bias-pull-up = <MTK_PU 266 }; 267 268 pins-clk { 269 pinmux = <PINMUX_GPIO1 270 bias-pull-down = <MTK_ 271 }; 272 273 pins-rst { 274 pinmux = <PINMUX_GPIO1 275 bias-pull-up = <MTK_PU 276 }; 277 }; 278 279 mmc0_pins_uhs: emmc-uhs-pins { 280 pins-cmd-dat { 281 pinmux = <PINMUX_GPIO1 282 <PINMUX_GPIO1 283 <PINMUX_GPIO1 284 <PINMUX_GPIO1 285 <PINMUX_GPIO1 286 <PINMUX_GPIO1 287 <PINMUX_GPIO1 288 <PINMUX_GPIO1 289 <PINMUX_GPIO1 290 input-enable; 291 drive-strength = <6>; 292 bias-pull-up = <MTK_PU 293 }; 294 295 pins-clk { 296 pinmux = <PINMUX_GPIO1 297 drive-strength = <6>; 298 bias-pull-down = <MTK_ 299 }; 300 301 pins-rst { 302 pinmux = <PINMUX_GPIO1 303 drive-strength = <6>; 304 bias-pull-up = <MTK_PU 305 }; 306 307 pins-ds { 308 pinmux = <PINMUX_GPIO1 309 drive-strength = <6>; 310 bias-pull-down = <MTK_ 311 }; 312 }; 313 314 nfc_pins: nfc-pins { 315 pins-irq { 316 pinmux = <PINMUX_GPIO3 317 bias-pull-down; 318 input-enable; 319 }; 320 321 pins-fw-ven { 322 pinmux = <PINMUX_GPIO9 323 <PINMUX_GPIO1 324 }; 325 }; 326 327 ts_pins: touchscreen-pins { 328 pins-irq { 329 pinmux = <PINMUX_GPIO6 330 bias-pull-up; 331 input-enable; 332 }; 333 334 pins-rst { 335 pinmux = <PINMUX_GPIO1 336 output-high; 337 }; 338 }; 339 340 proximity_pins: proximity-pins { 341 pins-irq { 342 pinmux = <PINMUX_GPIO8 343 bias-pull-up; 344 input-enable; 345 }; 346 }; 347 348 accel_pins: accelerometer-pins { 349 pins-irq { 350 pinmux = <PINMUX_GPIO1 351 bias-pull-up; 352 input-enable; 353 }; 354 }; 355 356 i2c0_pins: i2c0-pins { 357 pins-bus { 358 pinmux = <PINMUX_GPIO4 359 <PINMUX_GPIO4 360 input-enable; 361 }; 362 }; 363 364 i2c1_pins: i2c1-pins { 365 pins-bus { 366 pinmux = <PINMUX_GPIO1 367 <PINMUX_GPIO1 368 bias-disable; 369 }; 370 }; 371 372 i2c2_pins: i2c2-pins { 373 pins-bus { 374 pinmux = <PINMUX_GPIO4 375 <PINMUX_GPIO4 376 bias-disable; 377 }; 378 }; 379 380 i2c3_pins: i2c3-pins { 381 pins-bus { 382 pinmux = <PINMUX_GPIO1 383 <PINMUX_GPIO1 384 bias-disable; 385 }; 386 }; 387 388 i2c4_pins: i2c4-pins { 389 pins-bus { 390 pinmux = <PINMUX_GPIO1 391 <PINMUX_GPIO1 392 bias-disable; 393 }; 394 }; 395 396 uart0_pins: uart0-pins { 397 pins-rx { 398 pinmux = <PINMUX_GPIO1 399 bias-pull-up; 400 input-enable; 401 }; 402 pins-tx { 403 pinmux = <PINMUX_GPIO1 404 output-high; 405 }; 406 }; 407 408 uart2_pins: uart2-pins { 409 pins-rx { 410 pinmux = <PINMUX_GPIO3 411 bias-pull-up; 412 input-enable; 413 }; 414 pins-tx { 415 pinmux = <PINMUX_GPIO3 416 }; 417 }; 418 }; 419 420 &pmic { 421 /* 422 * Smartphones, including the Xperia M 423 * MT6332 PMIC: when this is present, 424 * an interrupt on the companion, so w 425 */ 426 interrupts = <GIC_SPI 160 IRQ_TYPE_LEV 427 428 mt6332-led { 429 compatible = "mediatek,mt6332- 430 #address-cells = <1>; 431 #size-cells = <0>; 432 433 pmic_bl_led: led@0 { 434 reg = <0>; 435 label = "backlight-pmi 436 }; 437 }; 438 }; 439 440 &pwm0 { 441 status = "okay"; 442 }; 443 444 &uart0 { 445 status = "okay"; 446 447 pinctrl-names = "default"; 448 pinctrl-0 = <&uart0_pins>; 449 }; 450 451 &uart2 { 452 status = "okay"; 453 454 pinctrl-names = "default"; 455 pinctrl-0 = <&uart2_pins>; 456 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.