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/; 8f010d1b6SAngeloGioacchino 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"; 69*9b42966dSAngeloGioacchino Del Regno 70*9b42966dSAngeloGioacchino Del Regno accelerometer@10 { 71*9b42966dSAngeloGioacchino Del Regno compatible = "bosch,bma255"; 72*9b42966dSAngeloGioacchino Del Regno reg = <0x10>; 73*9b42966dSAngeloGioacchino Del Regno pinctrl-names = "default"; 74*9b42966dSAngeloGioacchino Del Regno pinctrl-0 = <&accel_pins>; 75*9b42966dSAngeloGioacchino Del Regno }; 769415e246SAngeloGioacchino Del Regno}; 779415e246SAngeloGioacchino Del Regno 789415e246SAngeloGioacchino Del Regno&i2c2 { 799415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 809415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c2_pins>; 819415e246SAngeloGioacchino Del Regno status = "okay"; 829e49cbefSAngeloGioacchino Del Regno 839e49cbefSAngeloGioacchino Del Regno touchscreen@20 { 849e49cbefSAngeloGioacchino Del Regno compatible = "syna,rmi4-i2c"; 859e49cbefSAngeloGioacchino Del Regno reg = <0x20>; 869e49cbefSAngeloGioacchino Del Regno #address-cells = <1>; 879e49cbefSAngeloGioacchino Del Regno #size-cells = <0>; 889e49cbefSAngeloGioacchino Del Regno interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>; 899e49cbefSAngeloGioacchino Del Regno pinctrl-names = "default"; 909e49cbefSAngeloGioacchino Del Regno pinctrl-0 = <&ts_pins>; 919e49cbefSAngeloGioacchino Del Regno syna,startup-delay-ms = <160>; 929e49cbefSAngeloGioacchino Del Regno syna,reset-delay-ms = <90>; 939e49cbefSAngeloGioacchino Del Regno 949e49cbefSAngeloGioacchino Del Regno rmi4-f01@1 { 959e49cbefSAngeloGioacchino Del Regno reg = <0x1>; 969e49cbefSAngeloGioacchino Del Regno syna,nosleep-mode = <1>; 979e49cbefSAngeloGioacchino Del Regno }; 989e49cbefSAngeloGioacchino Del Regno 999e49cbefSAngeloGioacchino Del Regno rmi4-f12@12 { 1009e49cbefSAngeloGioacchino Del Regno reg = <0x12>; 1019e49cbefSAngeloGioacchino Del Regno syna,sensor-type = <1>; 1029e49cbefSAngeloGioacchino Del Regno }; 1039e49cbefSAngeloGioacchino Del Regno }; 1049415e246SAngeloGioacchino Del Regno}; 1059415e246SAngeloGioacchino Del Regno 1069415e246SAngeloGioacchino Del Regno&i2c3 { 1079415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 1089415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c3_pins>; 1099415e246SAngeloGioacchino Del Regno status = "okay"; 110d5ed9a04SAngeloGioacchino Del Regno 111f010d1b6SAngeloGioacchino Del Regno pn547: nfc@28 { 112f010d1b6SAngeloGioacchino Del Regno compatible = "nxp,pn544-i2c"; 113f010d1b6SAngeloGioacchino Del Regno reg = <0x28>; 114f010d1b6SAngeloGioacchino Del Regno interrupts-extended = <&pio 3 IRQ_TYPE_EDGE_RISING>; 115f010d1b6SAngeloGioacchino Del Regno pinctrl-names = "default"; 116f010d1b6SAngeloGioacchino Del Regno pinctrl-0 = <&nfc_pins>; 117f010d1b6SAngeloGioacchino Del Regno enable-gpios = <&pio 149 GPIO_ACTIVE_HIGH>; 118f010d1b6SAngeloGioacchino Del Regno firmware-gpios = <&pio 94 GPIO_ACTIVE_HIGH>; 119f010d1b6SAngeloGioacchino Del Regno }; 120f010d1b6SAngeloGioacchino Del Regno 121d5ed9a04SAngeloGioacchino Del Regno proximity@48 { 122d5ed9a04SAngeloGioacchino Del Regno compatible = "sensortek,stk3310"; 123d5ed9a04SAngeloGioacchino Del Regno reg = <0x48>; 124d5ed9a04SAngeloGioacchino Del Regno interrupts-extended = <&pio 8 IRQ_TYPE_EDGE_FALLING>; 125d5ed9a04SAngeloGioacchino Del Regno pinctrl-names = "default"; 126d5ed9a04SAngeloGioacchino Del Regno pinctrl-0 = <&proximity_pins>; 127d5ed9a04SAngeloGioacchino Del Regno }; 1289415e246SAngeloGioacchino Del Regno}; 1299415e246SAngeloGioacchino Del Regno 130c9e7d216SAngeloGioacchino Del Regno&pio { 131f010d1b6SAngeloGioacchino Del Regno nfc_pins: nfc-pins { 132f010d1b6SAngeloGioacchino Del Regno pins-irq { 133f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO3__FUNC_GPIO3>; 134f010d1b6SAngeloGioacchino Del Regno bias-pull-down; 135f010d1b6SAngeloGioacchino Del Regno input-enable; 136f010d1b6SAngeloGioacchino Del Regno }; 137f010d1b6SAngeloGioacchino Del Regno 138f010d1b6SAngeloGioacchino Del Regno pins-fw-ven { 139f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO94__FUNC_GPIO94>, 140f010d1b6SAngeloGioacchino Del Regno <PINMUX_GPIO149__FUNC_GPIO149>; 141f010d1b6SAngeloGioacchino Del Regno }; 142f010d1b6SAngeloGioacchino Del Regno }; 143f010d1b6SAngeloGioacchino Del Regno 1449e49cbefSAngeloGioacchino Del Regno ts_pins: touchscreen-pins { 1459e49cbefSAngeloGioacchino Del Regno pins-irq { 1469e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO6__FUNC_GPIO6>; 1479e49cbefSAngeloGioacchino Del Regno bias-pull-up; 1489e49cbefSAngeloGioacchino Del Regno input-enable; 1499e49cbefSAngeloGioacchino Del Regno }; 1509e49cbefSAngeloGioacchino Del Regno 1519e49cbefSAngeloGioacchino Del Regno pins-rst { 1529e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO102__FUNC_GPIO102>; 1539e49cbefSAngeloGioacchino Del Regno output-high; 1549e49cbefSAngeloGioacchino Del Regno }; 1559e49cbefSAngeloGioacchino Del Regno }; 1569e49cbefSAngeloGioacchino Del Regno 157d5ed9a04SAngeloGioacchino Del Regno proximity_pins: proximity-pins { 158d5ed9a04SAngeloGioacchino Del Regno pins-irq { 159d5ed9a04SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO8__FUNC_GPIO8>; 160d5ed9a04SAngeloGioacchino Del Regno bias-pull-up; 161d5ed9a04SAngeloGioacchino Del Regno input-enable; 162d5ed9a04SAngeloGioacchino Del Regno }; 163d5ed9a04SAngeloGioacchino Del Regno }; 164d5ed9a04SAngeloGioacchino Del Regno 165*9b42966dSAngeloGioacchino Del Regno accel_pins: accelerometer-pins { 166*9b42966dSAngeloGioacchino Del Regno pins-irq { 167*9b42966dSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO12__FUNC_GPIO12>; 168*9b42966dSAngeloGioacchino Del Regno bias-pull-up; 169*9b42966dSAngeloGioacchino Del Regno input-enable; 170*9b42966dSAngeloGioacchino Del Regno }; 171*9b42966dSAngeloGioacchino Del Regno }; 172*9b42966dSAngeloGioacchino Del Regno 1739415e246SAngeloGioacchino Del Regno i2c0_pins: i2c0-pins { 1749415e246SAngeloGioacchino Del Regno pins-bus { 1759415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO45__FUNC_SDA0>, 1769415e246SAngeloGioacchino Del Regno <PINMUX_GPIO46__FUNC_SCL0>; 1779415e246SAngeloGioacchino Del Regno input-enable; 1789415e246SAngeloGioacchino Del Regno }; 1799415e246SAngeloGioacchino Del Regno }; 1809415e246SAngeloGioacchino Del Regno 1819415e246SAngeloGioacchino Del Regno i2c1_pins: i2c1-pins { 1829415e246SAngeloGioacchino Del Regno pins-bus { 1839415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO125__FUNC_SDA1>, 1849415e246SAngeloGioacchino Del Regno <PINMUX_GPIO126__FUNC_SCL1>; 1859415e246SAngeloGioacchino Del Regno bias-disable; 1869415e246SAngeloGioacchino Del Regno }; 1879415e246SAngeloGioacchino Del Regno }; 1889415e246SAngeloGioacchino Del Regno 1899415e246SAngeloGioacchino Del Regno i2c2_pins: i2c2-pins { 1909415e246SAngeloGioacchino Del Regno pins-bus { 1919415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO43__FUNC_SDA2>, 1929415e246SAngeloGioacchino Del Regno <PINMUX_GPIO44__FUNC_SCL2>; 1939415e246SAngeloGioacchino Del Regno bias-disable; 1949415e246SAngeloGioacchino Del Regno }; 1959415e246SAngeloGioacchino Del Regno }; 1969415e246SAngeloGioacchino Del Regno 1979415e246SAngeloGioacchino Del Regno i2c3_pins: i2c3-pins { 1989415e246SAngeloGioacchino Del Regno pins-bus { 1999415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO136__FUNC_SDA3>, 2009415e246SAngeloGioacchino Del Regno <PINMUX_GPIO137__FUNC_SCL3>; 2019415e246SAngeloGioacchino Del Regno bias-disable; 2029415e246SAngeloGioacchino Del Regno }; 2039415e246SAngeloGioacchino Del Regno }; 2049415e246SAngeloGioacchino Del Regno 2059415e246SAngeloGioacchino Del Regno i2c4_pins: i2c4-pins { 2069415e246SAngeloGioacchino Del Regno pins-bus { 2079415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO100__FUNC_SDA4>, 2089415e246SAngeloGioacchino Del Regno <PINMUX_GPIO101__FUNC_SCL4>; 2099415e246SAngeloGioacchino Del Regno bias-disable; 2109415e246SAngeloGioacchino Del Regno }; 2119415e246SAngeloGioacchino Del Regno }; 2129415e246SAngeloGioacchino Del Regno 213c9e7d216SAngeloGioacchino Del Regno uart0_pins: uart0-pins { 214c9e7d216SAngeloGioacchino Del Regno pins-rx { 215c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO113__FUNC_URXD0>; 216c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 217c9e7d216SAngeloGioacchino Del Regno input-enable; 218c9e7d216SAngeloGioacchino Del Regno }; 219c9e7d216SAngeloGioacchino Del Regno pins-tx { 220c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO114__FUNC_UTXD0>; 221c9e7d216SAngeloGioacchino Del Regno output-high; 222c9e7d216SAngeloGioacchino Del Regno }; 223c9e7d216SAngeloGioacchino Del Regno }; 224c9e7d216SAngeloGioacchino Del Regno 225c9e7d216SAngeloGioacchino Del Regno uart2_pins: uart2-pins { 226c9e7d216SAngeloGioacchino Del Regno pins-rx { 227c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO31__FUNC_URXD2>; 228c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 229c9e7d216SAngeloGioacchino Del Regno input-enable; 230c9e7d216SAngeloGioacchino Del Regno }; 231c9e7d216SAngeloGioacchino Del Regno pins-tx { 232c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO32__FUNC_UTXD2>; 233c9e7d216SAngeloGioacchino Del Regno }; 234c9e7d216SAngeloGioacchino Del Regno }; 235c9e7d216SAngeloGioacchino Del Regno}; 236c9e7d216SAngeloGioacchino Del Regno 237c9e7d216SAngeloGioacchino Del Regno&uart0 { 238c9e7d216SAngeloGioacchino Del Regno status = "okay"; 239c9e7d216SAngeloGioacchino Del Regno 240c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 241c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart0_pins>; 242c9e7d216SAngeloGioacchino Del Regno}; 243c9e7d216SAngeloGioacchino Del Regno 244c9e7d216SAngeloGioacchino Del Regno&uart2 { 245c9e7d216SAngeloGioacchino Del Regno status = "okay"; 246c9e7d216SAngeloGioacchino Del Regno 247c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 248c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart2_pins>; 249c9e7d216SAngeloGioacchino Del Regno}; 250