// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2023 Toradex
 *
 * Common dtsi for Verdin IMX8MP SoM on Mallow carrier board
 *
 * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-plus
 * https://www.toradex.com/products/carrier-board/mallow-carrier-board
 */

#include <dt-bindings/leds/common.h>

/ {
	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_leds>;

		/* SODIMM 52 - USER_LED_1_RED */
		led-0 {
			color = <LED_COLOR_ID_RED>;
			function = LED_FUNCTION_DEBUG;
			function-enumerator = <1>;
			gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
		};

		/* SODIMM 54 - USER_LED_1_GREEN */
		led-1 {
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_DEBUG;
			function-enumerator = <1>;
			gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
		};

		/* SODIMM 56 - USER_LED_2_RED */
		led-2 {
			color = <LED_COLOR_ID_RED>;
			function = LED_FUNCTION_DEBUG;
			function-enumerator = <2>;
			gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>;
		};

		/* SODIMM 58 - USER_LED_2_GREEN */
		led-3 {
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_DEBUG;
			function-enumerator = <2>;
			gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
		};
	};
};

&backlight {
	power-supply = <&reg_3p3v>;
};

/* Verdin SPI_1 */
&ecspi1 {
	pinctrl-0 = <&pinctrl_ecspi1>, <&pinctrl_tpm_cs>;
	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio3 16 GPIO_ACTIVE_LOW>;
	status = "okay";

	tpm@1 {
		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
		reg = <1>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tpm_irq>;
		interrupt-parent = <&gpio3>;
		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
		spi-max-frequency = <18500000>;
	};
};

/* EEPROM on Mallow */
&eeprom_carrier_board {
	status = "okay";
};

/* Verdin ETH_1 */
&eqos {
	status = "okay";
};

/* Verdin CAN_1 */
&flexcan1 {
	status = "okay";
};

/* Verdin CAN_2 */
&flexcan2 {
	status = "okay";
};

/* Temperature sensor on Mallow */
&hwmon_temp {
	compatible = "ti,tmp1075";
	status = "okay";
};

/* Verdin I2C_2_DSI */
&i2c2 {
	status = "okay";
};

/* Verdin I2C_4_CSI */
&i2c3 {
	status = "okay";
};

/* Verdin I2C_1 */
&i2c4 {
	status = "okay";
};

/* Verdin PCIE_1 */
&pcie {
	status = "okay";
};

&pcie_phy {
	status = "okay";
};

/* Verdin PWM_1 */
&pwm1 {
	status = "okay";
};

/* Verdin PWM_2 */
&pwm2 {
	status = "okay";
};

/* Verdin PWM_3_DSI */
&pwm3 {
	status = "okay";
};

&reg_usdhc2_vmmc {
	vin-supply = <&reg_3p3v>;
};

/* Verdin UART_1 */
&uart1 {
	status = "okay";
};

/* Verdin UART_2 */
&uart2 {
	status = "okay";
};

/* Verdin UART_3 */
&uart3 {
	status = "okay";
};

/* Verdin USB_1 */
&usb3_0 {
	status = "okay";
};

&usb3_phy0 {
	status = "okay";
};

/* Verdin USB_2 */
&usb3_1 {
	status = "okay";
};

&usb3_phy1 {
	status = "okay";
};

/* Verdin SD_1 */
&usdhc2 {
	status = "okay";
};

&iomuxc {
	pinctrl_leds: ledsgrp {
		fsl,pins =
			<MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00	0x106>, /* SODIMM 52 */
			<MX8MP_IOMUXC_NAND_CE0_B__GPIO3_IO01	0x106>, /* SODIMM 54 */
			<MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06	0x106>, /* SODIMM 56 */
			<MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07	0x106>; /* SODIMM 58 */
	};

	pinctrl_tpm_cs: tpmcsgrp {
		fsl,pins =
			<MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16	0x82>; /* SODIMM 64 */
	};

	pinctrl_tpm_irq: tpmirqgrp {
		fsl,pins =
			<MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14	0x16>; /* SODIMM 66 */
	};
};
