1c9e7d216SAngeloGioacchino Del Regno// SPDX-License-Identifier: GPL-2.0-only 2c9e7d216SAngeloGioacchino Del Regno/* 3c9e7d216SAngeloGioacchino Del Regno * Copyright (c) 2022, Collabora Ltd 4c9e7d216SAngeloGioacchino Del Regno * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 5c9e7d216SAngeloGioacchino Del Regno */ 6c9e7d216SAngeloGioacchino Del Regno 7c9e7d216SAngeloGioacchino Del Regno/dts-v1/; 8*f010d1b6SAngeloGioacchino Del Regno#include <dt-bindings/gpio/gpio.h> 9c9e7d216SAngeloGioacchino Del Regno#include "mt6795.dtsi" 10c9e7d216SAngeloGioacchino Del Regno 11c9e7d216SAngeloGioacchino Del Regno/ { 12c9e7d216SAngeloGioacchino Del Regno model = "Sony Xperia M5"; 13c9e7d216SAngeloGioacchino Del Regno compatible = "sony,xperia-m5", "mediatek,mt6795"; 14c9e7d216SAngeloGioacchino Del Regno chassis-type = "handset"; 15c9e7d216SAngeloGioacchino Del Regno 16c9e7d216SAngeloGioacchino Del Regno aliases { 17c9e7d216SAngeloGioacchino Del Regno mmc0 = &mmc0; 18c9e7d216SAngeloGioacchino Del Regno mmc1 = &mmc1; 19c9e7d216SAngeloGioacchino Del Regno serial0 = &uart0; 20c9e7d216SAngeloGioacchino Del Regno serial1 = &uart1; 21c9e7d216SAngeloGioacchino Del Regno }; 22c9e7d216SAngeloGioacchino Del Regno 23c9e7d216SAngeloGioacchino Del Regno memory@40000000 { 24c9e7d216SAngeloGioacchino Del Regno device_type = "memory"; 25c9e7d216SAngeloGioacchino Del Regno reg = <0 0x40000000 0 0x1e800000>; 26c9e7d216SAngeloGioacchino Del Regno }; 27c9e7d216SAngeloGioacchino Del Regno 28c9e7d216SAngeloGioacchino Del Regno reserved_memory: reserved-memory { 29c9e7d216SAngeloGioacchino Del Regno #address-cells = <2>; 30c9e7d216SAngeloGioacchino Del Regno #size-cells = <2>; 31c9e7d216SAngeloGioacchino Del Regno ranges; 32c9e7d216SAngeloGioacchino Del Regno 33c9e7d216SAngeloGioacchino Del Regno /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ 34c9e7d216SAngeloGioacchino Del Regno bl31_secmon_reserved: secmon@43000000 { 35c9e7d216SAngeloGioacchino Del Regno reg = <0 0x43000000 0 0x30000>; 36c9e7d216SAngeloGioacchino Del Regno no-map; 37c9e7d216SAngeloGioacchino Del Regno }; 38c9e7d216SAngeloGioacchino Del Regno 39c9e7d216SAngeloGioacchino Del Regno /* preloader and bootloader regions cannot be touched */ 40c9e7d216SAngeloGioacchino Del Regno preloader-region@44800000 { 41c9e7d216SAngeloGioacchino Del Regno reg = <0 0x44800000 0 0x100000>; 42c9e7d216SAngeloGioacchino Del Regno no-map; 43c9e7d216SAngeloGioacchino Del Regno }; 44c9e7d216SAngeloGioacchino Del Regno 45c9e7d216SAngeloGioacchino Del Regno bootloader-region@46000000 { 46c9e7d216SAngeloGioacchino Del Regno reg = <0 0x46000000 0 0x400000>; 47c9e7d216SAngeloGioacchino Del Regno no-map; 48c9e7d216SAngeloGioacchino Del Regno }; 49c9e7d216SAngeloGioacchino Del Regno }; 50c9e7d216SAngeloGioacchino Del Regno}; 51c9e7d216SAngeloGioacchino Del Regno 52c63e6a46SAngeloGioacchino Del Regno&fhctl { 53c63e6a46SAngeloGioacchino Del Regno clocks = <&apmixedsys CLK_APMIXED_MAINPLL>, <&apmixedsys CLK_APMIXED_MPLL>, 54c63e6a46SAngeloGioacchino Del Regno <&apmixedsys CLK_APMIXED_MSDCPLL>; 55c63e6a46SAngeloGioacchino Del Regno mediatek,hopping-ssc-percent = <8>, <5>, <8>; 56c63e6a46SAngeloGioacchino Del Regno status = "okay"; 57c63e6a46SAngeloGioacchino Del Regno}; 58c63e6a46SAngeloGioacchino Del Regno 599415e246SAngeloGioacchino Del Regno&i2c0 { 609415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 619415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c0_pins>; 629415e246SAngeloGioacchino Del Regno status = "okay"; 639415e246SAngeloGioacchino Del Regno}; 649415e246SAngeloGioacchino Del Regno 659415e246SAngeloGioacchino Del Regno&i2c1 { 669415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 679415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c1_pins>; 689415e246SAngeloGioacchino Del Regno status = "okay"; 699415e246SAngeloGioacchino Del Regno}; 709415e246SAngeloGioacchino Del Regno 719415e246SAngeloGioacchino Del Regno&i2c2 { 729415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 739415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c2_pins>; 749415e246SAngeloGioacchino Del Regno status = "okay"; 759e49cbefSAngeloGioacchino Del Regno 769e49cbefSAngeloGioacchino Del Regno touchscreen@20 { 779e49cbefSAngeloGioacchino Del Regno compatible = "syna,rmi4-i2c"; 789e49cbefSAngeloGioacchino Del Regno reg = <0x20>; 799e49cbefSAngeloGioacchino Del Regno #address-cells = <1>; 809e49cbefSAngeloGioacchino Del Regno #size-cells = <0>; 819e49cbefSAngeloGioacchino Del Regno interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>; 829e49cbefSAngeloGioacchino Del Regno pinctrl-names = "default"; 839e49cbefSAngeloGioacchino Del Regno pinctrl-0 = <&ts_pins>; 849e49cbefSAngeloGioacchino Del Regno syna,startup-delay-ms = <160>; 859e49cbefSAngeloGioacchino Del Regno syna,reset-delay-ms = <90>; 869e49cbefSAngeloGioacchino Del Regno 879e49cbefSAngeloGioacchino Del Regno rmi4-f01@1 { 889e49cbefSAngeloGioacchino Del Regno reg = <0x1>; 899e49cbefSAngeloGioacchino Del Regno syna,nosleep-mode = <1>; 909e49cbefSAngeloGioacchino Del Regno }; 919e49cbefSAngeloGioacchino Del Regno 929e49cbefSAngeloGioacchino Del Regno rmi4-f12@12 { 939e49cbefSAngeloGioacchino Del Regno reg = <0x12>; 949e49cbefSAngeloGioacchino Del Regno syna,sensor-type = <1>; 959e49cbefSAngeloGioacchino Del Regno }; 969e49cbefSAngeloGioacchino Del Regno }; 979415e246SAngeloGioacchino Del Regno}; 989415e246SAngeloGioacchino Del Regno 999415e246SAngeloGioacchino Del Regno&i2c3 { 1009415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 1019415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c3_pins>; 1029415e246SAngeloGioacchino Del Regno status = "okay"; 103d5ed9a04SAngeloGioacchino Del Regno 104*f010d1b6SAngeloGioacchino Del Regno pn547: nfc@28 { 105*f010d1b6SAngeloGioacchino Del Regno compatible = "nxp,pn544-i2c"; 106*f010d1b6SAngeloGioacchino Del Regno reg = <0x28>; 107*f010d1b6SAngeloGioacchino Del Regno interrupts-extended = <&pio 3 IRQ_TYPE_EDGE_RISING>; 108*f010d1b6SAngeloGioacchino Del Regno pinctrl-names = "default"; 109*f010d1b6SAngeloGioacchino Del Regno pinctrl-0 = <&nfc_pins>; 110*f010d1b6SAngeloGioacchino Del Regno enable-gpios = <&pio 149 GPIO_ACTIVE_HIGH>; 111*f010d1b6SAngeloGioacchino Del Regno firmware-gpios = <&pio 94 GPIO_ACTIVE_HIGH>; 112*f010d1b6SAngeloGioacchino Del Regno }; 113*f010d1b6SAngeloGioacchino Del Regno 114d5ed9a04SAngeloGioacchino Del Regno proximity@48 { 115d5ed9a04SAngeloGioacchino Del Regno compatible = "sensortek,stk3310"; 116d5ed9a04SAngeloGioacchino Del Regno reg = <0x48>; 117d5ed9a04SAngeloGioacchino Del Regno interrupts-extended = <&pio 8 IRQ_TYPE_EDGE_FALLING>; 118d5ed9a04SAngeloGioacchino Del Regno pinctrl-names = "default"; 119d5ed9a04SAngeloGioacchino Del Regno pinctrl-0 = <&proximity_pins>; 120d5ed9a04SAngeloGioacchino Del Regno }; 1219415e246SAngeloGioacchino Del Regno}; 1229415e246SAngeloGioacchino Del Regno 123c9e7d216SAngeloGioacchino Del Regno&pio { 124*f010d1b6SAngeloGioacchino Del Regno nfc_pins: nfc-pins { 125*f010d1b6SAngeloGioacchino Del Regno pins-irq { 126*f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO3__FUNC_GPIO3>; 127*f010d1b6SAngeloGioacchino Del Regno bias-pull-down; 128*f010d1b6SAngeloGioacchino Del Regno input-enable; 129*f010d1b6SAngeloGioacchino Del Regno }; 130*f010d1b6SAngeloGioacchino Del Regno 131*f010d1b6SAngeloGioacchino Del Regno pins-fw-ven { 132*f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO94__FUNC_GPIO94>, 133*f010d1b6SAngeloGioacchino Del Regno <PINMUX_GPIO149__FUNC_GPIO149>; 134*f010d1b6SAngeloGioacchino Del Regno }; 135*f010d1b6SAngeloGioacchino Del Regno }; 136*f010d1b6SAngeloGioacchino Del Regno 1379e49cbefSAngeloGioacchino Del Regno ts_pins: touchscreen-pins { 1389e49cbefSAngeloGioacchino Del Regno pins-irq { 1399e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO6__FUNC_GPIO6>; 1409e49cbefSAngeloGioacchino Del Regno bias-pull-up; 1419e49cbefSAngeloGioacchino Del Regno input-enable; 1429e49cbefSAngeloGioacchino Del Regno }; 1439e49cbefSAngeloGioacchino Del Regno 1449e49cbefSAngeloGioacchino Del Regno pins-rst { 1459e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO102__FUNC_GPIO102>; 1469e49cbefSAngeloGioacchino Del Regno output-high; 1479e49cbefSAngeloGioacchino Del Regno }; 1489e49cbefSAngeloGioacchino Del Regno }; 1499e49cbefSAngeloGioacchino Del Regno 150d5ed9a04SAngeloGioacchino Del Regno proximity_pins: proximity-pins { 151d5ed9a04SAngeloGioacchino Del Regno pins-irq { 152d5ed9a04SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO8__FUNC_GPIO8>; 153d5ed9a04SAngeloGioacchino Del Regno bias-pull-up; 154d5ed9a04SAngeloGioacchino Del Regno input-enable; 155d5ed9a04SAngeloGioacchino Del Regno }; 156d5ed9a04SAngeloGioacchino Del Regno }; 157d5ed9a04SAngeloGioacchino Del Regno 1589415e246SAngeloGioacchino Del Regno i2c0_pins: i2c0-pins { 1599415e246SAngeloGioacchino Del Regno pins-bus { 1609415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO45__FUNC_SDA0>, 1619415e246SAngeloGioacchino Del Regno <PINMUX_GPIO46__FUNC_SCL0>; 1629415e246SAngeloGioacchino Del Regno input-enable; 1639415e246SAngeloGioacchino Del Regno }; 1649415e246SAngeloGioacchino Del Regno }; 1659415e246SAngeloGioacchino Del Regno 1669415e246SAngeloGioacchino Del Regno i2c1_pins: i2c1-pins { 1679415e246SAngeloGioacchino Del Regno pins-bus { 1689415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO125__FUNC_SDA1>, 1699415e246SAngeloGioacchino Del Regno <PINMUX_GPIO126__FUNC_SCL1>; 1709415e246SAngeloGioacchino Del Regno bias-disable; 1719415e246SAngeloGioacchino Del Regno }; 1729415e246SAngeloGioacchino Del Regno }; 1739415e246SAngeloGioacchino Del Regno 1749415e246SAngeloGioacchino Del Regno i2c2_pins: i2c2-pins { 1759415e246SAngeloGioacchino Del Regno pins-bus { 1769415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO43__FUNC_SDA2>, 1779415e246SAngeloGioacchino Del Regno <PINMUX_GPIO44__FUNC_SCL2>; 1789415e246SAngeloGioacchino Del Regno bias-disable; 1799415e246SAngeloGioacchino Del Regno }; 1809415e246SAngeloGioacchino Del Regno }; 1819415e246SAngeloGioacchino Del Regno 1829415e246SAngeloGioacchino Del Regno i2c3_pins: i2c3-pins { 1839415e246SAngeloGioacchino Del Regno pins-bus { 1849415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO136__FUNC_SDA3>, 1859415e246SAngeloGioacchino Del Regno <PINMUX_GPIO137__FUNC_SCL3>; 1869415e246SAngeloGioacchino Del Regno bias-disable; 1879415e246SAngeloGioacchino Del Regno }; 1889415e246SAngeloGioacchino Del Regno }; 1899415e246SAngeloGioacchino Del Regno 1909415e246SAngeloGioacchino Del Regno i2c4_pins: i2c4-pins { 1919415e246SAngeloGioacchino Del Regno pins-bus { 1929415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO100__FUNC_SDA4>, 1939415e246SAngeloGioacchino Del Regno <PINMUX_GPIO101__FUNC_SCL4>; 1949415e246SAngeloGioacchino Del Regno bias-disable; 1959415e246SAngeloGioacchino Del Regno }; 1969415e246SAngeloGioacchino Del Regno }; 1979415e246SAngeloGioacchino Del Regno 198c9e7d216SAngeloGioacchino Del Regno uart0_pins: uart0-pins { 199c9e7d216SAngeloGioacchino Del Regno pins-rx { 200c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO113__FUNC_URXD0>; 201c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 202c9e7d216SAngeloGioacchino Del Regno input-enable; 203c9e7d216SAngeloGioacchino Del Regno }; 204c9e7d216SAngeloGioacchino Del Regno pins-tx { 205c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO114__FUNC_UTXD0>; 206c9e7d216SAngeloGioacchino Del Regno output-high; 207c9e7d216SAngeloGioacchino Del Regno }; 208c9e7d216SAngeloGioacchino Del Regno }; 209c9e7d216SAngeloGioacchino Del Regno 210c9e7d216SAngeloGioacchino Del Regno uart2_pins: uart2-pins { 211c9e7d216SAngeloGioacchino Del Regno pins-rx { 212c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO31__FUNC_URXD2>; 213c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 214c9e7d216SAngeloGioacchino Del Regno input-enable; 215c9e7d216SAngeloGioacchino Del Regno }; 216c9e7d216SAngeloGioacchino Del Regno pins-tx { 217c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO32__FUNC_UTXD2>; 218c9e7d216SAngeloGioacchino Del Regno }; 219c9e7d216SAngeloGioacchino Del Regno }; 220c9e7d216SAngeloGioacchino Del Regno}; 221c9e7d216SAngeloGioacchino Del Regno 222c9e7d216SAngeloGioacchino Del Regno&uart0 { 223c9e7d216SAngeloGioacchino Del Regno status = "okay"; 224c9e7d216SAngeloGioacchino Del Regno 225c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 226c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart0_pins>; 227c9e7d216SAngeloGioacchino Del Regno}; 228c9e7d216SAngeloGioacchino Del Regno 229c9e7d216SAngeloGioacchino Del Regno&uart2 { 230c9e7d216SAngeloGioacchino Del Regno status = "okay"; 231c9e7d216SAngeloGioacchino Del Regno 232c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 233c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart2_pins>; 234c9e7d216SAngeloGioacchino Del Regno}; 235