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

/ {
	/* Fixed crystal dedicated to MCP2515. */
	clk16m: clk16m {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <16000000>;
	};
};

/* 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 */
	status = "disabled";
};

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

	mcp2515: can@0 {
		clocks = <&clk16m>;
		compatible = "microchip,mcp2515";
		interrupt-parent = <&gpio5>;
		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_can_int>;
		reg = <0>;
		spi-max-frequency = <10000000>;
		vdd-supply = <&reg_3v3>;
		xceiver-supply = <&reg_5v0>;
	};
};

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

/* 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";
};
