162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Supports Symphony evaluation board versions >= 1.4a.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2019-2020 Variscite Ltd.
662306a36Sopenharmony_ci * Copyright (C) 2020 Krzysztof Kozlowski <krzk@kernel.org>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h>
1262306a36Sopenharmony_ci#include "imx8mn-var-som.dtsi"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/ {
1562306a36Sopenharmony_ci	model = "Variscite VAR-SOM-MX8MN Symphony evaluation board";
1662306a36Sopenharmony_ci	compatible = "variscite,var-som-mx8mn-symphony", "variscite,var-som-mx8mn", "fsl,imx8mn";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
1962306a36Sopenharmony_ci		compatible = "regulator-fixed";
2062306a36Sopenharmony_ci		pinctrl-names = "default";
2162306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
2262306a36Sopenharmony_ci		regulator-name = "VSD_3V3";
2362306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
2462306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2562306a36Sopenharmony_ci		gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>;
2662306a36Sopenharmony_ci		enable-active-high;
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	gpio-keys {
3062306a36Sopenharmony_ci		compatible = "gpio-keys";
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		key-back {
3362306a36Sopenharmony_ci			label = "Back";
3462306a36Sopenharmony_ci			gpios = <&pca9534 1 GPIO_ACTIVE_LOW>;
3562306a36Sopenharmony_ci			linux,code = <KEY_BACK>;
3662306a36Sopenharmony_ci		};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		key-home {
3962306a36Sopenharmony_ci			label = "Home";
4062306a36Sopenharmony_ci			gpios = <&pca9534 2 GPIO_ACTIVE_LOW>;
4162306a36Sopenharmony_ci			linux,code = <KEY_HOME>;
4262306a36Sopenharmony_ci		};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci		key-menu {
4562306a36Sopenharmony_ci			label = "Menu";
4662306a36Sopenharmony_ci			gpios = <&pca9534 3 GPIO_ACTIVE_LOW>;
4762306a36Sopenharmony_ci			linux,code = <KEY_MENU>;
4862306a36Sopenharmony_ci		};
4962306a36Sopenharmony_ci	};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	leds {
5262306a36Sopenharmony_ci		compatible = "gpio-leds";
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		led {
5562306a36Sopenharmony_ci			label = "Heartbeat";
5662306a36Sopenharmony_ci			gpios = <&pca9534 0 GPIO_ACTIVE_LOW>;
5762306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
5862306a36Sopenharmony_ci		};
5962306a36Sopenharmony_ci	};
6062306a36Sopenharmony_ci};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci&ethphy {
6362306a36Sopenharmony_ci	reset-gpios = <&pca9534 5 GPIO_ACTIVE_HIGH>;
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci&i2c2 {
6762306a36Sopenharmony_ci	clock-frequency = <400000>;
6862306a36Sopenharmony_ci	pinctrl-names = "default";
6962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c2>;
7062306a36Sopenharmony_ci	status = "okay";
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	pca9534: gpio@20 {
7362306a36Sopenharmony_ci		compatible = "nxp,pca9534";
7462306a36Sopenharmony_ci		reg = <0x20>;
7562306a36Sopenharmony_ci		gpio-controller;
7662306a36Sopenharmony_ci		pinctrl-names = "default";
7762306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_pca9534>;
7862306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
7962306a36Sopenharmony_ci		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
8062306a36Sopenharmony_ci		#gpio-cells = <2>;
8162306a36Sopenharmony_ci		wakeup-source;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci		/* USB 3.0 OTG (usbotg1) / SATA port switch, set to USB 3.0 */
8462306a36Sopenharmony_ci		usb3-sata-sel-hog {
8562306a36Sopenharmony_ci			gpio-hog;
8662306a36Sopenharmony_ci			gpios = <4 GPIO_ACTIVE_HIGH>;
8762306a36Sopenharmony_ci			output-low;
8862306a36Sopenharmony_ci			line-name = "usb3_sata_sel";
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		som-vselect-hog {
9262306a36Sopenharmony_ci			gpio-hog;
9362306a36Sopenharmony_ci			gpios = <6 GPIO_ACTIVE_HIGH>;
9462306a36Sopenharmony_ci			output-low;
9562306a36Sopenharmony_ci			line-name = "som_vselect";
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		enet-sel-hog {
9962306a36Sopenharmony_ci			gpio-hog;
10062306a36Sopenharmony_ci			gpios = <7 GPIO_ACTIVE_HIGH>;
10162306a36Sopenharmony_ci			output-low;
10262306a36Sopenharmony_ci			line-name = "enet_sel";
10362306a36Sopenharmony_ci		};
10462306a36Sopenharmony_ci	};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	/*
10762306a36Sopenharmony_ci	 * For Symphony board version <= 1.4, the PTN5150 IRQ pin is connected
10862306a36Sopenharmony_ci	 * to GPIO1_IO11 on the SoM (R106 present, R132 absent). From Symphony
10962306a36Sopenharmony_ci	 * board version >= 1.4a, the PTN5150 ID pin is connected to GPIO1_IO11
11062306a36Sopenharmony_ci	 * on the SoM (R106 absent, R132 present).
11162306a36Sopenharmony_ci	 */
11262306a36Sopenharmony_ci	extcon_usbotg1: typec@3d {
11362306a36Sopenharmony_ci		compatible = "nxp,ptn5150";
11462306a36Sopenharmony_ci		reg = <0x3d>;
11562306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
11662306a36Sopenharmony_ci		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
11762306a36Sopenharmony_ci		pinctrl-names = "default";
11862306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_ptn5150>;
11962306a36Sopenharmony_ci		status = "okay";
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci		port {
12262306a36Sopenharmony_ci			typec1_dr_sw: endpoint {
12362306a36Sopenharmony_ci				remote-endpoint = <&usb1_drd_sw>;
12462306a36Sopenharmony_ci			};
12562306a36Sopenharmony_ci		};
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&i2c3 {
13062306a36Sopenharmony_ci	/* Capacitive touch controller */
13162306a36Sopenharmony_ci	ft5x06_ts: touchscreen@38 {
13262306a36Sopenharmony_ci		compatible = "edt,edt-ft5406";
13362306a36Sopenharmony_ci		reg = <0x38>;
13462306a36Sopenharmony_ci		pinctrl-names = "default";
13562306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_captouch>;
13662306a36Sopenharmony_ci		interrupt-parent = <&gpio5>;
13762306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		touchscreen-size-x = <800>;
14062306a36Sopenharmony_ci		touchscreen-size-y = <480>;
14162306a36Sopenharmony_ci		touchscreen-inverted-x;
14262306a36Sopenharmony_ci		touchscreen-inverted-y;
14362306a36Sopenharmony_ci	};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci	rtc@68 {
14662306a36Sopenharmony_ci		compatible = "dallas,ds1337";
14762306a36Sopenharmony_ci		reg = <0x68>;
14862306a36Sopenharmony_ci	};
14962306a36Sopenharmony_ci};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci/* Header */
15262306a36Sopenharmony_ci&uart1 {
15362306a36Sopenharmony_ci	pinctrl-names = "default";
15462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart1>;
15562306a36Sopenharmony_ci	status = "okay";
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci/* Header */
15962306a36Sopenharmony_ci&uart3 {
16062306a36Sopenharmony_ci	pinctrl-names = "default";
16162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart3>;
16262306a36Sopenharmony_ci	status = "okay";
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci&usbotg1 {
16662306a36Sopenharmony_ci	dr_mode = "otg";
16762306a36Sopenharmony_ci	hnp-disable;
16862306a36Sopenharmony_ci	srp-disable;
16962306a36Sopenharmony_ci	adp-disable;
17062306a36Sopenharmony_ci	usb-role-switch;
17162306a36Sopenharmony_ci	disable-over-current;
17262306a36Sopenharmony_ci	samsung,picophy-pre-emp-curr-control = <3>;
17362306a36Sopenharmony_ci	samsung,picophy-dc-vol-level-adjust = <7>;
17462306a36Sopenharmony_ci	status = "okay";
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci	port {
17762306a36Sopenharmony_ci		usb1_drd_sw: endpoint {
17862306a36Sopenharmony_ci			remote-endpoint = <&typec1_dr_sw>;
17962306a36Sopenharmony_ci		};
18062306a36Sopenharmony_ci	};
18162306a36Sopenharmony_ci};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci&iomuxc {
18462306a36Sopenharmony_ci	pinctrl_captouch: captouchgrp {
18562306a36Sopenharmony_ci		fsl,pins = <
18662306a36Sopenharmony_ci			MX8MN_IOMUXC_SPDIF_RX_GPIO5_IO4		0x16
18762306a36Sopenharmony_ci		>;
18862306a36Sopenharmony_ci	};
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci	pinctrl_i2c2: i2c2grp {
19162306a36Sopenharmony_ci		fsl,pins = <
19262306a36Sopenharmony_ci			MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL		0x400001c3
19362306a36Sopenharmony_ci			MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA		0x400001c3
19462306a36Sopenharmony_ci		>;
19562306a36Sopenharmony_ci	};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci	pinctrl_pca9534: pca9534grp {
19862306a36Sopenharmony_ci		fsl,pins = <
19962306a36Sopenharmony_ci			MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7	0x16
20062306a36Sopenharmony_ci		>;
20162306a36Sopenharmony_ci	};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci	pinctrl_ptn5150: ptn5150grp {
20462306a36Sopenharmony_ci		fsl,pins = <
20562306a36Sopenharmony_ci			MX8MN_IOMUXC_GPIO1_IO11_GPIO1_IO11	0x16
20662306a36Sopenharmony_ci		>;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
21062306a36Sopenharmony_ci		fsl,pins = <
21162306a36Sopenharmony_ci			MX8MN_IOMUXC_SAI2_RXC_GPIO4_IO22	0x41
21262306a36Sopenharmony_ci		>;
21362306a36Sopenharmony_ci	};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci	pinctrl_uart1: uart1grp {
21662306a36Sopenharmony_ci		fsl,pins = <
21762306a36Sopenharmony_ci			MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX	0x140
21862306a36Sopenharmony_ci			MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX	0x140
21962306a36Sopenharmony_ci		>;
22062306a36Sopenharmony_ci	};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci	pinctrl_uart3: uart3grp {
22362306a36Sopenharmony_ci		fsl,pins = <
22462306a36Sopenharmony_ci			MX8MN_IOMUXC_UART3_RXD_UART3_DCE_RX	0x140
22562306a36Sopenharmony_ci			MX8MN_IOMUXC_UART3_TXD_UART3_DCE_TX	0x140
22662306a36Sopenharmony_ci		>;
22762306a36Sopenharmony_ci	};
22862306a36Sopenharmony_ci};
229