xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mm-verdin-mallow.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright 2023 Toradex
4*8d13bc63SEmmanuel Vadot *
5*8d13bc63SEmmanuel Vadot * Common dtsi for Verdin IMX8MM SoM on Mallow carrier board
6*8d13bc63SEmmanuel Vadot *
7*8d13bc63SEmmanuel Vadot * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini-nano
8*8d13bc63SEmmanuel Vadot * https://www.toradex.com/products/carrier-board/mallow-carrier-board
9*8d13bc63SEmmanuel Vadot */
10*8d13bc63SEmmanuel Vadot
11*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
12*8d13bc63SEmmanuel Vadot
13*8d13bc63SEmmanuel Vadot/ {
14*8d13bc63SEmmanuel Vadot	leds {
15*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
16*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
17*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_leds>;
18*8d13bc63SEmmanuel Vadot
19*8d13bc63SEmmanuel Vadot		/* SODIMM 52 - USER_LED_1_RED */
20*8d13bc63SEmmanuel Vadot		led-0 {
21*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
22*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
23*8d13bc63SEmmanuel Vadot			function-enumerator = <1>;
24*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
25*8d13bc63SEmmanuel Vadot		};
26*8d13bc63SEmmanuel Vadot
27*8d13bc63SEmmanuel Vadot		/* SODIMM 54 - USER_LED_1_GREEN */
28*8d13bc63SEmmanuel Vadot		led-1 {
29*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
30*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
31*8d13bc63SEmmanuel Vadot			function-enumerator = <1>;
32*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
33*8d13bc63SEmmanuel Vadot		};
34*8d13bc63SEmmanuel Vadot
35*8d13bc63SEmmanuel Vadot		/* SODIMM 56 - USER_LED_2_RED */
36*8d13bc63SEmmanuel Vadot		led-2 {
37*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
38*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
39*8d13bc63SEmmanuel Vadot			function-enumerator = <2>;
40*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>;
41*8d13bc63SEmmanuel Vadot		};
42*8d13bc63SEmmanuel Vadot
43*8d13bc63SEmmanuel Vadot		/* SODIMM 58 - USER_LED_2_GREEN */
44*8d13bc63SEmmanuel Vadot		led-3 {
45*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
46*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_DEBUG;
47*8d13bc63SEmmanuel Vadot			function-enumerator = <2>;
48*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
49*8d13bc63SEmmanuel Vadot		};
50*8d13bc63SEmmanuel Vadot	};
51*8d13bc63SEmmanuel Vadot};
52*8d13bc63SEmmanuel Vadot
53*8d13bc63SEmmanuel Vadot/* Verdin SPI_1 */
54*8d13bc63SEmmanuel Vadot&ecspi2 {
55*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&pinctrl_ecspi2>, <&pinctrl_tpm_cs>;
56*8d13bc63SEmmanuel Vadot	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>, <&gpio3 2 GPIO_ACTIVE_LOW>;
57*8d13bc63SEmmanuel Vadot	status = "okay";
58*8d13bc63SEmmanuel Vadot
59*8d13bc63SEmmanuel Vadot	tpm@1 {
60*8d13bc63SEmmanuel Vadot		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
61*8d13bc63SEmmanuel Vadot		reg = <1>;
62*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
63*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_tpm_irq>;
64*8d13bc63SEmmanuel Vadot		interrupt-parent = <&gpio3>;
65*8d13bc63SEmmanuel Vadot		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
66*8d13bc63SEmmanuel Vadot		spi-max-frequency = <18500000>;
67*8d13bc63SEmmanuel Vadot	};
68*8d13bc63SEmmanuel Vadot};
69*8d13bc63SEmmanuel Vadot
70*8d13bc63SEmmanuel Vadot/* EEPROM on Mallow */
71*8d13bc63SEmmanuel Vadot&eeprom_carrier_board {
72*8d13bc63SEmmanuel Vadot	status = "okay";
73*8d13bc63SEmmanuel Vadot};
74*8d13bc63SEmmanuel Vadot
75*8d13bc63SEmmanuel Vadot/* Verdin ETH_1 */
76*8d13bc63SEmmanuel Vadot&fec1 {
77*8d13bc63SEmmanuel Vadot	status = "okay";
78*8d13bc63SEmmanuel Vadot};
79*8d13bc63SEmmanuel Vadot
80*8d13bc63SEmmanuel Vadot/* Temperature sensor on Mallow */
81*8d13bc63SEmmanuel Vadot&hwmon_temp {
82*8d13bc63SEmmanuel Vadot	compatible = "ti,tmp1075";
83*8d13bc63SEmmanuel Vadot	status = "okay";
84*8d13bc63SEmmanuel Vadot};
85*8d13bc63SEmmanuel Vadot
86*8d13bc63SEmmanuel Vadot/* Verdin I2C_2_DSI */
87*8d13bc63SEmmanuel Vadot&i2c2 {
88*8d13bc63SEmmanuel Vadot	status = "okay";
89*8d13bc63SEmmanuel Vadot};
90*8d13bc63SEmmanuel Vadot
91*8d13bc63SEmmanuel Vadot/* Verdin I2C_4_CSI */
92*8d13bc63SEmmanuel Vadot&i2c3 {
93*8d13bc63SEmmanuel Vadot	status = "okay";
94*8d13bc63SEmmanuel Vadot};
95*8d13bc63SEmmanuel Vadot
96*8d13bc63SEmmanuel Vadot/* Verdin I2C_1 */
97*8d13bc63SEmmanuel Vadot&i2c4 {
98*8d13bc63SEmmanuel Vadot	status = "okay";
99*8d13bc63SEmmanuel Vadot};
100*8d13bc63SEmmanuel Vadot
101*8d13bc63SEmmanuel Vadot/* Verdin PCIE_1 */
102*8d13bc63SEmmanuel Vadot&pcie0 {
103*8d13bc63SEmmanuel Vadot	status = "okay";
104*8d13bc63SEmmanuel Vadot};
105*8d13bc63SEmmanuel Vadot
106*8d13bc63SEmmanuel Vadot&pcie_phy {
107*8d13bc63SEmmanuel Vadot	status = "okay";
108*8d13bc63SEmmanuel Vadot};
109*8d13bc63SEmmanuel Vadot
110*8d13bc63SEmmanuel Vadot/* Verdin PWM_3_DSI */
111*8d13bc63SEmmanuel Vadot&pwm1 {
112*8d13bc63SEmmanuel Vadot	status = "okay";
113*8d13bc63SEmmanuel Vadot};
114*8d13bc63SEmmanuel Vadot
115*8d13bc63SEmmanuel Vadot/* Verdin PWM_1 */
116*8d13bc63SEmmanuel Vadot&pwm2 {
117*8d13bc63SEmmanuel Vadot	status = "okay";
118*8d13bc63SEmmanuel Vadot};
119*8d13bc63SEmmanuel Vadot
120*8d13bc63SEmmanuel Vadot/* Verdin PWM_2 */
121*8d13bc63SEmmanuel Vadot&pwm3 {
122*8d13bc63SEmmanuel Vadot	status = "okay";
123*8d13bc63SEmmanuel Vadot};
124*8d13bc63SEmmanuel Vadot
125*8d13bc63SEmmanuel Vadot/* Verdin UART_3 */
126*8d13bc63SEmmanuel Vadot&uart1 {
127*8d13bc63SEmmanuel Vadot	status = "okay";
128*8d13bc63SEmmanuel Vadot};
129*8d13bc63SEmmanuel Vadot
130*8d13bc63SEmmanuel Vadot/* Verdin UART_1 */
131*8d13bc63SEmmanuel Vadot&uart2 {
132*8d13bc63SEmmanuel Vadot	status = "okay";
133*8d13bc63SEmmanuel Vadot};
134*8d13bc63SEmmanuel Vadot
135*8d13bc63SEmmanuel Vadot/* Verdin UART_2 */
136*8d13bc63SEmmanuel Vadot&uart3 {
137*8d13bc63SEmmanuel Vadot	status = "okay";
138*8d13bc63SEmmanuel Vadot};
139*8d13bc63SEmmanuel Vadot
140*8d13bc63SEmmanuel Vadot/* Verdin USB_1 */
141*8d13bc63SEmmanuel Vadot&usbotg1 {
142*8d13bc63SEmmanuel Vadot	status = "okay";
143*8d13bc63SEmmanuel Vadot};
144*8d13bc63SEmmanuel Vadot
145*8d13bc63SEmmanuel Vadot/* Verdin USB_2 */
146*8d13bc63SEmmanuel Vadot&usbotg2 {
147*8d13bc63SEmmanuel Vadot	status = "okay";
148*8d13bc63SEmmanuel Vadot};
149*8d13bc63SEmmanuel Vadot
150*8d13bc63SEmmanuel Vadot/* Verdin SD_1 */
151*8d13bc63SEmmanuel Vadot&usdhc2 {
152*8d13bc63SEmmanuel Vadot	status = "okay";
153*8d13bc63SEmmanuel Vadot};
154*8d13bc63SEmmanuel Vadot
155*8d13bc63SEmmanuel Vadot&iomuxc {
156*8d13bc63SEmmanuel Vadot	pinctrl_leds: ledsgrp {
157*8d13bc63SEmmanuel Vadot		fsl,pins =
158*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_ALE_GPIO3_IO0	0x106>, /* SODIMM 52 */
159*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1	0x106>, /* SODIMM 54 */
160*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_DATA00_GPIO3_IO6	0x106>, /* SODIMM 56 */
161*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_DATA01_GPIO3_IO7	0x106>; /* SODIMM 58 */
162*8d13bc63SEmmanuel Vadot	};
163*8d13bc63SEmmanuel Vadot
164*8d13bc63SEmmanuel Vadot	pinctrl_tpm_cs: tpmcsgrp {
165*8d13bc63SEmmanuel Vadot		fsl,pins =
166*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2	0x146>; /* SODIMM 64 */
167*8d13bc63SEmmanuel Vadot	};
168*8d13bc63SEmmanuel Vadot
169*8d13bc63SEmmanuel Vadot	pinctrl_tpm_irq: tpmirqgrp {
170*8d13bc63SEmmanuel Vadot		fsl,pins =
171*8d13bc63SEmmanuel Vadot			<MX8MM_IOMUXC_NAND_DQS_GPIO3_IO14	0x141>; /* SODIMM 66 */
172*8d13bc63SEmmanuel Vadot	};
173*8d13bc63SEmmanuel Vadot};
174