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/;
8c9e7d216SAngeloGioacchino Del Regno#include "mt6795.dtsi"
9c9e7d216SAngeloGioacchino Del Regno
10c9e7d216SAngeloGioacchino Del Regno/ {
11c9e7d216SAngeloGioacchino Del Regno	model = "Sony Xperia M5";
12c9e7d216SAngeloGioacchino Del Regno	compatible = "sony,xperia-m5", "mediatek,mt6795";
13c9e7d216SAngeloGioacchino Del Regno	chassis-type = "handset";
14c9e7d216SAngeloGioacchino Del Regno
15c9e7d216SAngeloGioacchino Del Regno	aliases {
16c9e7d216SAngeloGioacchino Del Regno		mmc0 = &mmc0;
17c9e7d216SAngeloGioacchino Del Regno		mmc1 = &mmc1;
18c9e7d216SAngeloGioacchino Del Regno		serial0 = &uart0;
19c9e7d216SAngeloGioacchino Del Regno		serial1 = &uart1;
20c9e7d216SAngeloGioacchino Del Regno	};
21c9e7d216SAngeloGioacchino Del Regno
22c9e7d216SAngeloGioacchino Del Regno	memory@40000000 {
23c9e7d216SAngeloGioacchino Del Regno		device_type = "memory";
24c9e7d216SAngeloGioacchino Del Regno		reg = <0 0x40000000 0 0x1e800000>;
25c9e7d216SAngeloGioacchino Del Regno	};
26c9e7d216SAngeloGioacchino Del Regno
27c9e7d216SAngeloGioacchino Del Regno	reserved_memory: reserved-memory {
28c9e7d216SAngeloGioacchino Del Regno		#address-cells = <2>;
29c9e7d216SAngeloGioacchino Del Regno		#size-cells = <2>;
30c9e7d216SAngeloGioacchino Del Regno		ranges;
31c9e7d216SAngeloGioacchino Del Regno
32c9e7d216SAngeloGioacchino Del Regno		/* 128 KiB reserved for ARM Trusted Firmware (BL31) */
33c9e7d216SAngeloGioacchino Del Regno		bl31_secmon_reserved: secmon@43000000 {
34c9e7d216SAngeloGioacchino Del Regno			reg = <0 0x43000000 0 0x30000>;
35c9e7d216SAngeloGioacchino Del Regno			no-map;
36c9e7d216SAngeloGioacchino Del Regno		};
37c9e7d216SAngeloGioacchino Del Regno
38c9e7d216SAngeloGioacchino Del Regno		/* preloader and bootloader regions cannot be touched */
39c9e7d216SAngeloGioacchino Del Regno		preloader-region@44800000 {
40c9e7d216SAngeloGioacchino Del Regno			reg = <0 0x44800000 0 0x100000>;
41c9e7d216SAngeloGioacchino Del Regno			no-map;
42c9e7d216SAngeloGioacchino Del Regno		};
43c9e7d216SAngeloGioacchino Del Regno
44c9e7d216SAngeloGioacchino Del Regno		bootloader-region@46000000 {
45c9e7d216SAngeloGioacchino Del Regno			reg = <0 0x46000000 0 0x400000>;
46c9e7d216SAngeloGioacchino Del Regno			no-map;
47c9e7d216SAngeloGioacchino Del Regno		};
48c9e7d216SAngeloGioacchino Del Regno	};
49c9e7d216SAngeloGioacchino Del Regno};
50c9e7d216SAngeloGioacchino Del Regno
51c63e6a46SAngeloGioacchino Del Regno&fhctl {
52c63e6a46SAngeloGioacchino Del Regno	clocks = <&apmixedsys CLK_APMIXED_MAINPLL>, <&apmixedsys CLK_APMIXED_MPLL>,
53c63e6a46SAngeloGioacchino Del Regno		 <&apmixedsys CLK_APMIXED_MSDCPLL>;
54c63e6a46SAngeloGioacchino Del Regno	mediatek,hopping-ssc-percent = <8>, <5>, <8>;
55c63e6a46SAngeloGioacchino Del Regno	status = "okay";
56c63e6a46SAngeloGioacchino Del Regno};
57c63e6a46SAngeloGioacchino Del Regno
589415e246SAngeloGioacchino Del Regno&i2c0 {
599415e246SAngeloGioacchino Del Regno	pinctrl-names = "default";
609415e246SAngeloGioacchino Del Regno	pinctrl-0 = <&i2c0_pins>;
619415e246SAngeloGioacchino Del Regno	status = "okay";
629415e246SAngeloGioacchino Del Regno};
639415e246SAngeloGioacchino Del Regno
649415e246SAngeloGioacchino Del Regno&i2c1 {
659415e246SAngeloGioacchino Del Regno	pinctrl-names = "default";
669415e246SAngeloGioacchino Del Regno	pinctrl-0 = <&i2c1_pins>;
679415e246SAngeloGioacchino Del Regno	status = "okay";
689415e246SAngeloGioacchino Del Regno};
699415e246SAngeloGioacchino Del Regno
709415e246SAngeloGioacchino Del Regno&i2c2 {
719415e246SAngeloGioacchino Del Regno	pinctrl-names = "default";
729415e246SAngeloGioacchino Del Regno	pinctrl-0 = <&i2c2_pins>;
739415e246SAngeloGioacchino Del Regno	status = "okay";
749e49cbefSAngeloGioacchino Del Regno
759e49cbefSAngeloGioacchino Del Regno	touchscreen@20 {
769e49cbefSAngeloGioacchino Del Regno		compatible = "syna,rmi4-i2c";
779e49cbefSAngeloGioacchino Del Regno		reg = <0x20>;
789e49cbefSAngeloGioacchino Del Regno		#address-cells = <1>;
799e49cbefSAngeloGioacchino Del Regno		#size-cells = <0>;
809e49cbefSAngeloGioacchino Del Regno		interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>;
819e49cbefSAngeloGioacchino Del Regno		pinctrl-names = "default";
829e49cbefSAngeloGioacchino Del Regno		pinctrl-0 = <&ts_pins>;
839e49cbefSAngeloGioacchino Del Regno		syna,startup-delay-ms = <160>;
849e49cbefSAngeloGioacchino Del Regno		syna,reset-delay-ms = <90>;
859e49cbefSAngeloGioacchino Del Regno
869e49cbefSAngeloGioacchino Del Regno		rmi4-f01@1 {
879e49cbefSAngeloGioacchino Del Regno			reg = <0x1>;
889e49cbefSAngeloGioacchino Del Regno			syna,nosleep-mode = <1>;
899e49cbefSAngeloGioacchino Del Regno		};
909e49cbefSAngeloGioacchino Del Regno
919e49cbefSAngeloGioacchino Del Regno		rmi4-f12@12 {
929e49cbefSAngeloGioacchino Del Regno			reg = <0x12>;
939e49cbefSAngeloGioacchino Del Regno			syna,sensor-type = <1>;
949e49cbefSAngeloGioacchino Del Regno		};
959e49cbefSAngeloGioacchino Del Regno	};
969415e246SAngeloGioacchino Del Regno};
979415e246SAngeloGioacchino Del Regno
989415e246SAngeloGioacchino Del Regno&i2c3 {
999415e246SAngeloGioacchino Del Regno	pinctrl-names = "default";
1009415e246SAngeloGioacchino Del Regno	pinctrl-0 = <&i2c3_pins>;
1019415e246SAngeloGioacchino Del Regno	status = "okay";
102*d5ed9a04SAngeloGioacchino Del Regno
103*d5ed9a04SAngeloGioacchino Del Regno	proximity@48 {
104*d5ed9a04SAngeloGioacchino Del Regno		compatible = "sensortek,stk3310";
105*d5ed9a04SAngeloGioacchino Del Regno		reg = <0x48>;
106*d5ed9a04SAngeloGioacchino Del Regno		interrupts-extended = <&pio 8 IRQ_TYPE_EDGE_FALLING>;
107*d5ed9a04SAngeloGioacchino Del Regno		pinctrl-names = "default";
108*d5ed9a04SAngeloGioacchino Del Regno		pinctrl-0 = <&proximity_pins>;
109*d5ed9a04SAngeloGioacchino Del Regno	};
1109415e246SAngeloGioacchino Del Regno};
1119415e246SAngeloGioacchino Del Regno
112c9e7d216SAngeloGioacchino Del Regno&pio {
1139e49cbefSAngeloGioacchino Del Regno	ts_pins: touchscreen-pins {
1149e49cbefSAngeloGioacchino Del Regno		pins-irq {
1159e49cbefSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
1169e49cbefSAngeloGioacchino Del Regno			bias-pull-up;
1179e49cbefSAngeloGioacchino Del Regno			input-enable;
1189e49cbefSAngeloGioacchino Del Regno		};
1199e49cbefSAngeloGioacchino Del Regno
1209e49cbefSAngeloGioacchino Del Regno		pins-rst {
1219e49cbefSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO102__FUNC_GPIO102>;
1229e49cbefSAngeloGioacchino Del Regno			output-high;
1239e49cbefSAngeloGioacchino Del Regno		};
1249e49cbefSAngeloGioacchino Del Regno	};
1259e49cbefSAngeloGioacchino Del Regno
126*d5ed9a04SAngeloGioacchino Del Regno	proximity_pins: proximity-pins {
127*d5ed9a04SAngeloGioacchino Del Regno		pins-irq {
128*d5ed9a04SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
129*d5ed9a04SAngeloGioacchino Del Regno			bias-pull-up;
130*d5ed9a04SAngeloGioacchino Del Regno			input-enable;
131*d5ed9a04SAngeloGioacchino Del Regno		};
132*d5ed9a04SAngeloGioacchino Del Regno	};
133*d5ed9a04SAngeloGioacchino Del Regno
1349415e246SAngeloGioacchino Del Regno	i2c0_pins: i2c0-pins {
1359415e246SAngeloGioacchino Del Regno		pins-bus {
1369415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO45__FUNC_SDA0>,
1379415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO46__FUNC_SCL0>;
1389415e246SAngeloGioacchino Del Regno			input-enable;
1399415e246SAngeloGioacchino Del Regno		};
1409415e246SAngeloGioacchino Del Regno	};
1419415e246SAngeloGioacchino Del Regno
1429415e246SAngeloGioacchino Del Regno	i2c1_pins: i2c1-pins {
1439415e246SAngeloGioacchino Del Regno		pins-bus {
1449415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO125__FUNC_SDA1>,
1459415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO126__FUNC_SCL1>;
1469415e246SAngeloGioacchino Del Regno			bias-disable;
1479415e246SAngeloGioacchino Del Regno		};
1489415e246SAngeloGioacchino Del Regno	};
1499415e246SAngeloGioacchino Del Regno
1509415e246SAngeloGioacchino Del Regno	i2c2_pins: i2c2-pins {
1519415e246SAngeloGioacchino Del Regno		pins-bus {
1529415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO43__FUNC_SDA2>,
1539415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO44__FUNC_SCL2>;
1549415e246SAngeloGioacchino Del Regno			bias-disable;
1559415e246SAngeloGioacchino Del Regno		};
1569415e246SAngeloGioacchino Del Regno	};
1579415e246SAngeloGioacchino Del Regno
1589415e246SAngeloGioacchino Del Regno	i2c3_pins: i2c3-pins {
1599415e246SAngeloGioacchino Del Regno		pins-bus {
1609415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO136__FUNC_SDA3>,
1619415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO137__FUNC_SCL3>;
1629415e246SAngeloGioacchino Del Regno			bias-disable;
1639415e246SAngeloGioacchino Del Regno		};
1649415e246SAngeloGioacchino Del Regno	};
1659415e246SAngeloGioacchino Del Regno
1669415e246SAngeloGioacchino Del Regno	i2c4_pins: i2c4-pins {
1679415e246SAngeloGioacchino Del Regno		pins-bus {
1689415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO100__FUNC_SDA4>,
1699415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO101__FUNC_SCL4>;
1709415e246SAngeloGioacchino Del Regno			bias-disable;
1719415e246SAngeloGioacchino Del Regno		};
1729415e246SAngeloGioacchino Del Regno	};
1739415e246SAngeloGioacchino Del Regno
174c9e7d216SAngeloGioacchino Del Regno	uart0_pins: uart0-pins {
175c9e7d216SAngeloGioacchino Del Regno		pins-rx {
176c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO113__FUNC_URXD0>;
177c9e7d216SAngeloGioacchino Del Regno			bias-pull-up;
178c9e7d216SAngeloGioacchino Del Regno			input-enable;
179c9e7d216SAngeloGioacchino Del Regno		};
180c9e7d216SAngeloGioacchino Del Regno		pins-tx {
181c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO114__FUNC_UTXD0>;
182c9e7d216SAngeloGioacchino Del Regno			output-high;
183c9e7d216SAngeloGioacchino Del Regno		};
184c9e7d216SAngeloGioacchino Del Regno	};
185c9e7d216SAngeloGioacchino Del Regno
186c9e7d216SAngeloGioacchino Del Regno	uart2_pins: uart2-pins {
187c9e7d216SAngeloGioacchino Del Regno		pins-rx {
188c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO31__FUNC_URXD2>;
189c9e7d216SAngeloGioacchino Del Regno			bias-pull-up;
190c9e7d216SAngeloGioacchino Del Regno			input-enable;
191c9e7d216SAngeloGioacchino Del Regno		};
192c9e7d216SAngeloGioacchino Del Regno		pins-tx {
193c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO32__FUNC_UTXD2>;
194c9e7d216SAngeloGioacchino Del Regno		};
195c9e7d216SAngeloGioacchino Del Regno	};
196c9e7d216SAngeloGioacchino Del Regno};
197c9e7d216SAngeloGioacchino Del Regno
198c9e7d216SAngeloGioacchino Del Regno&uart0 {
199c9e7d216SAngeloGioacchino Del Regno	status = "okay";
200c9e7d216SAngeloGioacchino Del Regno
201c9e7d216SAngeloGioacchino Del Regno	pinctrl-names = "default";
202c9e7d216SAngeloGioacchino Del Regno	pinctrl-0 = <&uart0_pins>;
203c9e7d216SAngeloGioacchino Del Regno};
204c9e7d216SAngeloGioacchino Del Regno
205c9e7d216SAngeloGioacchino Del Regno&uart2 {
206c9e7d216SAngeloGioacchino Del Regno	status = "okay";
207c9e7d216SAngeloGioacchino Del Regno
208c9e7d216SAngeloGioacchino Del Regno	pinctrl-names = "default";
209c9e7d216SAngeloGioacchino Del Regno	pinctrl-0 = <&uart2_pins>;
210c9e7d216SAngeloGioacchino Del Regno};
211