1*5eb7405dSFedor Ross// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*5eb7405dSFedor Ross/* 3*5eb7405dSFedor Ross * Copyright 2020-2024 Fedor Ross <fedor.ross@ifm.com> 4*5eb7405dSFedor Ross */ 5*5eb7405dSFedor Ross 6*5eb7405dSFedor Ross/dts-v1/; 7*5eb7405dSFedor Ross 8*5eb7405dSFedor Ross#include "imx8mn-vhip4-evalboard-common.dtsi" 9*5eb7405dSFedor Ross 10*5eb7405dSFedor Ross/ { 11*5eb7405dSFedor Ross model = "ifm i.MX8MNano VHIP4 Evaluation Board v1"; 12*5eb7405dSFedor Ross compatible = "ifm,imx8mn-vhip4-evalboard-v1", "ifm,imx8mn-vhip4-evalboard", 13*5eb7405dSFedor Ross "ifm,imx8mn-vhip4", "fsl,imx8mn"; 14*5eb7405dSFedor Ross}; 15*5eb7405dSFedor Ross 16*5eb7405dSFedor Ross&ifm_led { 17*5eb7405dSFedor Ross pinctrl-1 = <&pinctrl_gpio_led_v1>; 18*5eb7405dSFedor Ross 19*5eb7405dSFedor Ross led-2 { 20*5eb7405dSFedor Ross function = LED_FUNCTION_STATUS; 21*5eb7405dSFedor Ross function-enumerator = <3>; 22*5eb7405dSFedor Ross color = <LED_COLOR_ID_YELLOW>; 23*5eb7405dSFedor Ross gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; 24*5eb7405dSFedor Ross default-state = "keep"; 25*5eb7405dSFedor Ross }; 26*5eb7405dSFedor Ross 27*5eb7405dSFedor Ross led-3 { 28*5eb7405dSFedor Ross function = LED_FUNCTION_STATUS; 29*5eb7405dSFedor Ross function-enumerator = <4>; 30*5eb7405dSFedor Ross color = <LED_COLOR_ID_GREEN>; 31*5eb7405dSFedor Ross gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 32*5eb7405dSFedor Ross default-state = "keep"; 33*5eb7405dSFedor Ross }; 34*5eb7405dSFedor Ross}; 35*5eb7405dSFedor Ross 36*5eb7405dSFedor Ross&ecspi1 { 37*5eb7405dSFedor Ross cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio5 21 GPIO_ACTIVE_LOW>; 38*5eb7405dSFedor Ross status = "okay"; 39*5eb7405dSFedor Ross 40*5eb7405dSFedor Ross eeprom@0 { 41*5eb7405dSFedor Ross compatible = "anvo,anv32c81w", "atmel,at25"; 42*5eb7405dSFedor Ross reg = <0>; 43*5eb7405dSFedor Ross spi-max-frequency = <20000000>; 44*5eb7405dSFedor Ross spi-cpha; 45*5eb7405dSFedor Ross spi-cpol; 46*5eb7405dSFedor Ross pagesize = <1>; 47*5eb7405dSFedor Ross size = <32768>; 48*5eb7405dSFedor Ross address-width = <16>; 49*5eb7405dSFedor Ross }; 50*5eb7405dSFedor Ross}; 51*5eb7405dSFedor Ross 52*5eb7405dSFedor Ross&ecspi3 { 53*5eb7405dSFedor Ross cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>, <&gpio5 4 GPIO_ACTIVE_LOW>; 54*5eb7405dSFedor Ross status = "okay"; 55*5eb7405dSFedor Ross 56*5eb7405dSFedor Ross can0: can@0 { 57*5eb7405dSFedor Ross compatible = "microchip,mcp25625"; 58*5eb7405dSFedor Ross pinctrl-names = "default"; 59*5eb7405dSFedor Ross pinctrl-0 = <&pinctrl_mcp25625>; 60*5eb7405dSFedor Ross reg = <0>; 61*5eb7405dSFedor Ross clocks = <&can_clk20m>; 62*5eb7405dSFedor Ross interrupt-parent = <&gpio4>; 63*5eb7405dSFedor Ross interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 64*5eb7405dSFedor Ross gpio-controller; 65*5eb7405dSFedor Ross #gpio-cells = <2>; 66*5eb7405dSFedor Ross }; 67*5eb7405dSFedor Ross 68*5eb7405dSFedor Ross can1: can@1 { 69*5eb7405dSFedor Ross compatible = "microchip,mcp2518fd"; 70*5eb7405dSFedor Ross pinctrl-names = "default"; 71*5eb7405dSFedor Ross pinctrl-0 = <&pinctrl_mcp2518>; 72*5eb7405dSFedor Ross reg = <1>; 73*5eb7405dSFedor Ross clocks = <&can_clk40m>; 74*5eb7405dSFedor Ross interrupt-parent = <&gpio5>; 75*5eb7405dSFedor Ross interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 76*5eb7405dSFedor Ross microchip,rx-int-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; 77*5eb7405dSFedor Ross spi-max-frequency = <20000000>; 78*5eb7405dSFedor Ross }; 79*5eb7405dSFedor Ross}; 80*5eb7405dSFedor Ross 81*5eb7405dSFedor Ross&i2c1 { 82*5eb7405dSFedor Ross scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 83*5eb7405dSFedor Ross sda-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>; 84*5eb7405dSFedor Ross status = "okay"; 85*5eb7405dSFedor Ross 86*5eb7405dSFedor Ross temperature-sensor@48 { 87*5eb7405dSFedor Ross compatible = "national,lm75"; 88*5eb7405dSFedor Ross reg = <0x48>; 89*5eb7405dSFedor Ross }; 90*5eb7405dSFedor Ross 91*5eb7405dSFedor Ross eeprom@50 { 92*5eb7405dSFedor Ross compatible = "atmel,24c128"; 93*5eb7405dSFedor Ross reg = <0x50>; 94*5eb7405dSFedor Ross }; 95*5eb7405dSFedor Ross}; 96*5eb7405dSFedor Ross 97*5eb7405dSFedor Ross&i2c2 { 98*5eb7405dSFedor Ross clock-frequency = <100000>; 99*5eb7405dSFedor Ross pinctrl-names = "default", "gpio"; 100*5eb7405dSFedor Ross pinctrl-0 = <&pinctrl_i2c2>; 101*5eb7405dSFedor Ross pinctrl-1 = <&pinctrl_i2c2_gpio>; 102*5eb7405dSFedor Ross scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 103*5eb7405dSFedor Ross sda-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; 104*5eb7405dSFedor Ross status = "okay"; 105*5eb7405dSFedor Ross}; 106*5eb7405dSFedor Ross 107*5eb7405dSFedor Ross&i2c3 { 108*5eb7405dSFedor Ross scl-gpios = <&gpio2 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 109*5eb7405dSFedor Ross sda-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; 110*5eb7405dSFedor Ross status = "okay"; 111*5eb7405dSFedor Ross}; 112*5eb7405dSFedor Ross 113*5eb7405dSFedor Ross&ifm_pmic { 114*5eb7405dSFedor Ross interrupt-parent = <&gpio2>; 115*5eb7405dSFedor Ross interrupts = <0 GPIO_ACTIVE_LOW>; 116*5eb7405dSFedor Ross}; 117*5eb7405dSFedor Ross 118*5eb7405dSFedor Ross&iomuxc { 119*5eb7405dSFedor Ross pinctrl_ecspi1_cs: ecspi1-cs-grp { 120*5eb7405dSFedor Ross fsl,pins = < 121*5eb7405dSFedor Ross /* KS8794 nCS */ 122*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C4_SDA_GPIO5_IO21 0x150 123*5eb7405dSFedor Ross /* ANV32C81 nCS */ 124*5eb7405dSFedor Ross MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x150 125*5eb7405dSFedor Ross >; 126*5eb7405dSFedor Ross }; 127*5eb7405dSFedor Ross 128*5eb7405dSFedor Ross pinctrl_ecspi3_cs: ecspi3-cs-grp { 129*5eb7405dSFedor Ross fsl,pins = < 130*5eb7405dSFedor Ross /* MCP25625 nCS */ 131*5eb7405dSFedor Ross MX8MN_IOMUXC_UART2_TXD_GPIO5_IO25 0x150 132*5eb7405dSFedor Ross /* MCP2518FD nCS */ 133*5eb7405dSFedor Ross MX8MN_IOMUXC_SPDIF_RX_GPIO5_IO4 0x150 134*5eb7405dSFedor Ross >; 135*5eb7405dSFedor Ross }; 136*5eb7405dSFedor Ross 137*5eb7405dSFedor Ross pinctrl_gpio_5: gpio5-grp { 138*5eb7405dSFedor Ross fsl,pins = < 139*5eb7405dSFedor Ross /* CFG_EEPROM_WP */ 140*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C4_SCL_GPIO5_IO20 0x140 141*5eb7405dSFedor Ross >; 142*5eb7405dSFedor Ross }; 143*5eb7405dSFedor Ross 144*5eb7405dSFedor Ross pinctrl_gpio_led_v1: gpioled-v1-grp { 145*5eb7405dSFedor Ross fsl,pins = < 146*5eb7405dSFedor Ross MX8MN_IOMUXC_SD2_DATA2_GPIO2_IO17 0x116 147*5eb7405dSFedor Ross MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x116 148*5eb7405dSFedor Ross >; 149*5eb7405dSFedor Ross }; 150*5eb7405dSFedor Ross 151*5eb7405dSFedor Ross pinctrl_i2c1: i2c1-grp { 152*5eb7405dSFedor Ross fsl,pins = < 153*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000056 154*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400000d6 155*5eb7405dSFedor Ross >; 156*5eb7405dSFedor Ross }; 157*5eb7405dSFedor Ross 158*5eb7405dSFedor Ross pinctrl_i2c1_gpio: i2c1-gpio-grp { 159*5eb7405dSFedor Ross fsl,pins = < 160*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C1_SCL_GPIO5_IO14 0x56 161*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C1_SDA_GPIO5_IO15 0xd6 162*5eb7405dSFedor Ross >; 163*5eb7405dSFedor Ross }; 164*5eb7405dSFedor Ross 165*5eb7405dSFedor Ross pinctrl_i2c2: i2c2-grp { 166*5eb7405dSFedor Ross fsl,pins = < 167*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000056 168*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400000d6 169*5eb7405dSFedor Ross >; 170*5eb7405dSFedor Ross }; 171*5eb7405dSFedor Ross 172*5eb7405dSFedor Ross pinctrl_i2c2_gpio: i2c2-gpio-grp { 173*5eb7405dSFedor Ross fsl,pins = < 174*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C2_SCL_GPIO5_IO16 0x56 175*5eb7405dSFedor Ross MX8MN_IOMUXC_I2C2_SDA_GPIO5_IO17 0xd6 176*5eb7405dSFedor Ross >; 177*5eb7405dSFedor Ross }; 178*5eb7405dSFedor Ross 179*5eb7405dSFedor Ross pinctrl_i2c3: i2c3-grp { 180*5eb7405dSFedor Ross fsl,pins = < 181*5eb7405dSFedor Ross MX8MN_IOMUXC_SD1_RESET_B_I2C3_SCL 0x40000056 182*5eb7405dSFedor Ross MX8MN_IOMUXC_SD1_STROBE_I2C3_SDA 0x400000d6 183*5eb7405dSFedor Ross >; 184*5eb7405dSFedor Ross }; 185*5eb7405dSFedor Ross 186*5eb7405dSFedor Ross pinctrl_i2c3_gpio: i2c3-gpio-grp { 187*5eb7405dSFedor Ross fsl,pins = < 188*5eb7405dSFedor Ross MX8MN_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x56 189*5eb7405dSFedor Ross MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0xd6 190*5eb7405dSFedor Ross >; 191*5eb7405dSFedor Ross }; 192*5eb7405dSFedor Ross 193*5eb7405dSFedor Ross pinctrl_mcp2518: mcp2518-grp { 194*5eb7405dSFedor Ross fsl,pins = < 195*5eb7405dSFedor Ross /* MCP2518 nINT line */ 196*5eb7405dSFedor Ross MX8MN_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x116 197*5eb7405dSFedor Ross /* MCP2518 nINT1/GPIO1 line */ 198*5eb7405dSFedor Ross MX8MN_IOMUXC_SAI3_TXD_GPIO5_IO1 0x116 199*5eb7405dSFedor Ross >; 200*5eb7405dSFedor Ross }; 201*5eb7405dSFedor Ross 202*5eb7405dSFedor Ross pinctrl_mcp25625: mcp25625-grp { 203*5eb7405dSFedor Ross fsl,pins = < 204*5eb7405dSFedor Ross /* MCP25625 nINT line */ 205*5eb7405dSFedor Ross MX8MN_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x156 206*5eb7405dSFedor Ross >; 207*5eb7405dSFedor Ross }; 208*5eb7405dSFedor Ross 209*5eb7405dSFedor Ross pinctrl_pmic: pmic-irq-grp { 210*5eb7405dSFedor Ross fsl,pins = < 211*5eb7405dSFedor Ross MX8MN_IOMUXC_SD1_CLK_GPIO2_IO0 0x16 212*5eb7405dSFedor Ross >; 213*5eb7405dSFedor Ross }; 214*5eb7405dSFedor Ross 215*5eb7405dSFedor Ross pinctrl_uart3: uart3-grp { 216*5eb7405dSFedor Ross fsl,pins = < 217*5eb7405dSFedor Ross MX8MN_IOMUXC_UART3_RXD_UART3_DCE_RX 0x142 218*5eb7405dSFedor Ross MX8MN_IOMUXC_UART3_TXD_UART3_DCE_TX 0x142 219*5eb7405dSFedor Ross >; 220*5eb7405dSFedor Ross }; 221*5eb7405dSFedor Ross 222*5eb7405dSFedor Ross pinctrl_usb_nreset: usbnreset-grp { 223*5eb7405dSFedor Ross fsl,pins = < 224*5eb7405dSFedor Ross MX8MN_IOMUXC_SAI3_RXC_GPIO4_IO29 0x14a 225*5eb7405dSFedor Ross >; 226*5eb7405dSFedor Ross }; 227*5eb7405dSFedor Ross 228*5eb7405dSFedor Ross pinctrl_wdog: wdog-grp { 229*5eb7405dSFedor Ross fsl,pins = < 230*5eb7405dSFedor Ross MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x64 231*5eb7405dSFedor Ross >; 232*5eb7405dSFedor Ross }; 233*5eb7405dSFedor Ross}; 234*5eb7405dSFedor Ross 235*5eb7405dSFedor Ross&gpio5 { 236*5eb7405dSFedor Ross pinctrl-names = "default"; 237*5eb7405dSFedor Ross pinctrl-0 = <&pinctrl_gpio_5>; 238*5eb7405dSFedor Ross gpio-line-names = 239*5eb7405dSFedor Ross "", "", "", "", "", "", "", "", 240*5eb7405dSFedor Ross "", "", "", "", "", "", "", "", 241*5eb7405dSFedor Ross "", "", "", "", 242*5eb7405dSFedor Ross "ifm_device_info_eeprom_wp", 243*5eb7405dSFedor Ross "", "", "", 244*5eb7405dSFedor Ross "", "", "", "", "", "", "", ""; 245*5eb7405dSFedor Ross}; 246*5eb7405dSFedor Ross 247*5eb7405dSFedor Ross&usbotg1 { 248*5eb7405dSFedor Ross pinctrl-names = "default"; 249*5eb7405dSFedor Ross pinctrl-0 = <&pinctrl_usb_nreset>; 250*5eb7405dSFedor Ross #address-cells = <1>; 251*5eb7405dSFedor Ross #size-cells = <0>; 252*5eb7405dSFedor Ross 253*5eb7405dSFedor Ross usb-hub@1 { 254*5eb7405dSFedor Ross compatible = "usb424,2512", "usb424,2514"; 255*5eb7405dSFedor Ross reg = <1>; 256*5eb7405dSFedor Ross reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>; 257*5eb7405dSFedor Ross }; 258*5eb7405dSFedor Ross}; 259