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ðphy { 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