156838644SManivannan Sadhasivam// SPDX-License-Identifier: GPL-2.0+
256838644SManivannan Sadhasivam/*
356838644SManivannan Sadhasivam * Copyright 2018 Einfochips
456838644SManivannan Sadhasivam * Copyright 2019 Linaro Ltd.
556838644SManivannan Sadhasivam */
656838644SManivannan Sadhasivam
756838644SManivannan Sadhasivam/dts-v1/;
856838644SManivannan Sadhasivam
956838644SManivannan Sadhasivam#include "imx8qxp.dtsi"
1056838644SManivannan Sadhasivam
1156838644SManivannan Sadhasivam/ {
1256838644SManivannan Sadhasivam	model = "Einfochips i.MX8QXP AI_ML";
1356838644SManivannan Sadhasivam	compatible = "einfochips,imx8qxp-ai_ml", "fsl,imx8qxp";
1456838644SManivannan Sadhasivam
1556838644SManivannan Sadhasivam	aliases {
1656838644SManivannan Sadhasivam		serial1 = &adma_lpuart1;
1756838644SManivannan Sadhasivam		serial2 = &adma_lpuart2;
1856838644SManivannan Sadhasivam		serial3 = &adma_lpuart3;
1956838644SManivannan Sadhasivam	};
2056838644SManivannan Sadhasivam
2156838644SManivannan Sadhasivam	chosen {
2256838644SManivannan Sadhasivam		stdout-path = &adma_lpuart2;
2356838644SManivannan Sadhasivam	};
2456838644SManivannan Sadhasivam
2556838644SManivannan Sadhasivam	memory@80000000 {
2656838644SManivannan Sadhasivam		device_type = "memory";
2756838644SManivannan Sadhasivam		reg = <0x00000000 0x80000000 0 0x80000000>;
2856838644SManivannan Sadhasivam	};
2956838644SManivannan Sadhasivam
3056838644SManivannan Sadhasivam	leds {
3156838644SManivannan Sadhasivam		compatible = "gpio-leds";
3256838644SManivannan Sadhasivam		pinctrl-names = "default";
3356838644SManivannan Sadhasivam		pinctrl-0 = <&pinctrl_leds>;
3456838644SManivannan Sadhasivam
3556838644SManivannan Sadhasivam		user-led1 {
3656838644SManivannan Sadhasivam			label = "green:user1";
3756838644SManivannan Sadhasivam			gpios = <&lsio_gpio4 16 GPIO_ACTIVE_HIGH>;
3856838644SManivannan Sadhasivam			linux,default-trigger = "heartbeat";
3956838644SManivannan Sadhasivam		};
4056838644SManivannan Sadhasivam
4156838644SManivannan Sadhasivam		user-led2 {
4256838644SManivannan Sadhasivam			label = "green:user2";
4356838644SManivannan Sadhasivam			gpios = <&lsio_gpio0 6 GPIO_ACTIVE_HIGH>;
4456838644SManivannan Sadhasivam			linux,default-trigger = "none";
4556838644SManivannan Sadhasivam		};
4656838644SManivannan Sadhasivam
4756838644SManivannan Sadhasivam		user-led3 {
4856838644SManivannan Sadhasivam			label = "green:user3";
4956838644SManivannan Sadhasivam			gpios = <&lsio_gpio0 7 GPIO_ACTIVE_HIGH>;
5056838644SManivannan Sadhasivam			linux,default-trigger = "mmc1";
5156838644SManivannan Sadhasivam			default-state = "off";
5256838644SManivannan Sadhasivam		};
5356838644SManivannan Sadhasivam
5456838644SManivannan Sadhasivam		user-led4 {
5556838644SManivannan Sadhasivam			label = "green:user4";
5656838644SManivannan Sadhasivam			gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>;
5756838644SManivannan Sadhasivam			panic-indicator;
5856838644SManivannan Sadhasivam			linux,default-trigger = "none";
5956838644SManivannan Sadhasivam		};
6056838644SManivannan Sadhasivam
6156838644SManivannan Sadhasivam		wlan-active-led {
6256838644SManivannan Sadhasivam			label = "yellow:wlan";
6356838644SManivannan Sadhasivam			gpios = <&lsio_gpio4 17 GPIO_ACTIVE_HIGH>;
6456838644SManivannan Sadhasivam			linux,default-trigger = "phy0tx";
6556838644SManivannan Sadhasivam			default-state = "off";
6656838644SManivannan Sadhasivam		};
6756838644SManivannan Sadhasivam
6856838644SManivannan Sadhasivam		bt-active-led {
6956838644SManivannan Sadhasivam			label = "blue:bt";
7056838644SManivannan Sadhasivam			gpios = <&lsio_gpio4 18 GPIO_ACTIVE_HIGH>;
7156838644SManivannan Sadhasivam			linux,default-trigger = "hci0-power";
7256838644SManivannan Sadhasivam			default-state = "off";
7356838644SManivannan Sadhasivam		};
7456838644SManivannan Sadhasivam	};
7556838644SManivannan Sadhasivam
7656838644SManivannan Sadhasivam	sdio_pwrseq: sdio-pwrseq {
7756838644SManivannan Sadhasivam		compatible = "mmc-pwrseq-simple";
7856838644SManivannan Sadhasivam		pinctrl-names = "default";
7956838644SManivannan Sadhasivam		pinctrl-0 = <&pinctrl_wifi_reg_on>;
8056838644SManivannan Sadhasivam		reset-gpios = <&lsio_gpio3 24 GPIO_ACTIVE_LOW>;
8156838644SManivannan Sadhasivam	};
8256838644SManivannan Sadhasivam};
8356838644SManivannan Sadhasivam
8456838644SManivannan Sadhasivam/* BT */
8556838644SManivannan Sadhasivam&adma_lpuart0 {
8656838644SManivannan Sadhasivam	pinctrl-names = "default";
8756838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_lpuart0>;
8856838644SManivannan Sadhasivam	uart-has-rtscts;
8956838644SManivannan Sadhasivam	status = "okay";
9056838644SManivannan Sadhasivam};
9156838644SManivannan Sadhasivam
9256838644SManivannan Sadhasivam/* LS-UART0 */
9356838644SManivannan Sadhasivam&adma_lpuart1 {
9456838644SManivannan Sadhasivam	pinctrl-names = "default";
9556838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_lpuart1>;
9656838644SManivannan Sadhasivam	status = "okay";
9756838644SManivannan Sadhasivam};
9856838644SManivannan Sadhasivam
9956838644SManivannan Sadhasivam/* Debug */
10056838644SManivannan Sadhasivam&adma_lpuart2 {
10156838644SManivannan Sadhasivam	pinctrl-names = "default";
10256838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_lpuart2>;
10356838644SManivannan Sadhasivam	status = "okay";
10456838644SManivannan Sadhasivam};
10556838644SManivannan Sadhasivam
10656838644SManivannan Sadhasivam/* PCI-E UART */
10756838644SManivannan Sadhasivam&adma_lpuart3 {
10856838644SManivannan Sadhasivam	pinctrl-names = "default";
10956838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_lpuart3>;
11056838644SManivannan Sadhasivam	status = "okay";
11156838644SManivannan Sadhasivam};
11256838644SManivannan Sadhasivam
11356838644SManivannan Sadhasivam&fec1 {
11456838644SManivannan Sadhasivam	pinctrl-names = "default";
11556838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_fec1>;
11656838644SManivannan Sadhasivam	phy-mode = "rgmii-id";
11756838644SManivannan Sadhasivam	phy-handle = <&ethphy0>;
11856838644SManivannan Sadhasivam	fsl,magic-packet;
11956838644SManivannan Sadhasivam	status = "okay";
12056838644SManivannan Sadhasivam
12156838644SManivannan Sadhasivam	mdio {
12256838644SManivannan Sadhasivam		#address-cells = <1>;
12356838644SManivannan Sadhasivam		#size-cells = <0>;
12456838644SManivannan Sadhasivam
12556838644SManivannan Sadhasivam		ethphy0: ethernet-phy@0 {
12656838644SManivannan Sadhasivam			compatible = "ethernet-phy-ieee802.3-c22";
12756838644SManivannan Sadhasivam			reg = <0>;
12856838644SManivannan Sadhasivam		};
12956838644SManivannan Sadhasivam	};
13056838644SManivannan Sadhasivam};
13156838644SManivannan Sadhasivam
13256838644SManivannan Sadhasivam/* WiFi */
13356838644SManivannan Sadhasivam&usdhc1 {
13456838644SManivannan Sadhasivam	#address-cells = <1>;
13556838644SManivannan Sadhasivam	#size-cells = <0>;
136*26de33a1SDong Aisheng	assigned-clocks = <&clk IMX_SC_R_SDHC_0 IMX_SC_PM_CLK_PER>;
1373944b454SAnson Huang	assigned-clock-rates = <200000000>;
13856838644SManivannan Sadhasivam	pinctrl-names = "default";
13956838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_usdhc1>;
14056838644SManivannan Sadhasivam	bus-width = <4>;
14156838644SManivannan Sadhasivam	no-sd;
14256838644SManivannan Sadhasivam	non-removable;
14356838644SManivannan Sadhasivam	mmc-pwrseq = <&sdio_pwrseq>;
14456838644SManivannan Sadhasivam	status = "okay";
14556838644SManivannan Sadhasivam
14656838644SManivannan Sadhasivam	brcmf: wifi@1 {
14756838644SManivannan Sadhasivam		reg = <1>;
14856838644SManivannan Sadhasivam		compatible = "brcm,bcm4329-fmac";
14956838644SManivannan Sadhasivam	};
15056838644SManivannan Sadhasivam};
15156838644SManivannan Sadhasivam
15256838644SManivannan Sadhasivam/* SD */
15356838644SManivannan Sadhasivam&usdhc2 {
154*26de33a1SDong Aisheng	assigned-clocks = <&clk IMX_SC_R_SDHC_1 IMX_SC_PM_CLK_PER>;
1553944b454SAnson Huang	assigned-clock-rates = <200000000>;
15656838644SManivannan Sadhasivam	pinctrl-names = "default";
15756838644SManivannan Sadhasivam	pinctrl-0 = <&pinctrl_usdhc2>;
15856838644SManivannan Sadhasivam	bus-width = <4>;
15956838644SManivannan Sadhasivam	cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>;
16056838644SManivannan Sadhasivam	status = "okay";
16156838644SManivannan Sadhasivam};
16256838644SManivannan Sadhasivam
16356838644SManivannan Sadhasivam&iomuxc {
16456838644SManivannan Sadhasivam	pinctrl_fec1: fec1grp {
16556838644SManivannan Sadhasivam		fsl,pins = <
16656838644SManivannan Sadhasivam			IMX8QXP_ENET0_MDC_CONN_ENET0_MDC			0x06000020
16756838644SManivannan Sadhasivam			IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO			0x06000020
16856838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL	0x06000020
16956838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC		0x06000020
17056838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0		0x06000020
17156838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1		0x06000020
17256838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2		0x06000020
17356838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3		0x06000020
17456838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC		0x06000020
17556838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL	0x06000020
17656838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0		0x06000020
17756838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1		0x06000020
17856838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2		0x06000020
17956838644SManivannan Sadhasivam			IMX8QXP_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3		0x06000020
18056838644SManivannan Sadhasivam		>;
18156838644SManivannan Sadhasivam	};
18256838644SManivannan Sadhasivam
18356838644SManivannan Sadhasivam	pinctrl_leds: ledsgrp{
18456838644SManivannan Sadhasivam		fsl,pins = <
18556838644SManivannan Sadhasivam			IMX8QXP_ESAI0_TX2_RX3_LSIO_GPIO0_IO06			0x00000021
18656838644SManivannan Sadhasivam			IMX8QXP_ESAI0_TX3_RX2_LSIO_GPIO0_IO07			0x00000021
18756838644SManivannan Sadhasivam			IMX8QXP_EMMC0_DATA7_LSIO_GPIO4_IO16			0x00000021
18856838644SManivannan Sadhasivam			IMX8QXP_USDHC1_WP_LSIO_GPIO4_IO21			0x00000021
18956838644SManivannan Sadhasivam			IMX8QXP_EMMC0_STROBE_LSIO_GPIO4_IO17			0x00000021
19056838644SManivannan Sadhasivam			IMX8QXP_EMMC0_RESET_B_LSIO_GPIO4_IO18			0x00000021
19156838644SManivannan Sadhasivam		>;
19256838644SManivannan Sadhasivam	};
19356838644SManivannan Sadhasivam
19456838644SManivannan Sadhasivam	pinctrl_lpuart0: lpuart0grp {
19556838644SManivannan Sadhasivam		fsl,pins = <
19656838644SManivannan Sadhasivam			IMX8QXP_UART0_RX_ADMA_UART0_RX				0X06000020
19756838644SManivannan Sadhasivam			IMX8QXP_UART0_TX_ADMA_UART0_TX				0X06000020
19856838644SManivannan Sadhasivam			IMX8QXP_FLEXCAN0_TX_ADMA_UART0_CTS_B 			0x06000020
19956838644SManivannan Sadhasivam			IMX8QXP_FLEXCAN0_RX_ADMA_UART0_RTS_B			0x06000020
20056838644SManivannan Sadhasivam		>;
20156838644SManivannan Sadhasivam	};
20256838644SManivannan Sadhasivam
20356838644SManivannan Sadhasivam	pinctrl_lpuart1: lpuart1grp {
20456838644SManivannan Sadhasivam		fsl,pins = <
20556838644SManivannan Sadhasivam			IMX8QXP_UART1_RX_ADMA_UART1_RX				0X06000020
20656838644SManivannan Sadhasivam			IMX8QXP_UART1_TX_ADMA_UART1_TX				0X06000020
20756838644SManivannan Sadhasivam		>;
20856838644SManivannan Sadhasivam	};
20956838644SManivannan Sadhasivam
21056838644SManivannan Sadhasivam	pinctrl_lpuart2: lpuart2grp {
21156838644SManivannan Sadhasivam		fsl,pins = <
21256838644SManivannan Sadhasivam			IMX8QXP_UART2_RX_ADMA_UART2_RX				0X06000020
21356838644SManivannan Sadhasivam			IMX8QXP_UART2_TX_ADMA_UART2_TX				0X06000020
21456838644SManivannan Sadhasivam		>;
21556838644SManivannan Sadhasivam	};
21656838644SManivannan Sadhasivam
21756838644SManivannan Sadhasivam	pinctrl_lpuart3: lpuart3grp {
21856838644SManivannan Sadhasivam		fsl,pins = <
21956838644SManivannan Sadhasivam			IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX			0X06000020
22056838644SManivannan Sadhasivam			IMX8QXP_FLEXCAN2_TX_ADMA_UART3_TX			0X06000020
22156838644SManivannan Sadhasivam		>;
22256838644SManivannan Sadhasivam	};
22356838644SManivannan Sadhasivam
22456838644SManivannan Sadhasivam	pinctrl_usdhc1: usdhc1grp {
22556838644SManivannan Sadhasivam		fsl,pins = <
22656838644SManivannan Sadhasivam			IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK			0x06000041
22756838644SManivannan Sadhasivam			IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD			0x00000021
22856838644SManivannan Sadhasivam			IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0			0x00000021
22956838644SManivannan Sadhasivam			IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1			0x00000021
23056838644SManivannan Sadhasivam			IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2			0x00000021
23156838644SManivannan Sadhasivam			IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3			0x00000021
23256838644SManivannan Sadhasivam		>;
23356838644SManivannan Sadhasivam	};
23456838644SManivannan Sadhasivam
23556838644SManivannan Sadhasivam	pinctrl_usdhc2: usdhc2grp {
23656838644SManivannan Sadhasivam		fsl,pins = <
23756838644SManivannan Sadhasivam			IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK			0x06000041
23856838644SManivannan Sadhasivam			IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD			0x00000021
23956838644SManivannan Sadhasivam			IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0			0x00000021
24056838644SManivannan Sadhasivam			IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1			0x00000021
24156838644SManivannan Sadhasivam			IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2			0x00000021
24256838644SManivannan Sadhasivam			IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3			0x00000021
24356838644SManivannan Sadhasivam			IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT		0x00000021
24456838644SManivannan Sadhasivam			IMX8QXP_USDHC1_CD_B_LSIO_GPIO4_IO22			0x00000021
24556838644SManivannan Sadhasivam		>;
24656838644SManivannan Sadhasivam	};
24756838644SManivannan Sadhasivam
24856838644SManivannan Sadhasivam	pinctrl_wifi_reg_on: wifiregongrp {
24956838644SManivannan Sadhasivam		fsl,pins = <
25056838644SManivannan Sadhasivam			IMX8QXP_QSPI0B_SS1_B_LSIO_GPIO3_IO24			0x00000021
25156838644SManivannan Sadhasivam		>;
25256838644SManivannan Sadhasivam	};
25356838644SManivannan Sadhasivam};
254