1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright 2018 Einfochips 4c66ec88fSEmmanuel Vadot * Copyright 2019 Linaro Ltd. 5c66ec88fSEmmanuel Vadot */ 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot/dts-v1/; 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot#include "imx8qxp.dtsi" 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot/ { 12c66ec88fSEmmanuel Vadot model = "Einfochips i.MX8QXP AI_ML"; 13c66ec88fSEmmanuel Vadot compatible = "einfochips,imx8qxp-ai_ml", "fsl,imx8qxp"; 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadot aliases { 16*2eb4d8dcSEmmanuel Vadot serial1 = &lpuart1; 17*2eb4d8dcSEmmanuel Vadot serial2 = &lpuart2; 18*2eb4d8dcSEmmanuel Vadot serial3 = &lpuart3; 19c66ec88fSEmmanuel Vadot }; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot chosen { 22*2eb4d8dcSEmmanuel Vadot stdout-path = &lpuart2; 23c66ec88fSEmmanuel Vadot }; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot memory@80000000 { 26c66ec88fSEmmanuel Vadot device_type = "memory"; 27c66ec88fSEmmanuel Vadot reg = <0x00000000 0x80000000 0 0x80000000>; 28c66ec88fSEmmanuel Vadot }; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot leds { 31c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 32c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 33c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_leds>; 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot user-led1 { 36c66ec88fSEmmanuel Vadot label = "green:user1"; 37c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio4 16 GPIO_ACTIVE_HIGH>; 38c66ec88fSEmmanuel Vadot linux,default-trigger = "heartbeat"; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot user-led2 { 42c66ec88fSEmmanuel Vadot label = "green:user2"; 43c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio0 6 GPIO_ACTIVE_HIGH>; 44c66ec88fSEmmanuel Vadot linux,default-trigger = "none"; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot user-led3 { 48c66ec88fSEmmanuel Vadot label = "green:user3"; 49c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio0 7 GPIO_ACTIVE_HIGH>; 50c66ec88fSEmmanuel Vadot linux,default-trigger = "mmc1"; 51c66ec88fSEmmanuel Vadot default-state = "off"; 52c66ec88fSEmmanuel Vadot }; 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel Vadot user-led4 { 55c66ec88fSEmmanuel Vadot label = "green:user4"; 56c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>; 57c66ec88fSEmmanuel Vadot panic-indicator; 58c66ec88fSEmmanuel Vadot linux,default-trigger = "none"; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot wlan-active-led { 62c66ec88fSEmmanuel Vadot label = "yellow:wlan"; 63c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio4 17 GPIO_ACTIVE_HIGH>; 64c66ec88fSEmmanuel Vadot linux,default-trigger = "phy0tx"; 65c66ec88fSEmmanuel Vadot default-state = "off"; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot bt-active-led { 69c66ec88fSEmmanuel Vadot label = "blue:bt"; 70c66ec88fSEmmanuel Vadot gpios = <&lsio_gpio4 18 GPIO_ACTIVE_HIGH>; 71c66ec88fSEmmanuel Vadot linux,default-trigger = "hci0-power"; 72c66ec88fSEmmanuel Vadot default-state = "off"; 73c66ec88fSEmmanuel Vadot }; 74c66ec88fSEmmanuel Vadot }; 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 77c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 78c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 79c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_wifi_reg_on>; 80c66ec88fSEmmanuel Vadot reset-gpios = <&lsio_gpio3 24 GPIO_ACTIVE_LOW>; 81c66ec88fSEmmanuel Vadot }; 82c66ec88fSEmmanuel Vadot}; 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot/* BT */ 85*2eb4d8dcSEmmanuel Vadot&lpuart0 { 86c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 87c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_lpuart0>; 88c66ec88fSEmmanuel Vadot uart-has-rtscts; 89c66ec88fSEmmanuel Vadot status = "okay"; 90c66ec88fSEmmanuel Vadot}; 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot/* LS-UART0 */ 93*2eb4d8dcSEmmanuel Vadot&lpuart1 { 94c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 95c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_lpuart1>; 96c66ec88fSEmmanuel Vadot status = "okay"; 97c66ec88fSEmmanuel Vadot}; 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot/* Debug */ 100*2eb4d8dcSEmmanuel Vadot&lpuart2 { 101c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 102c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_lpuart2>; 103c66ec88fSEmmanuel Vadot status = "okay"; 104c66ec88fSEmmanuel Vadot}; 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot/* PCI-E UART */ 107*2eb4d8dcSEmmanuel Vadot&lpuart3 { 108c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 109c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_lpuart3>; 110c66ec88fSEmmanuel Vadot status = "okay"; 111c66ec88fSEmmanuel Vadot}; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot&fec1 { 114c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 115c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_fec1>; 116c66ec88fSEmmanuel Vadot phy-mode = "rgmii-id"; 117c66ec88fSEmmanuel Vadot phy-handle = <ðphy0>; 118c66ec88fSEmmanuel Vadot fsl,magic-packet; 119c66ec88fSEmmanuel Vadot status = "okay"; 120c66ec88fSEmmanuel Vadot 121c66ec88fSEmmanuel Vadot mdio { 122c66ec88fSEmmanuel Vadot #address-cells = <1>; 123c66ec88fSEmmanuel Vadot #size-cells = <0>; 124c66ec88fSEmmanuel Vadot 125c66ec88fSEmmanuel Vadot ethphy0: ethernet-phy@0 { 126c66ec88fSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 127c66ec88fSEmmanuel Vadot reg = <0>; 128c66ec88fSEmmanuel Vadot }; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot}; 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot/* WiFi */ 133c66ec88fSEmmanuel Vadot&usdhc1 { 134c66ec88fSEmmanuel Vadot #address-cells = <1>; 135c66ec88fSEmmanuel Vadot #size-cells = <0>; 136*2eb4d8dcSEmmanuel Vadot assigned-clocks = <&clk IMX_SC_R_SDHC_0 IMX_SC_PM_CLK_PER>; 137c66ec88fSEmmanuel Vadot assigned-clock-rates = <200000000>; 138c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 139c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc1>; 140c66ec88fSEmmanuel Vadot bus-width = <4>; 141c66ec88fSEmmanuel Vadot no-sd; 142c66ec88fSEmmanuel Vadot non-removable; 143c66ec88fSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 144c66ec88fSEmmanuel Vadot status = "okay"; 145c66ec88fSEmmanuel Vadot 146c66ec88fSEmmanuel Vadot brcmf: wifi@1 { 147c66ec88fSEmmanuel Vadot reg = <1>; 148c66ec88fSEmmanuel Vadot compatible = "brcm,bcm4329-fmac"; 149c66ec88fSEmmanuel Vadot }; 150c66ec88fSEmmanuel Vadot}; 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot/* SD */ 153c66ec88fSEmmanuel Vadot&usdhc2 { 154*2eb4d8dcSEmmanuel Vadot assigned-clocks = <&clk IMX_SC_R_SDHC_1 IMX_SC_PM_CLK_PER>; 155c66ec88fSEmmanuel Vadot assigned-clock-rates = <200000000>; 156c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 157c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc2>; 158c66ec88fSEmmanuel Vadot bus-width = <4>; 159c66ec88fSEmmanuel Vadot cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>; 160c66ec88fSEmmanuel Vadot status = "okay"; 161c66ec88fSEmmanuel Vadot}; 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel Vadot&iomuxc { 164c66ec88fSEmmanuel Vadot pinctrl_fec1: fec1grp { 165c66ec88fSEmmanuel Vadot fsl,pins = < 166c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_MDC_CONN_ENET0_MDC 0x06000020 167c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020 168c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x06000020 169c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC 0x06000020 170c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x06000020 171c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x06000020 172c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2 0x06000020 173c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3 0x06000020 174c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC 0x06000020 175c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x06000020 176c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x06000020 177c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x06000020 178c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x06000020 179c66ec88fSEmmanuel Vadot IMX8QXP_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x06000020 180c66ec88fSEmmanuel Vadot >; 181c66ec88fSEmmanuel Vadot }; 182c66ec88fSEmmanuel Vadot 183c66ec88fSEmmanuel Vadot pinctrl_leds: ledsgrp { 184c66ec88fSEmmanuel Vadot fsl,pins = < 185c66ec88fSEmmanuel Vadot IMX8QXP_ESAI0_TX2_RX3_LSIO_GPIO0_IO06 0x00000021 186c66ec88fSEmmanuel Vadot IMX8QXP_ESAI0_TX3_RX2_LSIO_GPIO0_IO07 0x00000021 187c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_DATA7_LSIO_GPIO4_IO16 0x00000021 188c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_WP_LSIO_GPIO4_IO21 0x00000021 189c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_STROBE_LSIO_GPIO4_IO17 0x00000021 190c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_RESET_B_LSIO_GPIO4_IO18 0x00000021 191c66ec88fSEmmanuel Vadot >; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot pinctrl_lpuart0: lpuart0grp { 195c66ec88fSEmmanuel Vadot fsl,pins = < 196c66ec88fSEmmanuel Vadot IMX8QXP_UART0_RX_ADMA_UART0_RX 0X06000020 197c66ec88fSEmmanuel Vadot IMX8QXP_UART0_TX_ADMA_UART0_TX 0X06000020 198c66ec88fSEmmanuel Vadot IMX8QXP_FLEXCAN0_TX_ADMA_UART0_CTS_B 0x06000020 199c66ec88fSEmmanuel Vadot IMX8QXP_FLEXCAN0_RX_ADMA_UART0_RTS_B 0x06000020 200c66ec88fSEmmanuel Vadot >; 201c66ec88fSEmmanuel Vadot }; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot pinctrl_lpuart1: lpuart1grp { 204c66ec88fSEmmanuel Vadot fsl,pins = < 205c66ec88fSEmmanuel Vadot IMX8QXP_UART1_RX_ADMA_UART1_RX 0X06000020 206c66ec88fSEmmanuel Vadot IMX8QXP_UART1_TX_ADMA_UART1_TX 0X06000020 207c66ec88fSEmmanuel Vadot >; 208c66ec88fSEmmanuel Vadot }; 209c66ec88fSEmmanuel Vadot 210c66ec88fSEmmanuel Vadot pinctrl_lpuart2: lpuart2grp { 211c66ec88fSEmmanuel Vadot fsl,pins = < 212c66ec88fSEmmanuel Vadot IMX8QXP_UART2_RX_ADMA_UART2_RX 0X06000020 213c66ec88fSEmmanuel Vadot IMX8QXP_UART2_TX_ADMA_UART2_TX 0X06000020 214c66ec88fSEmmanuel Vadot >; 215c66ec88fSEmmanuel Vadot }; 216c66ec88fSEmmanuel Vadot 217c66ec88fSEmmanuel Vadot pinctrl_lpuart3: lpuart3grp { 218c66ec88fSEmmanuel Vadot fsl,pins = < 219c66ec88fSEmmanuel Vadot IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX 0X06000020 220c66ec88fSEmmanuel Vadot IMX8QXP_FLEXCAN2_TX_ADMA_UART3_TX 0X06000020 221c66ec88fSEmmanuel Vadot >; 222c66ec88fSEmmanuel Vadot }; 223c66ec88fSEmmanuel Vadot 224c66ec88fSEmmanuel Vadot pinctrl_usdhc1: usdhc1grp { 225c66ec88fSEmmanuel Vadot fsl,pins = < 226c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041 227c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000021 228c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000021 229c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000021 230c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000021 231c66ec88fSEmmanuel Vadot IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000021 232c66ec88fSEmmanuel Vadot >; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot pinctrl_usdhc2: usdhc2grp { 236c66ec88fSEmmanuel Vadot fsl,pins = < 237c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK 0x06000041 238c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD 0x00000021 239c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0 0x00000021 240c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1 0x00000021 241c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2 0x00000021 242c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3 0x00000021 243c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x00000021 244c66ec88fSEmmanuel Vadot IMX8QXP_USDHC1_CD_B_LSIO_GPIO4_IO22 0x00000021 245c66ec88fSEmmanuel Vadot >; 246c66ec88fSEmmanuel Vadot }; 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot pinctrl_wifi_reg_on: wifiregongrp { 249c66ec88fSEmmanuel Vadot fsl,pins = < 250c66ec88fSEmmanuel Vadot IMX8QXP_QSPI0B_SS1_B_LSIO_GPIO3_IO24 0x00000021 251c66ec88fSEmmanuel Vadot >; 252c66ec88fSEmmanuel Vadot }; 253c66ec88fSEmmanuel Vadot}; 254