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";
74*9e49cbefSAngeloGioacchino Del Regno
75*9e49cbefSAngeloGioacchino Del Regno	touchscreen@20 {
76*9e49cbefSAngeloGioacchino Del Regno		compatible = "syna,rmi4-i2c";
77*9e49cbefSAngeloGioacchino Del Regno		reg = <0x20>;
78*9e49cbefSAngeloGioacchino Del Regno		#address-cells = <1>;
79*9e49cbefSAngeloGioacchino Del Regno		#size-cells = <0>;
80*9e49cbefSAngeloGioacchino Del Regno		interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>;
81*9e49cbefSAngeloGioacchino Del Regno		pinctrl-names = "default";
82*9e49cbefSAngeloGioacchino Del Regno		pinctrl-0 = <&ts_pins>;
83*9e49cbefSAngeloGioacchino Del Regno		syna,startup-delay-ms = <160>;
84*9e49cbefSAngeloGioacchino Del Regno		syna,reset-delay-ms = <90>;
85*9e49cbefSAngeloGioacchino Del Regno
86*9e49cbefSAngeloGioacchino Del Regno		rmi4-f01@1 {
87*9e49cbefSAngeloGioacchino Del Regno			reg = <0x1>;
88*9e49cbefSAngeloGioacchino Del Regno			syna,nosleep-mode = <1>;
89*9e49cbefSAngeloGioacchino Del Regno		};
90*9e49cbefSAngeloGioacchino Del Regno
91*9e49cbefSAngeloGioacchino Del Regno		rmi4-f12@12 {
92*9e49cbefSAngeloGioacchino Del Regno			reg = <0x12>;
93*9e49cbefSAngeloGioacchino Del Regno			syna,sensor-type = <1>;
94*9e49cbefSAngeloGioacchino Del Regno		};
95*9e49cbefSAngeloGioacchino 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";
1029415e246SAngeloGioacchino Del Regno};
1039415e246SAngeloGioacchino Del Regno
104c9e7d216SAngeloGioacchino Del Regno&pio {
105*9e49cbefSAngeloGioacchino Del Regno	ts_pins: touchscreen-pins {
106*9e49cbefSAngeloGioacchino Del Regno		pins-irq {
107*9e49cbefSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
108*9e49cbefSAngeloGioacchino Del Regno			bias-pull-up;
109*9e49cbefSAngeloGioacchino Del Regno			input-enable;
110*9e49cbefSAngeloGioacchino Del Regno		};
111*9e49cbefSAngeloGioacchino Del Regno
112*9e49cbefSAngeloGioacchino Del Regno		pins-rst {
113*9e49cbefSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO102__FUNC_GPIO102>;
114*9e49cbefSAngeloGioacchino Del Regno			output-high;
115*9e49cbefSAngeloGioacchino Del Regno		};
116*9e49cbefSAngeloGioacchino Del Regno	};
117*9e49cbefSAngeloGioacchino Del Regno
1189415e246SAngeloGioacchino Del Regno	i2c0_pins: i2c0-pins {
1199415e246SAngeloGioacchino Del Regno		pins-bus {
1209415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO45__FUNC_SDA0>,
1219415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO46__FUNC_SCL0>;
1229415e246SAngeloGioacchino Del Regno			input-enable;
1239415e246SAngeloGioacchino Del Regno		};
1249415e246SAngeloGioacchino Del Regno	};
1259415e246SAngeloGioacchino Del Regno
1269415e246SAngeloGioacchino Del Regno	i2c1_pins: i2c1-pins {
1279415e246SAngeloGioacchino Del Regno		pins-bus {
1289415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO125__FUNC_SDA1>,
1299415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO126__FUNC_SCL1>;
1309415e246SAngeloGioacchino Del Regno			bias-disable;
1319415e246SAngeloGioacchino Del Regno		};
1329415e246SAngeloGioacchino Del Regno	};
1339415e246SAngeloGioacchino Del Regno
1349415e246SAngeloGioacchino Del Regno	i2c2_pins: i2c2-pins {
1359415e246SAngeloGioacchino Del Regno		pins-bus {
1369415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO43__FUNC_SDA2>,
1379415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO44__FUNC_SCL2>;
1389415e246SAngeloGioacchino Del Regno			bias-disable;
1399415e246SAngeloGioacchino Del Regno		};
1409415e246SAngeloGioacchino Del Regno	};
1419415e246SAngeloGioacchino Del Regno
1429415e246SAngeloGioacchino Del Regno	i2c3_pins: i2c3-pins {
1439415e246SAngeloGioacchino Del Regno		pins-bus {
1449415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO136__FUNC_SDA3>,
1459415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO137__FUNC_SCL3>;
1469415e246SAngeloGioacchino Del Regno			bias-disable;
1479415e246SAngeloGioacchino Del Regno		};
1489415e246SAngeloGioacchino Del Regno	};
1499415e246SAngeloGioacchino Del Regno
1509415e246SAngeloGioacchino Del Regno	i2c4_pins: i2c4-pins {
1519415e246SAngeloGioacchino Del Regno		pins-bus {
1529415e246SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO100__FUNC_SDA4>,
1539415e246SAngeloGioacchino Del Regno				 <PINMUX_GPIO101__FUNC_SCL4>;
1549415e246SAngeloGioacchino Del Regno			bias-disable;
1559415e246SAngeloGioacchino Del Regno		};
1569415e246SAngeloGioacchino Del Regno	};
1579415e246SAngeloGioacchino Del Regno
158c9e7d216SAngeloGioacchino Del Regno	uart0_pins: uart0-pins {
159c9e7d216SAngeloGioacchino Del Regno		pins-rx {
160c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO113__FUNC_URXD0>;
161c9e7d216SAngeloGioacchino Del Regno			bias-pull-up;
162c9e7d216SAngeloGioacchino Del Regno			input-enable;
163c9e7d216SAngeloGioacchino Del Regno		};
164c9e7d216SAngeloGioacchino Del Regno		pins-tx {
165c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO114__FUNC_UTXD0>;
166c9e7d216SAngeloGioacchino Del Regno			output-high;
167c9e7d216SAngeloGioacchino Del Regno		};
168c9e7d216SAngeloGioacchino Del Regno	};
169c9e7d216SAngeloGioacchino Del Regno
170c9e7d216SAngeloGioacchino Del Regno	uart2_pins: uart2-pins {
171c9e7d216SAngeloGioacchino Del Regno		pins-rx {
172c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO31__FUNC_URXD2>;
173c9e7d216SAngeloGioacchino Del Regno			bias-pull-up;
174c9e7d216SAngeloGioacchino Del Regno			input-enable;
175c9e7d216SAngeloGioacchino Del Regno		};
176c9e7d216SAngeloGioacchino Del Regno		pins-tx {
177c9e7d216SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO32__FUNC_UTXD2>;
178c9e7d216SAngeloGioacchino Del Regno		};
179c9e7d216SAngeloGioacchino Del Regno	};
180c9e7d216SAngeloGioacchino Del Regno};
181c9e7d216SAngeloGioacchino Del Regno
182c9e7d216SAngeloGioacchino Del Regno&uart0 {
183c9e7d216SAngeloGioacchino Del Regno	status = "okay";
184c9e7d216SAngeloGioacchino Del Regno
185c9e7d216SAngeloGioacchino Del Regno	pinctrl-names = "default";
186c9e7d216SAngeloGioacchino Del Regno	pinctrl-0 = <&uart0_pins>;
187c9e7d216SAngeloGioacchino Del Regno};
188c9e7d216SAngeloGioacchino Del Regno
189c9e7d216SAngeloGioacchino Del Regno&uart2 {
190c9e7d216SAngeloGioacchino Del Regno	status = "okay";
191c9e7d216SAngeloGioacchino Del Regno
192c9e7d216SAngeloGioacchino Del Regno	pinctrl-names = "default";
193c9e7d216SAngeloGioacchino Del Regno	pinctrl-0 = <&uart2_pins>;
194c9e7d216SAngeloGioacchino Del Regno};
195