// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

/* Colibri AD0 to AD3 */
&adc1 {
	status = "okay";
};

/*
 * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
 * So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
 */
&atmel_mxt_ts {
	interrupt-parent = <&gpio1>;
	interrupts = <9 IRQ_TYPE_EDGE_FALLING>;		/* SODIMM 28 / INT */
	pinctrl-0 = <&pinctrl_atmel_adapter>;
	reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;	/* SODIMM 30 / RST */
};

/* Colibri SSP */
&ecspi3 {
	status = "okay";
};

/* Colibri Fast Ethernet */
&fec1 {
	status = "okay";
};

&gpio2 {
	/*
	 * uart25 turns the UART transceiver for UART2 and 5 on. If one wants to turn the
	 * transceiver off, that property has to be deleted and the gpio handled in userspace.
	 * The same applies to uart1_tx_on where the UART1 transceiver is turned on.
	 */
	uart25-tx-on-hog {
		gpio-hog;
		gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
		output-high;
	};
};

&gpio5 {
	uart1-tx-on-hog {
		gpio-hog;
		gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
		output-high;
	};
};

/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
	status = "okay";
};

/* Colibri PWM<A> */
&pwm1 {
	status = "okay";
};

/* Colibri PWM<B> */
&pwm2 {
	/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
	status = "okay";
};

/* Colibri PWM<C> */
&pwm3 {
	/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
	status = "okay";
};

/* Colibri PWM<D> */
&pwm4 {
	status = "okay";
};

/* M41T0M6 real time clock */
&rtc {
	status = "okay";
};

/* Colibri UART_A */
&uart1 {
	status = "okay";
};

/* Colibri UART_B */
&uart2 {
	status = "okay";
};

/* Colibri UART_C */
&uart3 {
	status = "okay";
};

/* Colibri USBC */
&usbotg1 {
	disable-over-current;
	status = "okay";
};

/* Colibri MMC/SD */
&usdhc1 {
	status = "okay";
};