// SPDX-License-Identifier: GPL-2.0-only
/*
 * animeo_ip.dts - Device Tree file for Somfy Animeo IP Boards
 *
 *  Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 */

/dts-v1/;
#include "at91sam9260.dtsi"

/ {
	model = "Somfy Animeo IP";
	compatible = "somfy,animeo-ip", "atmel,at91sam9260", "atmel,at91sam9";

	aliases {
		serial0 = &usart1;
		serial1 = &usart2;
		serial2 = &usart0;
		serial3 = &dbgu;
		serial4 = &usart3;
		serial5 = &uart0;
		serial6 = &uart1;
	};

	chosen {
		stdout-path = &usart2;
	};

	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>;
				};
			};

			usart0: serial@fffb0000 {
				pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>;
				linux,rs485-enabled-at-boot-time;
				status = "okay";
			};

			usart1: serial@fffb4000 {
				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts>;
				linux,rs485-enabled-at-boot-time;
				status = "okay";
			};

			usart2: serial@fffb8000 {
				pinctrl-0 = <&pinctrl_usart2>;
				status = "okay";
			};

			macb0: ethernet@fffc4000 {
				pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>;
				phy-mode = "mii";
				status = "okay";
			};

			mmc0: mmc@fffa8000 {
				pinctrl-0 = <&pinctrl_mmc0_clk
					     &pinctrl_mmc0_slot1_cmd_dat0
					     &pinctrl_mmc0_slot1_dat1_3>;
				pinctrl-names = "default";
				status = "okay";

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

			watchdog@fffffd40 {
				status = "okay";
			};
		};

		ebi: ebi@10000000 {
			status = "okay";

			nand_controller: nand-controller {
				status = "okay";
				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
				pinctrl-names = "default";

				nand@3 {
					reg = <0x3 0x0 0x800000>;
					rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
					nand-bus-width = <8>;
					nand-ecc-mode = "soft";
					nand-on-flash-bbt;
					label = "atmel_nand";

					partitions {
						compatible = "fixed-partitions";
						#address-cells = <1>;
						#size-cells = <1>;

						barebox@0 {
							label = "barebox";
							reg = <0x0 0x58000>;
						};

						u_boot_env@58000 {
							label = "u_boot_env";
							reg = <0x58000 0x8000>;
						};

						ubi@60000 {
							label = "ubi";
							reg = <0x60000 0x1FA0000>;
						};
					};
				};
			};
		};

		usb0: ohci@500000 {
			num-ports = <2>;
			atmel,vbus-gpio = <&pioB 15 GPIO_ACTIVE_LOW>;
			status = "okay";
		};
	};

	leds {
		compatible = "gpio-leds";

		power_green {
			label = "power_green";
			gpios = <&pioC 17 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};

		power_red {
			label = "power_red";
			gpios = <&pioA 2 GPIO_ACTIVE_HIGH>;
		};

		tx_green {
			label = "tx_green";
			gpios = <&pioC 19 GPIO_ACTIVE_HIGH>;
		};

		tx_red {
			label = "tx_red";
			gpios = <&pioC 18 GPIO_ACTIVE_HIGH>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		keyswitch_in {
			label = "keyswitch_in";
			gpios = <&pioB 1 GPIO_ACTIVE_HIGH>;
			linux,code = <28>;
			wakeup-source;
		};

		error_in {
			label = "error_in";
			gpios = <&pioB 2 GPIO_ACTIVE_HIGH>;
			linux,code = <29>;
			wakeup-source;
		};

		btn {
			label = "btn";
			gpios = <&pioC 23 GPIO_ACTIVE_HIGH>;
			linux,code = <31>;
			wakeup-source;
		};
	};
};
