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

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

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

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