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"; 699b42966dSAngeloGioacchino Del Regno 709b42966dSAngeloGioacchino Del Regno accelerometer@10 { 719b42966dSAngeloGioacchino Del Regno compatible = "bosch,bma255"; 729b42966dSAngeloGioacchino Del Regno reg = <0x10>; 739b42966dSAngeloGioacchino Del Regno pinctrl-names = "default"; 749b42966dSAngeloGioacchino Del Regno pinctrl-0 = <&accel_pins>; 759b42966dSAngeloGioacchino Del Regno }; 76*13961ef8SAngeloGioacchino Del Regno 77*13961ef8SAngeloGioacchino Del Regno magnetometer@12 { 78*13961ef8SAngeloGioacchino Del Regno compatible = "bosch,bmm150"; 79*13961ef8SAngeloGioacchino Del Regno reg = <0x12>; 80*13961ef8SAngeloGioacchino Del Regno }; 819415e246SAngeloGioacchino Del Regno}; 829415e246SAngeloGioacchino Del Regno 839415e246SAngeloGioacchino Del Regno&i2c2 { 849415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 859415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c2_pins>; 869415e246SAngeloGioacchino Del Regno status = "okay"; 879e49cbefSAngeloGioacchino Del Regno 889e49cbefSAngeloGioacchino Del Regno touchscreen@20 { 899e49cbefSAngeloGioacchino Del Regno compatible = "syna,rmi4-i2c"; 909e49cbefSAngeloGioacchino Del Regno reg = <0x20>; 919e49cbefSAngeloGioacchino Del Regno #address-cells = <1>; 929e49cbefSAngeloGioacchino Del Regno #size-cells = <0>; 939e49cbefSAngeloGioacchino Del Regno interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>; 949e49cbefSAngeloGioacchino Del Regno pinctrl-names = "default"; 959e49cbefSAngeloGioacchino Del Regno pinctrl-0 = <&ts_pins>; 969e49cbefSAngeloGioacchino Del Regno syna,startup-delay-ms = <160>; 979e49cbefSAngeloGioacchino Del Regno syna,reset-delay-ms = <90>; 989e49cbefSAngeloGioacchino Del Regno 999e49cbefSAngeloGioacchino Del Regno rmi4-f01@1 { 1009e49cbefSAngeloGioacchino Del Regno reg = <0x1>; 1019e49cbefSAngeloGioacchino Del Regno syna,nosleep-mode = <1>; 1029e49cbefSAngeloGioacchino Del Regno }; 1039e49cbefSAngeloGioacchino Del Regno 1049e49cbefSAngeloGioacchino Del Regno rmi4-f12@12 { 1059e49cbefSAngeloGioacchino Del Regno reg = <0x12>; 1069e49cbefSAngeloGioacchino Del Regno syna,sensor-type = <1>; 1079e49cbefSAngeloGioacchino Del Regno }; 1089e49cbefSAngeloGioacchino Del Regno }; 1099415e246SAngeloGioacchino Del Regno}; 1109415e246SAngeloGioacchino Del Regno 1119415e246SAngeloGioacchino Del Regno&i2c3 { 1129415e246SAngeloGioacchino Del Regno pinctrl-names = "default"; 1139415e246SAngeloGioacchino Del Regno pinctrl-0 = <&i2c3_pins>; 1149415e246SAngeloGioacchino Del Regno status = "okay"; 115d5ed9a04SAngeloGioacchino Del Regno 116f010d1b6SAngeloGioacchino Del Regno pn547: nfc@28 { 117f010d1b6SAngeloGioacchino Del Regno compatible = "nxp,pn544-i2c"; 118f010d1b6SAngeloGioacchino Del Regno reg = <0x28>; 119f010d1b6SAngeloGioacchino Del Regno interrupts-extended = <&pio 3 IRQ_TYPE_EDGE_RISING>; 120f010d1b6SAngeloGioacchino Del Regno pinctrl-names = "default"; 121f010d1b6SAngeloGioacchino Del Regno pinctrl-0 = <&nfc_pins>; 122f010d1b6SAngeloGioacchino Del Regno enable-gpios = <&pio 149 GPIO_ACTIVE_HIGH>; 123f010d1b6SAngeloGioacchino Del Regno firmware-gpios = <&pio 94 GPIO_ACTIVE_HIGH>; 124f010d1b6SAngeloGioacchino Del Regno }; 125f010d1b6SAngeloGioacchino Del Regno 126d5ed9a04SAngeloGioacchino Del Regno proximity@48 { 127d5ed9a04SAngeloGioacchino Del Regno compatible = "sensortek,stk3310"; 128d5ed9a04SAngeloGioacchino Del Regno reg = <0x48>; 129d5ed9a04SAngeloGioacchino Del Regno interrupts-extended = <&pio 8 IRQ_TYPE_EDGE_FALLING>; 130d5ed9a04SAngeloGioacchino Del Regno pinctrl-names = "default"; 131d5ed9a04SAngeloGioacchino Del Regno pinctrl-0 = <&proximity_pins>; 132d5ed9a04SAngeloGioacchino Del Regno }; 1339415e246SAngeloGioacchino Del Regno}; 1349415e246SAngeloGioacchino Del Regno 135c9e7d216SAngeloGioacchino Del Regno&pio { 136f010d1b6SAngeloGioacchino Del Regno nfc_pins: nfc-pins { 137f010d1b6SAngeloGioacchino Del Regno pins-irq { 138f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO3__FUNC_GPIO3>; 139f010d1b6SAngeloGioacchino Del Regno bias-pull-down; 140f010d1b6SAngeloGioacchino Del Regno input-enable; 141f010d1b6SAngeloGioacchino Del Regno }; 142f010d1b6SAngeloGioacchino Del Regno 143f010d1b6SAngeloGioacchino Del Regno pins-fw-ven { 144f010d1b6SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO94__FUNC_GPIO94>, 145f010d1b6SAngeloGioacchino Del Regno <PINMUX_GPIO149__FUNC_GPIO149>; 146f010d1b6SAngeloGioacchino Del Regno }; 147f010d1b6SAngeloGioacchino Del Regno }; 148f010d1b6SAngeloGioacchino Del Regno 1499e49cbefSAngeloGioacchino Del Regno ts_pins: touchscreen-pins { 1509e49cbefSAngeloGioacchino Del Regno pins-irq { 1519e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO6__FUNC_GPIO6>; 1529e49cbefSAngeloGioacchino Del Regno bias-pull-up; 1539e49cbefSAngeloGioacchino Del Regno input-enable; 1549e49cbefSAngeloGioacchino Del Regno }; 1559e49cbefSAngeloGioacchino Del Regno 1569e49cbefSAngeloGioacchino Del Regno pins-rst { 1579e49cbefSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO102__FUNC_GPIO102>; 1589e49cbefSAngeloGioacchino Del Regno output-high; 1599e49cbefSAngeloGioacchino Del Regno }; 1609e49cbefSAngeloGioacchino Del Regno }; 1619e49cbefSAngeloGioacchino Del Regno 162d5ed9a04SAngeloGioacchino Del Regno proximity_pins: proximity-pins { 163d5ed9a04SAngeloGioacchino Del Regno pins-irq { 164d5ed9a04SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO8__FUNC_GPIO8>; 165d5ed9a04SAngeloGioacchino Del Regno bias-pull-up; 166d5ed9a04SAngeloGioacchino Del Regno input-enable; 167d5ed9a04SAngeloGioacchino Del Regno }; 168d5ed9a04SAngeloGioacchino Del Regno }; 169d5ed9a04SAngeloGioacchino Del Regno 1709b42966dSAngeloGioacchino Del Regno accel_pins: accelerometer-pins { 1719b42966dSAngeloGioacchino Del Regno pins-irq { 1729b42966dSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO12__FUNC_GPIO12>; 1739b42966dSAngeloGioacchino Del Regno bias-pull-up; 1749b42966dSAngeloGioacchino Del Regno input-enable; 1759b42966dSAngeloGioacchino Del Regno }; 1769b42966dSAngeloGioacchino Del Regno }; 1779b42966dSAngeloGioacchino Del Regno 1789415e246SAngeloGioacchino Del Regno i2c0_pins: i2c0-pins { 1799415e246SAngeloGioacchino Del Regno pins-bus { 1809415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO45__FUNC_SDA0>, 1819415e246SAngeloGioacchino Del Regno <PINMUX_GPIO46__FUNC_SCL0>; 1829415e246SAngeloGioacchino Del Regno input-enable; 1839415e246SAngeloGioacchino Del Regno }; 1849415e246SAngeloGioacchino Del Regno }; 1859415e246SAngeloGioacchino Del Regno 1869415e246SAngeloGioacchino Del Regno i2c1_pins: i2c1-pins { 1879415e246SAngeloGioacchino Del Regno pins-bus { 1889415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO125__FUNC_SDA1>, 1899415e246SAngeloGioacchino Del Regno <PINMUX_GPIO126__FUNC_SCL1>; 1909415e246SAngeloGioacchino Del Regno bias-disable; 1919415e246SAngeloGioacchino Del Regno }; 1929415e246SAngeloGioacchino Del Regno }; 1939415e246SAngeloGioacchino Del Regno 1949415e246SAngeloGioacchino Del Regno i2c2_pins: i2c2-pins { 1959415e246SAngeloGioacchino Del Regno pins-bus { 1969415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO43__FUNC_SDA2>, 1979415e246SAngeloGioacchino Del Regno <PINMUX_GPIO44__FUNC_SCL2>; 1989415e246SAngeloGioacchino Del Regno bias-disable; 1999415e246SAngeloGioacchino Del Regno }; 2009415e246SAngeloGioacchino Del Regno }; 2019415e246SAngeloGioacchino Del Regno 2029415e246SAngeloGioacchino Del Regno i2c3_pins: i2c3-pins { 2039415e246SAngeloGioacchino Del Regno pins-bus { 2049415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO136__FUNC_SDA3>, 2059415e246SAngeloGioacchino Del Regno <PINMUX_GPIO137__FUNC_SCL3>; 2069415e246SAngeloGioacchino Del Regno bias-disable; 2079415e246SAngeloGioacchino Del Regno }; 2089415e246SAngeloGioacchino Del Regno }; 2099415e246SAngeloGioacchino Del Regno 2109415e246SAngeloGioacchino Del Regno i2c4_pins: i2c4-pins { 2119415e246SAngeloGioacchino Del Regno pins-bus { 2129415e246SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO100__FUNC_SDA4>, 2139415e246SAngeloGioacchino Del Regno <PINMUX_GPIO101__FUNC_SCL4>; 2149415e246SAngeloGioacchino Del Regno bias-disable; 2159415e246SAngeloGioacchino Del Regno }; 2169415e246SAngeloGioacchino Del Regno }; 2179415e246SAngeloGioacchino Del Regno 218c9e7d216SAngeloGioacchino Del Regno uart0_pins: uart0-pins { 219c9e7d216SAngeloGioacchino Del Regno pins-rx { 220c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO113__FUNC_URXD0>; 221c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 222c9e7d216SAngeloGioacchino Del Regno input-enable; 223c9e7d216SAngeloGioacchino Del Regno }; 224c9e7d216SAngeloGioacchino Del Regno pins-tx { 225c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO114__FUNC_UTXD0>; 226c9e7d216SAngeloGioacchino Del Regno output-high; 227c9e7d216SAngeloGioacchino Del Regno }; 228c9e7d216SAngeloGioacchino Del Regno }; 229c9e7d216SAngeloGioacchino Del Regno 230c9e7d216SAngeloGioacchino Del Regno uart2_pins: uart2-pins { 231c9e7d216SAngeloGioacchino Del Regno pins-rx { 232c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO31__FUNC_URXD2>; 233c9e7d216SAngeloGioacchino Del Regno bias-pull-up; 234c9e7d216SAngeloGioacchino Del Regno input-enable; 235c9e7d216SAngeloGioacchino Del Regno }; 236c9e7d216SAngeloGioacchino Del Regno pins-tx { 237c9e7d216SAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO32__FUNC_UTXD2>; 238c9e7d216SAngeloGioacchino Del Regno }; 239c9e7d216SAngeloGioacchino Del Regno }; 240c9e7d216SAngeloGioacchino Del Regno}; 241c9e7d216SAngeloGioacchino Del Regno 242c9e7d216SAngeloGioacchino Del Regno&uart0 { 243c9e7d216SAngeloGioacchino Del Regno status = "okay"; 244c9e7d216SAngeloGioacchino Del Regno 245c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 246c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart0_pins>; 247c9e7d216SAngeloGioacchino Del Regno}; 248c9e7d216SAngeloGioacchino Del Regno 249c9e7d216SAngeloGioacchino Del Regno&uart2 { 250c9e7d216SAngeloGioacchino Del Regno status = "okay"; 251c9e7d216SAngeloGioacchino Del Regno 252c9e7d216SAngeloGioacchino Del Regno pinctrl-names = "default"; 253c9e7d216SAngeloGioacchino Del Regno pinctrl-0 = <&uart2_pins>; 254c9e7d216SAngeloGioacchino Del Regno}; 255