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