1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2022 Toradex
4 */
5
6/ {
7	reg_3v3_vmmc: regulator-3v3-vmmc {
8		compatible = "regulator-fixed";
9		enable-active-high;
10		gpio = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* SODIMM 100 */
11		regulator-max-microvolt = <3300000>;
12		regulator-min-microvolt = <3300000>;
13		regulator-name = "3v3_vmmc";
14		startup-delay-us = <100>;
15	};
16};
17
18/* Colibri AD0 to AD3 */
19&adc1 {
20	status = "okay";
21};
22
23/* Colibri SSP */
24&ecspi3 {
25	status = "okay";
26};
27
28/* Colibri Fast Ethernet */
29&fec1 {
30	status = "okay";
31};
32
33&gpio2 {
34	/*
35	 * uart_b_c_on_x14_enable turns the UART transceiver for UART2 and 5 on. If one wants to
36	 * turn the transceiver off, that property has to be deleted and the gpio handled in
37	 * userspace.
38	 * The same applies to uart_a_on_x13_enable where the UART_A transceiver is turned on.
39	 */
40	uart-b-c-on-x14-enable-hog {
41		gpio-hog;
42		gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
43		output-high;
44	};
45};
46
47&gpio5 {
48	uart-a-on-x13-enable-hog {
49		gpio-hog;
50		gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
51		output-high;
52	};
53};
54
55/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
56&i2c4 {
57	status = "okay";
58};
59
60/* Colibri PWM<A> */
61&pwm1 {
62	status = "okay";
63};
64
65/* Colibri PWM<B> */
66&pwm2 {
67	status = "okay";
68};
69
70/* Colibri PWM<C> */
71&pwm3 {
72	status = "okay";
73};
74
75/* Colibri PWM<D> */
76&pwm4 {
77	status = "okay";
78};
79
80/* M41T0M6 real time clock */
81&rtc {
82	status = "okay";
83};
84
85/* Colibri UART_A */
86&uart1 {
87	status = "okay";
88};
89
90/* Colibri UART_B */
91&uart2 {
92	status = "okay";
93};
94
95/* Colibri UART_C */
96&uart3 {
97	status = "okay";
98};
99
100/* Colibri USBC */
101&usbotg1 {
102	disable-over-current;
103	status = "okay";
104};
105
106/* Colibri MMC/SD, UHS-I capable uSD slot */
107&usdhc1 {
108	cap-power-off-card;
109	/delete-property/ keep-power-in-suspend;
110	/delete-property/ no-1-8-v;
111	vmmc-supply = <&reg_3v3_vmmc>;
112	status = "okay";
113};
114