xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mn-dimonoff-gateway-evk.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright 2022 DimOnOff
4*8d13bc63SEmmanuel Vadot */
5*8d13bc63SEmmanuel Vadot
6*8d13bc63SEmmanuel Vadot/dts-v1/;
7*8d13bc63SEmmanuel Vadot
8*8d13bc63SEmmanuel Vadot#include <dt-bindings/usb/pd.h>
9*8d13bc63SEmmanuel Vadot#include "imx8mn-var-som-symphony.dts"
10*8d13bc63SEmmanuel Vadot
11*8d13bc63SEmmanuel Vadot/ {
12*8d13bc63SEmmanuel Vadot	model = "DimOnOff Gateway EVK board";
13*8d13bc63SEmmanuel Vadot	compatible = "dimonoff,gateway-evk", "variscite,var-som-mx8mn",
14*8d13bc63SEmmanuel Vadot		     "fsl,imx8mn";
15*8d13bc63SEmmanuel Vadot
16*8d13bc63SEmmanuel Vadot	/*
17*8d13bc63SEmmanuel Vadot	 * U30 FPF2193 regulator.
18*8d13bc63SEmmanuel Vadot	 * Source = BASE_PER_3V3 = SOM_3V3 (COM pin 49).
19*8d13bc63SEmmanuel Vadot	 */
20*8d13bc63SEmmanuel Vadot	reg_disp_3v3: regulator-disp-3v3 {
21*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
22*8d13bc63SEmmanuel Vadot		regulator-name = "Display 3V3";
23*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
24*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
25*8d13bc63SEmmanuel Vadot		regulator-always-on;
26*8d13bc63SEmmanuel Vadot		regulator-boot-on;
27*8d13bc63SEmmanuel Vadot	};
28*8d13bc63SEmmanuel Vadot
29*8d13bc63SEmmanuel Vadot	gpio-keys {
30*8d13bc63SEmmanuel Vadot		compatible = "gpio-keys";
31*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
32*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_keys>;
33*8d13bc63SEmmanuel Vadot
34*8d13bc63SEmmanuel Vadot		key-enter {
35*8d13bc63SEmmanuel Vadot			label = "enter";
36*8d13bc63SEmmanuel Vadot			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
37*8d13bc63SEmmanuel Vadot			linux,code = <KEY_ENTER>;
38*8d13bc63SEmmanuel Vadot			wakeup-source;
39*8d13bc63SEmmanuel Vadot		};
40*8d13bc63SEmmanuel Vadot	};
41*8d13bc63SEmmanuel Vadot
42*8d13bc63SEmmanuel Vadot	/* Bourns PEC12R rotary encoder, 24 steps. */
43*8d13bc63SEmmanuel Vadot	rotary: rotary-encoder {
44*8d13bc63SEmmanuel Vadot		compatible = "rotary-encoder";
45*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
46*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_rotary>;
47*8d13bc63SEmmanuel Vadot		gpios = <&gpio5 12 GPIO_ACTIVE_LOW>, /* A */
48*8d13bc63SEmmanuel Vadot			<&gpio5 13 GPIO_ACTIVE_LOW>; /* B */
49*8d13bc63SEmmanuel Vadot		linux,axis = <0>; /* REL_X */
50*8d13bc63SEmmanuel Vadot		rotary-encoder,encoding = "gray";
51*8d13bc63SEmmanuel Vadot		rotary-encoder,relative-axis;
52*8d13bc63SEmmanuel Vadot	};
53*8d13bc63SEmmanuel Vadot};
54*8d13bc63SEmmanuel Vadot
55*8d13bc63SEmmanuel Vadot/* Disable Asynchronous Sample Rate Converter (audio) */
56*8d13bc63SEmmanuel Vadot&easrc {
57*8d13bc63SEmmanuel Vadot	status = "disabled";
58*8d13bc63SEmmanuel Vadot};
59*8d13bc63SEmmanuel Vadot
60*8d13bc63SEmmanuel Vadot&ecspi1 {
61*8d13bc63SEmmanuel Vadot	/* Resistive touch controller */
62*8d13bc63SEmmanuel Vadot	/delete-node/ touchscreen@0;
63*8d13bc63SEmmanuel Vadot};
64*8d13bc63SEmmanuel Vadot
65*8d13bc63SEmmanuel Vadot&gpu {
66*8d13bc63SEmmanuel Vadot	status = "disabled";
67*8d13bc63SEmmanuel Vadot};
68*8d13bc63SEmmanuel Vadot
69*8d13bc63SEmmanuel Vadot&i2c2 {
70*8d13bc63SEmmanuel Vadot	adc@48 {
71*8d13bc63SEmmanuel Vadot		compatible = "ti,ads7924";
72*8d13bc63SEmmanuel Vadot		reg = <0x48>;
73*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
74*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_adc>;
75*8d13bc63SEmmanuel Vadot		vref-supply = <&reg_disp_3v3>;
76*8d13bc63SEmmanuel Vadot		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
77*8d13bc63SEmmanuel Vadot		#address-cells = <1>;
78*8d13bc63SEmmanuel Vadot		#size-cells = <0>;
79*8d13bc63SEmmanuel Vadot
80*8d13bc63SEmmanuel Vadot		channel@0 {
81*8d13bc63SEmmanuel Vadot			reg = <0>;
82*8d13bc63SEmmanuel Vadot			label = "Pot0";
83*8d13bc63SEmmanuel Vadot		};
84*8d13bc63SEmmanuel Vadot		channel@1 {
85*8d13bc63SEmmanuel Vadot			reg = <1>;
86*8d13bc63SEmmanuel Vadot			label = "Pot1";
87*8d13bc63SEmmanuel Vadot		};
88*8d13bc63SEmmanuel Vadot		channel@2 {
89*8d13bc63SEmmanuel Vadot			reg = <2>;
90*8d13bc63SEmmanuel Vadot			label = "Pot2";
91*8d13bc63SEmmanuel Vadot		};
92*8d13bc63SEmmanuel Vadot		channel@3 {
93*8d13bc63SEmmanuel Vadot			reg = <3>;
94*8d13bc63SEmmanuel Vadot			label = "Pot3";
95*8d13bc63SEmmanuel Vadot		};
96*8d13bc63SEmmanuel Vadot	};
97*8d13bc63SEmmanuel Vadot
98*8d13bc63SEmmanuel Vadot	rtc@51 {
99*8d13bc63SEmmanuel Vadot		compatible = "nxp,pcf2129";
100*8d13bc63SEmmanuel Vadot		reg = <0x51>;
101*8d13bc63SEmmanuel Vadot		reset-source; /* For watchdog. */
102*8d13bc63SEmmanuel Vadot	};
103*8d13bc63SEmmanuel Vadot
104*8d13bc63SEmmanuel Vadot	rtc@53 {
105*8d13bc63SEmmanuel Vadot		compatible = "nxp,pcf2131";
106*8d13bc63SEmmanuel Vadot		reg = <0x53>;
107*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
108*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_rtc>;
109*8d13bc63SEmmanuel Vadot		reset-source; /* For watchdog. */
110*8d13bc63SEmmanuel Vadot		interrupt-parent = <&gpio5>;
111*8d13bc63SEmmanuel Vadot		interrupts = <10 IRQ_TYPE_EDGE_FALLING>; /* J17.6 on EVK */
112*8d13bc63SEmmanuel Vadot	};
113*8d13bc63SEmmanuel Vadot};
114*8d13bc63SEmmanuel Vadot
115*8d13bc63SEmmanuel Vadot&i2c3 {
116*8d13bc63SEmmanuel Vadot	touchscreen@38 {
117*8d13bc63SEmmanuel Vadot		status = "disabled";
118*8d13bc63SEmmanuel Vadot	};
119*8d13bc63SEmmanuel Vadot
120*8d13bc63SEmmanuel Vadot	codec@1a {
121*8d13bc63SEmmanuel Vadot		status = "disabled";
122*8d13bc63SEmmanuel Vadot	};
123*8d13bc63SEmmanuel Vadot
124*8d13bc63SEmmanuel Vadot	/* DS1337 RTC module */
125*8d13bc63SEmmanuel Vadot	rtc@68 {
126*8d13bc63SEmmanuel Vadot		status = "disabled";
127*8d13bc63SEmmanuel Vadot	};
128*8d13bc63SEmmanuel Vadot};
129*8d13bc63SEmmanuel Vadot
130*8d13bc63SEmmanuel Vadot&sai5 {
131*8d13bc63SEmmanuel Vadot	status = "disabled";
132*8d13bc63SEmmanuel Vadot};
133*8d13bc63SEmmanuel Vadot
134*8d13bc63SEmmanuel Vadot&iomuxc {
135*8d13bc63SEmmanuel Vadot	pinctrl_gpio_keys: gpiokeysgrp {
136*8d13bc63SEmmanuel Vadot		fsl,pins = <
137*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_GPIO1_IO08_GPIO1_IO8	0xc6
138*8d13bc63SEmmanuel Vadot		>;
139*8d13bc63SEmmanuel Vadot	};
140*8d13bc63SEmmanuel Vadot
141*8d13bc63SEmmanuel Vadot	pinctrl_rotary: rotarygrp {
142*8d13bc63SEmmanuel Vadot		fsl,pins = <
143*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_ECSPI2_MISO_GPIO5_IO12	0x00000156
144*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13	0x00000156
145*8d13bc63SEmmanuel Vadot		>;
146*8d13bc63SEmmanuel Vadot	};
147*8d13bc63SEmmanuel Vadot
148*8d13bc63SEmmanuel Vadot	pinctrl_adc: adcgrp {
149*8d13bc63SEmmanuel Vadot		fsl,pins = <
150*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5	0x00000156
151*8d13bc63SEmmanuel Vadot		>;
152*8d13bc63SEmmanuel Vadot	};
153*8d13bc63SEmmanuel Vadot
154*8d13bc63SEmmanuel Vadot	pinctrl_rtc: rtcgrp {
155*8d13bc63SEmmanuel Vadot		fsl,pins = <
156*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_ECSPI2_SCLK_GPIO5_IO10	0x00000156
157*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_ECSPI2_MOSI_GPIO5_IO11	0x00000156
158*8d13bc63SEmmanuel Vadot		>;
159*8d13bc63SEmmanuel Vadot	};
160*8d13bc63SEmmanuel Vadot};
161