// SPDX-License-Identifier: GPL-2.0-only
/*
 * at91rm9200ek.dts - Device Tree file for Atmel AT91RM9200 evaluation kit
 *
 *  Copyright (C) 2012 Joachim Eastwood <manabian@gmail.com>
 */
/dts-v1/;
#include "at91rm9200.dtsi"

/ {
	model = "Atmel AT91RM9200 evaluation kit";
	compatible = "atmel,at91rm9200ek", "atmel,at91rm9200";

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory@20000000 {
		reg = <0x20000000 0x4000000>;
	};

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

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

	ahb {
		apb {
			tcb0: timer@fffa0000 {
				timer@0 {
					compatible = "atmel,tcb-timer";
					reg = <0>, <1>;
				};

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

			usb1: gadget@fffb0000 {
				atmel,vbus-gpio = <&pioD 4 GPIO_ACTIVE_HIGH>;
				atmel,pullup-gpio = <&pioD 5 GPIO_ACTIVE_HIGH>;
				status = "okay";
			};

			macb0: ethernet@fffbc000 {
				phy-mode = "rmii";
				status = "okay";

				phy0: ethernet-phy {
					interrupt-parent = <&pioC>;
					interrupts = <4 IRQ_TYPE_EDGE_BOTH>;
				};
			};

			usart1: serial@fffc4000 {
				pinctrl-0 =
						<&pinctrl_uart1
						 &pinctrl_uart1_rts
						 &pinctrl_uart1_cts
						 &pinctrl_uart1_dtr_dsr
						 &pinctrl_uart1_dcd
						 &pinctrl_uart1_ri>;
				status = "okay";
			};

			spi0: spi@fffe0000 {
				status = "okay";
				cs-gpios = <&pioA 3 0>, <0>, <0>, <0>;
				flash@0 {
					compatible = "atmel,at45", "atmel,dataflash";
					spi-max-frequency = <15000000>;
					reg = <0>;
				};
			};

			dbgu: serial@fffff200 {
				status = "okay";
			};

			rtc: rtc@fffffe00 {
				status = "okay";
			};
		};

		usb0: ohci@300000 {
			num-ports = <2>;
			status = "okay";
		};

		flash@10000000 {
			compatible = "cfi-flash";
			reg = <0x10000000 0x800000>;
			linux,mtd-name = "physmap-flash.0";
			bank-width = <2>;
			#address-cells = <1>;
			#size-cells = <1>;

			barebox@0 {
				label = "barebox";
				reg = <0x00000 0x40000>;
			};

			bareboxenv@40000 {
				label = "bareboxenv";
				reg = <0x40000 0x10000>;
			};

			kernel@50000 {
				label = "kernel";
				reg = <0x50000 0x300000>;
			};

			root@350000  {
				label = "root";
				reg = <0x350000 0x4B0000>;
			};
		};
	};

	leds {
		compatible = "gpio-leds";

		ds2 {
			label = "green";
			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "mmc0";
		};

		ds4 {
			label = "yellow";
			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};

		ds6 {
			label = "red";
			gpios = <&pioB 2 GPIO_ACTIVE_LOW>;
		};
	};
};
