xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mm-var-som-symphony.dts (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1d65faff6SKrzysztof Kozlowski// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2d65faff6SKrzysztof Kozlowski/*
3d65faff6SKrzysztof Kozlowski * Copyright (C) 2020 Krzysztof Kozlowski <krzk@kernel.org>
4d65faff6SKrzysztof Kozlowski */
5d65faff6SKrzysztof Kozlowski
6d65faff6SKrzysztof Kozlowski/dts-v1/;
7d65faff6SKrzysztof Kozlowski
8d65faff6SKrzysztof Kozlowski#include "imx8mm-var-som.dtsi"
9d65faff6SKrzysztof Kozlowski
10d65faff6SKrzysztof Kozlowski/ {
11d65faff6SKrzysztof Kozlowski	model = "Variscite VAR-SOM-MX8MM Symphony evaluation board";
12d65faff6SKrzysztof Kozlowski	compatible = "variscite,var-som-mx8mm-symphony", "variscite,var-som-mx8mm", "fsl,imx8mm";
13d65faff6SKrzysztof Kozlowski
14d65faff6SKrzysztof Kozlowski	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
15d65faff6SKrzysztof Kozlowski		compatible = "regulator-fixed";
16d65faff6SKrzysztof Kozlowski		pinctrl-names = "default";
17d65faff6SKrzysztof Kozlowski		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
18d65faff6SKrzysztof Kozlowski		regulator-name = "VSD_3V3";
19d65faff6SKrzysztof Kozlowski		regulator-min-microvolt = <3300000>;
20d65faff6SKrzysztof Kozlowski		regulator-max-microvolt = <3300000>;
21d65faff6SKrzysztof Kozlowski		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
22d65faff6SKrzysztof Kozlowski		enable-active-high;
23d65faff6SKrzysztof Kozlowski	};
24d65faff6SKrzysztof Kozlowski
25d65faff6SKrzysztof Kozlowski	reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
26d65faff6SKrzysztof Kozlowski		compatible = "regulator-fixed";
27d65faff6SKrzysztof Kozlowski		pinctrl-names = "default";
28d65faff6SKrzysztof Kozlowski		pinctrl-0 = <&pinctrl_reg_usb_otg2_vbus>;
29d65faff6SKrzysztof Kozlowski		regulator-name = "usb_otg2_vbus";
30d65faff6SKrzysztof Kozlowski		regulator-min-microvolt = <5000000>;
31d65faff6SKrzysztof Kozlowski		regulator-max-microvolt = <5000000>;
32d65faff6SKrzysztof Kozlowski		gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
33d65faff6SKrzysztof Kozlowski		enable-active-high;
34d65faff6SKrzysztof Kozlowski	};
35d65faff6SKrzysztof Kozlowski
36d65faff6SKrzysztof Kozlowski	gpio-keys {
37d65faff6SKrzysztof Kozlowski		compatible = "gpio-keys";
38d65faff6SKrzysztof Kozlowski
39*b803d15eSKrzysztof Kozlowski		key-back {
40d65faff6SKrzysztof Kozlowski			label = "Back";
41d65faff6SKrzysztof Kozlowski			gpios = <&pca9534 1 GPIO_ACTIVE_LOW>;
42d65faff6SKrzysztof Kozlowski			linux,code = <KEY_BACK>;
43d65faff6SKrzysztof Kozlowski		};
44d65faff6SKrzysztof Kozlowski
45*b803d15eSKrzysztof Kozlowski		key-home {
46d65faff6SKrzysztof Kozlowski			label = "Home";
47d65faff6SKrzysztof Kozlowski			gpios = <&pca9534 2 GPIO_ACTIVE_LOW>;
48d65faff6SKrzysztof Kozlowski			linux,code = <KEY_HOME>;
49d65faff6SKrzysztof Kozlowski		};
50d65faff6SKrzysztof Kozlowski
51*b803d15eSKrzysztof Kozlowski		key-menu {
52d65faff6SKrzysztof Kozlowski			label = "Menu";
53d65faff6SKrzysztof Kozlowski			gpios = <&pca9534 3 GPIO_ACTIVE_LOW>;
54d65faff6SKrzysztof Kozlowski			linux,code = <KEY_MENU>;
55d65faff6SKrzysztof Kozlowski		};
56d65faff6SKrzysztof Kozlowski	};
57d65faff6SKrzysztof Kozlowski
58d65faff6SKrzysztof Kozlowski	leds {
59d65faff6SKrzysztof Kozlowski		compatible = "gpio-leds";
60d65faff6SKrzysztof Kozlowski
61d65faff6SKrzysztof Kozlowski		led {
62d65faff6SKrzysztof Kozlowski			label = "Heartbeat";
63d65faff6SKrzysztof Kozlowski			gpios = <&pca9534 0 GPIO_ACTIVE_LOW>;
64d65faff6SKrzysztof Kozlowski			linux,default-trigger = "heartbeat";
65d65faff6SKrzysztof Kozlowski		};
66d65faff6SKrzysztof Kozlowski	};
67d65faff6SKrzysztof Kozlowski};
68d65faff6SKrzysztof Kozlowski
69d65faff6SKrzysztof Kozlowski&ethphy {
70d65faff6SKrzysztof Kozlowski	reset-gpios = <&pca9534 5 GPIO_ACTIVE_HIGH>;
71d65faff6SKrzysztof Kozlowski};
72d65faff6SKrzysztof Kozlowski
73d65faff6SKrzysztof Kozlowski&i2c2 {
74d65faff6SKrzysztof Kozlowski	clock-frequency = <400000>;
75d65faff6SKrzysztof Kozlowski	pinctrl-names = "default";
76d65faff6SKrzysztof Kozlowski	pinctrl-0 = <&pinctrl_i2c2>;
77d65faff6SKrzysztof Kozlowski	status = "okay";
78d65faff6SKrzysztof Kozlowski
79d65faff6SKrzysztof Kozlowski	pca9534: gpio@20 {
80d65faff6SKrzysztof Kozlowski		compatible = "nxp,pca9534";
81d65faff6SKrzysztof Kozlowski		reg = <0x20>;
82d65faff6SKrzysztof Kozlowski		gpio-controller;
83d65faff6SKrzysztof Kozlowski		pinctrl-names = "default";
84d65faff6SKrzysztof Kozlowski		pinctrl-0 = <&pinctrl_pca9534>;
85d65faff6SKrzysztof Kozlowski		interrupt-parent = <&gpio1>;
86d65faff6SKrzysztof Kozlowski		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
87d65faff6SKrzysztof Kozlowski		#gpio-cells = <2>;
88d65faff6SKrzysztof Kozlowski		wakeup-source;
89d65faff6SKrzysztof Kozlowski
90d65faff6SKrzysztof Kozlowski		/* USB 3.0 OTG (usbotg1) / SATA port switch, set to USB 3.0 */
91d65faff6SKrzysztof Kozlowski		usb3-sata-sel-hog {
92d65faff6SKrzysztof Kozlowski			gpio-hog;
93d65faff6SKrzysztof Kozlowski			gpios = <4 GPIO_ACTIVE_HIGH>;
94d65faff6SKrzysztof Kozlowski			output-low;
95d65faff6SKrzysztof Kozlowski			line-name = "usb3_sata_sel";
96d65faff6SKrzysztof Kozlowski		};
97d65faff6SKrzysztof Kozlowski
98d65faff6SKrzysztof Kozlowski		som-vselect-hog {
99d65faff6SKrzysztof Kozlowski			gpio-hog;
100d65faff6SKrzysztof Kozlowski			gpios = <6 GPIO_ACTIVE_HIGH>;
101d65faff6SKrzysztof Kozlowski			output-low;
102d65faff6SKrzysztof Kozlowski			line-name = "som_vselect";
103d65faff6SKrzysztof Kozlowski		};
104d65faff6SKrzysztof Kozlowski
105d65faff6SKrzysztof Kozlowski		enet-sel-hog {
106d65faff6SKrzysztof Kozlowski			gpio-hog;
107d65faff6SKrzysztof Kozlowski			gpios = <7 GPIO_ACTIVE_HIGH>;
108d65faff6SKrzysztof Kozlowski			output-low;
109d65faff6SKrzysztof Kozlowski			line-name = "enet_sel";
110d65faff6SKrzysztof Kozlowski		};
111d65faff6SKrzysztof Kozlowski	};
112d65faff6SKrzysztof Kozlowski
113d65faff6SKrzysztof Kozlowski	extcon_usbotg1: typec@3d {
114d65faff6SKrzysztof Kozlowski		compatible = "nxp,ptn5150";
115d65faff6SKrzysztof Kozlowski		reg = <0x3d>;
1161d93b292SKrzysztof Kozlowski		interrupt-parent = <&gpio1>;
1171d93b292SKrzysztof Kozlowski		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
118d65faff6SKrzysztof Kozlowski		pinctrl-names = "default";
119d65faff6SKrzysztof Kozlowski		pinctrl-0 = <&pinctrl_ptn5150>;
120d65faff6SKrzysztof Kozlowski		status = "okay";
121d65faff6SKrzysztof Kozlowski	};
122d65faff6SKrzysztof Kozlowski};
123d65faff6SKrzysztof Kozlowski
124d65faff6SKrzysztof Kozlowski&i2c3 {
125d65faff6SKrzysztof Kozlowski	/* Capacitive touch controller */
126d65faff6SKrzysztof Kozlowski	ft5x06_ts: touchscreen@38 {
127d65faff6SKrzysztof Kozlowski		compatible = "edt,edt-ft5406";
128d65faff6SKrzysztof Kozlowski		reg = <0x38>;
129d65faff6SKrzysztof Kozlowski		pinctrl-names = "default";
130d65faff6SKrzysztof Kozlowski		pinctrl-0 = <&pinctrl_captouch>;
131d65faff6SKrzysztof Kozlowski		interrupt-parent = <&gpio5>;
1325f67317bSKrzysztof Kozlowski		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
133d65faff6SKrzysztof Kozlowski
134d65faff6SKrzysztof Kozlowski		touchscreen-size-x = <800>;
135d65faff6SKrzysztof Kozlowski		touchscreen-size-y = <480>;
136d65faff6SKrzysztof Kozlowski		touchscreen-inverted-x;
137d65faff6SKrzysztof Kozlowski		touchscreen-inverted-y;
138d65faff6SKrzysztof Kozlowski	};
139d65faff6SKrzysztof Kozlowski
140d65faff6SKrzysztof Kozlowski	rtc@68 {
141d65faff6SKrzysztof Kozlowski		compatible = "dallas,ds1337";
142d65faff6SKrzysztof Kozlowski		reg = <0x68>;
143d65faff6SKrzysztof Kozlowski	};
144d65faff6SKrzysztof Kozlowski};
145d65faff6SKrzysztof Kozlowski
146d65faff6SKrzysztof Kozlowski/* Header */
147d65faff6SKrzysztof Kozlowski&uart1 {
148d65faff6SKrzysztof Kozlowski	pinctrl-names = "default";
149d65faff6SKrzysztof Kozlowski	pinctrl-0 = <&pinctrl_uart1>;
150d65faff6SKrzysztof Kozlowski	status = "okay";
151d65faff6SKrzysztof Kozlowski};
152d65faff6SKrzysztof Kozlowski
153d65faff6SKrzysztof Kozlowski/* Header */
154d65faff6SKrzysztof Kozlowski&uart3 {
155d65faff6SKrzysztof Kozlowski	pinctrl-names = "default";
156d65faff6SKrzysztof Kozlowski	pinctrl-0 = <&pinctrl_uart3>;
157d65faff6SKrzysztof Kozlowski	status = "okay";
158d65faff6SKrzysztof Kozlowski};
159d65faff6SKrzysztof Kozlowski
160d65faff6SKrzysztof Kozlowski&usbotg1 {
161d65faff6SKrzysztof Kozlowski	disable-over-current;
162d65faff6SKrzysztof Kozlowski	extcon = <&extcon_usbotg1>, <&extcon_usbotg1>;
163d65faff6SKrzysztof Kozlowski};
164d65faff6SKrzysztof Kozlowski
165d65faff6SKrzysztof Kozlowski&usbotg2 {
166d65faff6SKrzysztof Kozlowski	dr_mode = "host";
167d65faff6SKrzysztof Kozlowski	vbus-supply = <&reg_usb_otg2_vbus>;
168d65faff6SKrzysztof Kozlowski	srp-disable;
169d65faff6SKrzysztof Kozlowski	hnp-disable;
170d65faff6SKrzysztof Kozlowski	adp-disable;
171d65faff6SKrzysztof Kozlowski	disable-over-current;
172d65faff6SKrzysztof Kozlowski	/delete-property/ usb-role-switch;
173d65faff6SKrzysztof Kozlowski	/*
174d65faff6SKrzysztof Kozlowski	 * FIXME: having USB2 enabled hangs the boot just after:
175d65faff6SKrzysztof Kozlowski	 * [    1.943365] ci_hdrc ci_hdrc.1: EHCI Host Controller
176d65faff6SKrzysztof Kozlowski	 * [    1.948287] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
177d65faff6SKrzysztof Kozlowski	 * [    1.971006] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
178d65faff6SKrzysztof Kozlowski	 * [    1.977203] hub 1-0:1.0: USB hub found
179d65faff6SKrzysztof Kozlowski	 * [    1.980987] hub 1-0:1.0: 1 port detected
180d65faff6SKrzysztof Kozlowski	 */
181d65faff6SKrzysztof Kozlowski	status = "disabled";
182d65faff6SKrzysztof Kozlowski};
183d65faff6SKrzysztof Kozlowski
18412cdf9d2SKrzysztof Kozlowski&pinctrl_fec1 {
18512cdf9d2SKrzysztof Kozlowski	fsl,pins = <
18612cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_MDC_ENET1_MDC			0x3
18712cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO		0x3
18812cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
18912cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
19012cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
19112cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
19212cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
19312cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
19412cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
19512cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
19612cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
19712cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
19812cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
19912cdf9d2SKrzysztof Kozlowski		MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
20012cdf9d2SKrzysztof Kozlowski		/* Remove the MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 as not used */
20112cdf9d2SKrzysztof Kozlowski	>;
20212cdf9d2SKrzysztof Kozlowski};
20312cdf9d2SKrzysztof Kozlowski
204d65faff6SKrzysztof Kozlowski&iomuxc {
205d65faff6SKrzysztof Kozlowski	pinctrl_captouch: captouchgrp {
206d65faff6SKrzysztof Kozlowski		fsl,pins = <
207d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4		0x16
208d65faff6SKrzysztof Kozlowski		>;
209d65faff6SKrzysztof Kozlowski	};
210d65faff6SKrzysztof Kozlowski
211d65faff6SKrzysztof Kozlowski	pinctrl_i2c2: i2c2grp {
212d65faff6SKrzysztof Kozlowski		fsl,pins = <
213d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL		0x400001c3
214d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA		0x400001c3
215d65faff6SKrzysztof Kozlowski		>;
216d65faff6SKrzysztof Kozlowski	};
217d65faff6SKrzysztof Kozlowski
218d65faff6SKrzysztof Kozlowski	pinctrl_pca9534: pca9534grp {
219d65faff6SKrzysztof Kozlowski		fsl,pins = <
220d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7	0x16
221d65faff6SKrzysztof Kozlowski		>;
222d65faff6SKrzysztof Kozlowski	};
223d65faff6SKrzysztof Kozlowski
224d65faff6SKrzysztof Kozlowski	pinctrl_ptn5150: ptn5150grp {
225d65faff6SKrzysztof Kozlowski		fsl,pins = <
226d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11	0x16
227d65faff6SKrzysztof Kozlowski		>;
228d65faff6SKrzysztof Kozlowski	};
229d65faff6SKrzysztof Kozlowski
230d65faff6SKrzysztof Kozlowski	pinctrl_reg_usb_otg2_vbus: regusbotg2vbusgrp {
231d65faff6SKrzysztof Kozlowski		fsl,pins = <
232d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1		0x16
233d65faff6SKrzysztof Kozlowski		>;
234d65faff6SKrzysztof Kozlowski	};
235d65faff6SKrzysztof Kozlowski
236d65faff6SKrzysztof Kozlowski	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
237d65faff6SKrzysztof Kozlowski		fsl,pins = <
238d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19	0x41
239d65faff6SKrzysztof Kozlowski		>;
240d65faff6SKrzysztof Kozlowski	};
241d65faff6SKrzysztof Kozlowski
242d65faff6SKrzysztof Kozlowski	pinctrl_uart1: uart1grp {
243d65faff6SKrzysztof Kozlowski		fsl,pins = <
244d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX	0x140
245d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX	0x140
246d65faff6SKrzysztof Kozlowski		>;
247d65faff6SKrzysztof Kozlowski	};
248d65faff6SKrzysztof Kozlowski
249d65faff6SKrzysztof Kozlowski	pinctrl_uart3: uart3grp {
250d65faff6SKrzysztof Kozlowski		fsl,pins = <
251d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX	0x140
252d65faff6SKrzysztof Kozlowski			MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX	0x140
253d65faff6SKrzysztof Kozlowski		>;
254d65faff6SKrzysztof Kozlowski	};
255d65faff6SKrzysztof Kozlowski};
256