// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * at91-ariag25.dts - Device Tree file for Acme Systems Aria G25 (AT91SAM9G25 based)
 *
 * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>,
 *                    Robert Nelson <robertcnelson@gmail.com>
 */
/dts-v1/;
#include "at91sam9g25.dtsi"

/ {
	model = "Acme Systems Aria G25";
	compatible = "acme,ariag25", "atmel,at91sam9x5ek",
		     "atmel,at91sam9x5", "atmel,at91sam9";

	aliases {
		serial5 = &uart0;
		serial6 = &uart1;
	};

	chosen {
		bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
	};

	memory@20000000 {
		/* 128 MB, change this for 256 MB revision */
		reg = <0x20000000 0x8000000>;
	};

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	leds {
		compatible = "gpio-leds";

		/* little green LED in middle of Aria G25 module */
		aria_led {
			label = "aria_led";
			gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
			linux,default-trigger = "heartbeat";
		};

	};

	onewire {
		compatible = "w1-gpio";
		gpios = <&pioA 21 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_w1_0>;
	};
};

&adc0 {
	status = "okay";
	atmel,adc-channels-used = <0xf>;
};

&dbgu {
	status = "okay";
};

&i2c0 {
	status = "okay";
};

&i2c1 {
	status = "okay";
};

/* TWD2+TCLK2 hidden behind ethernet, so no i2c2 */

&macb0 {
	phy-mode = "rmii";
	/*
	 * following can be overwritten by bootloader:
	 * for example u-boot 'ftd set' command
	 */
	local-mac-address = [00 00 00 00 00 00];
	status = "okay";
};


&mmc0 {
	/* N.B. Aria has no SD card detect (CD), assumed present */

	pinctrl-0 = <
		&pinctrl_mmc0_slot0_clk_cmd_dat0
		&pinctrl_mmc0_slot0_dat1_3>;
	pinctrl-names = "default";
	status = "okay";

	slot@0 {
		reg = <0>;
		bus-width = <4>;
	};
};

&pinctrl {
	w1_0 {
		pinctrl_w1_0: w1_0-0 {
			atmel,pins = <0 21 0x0 0x1>; /* PA21 PIO, pull-up */
		};
	};
};

&rtc {
	status = "okay";
};

&tcb0 {
	timer@0 {
		compatible = "atmel,tcb-timer";
		reg = <0>;
	};

	timer@1 {
		compatible = "atmel,tcb-timer";
		reg = <1>;
	};
};

/*
 * UART0/1 pins are marked as GPIO on
 * Aria documentation.
 * Change to "okay" if you need additional serial ports
 */
&uart0 {
	status = "disabled";
};

&uart1 {
	status = "disabled";
};

&usart0 {
	pinctrl-0 = <&pinctrl_usart0
		     &pinctrl_usart0_rts
		     &pinctrl_usart0_cts>;
	status = "okay";
};

&usart1 {
	pinctrl-0 = <&pinctrl_usart1
		     /* &pinctrl_usart1_rts */
		     /* &pinctrl_usart1_cts */
		    >;
	status = "okay";
};

&usart2 {
	/* cannot activate RTS2+CTS2, clash with
	 * ethernet on PB0 and PB1 */
	pinctrl-0 = <&pinctrl_usart2>;
	status = "okay";
};

&usart3 {
	compatible = "atmel,at91sam9260-usart";
	reg = <0xf8028000 0x200>;
	interrupts = <8 4 5>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart3
		     /* &pinctrl_usart3_rts */
		     /* &pinctrl_usart3_cts */
		    >;
	status = "okay";
};

&usb0 {
	status = "okay";
	num-ports = <3>;
};

&usb1 {
	status = "okay";
};