xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx7-colibri-eval-v3.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2016-2022 Toradex
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/ {
7*f126890aSEmmanuel Vadot	/* Fixed crystal dedicated to MCP2515. */
8*f126890aSEmmanuel Vadot	clk16m: clk16m {
9*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
10*f126890aSEmmanuel Vadot		#clock-cells = <0>;
11*f126890aSEmmanuel Vadot		clock-frequency = <16000000>;
12*f126890aSEmmanuel Vadot	};
13*f126890aSEmmanuel Vadot};
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot/* Colibri AD0 to AD3 */
16*f126890aSEmmanuel Vadot&adc1 {
17*f126890aSEmmanuel Vadot	status = "okay";
18*f126890aSEmmanuel Vadot};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot/*
21*f126890aSEmmanuel Vadot * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
22*f126890aSEmmanuel Vadot * So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
23*f126890aSEmmanuel Vadot */
24*f126890aSEmmanuel Vadot&atmel_mxt_ts {
25*f126890aSEmmanuel Vadot	interrupt-parent = <&gpio1>;
26*f126890aSEmmanuel Vadot	interrupts = <9 IRQ_TYPE_EDGE_FALLING>;		/* SODIMM 28 / INT */
27*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_atmel_adapter>;
28*f126890aSEmmanuel Vadot	reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;	/* SODIMM 30 / RST */
29*f126890aSEmmanuel Vadot	status = "disabled";
30*f126890aSEmmanuel Vadot};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot/* Colibri SSP */
33*f126890aSEmmanuel Vadot&ecspi3 {
34*f126890aSEmmanuel Vadot	status = "okay";
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot	mcp2515: can@0 {
37*f126890aSEmmanuel Vadot		clocks = <&clk16m>;
38*f126890aSEmmanuel Vadot		compatible = "microchip,mcp2515";
39*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio5>;
40*f126890aSEmmanuel Vadot		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
41*f126890aSEmmanuel Vadot		pinctrl-names = "default";
42*f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_can_int>;
43*f126890aSEmmanuel Vadot		reg = <0>;
44*f126890aSEmmanuel Vadot		spi-max-frequency = <10000000>;
45*f126890aSEmmanuel Vadot		vdd-supply = <&reg_3v3>;
46*f126890aSEmmanuel Vadot		xceiver-supply = <&reg_5v0>;
47*f126890aSEmmanuel Vadot	};
48*f126890aSEmmanuel Vadot};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot/* Colibri Fast Ethernet */
51*f126890aSEmmanuel Vadot&fec1 {
52*f126890aSEmmanuel Vadot	status = "okay";
53*f126890aSEmmanuel Vadot};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
56*f126890aSEmmanuel Vadot&i2c4 {
57*f126890aSEmmanuel Vadot	status = "okay";
58*f126890aSEmmanuel Vadot};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot/* Colibri PWM<A> */
61*f126890aSEmmanuel Vadot&pwm1 {
62*f126890aSEmmanuel Vadot	status = "okay";
63*f126890aSEmmanuel Vadot};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot/* Colibri PWM<B> */
66*f126890aSEmmanuel Vadot&pwm2 {
67*f126890aSEmmanuel Vadot	/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
68*f126890aSEmmanuel Vadot	status = "okay";
69*f126890aSEmmanuel Vadot};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot/* Colibri PWM<C> */
72*f126890aSEmmanuel Vadot&pwm3 {
73*f126890aSEmmanuel Vadot	/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
74*f126890aSEmmanuel Vadot	status = "okay";
75*f126890aSEmmanuel Vadot};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot/* Colibri PWM<D> */
78*f126890aSEmmanuel Vadot&pwm4 {
79*f126890aSEmmanuel Vadot	status = "okay";
80*f126890aSEmmanuel Vadot};
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot/* M41T0M6 real time clock */
83*f126890aSEmmanuel Vadot&rtc {
84*f126890aSEmmanuel Vadot	status = "okay";
85*f126890aSEmmanuel Vadot};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot/* Colibri UART_A */
88*f126890aSEmmanuel Vadot&uart1 {
89*f126890aSEmmanuel Vadot	status = "okay";
90*f126890aSEmmanuel Vadot};
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot/* Colibri UART_B */
93*f126890aSEmmanuel Vadot&uart2 {
94*f126890aSEmmanuel Vadot	status = "okay";
95*f126890aSEmmanuel Vadot};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot/* Colibri UART_C */
98*f126890aSEmmanuel Vadot&uart3 {
99*f126890aSEmmanuel Vadot	status = "okay";
100*f126890aSEmmanuel Vadot};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot/* Colibri USBC */
103*f126890aSEmmanuel Vadot&usbotg1 {
104*f126890aSEmmanuel Vadot	disable-over-current;
105*f126890aSEmmanuel Vadot	status = "okay";
106*f126890aSEmmanuel Vadot};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot/* Colibri MMC/SD */
109*f126890aSEmmanuel Vadot&usdhc1 {
110*f126890aSEmmanuel Vadot	status = "okay";
111*f126890aSEmmanuel Vadot};
112