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ðphy { 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 = <®_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