1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * Copyright (c) 2022, Collabora Ltd 3 * Copyright (c) 2022, Collabora Ltd 4 * Author: AngeloGioacchino Del Regno <angelogi 4 * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 5 */ 5 */ 6 6 7 /dts-v1/; 7 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> << 9 #include "mt6795.dtsi" 8 #include "mt6795.dtsi" 10 #include "mt6331.dtsi" << 11 9 12 / { 10 / { 13 model = "Sony Xperia M5"; 11 model = "Sony Xperia M5"; 14 compatible = "sony,xperia-m5", "mediat 12 compatible = "sony,xperia-m5", "mediatek,mt6795"; 15 chassis-type = "handset"; 13 chassis-type = "handset"; 16 14 17 aliases { 15 aliases { 18 mmc0 = &mmc0; 16 mmc0 = &mmc0; 19 mmc1 = &mmc1; 17 mmc1 = &mmc1; 20 mmc2 = &mmc2; << 21 serial0 = &uart0; 18 serial0 = &uart0; 22 serial1 = &uart1; 19 serial1 = &uart1; 23 }; 20 }; 24 21 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 { 22 memory@40000000 { 43 device_type = "memory"; 23 device_type = "memory"; 44 reg = <0 0x40000000 0 0x1e8000 24 reg = <0 0x40000000 0 0x1e800000>; 45 }; 25 }; 46 26 47 reserved_memory: reserved-memory { 27 reserved_memory: reserved-memory { 48 #address-cells = <2>; 28 #address-cells = <2>; 49 #size-cells = <2>; 29 #size-cells = <2>; 50 ranges; 30 ranges; 51 31 52 /* 128 KiB reserved for ARM Tr 32 /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ 53 bl31_secmon_reserved: secmon@4 33 bl31_secmon_reserved: secmon@43000000 { 54 reg = <0 0x43000000 0 34 reg = <0 0x43000000 0 0x30000>; 55 no-map; 35 no-map; 56 }; 36 }; 57 37 58 /* preloader and bootloader re 38 /* preloader and bootloader regions cannot be touched */ 59 preloader-region@44800000 { 39 preloader-region@44800000 { 60 reg = <0 0x44800000 0 40 reg = <0 0x44800000 0 0x100000>; 61 no-map; 41 no-map; 62 }; 42 }; 63 43 64 bootloader-region@46000000 { 44 bootloader-region@46000000 { 65 reg = <0 0x46000000 0 45 reg = <0 0x46000000 0 0x400000>; 66 no-map; 46 no-map; 67 }; 47 }; 68 }; 48 }; 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 }; 49 }; 245 50 246 &pio { 51 &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 { 52 uart0_pins: uart0-pins { 397 pins-rx { 53 pins-rx { 398 pinmux = <PINMUX_GPIO1 54 pinmux = <PINMUX_GPIO113__FUNC_URXD0>; 399 bias-pull-up; 55 bias-pull-up; 400 input-enable; 56 input-enable; 401 }; 57 }; 402 pins-tx { 58 pins-tx { 403 pinmux = <PINMUX_GPIO1 59 pinmux = <PINMUX_GPIO114__FUNC_UTXD0>; 404 output-high; 60 output-high; 405 }; 61 }; 406 }; 62 }; 407 63 408 uart2_pins: uart2-pins { 64 uart2_pins: uart2-pins { 409 pins-rx { 65 pins-rx { 410 pinmux = <PINMUX_GPIO3 66 pinmux = <PINMUX_GPIO31__FUNC_URXD2>; 411 bias-pull-up; 67 bias-pull-up; 412 input-enable; 68 input-enable; 413 }; 69 }; 414 pins-tx { 70 pins-tx { 415 pinmux = <PINMUX_GPIO3 71 pinmux = <PINMUX_GPIO32__FUNC_UTXD2>; 416 }; 72 }; 417 }; 73 }; 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 }; 74 }; 443 75 444 &uart0 { 76 &uart0 { 445 status = "okay"; 77 status = "okay"; 446 78 447 pinctrl-names = "default"; 79 pinctrl-names = "default"; 448 pinctrl-0 = <&uart0_pins>; 80 pinctrl-0 = <&uart0_pins>; 449 }; 81 }; 450 82 451 &uart2 { 83 &uart2 { 452 status = "okay"; 84 status = "okay"; 453 85 454 pinctrl-names = "default"; 86 pinctrl-names = "default"; 455 pinctrl-0 = <&uart2_pins>; 87 pinctrl-0 = <&uart2_pins>; 456 }; 88 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.