Commit 12f2486e authored by Joao Paulo Goncalves's avatar Joao Paulo Goncalves Committed by Shawn Guo
Browse files

arm64: dts: freescale: verdin-imx8mp: add support to mallow board

Add Toradex Verdin IMX8MP Mallow carrier board support. Mallow is a
low-cost carrier board in the Verdin family with a small form factor and
build for volume production making it ideal for industrial and embedded
applications.

https://www.toradex.com/products/carrier-board/mallow-carrier-board



Signed-off-by: default avatarJoao Paulo Goncalves <joao.goncalves@toradex.com>
Signed-off-by: default avatarFrancesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent eb934886
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -129,9 +129,11 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw7905-2x.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-yavia.dtb

imx8mp-tqma8mpql-mba8mpxl-lvds-dtbs += imx8mp-tqma8mpql-mba8mpxl.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo
+199 −0
Original line number Diff line number Diff line
// 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 */
	};
};
+18 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2023 Toradex
 */

/dts-v1/;

#include "imx8mp-verdin.dtsi"
#include "imx8mp-verdin-nonwifi.dtsi"
#include "imx8mp-verdin-mallow.dtsi"

/ {
	model = "Toradex Verdin iMX8M Plus on Mallow Board";
	compatible = "toradex,verdin-imx8mp-nonwifi-mallow",
		     "toradex,verdin-imx8mp-nonwifi",
		     "toradex,verdin-imx8mp",
		     "fsl,imx8mp";
};
+18 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2023 Toradex
 */

/dts-v1/;

#include "imx8mp-verdin.dtsi"
#include "imx8mp-verdin-wifi.dtsi"
#include "imx8mp-verdin-mallow.dtsi"

/ {
	model = "Toradex Verdin iMX8M Plus WB on Mallow Board";
	compatible = "toradex,verdin-imx8mp-wifi-mallow",
		     "toradex,verdin-imx8mp-wifi",
		     "toradex,verdin-imx8mp",
		     "fsl,imx8mp";
};